Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.