1 / 18

Priority Round-Robin Scheduling for Very Large Virtual Environments

Priority Round-Robin Scheduling for Very Large Virtual Environments. Chris Faisstnauer, Dieter Schmalstieg, Werner Purgathofer Vienna University of Technology. Introduction. Virtual Environments with large amounts of elements Competition for limited resources (bottleneck)

borka
Download Presentation

Priority Round-Robin Scheduling for Very Large Virtual Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Priority Round-Robin Schedulingfor Very Large Virtual Environments Chris Faisstnauer, Dieter Schmalstieg, Werner Purgathofer Vienna University of Technology

  2. Introduction • Virtual Environments with large amounts of elements • Competition for limited resources (bottleneck) • Graphics pipeline (rendering) • Processing power (simulation) • Network bandwidth (updates) • Selection of element subset • Reduce absolute number • Traditional scheduling for objects • Degradation of system performance • Approximation must be made

  3. Goal • Development of a generic scheduling algorithm • Employ it as stand-alone scheduling • Combine with “element-reduction” methods • Graceful degradation (find best approximation) • Output sensitive • Immune to starvation • Enforce use of priorities • Priorities based on freely definable error metric • E.g.: fast entities  frequent updates • slow entities  seldom updates

  4. Related Work • Short-term scheduling • independent processes • allocate processor time • optimize system behavior • First Come-First Served (FCFS) / Round-Robin (RR) • execute in order of submission (no priorities) • output sensitive, immune to starvation • Multi-Level Feedback Queue • levels with decreasing priorities • risk of starvation vs. constant monitoring

  5. Basic Priority Round-Robin 1/3 • Elements compete for resources  accumulate error • Error modeled as error metric • Assign each element: Error Per Unit (EPU) • Goal: minimize cumulative error • No traditional sorting • Approximate sorting in multiple levels (FIFO) • Elements assigned to level according EPU • Level priority reflects scheduling frequency • Combines advantage of Round-Robin & full sorting

  6. Basic Priority Round-Robin 2/3 i=0 i=1 i=2 Repetition counti = NrElementsi * NrLevels Predicted error = ErrorPerUnit * Repetition Count Selected elements: A,C,G - B,D,G - A,E,G - B,F,G

  7. Basic Priority Round-Robin 3/3 • Assignment of elements to levels • Minimum overall error • Average Error Per Unit  variable size levels • Dynamic VE  dynamic error distribution • Varying traversal rate (level i) ni: number of elements in level i tri: traversal rate of level i level: number of levels

  8. Optimum Traversal Rate 1/2 level: number of levels ni: nr of elements in level i avi: average EPU of level i rci: repetition count of level i tri: traversal rate of level i lerri: level error err: cumulative error

  9. Optimum Traversal Rate 2/2 level: number of levels ni: nr of elements in level i avi: average EPU of level i rci: repetition count of level i tri: traversal rate of level i lerri: level error err: cumulative error

  10. Evaluation • Client-server system • Server hosts simulator (translates elements in 2D) • Client visualizes scene (needs position updates) • Subset of element’s position can be updated • Select subset using PRR-scheduling • Visual error: distance object position on server / client • Evaluation of PRR (Priority Round-Robin) • Comparison PRR vs. plain RR • Comparison DR+PRR vs. plain DR

  11. Testbed (Video)

  12. Example 1 • Scheduling 1000 out of 10000 simulated cars (10%) • Velocities (in units): 500 cars - velocity  [9,10] • 1500 cars - velocity  [3,4] • 8000 cars - velocity  [0.1,0.5] Overall error of PRR is 73% lower than RR

  13. Example 2 • Scheduling 1000 out of 10000 simulated cars (10%) • Velocities (in units): 10000 cars - velocity  [1,10] • Overall error of PRR is 7.5% lower than RR

  14. Example 3 • Scheduling 1000 out of 10000 simulated cars (10%) • Simulating cars using Dead Reckoning ( 25% cars above threshold) • 500 cars - velocity[9,10] - angle offset [19,20] every 10 steps • 1500 cars - velocity[3,4] - angle offset [4,5] every 10 steps • 8000 cars - velocity[0.1,0.5] - angle offset [1,2] every 10 steps Overall error of DR+PRR is 63% lower than DR

  15. Example 4 • Quake Deathmatch: scheduling 2 out of 9 players • Position / velocity of entities given by recorded demo • Overall error of PRR is 48% lower than RR

  16. Conclusions • Enhance (plain) RR  Priority Round-Robin (PRR) • Enforcement of priorities • Output sensitive • Immune to starvation • Freely definable error metric • PRR is a suitable substitute for RR in most cases • Minimize overall visual error in VE • Combine Priority Round-Robin and Dead Reckoning • Combine Priority Round-Robin and visibility techniques

  17. Future Work • Measure for object “activity” • Use of visibility information • Temporal Bounding Volumes (TBV) • Temporally invariant Bounding Volumes (tiBV) • Evaluate motion data from large Virtual Environments • E.g. “Everquest”, “Ultima Online” • Scheduling humanoid avatars • Multiple Levels Of Detail (LOD)

  18. Operating systems Scheduled once Priorities: scheduling order Small number of elements Constant monitoring Variable amount resources Virtual Environments Scheduled repeatedly Priorities: scheduling frequency (Very) large number elements Output sensitive Constant amount resources OS vs. VE - Scheduling • Optimize system parameters • Enforce priorities • Minimize risk starvation

More Related