Priority Round-Robin Scheduling for Very Large Virtual Environments PowerPoint PPT Presentation

presentation player overlay
1 / 18
About This Presentation
Transcript and Presenter's Notes

Title: Priority Round-Robin Scheduling for Very Large Virtual Environments


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
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
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 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

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 DRPRR 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
OS 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
Write a Comment
User Comments (0)
About PowerShow.com