Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Priority Round-Robin Scheduling for Very Large Virtual Environments Chris Faisstnauer, Dieter Schmalstieg, Werner Purgathofer Vienna University of Technology."— Presentation transcript:

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

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

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

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

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

6 Chris Faisstnauer 6 / 17 Basic Priority Round-Robin 2/3 Selected elements: A,C,G - B,D,G - A,E,G - B,F,G Repetition count i = NrElements i * NrLevels Predicted error = ErrorPerUnit * Repetition Count i=0 i=1 i=2

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

8 Chris Faisstnauer 8 / 17 Optimum Traversal Rate 1/2 level:number of levels n i :nr of elements in level iav i :average EPU of level i rc i :repetition count of level itr i :traversal rate of level i lerr i :level error err:cumulative error

9 Chris Faisstnauer 9 / 17 Optimum Traversal Rate 2/2 level:number of levels n i :nr of elements in level i av i :average EPU of level i rc i :repetition count of level i tr i :traversal rate of level i lerr i :level error err:cumulative error

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

11 Chris Faisstnauer 11 / 17 Testbed (Video)

12 Chris Faisstnauer 12 / 17 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 Chris Faisstnauer 13 / 17 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 Chris Faisstnauer 14 / 17 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 Chris Faisstnauer 15 / 17 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 Chris Faisstnauer 16 / 17 Conclusions Enhance (plain) RR  Priority Round-Robin (PRR) n Enforcement of priorities n Output sensitive n Immune to starvation n Freely definable error metric PRR is a suitable substitute for RR in most cases n Minimize overall visual error in VE Combine Priority Round-Robin and Dead Reckoning Combine Priority Round-Robin and visibility techniques

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

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


Download ppt "Priority Round-Robin Scheduling for Very Large Virtual Environments Chris Faisstnauer, Dieter Schmalstieg, Werner Purgathofer Vienna University of Technology."

Similar presentations


Ads by Google