Title: Priority Round-Robin Scheduling for Very Large Virtual Environments
1Priority Round-Robin Schedulingfor Very Large
Virtual Environments
- Chris Faisstnauer,
- Dieter Schmalstieg, Werner Purgathofer
- Vienna University of Technology
2Introduction
- 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
3Goal
- 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
4Related 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
5Basic 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
6Basic Priority Round-Robin 2/3
i0 i1 i2
Repetition counti NrElementsi
NrLevels Predicted error ErrorPerUnit
Repetition Count
Selected elements A,C,G - B,D,G - A,E,G -
B,F,G
7Basic 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
8Optimum 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
9Optimum 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
10Evaluation
- Client-server system
- Server hosts simulator (translates elements in
2D) - Client visualizes scene (needs position updates)
- Subset of elements 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 DRPRR vs. plain DR
11Testbed (Video)
12Example 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
13Example 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
14Example 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 DRPRR is 63 lower than DR
15Example 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
16Conclusions
- 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
17Future 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)
18OS vs. VE - Scheduling
- 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
- Optimize system parameters
- Enforce priorities
- Minimize risk starvation