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

Slides:



Advertisements
Similar presentations
Analysis of : Operator Scheduling in a Data Stream Manager CS561 – Advanced Database Systems By Eric Bloom.
Advertisements

Hadi Goudarzi and Massoud Pedram
Playback-buffer Equalization For Streaming Media Using Stateless Transport Prioritization By Wai-tian Tan, Weidong Cui and John G. Apostolopoulos Presented.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
CPU Scheduling CPU Scheduler Performance metrics for CPU scheduling
A. Frank - P. Weisberg Operating Systems Advanced CPU Scheduling.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Dave Bremer Otago Polytechnic, N.Z. ©2008,
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Dave Bremer Otago Polytechnic, N.Z. ©2008,
Towards Feasibility Region Calculus: An End-to-end Schedulability Analysis of Real- Time Multistage Execution William Hawkins and Tarek Abdelzaher Presented.
CENG 334 – Operating Systems 05- Scheduling
Cs238 CPU Scheduling Dr. Alan R. Davis.
Operating Systems 1 K. Salah Module 2.1: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
Project 2 – solution code
OS Spring ’ 04 Scheduling Operating Systems Spring 2004.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (2) Process Management 10/03/2008 Yang Song (Prepared by Yang Song and.
Assets and Dynamics Computation for Virtual Worlds.
Chapter 5: CPU Scheduling
Task scheduling What are the goals of a modern operating system scheduler, and how does Linux achieve them?
Job scheduling Queue discipline.
Scheduling for Very Large Virtual Environments Using Visibility and Priorities Chris Faisstnauer, Dieter Schmalstieg, Werner Purgathofer Vienna University.
Operating Systems Process Scheduling (Ch 4.2, )
Aggregate Scheduling – Enhancing Throughput in Collective Tasking Systems L. Subramanian Randy H.Katz Michael J. Franklin.
Operating System Process Scheduling (Ch 4.2, )
1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.
1Chapter 05, Fall 2008 CPU Scheduling The CPU scheduler (sometimes called the dispatcher or short-term scheduler): Selects a process from the ready queue.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Efficient Scheduling of Heterogeneous Continuous Queries Mohamed A. Sharaf Panos K. Chrysanthis Alexandros Labrinidis Kirk Pruhs Advanced Data Management.
Operating Systems Part III: Process Management (CPU Scheduling)
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
10CSE CPU Scheduling Copyrights Lecture Slides adapted from “ Advanced Operating Systems ”, Lecture Notes by Prof. Prof. Daniel Mosse, University Of Pittsburgh,
1 Scheduling Processes. 2 Processes Each process has state, that includes its text and data, procedure call stack, etc. This state resides in memory.
CPU S CHEDULING Lecture: Operating System Concepts Lecturer: Pooja Sharma Computer Science Department, Punjabi University, Patiala.
Operating Systems Lecture Notes CPU Scheduling Matthew Dailey Some material © Silberschatz, Galvin, and Gagne, 2002.
Scheduling Strategies Operating Systems Spring 2004 Class #10.
ICS Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling To improve: Response time: time it takes a system to react to a given input Turnaround Time (TAT)
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler By Jason Nieh, etc Xiaojun Wang 10/07/2005.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
Uniprocessor Scheduling
Parametric Optimization Of Some Critical Operating System Functions An Alternative Approach To The Study Of Operating Systems Design.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling Assign processes to be executed by the processor or processors: –Response time –Throughput –Processor.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
Operating Systems CPU Scheduling Algorithms
CS333 Intro to Operating Systems Jonathan Walpole.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
CPU Scheduling G.Anuradha Reference : Galvin. CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
CPU Scheduling Algorithms CSSE 332 Operating Systems Rose-Hulman Institute of Technology.
1 Chapter 5: CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms.
CPU SCHEDULING.
Chapter 5a: CPU Scheduling
Mean Value Analysis of a Database Grid Application
Chapter 8 – Processor Scheduling
Process Scheduling B.Ramamurthy 9/16/2018.
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
CS 143A - Principles of Operating Systems
CPU Scheduling G.Anuradha
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Don Porter Portions courtesy Emmett Witchel
Approximate Mean Value Analysis of a Database Grid Application
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

Chris Faisstnauer 11 / 17 Testbed (Video)

Chris Faisstnauer 12 / 17 Example 1 Scheduling 1000 out of 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

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

Chris Faisstnauer 14 / 17 Example 3 Scheduling 1000 out of 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

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

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

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)

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