Yoav Etsion, Dan Tsafrir, Dror G. Feitelson

Slides:



Advertisements
Similar presentations
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Advertisements

CPU Scheduling Tanenbaum Ch 2.4 Silberchatz and Galvin Ch 5.
Performance What differences do we see in performance? Almost all computers operate correctly (within reason) Most computers implement useful operations.
BFS: Brain F*ck Scheduler Jacob Chan. Objectives  Brain F*ck Scheduling  What it is  How it works  Features  Scalability  Limitations  Definition.
100 Performance ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.
Effects of Clock Resolution on the Scheduling of Interactive and Soft Real- Time Processes by Yoav Etsion, Dan Tsafrir, Dror G. Feitelson Presented by.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
1 Lecture 6 Performance Measurement and Improvement.
Performance D. A. Patterson and J. L. Hennessey, Computer Organization & Design: The Hardware Software Interface, Morgan Kauffman, second edition 1998.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
UC Berkeley 1 Time dilation in RAMP Zhangxi Tan and David Patterson Computer Science Division UC Berkeley.
Supporting Time-Sensitive Applications on a Commodity OS by Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Jimi Watson.
Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented by Reinette Grobler.
2c Desktop slowdown – reason Stop Polling! The Case Against OS Ticks Dan Tsafrir*, Yoav Etsion and Dror G. Feitelson The Hebrew University of Jerusalem.
Virtual Memory and Paging J. Nelson Amaral. Large Data Sets Size of address space: – 32-bit machines: 2 32 = 4 GB – 64-bit machines: 2 64 = a huge number.
Lecture 3: Computer Performance
Soft Timers Efficient Microsecond Software Timer Support for Network Processing MOHIT ARON and PETER DRUSCHEL Rice University Published in ACM Transactions.
Authors: Tong Li, Dan Baumberger, David A. Koufaty, and Scott Hahn [Systems Technology Lab, Intel Corporation] Source: 2007 ACM/IEEE conference on Supercomputing.
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
Chapter 5 – CPU Scheduling (Pgs 183 – 218). CPU Scheduling  Goal: To get as much done as possible  How: By never letting the CPU sit "idle" and not.
Design Tradeoffs For Software-Managed TLBs Authers; Nagle, Uhlig, Stanly Sechrest, Mudge & Brown.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
CDA 3101 Fall 2013 Introduction to Computer Organization Computer Performance 28 August 2013.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
Performance.
Srihari Makineni & Ravi Iyer Communications Technology Lab
Cpr E 308 Spring 2004 Real-time Scheduling Provide time guarantees Upper bound on response times –Programmer’s job! –Every level of the system Soft versus.
1. 2 Table 4.1 Key characteristics of six passenger aircraft: all figures are approximate; some relate to a specific model/configuration of the aircraft.
Computer Performance Computer Engineering Department.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
Dynamic Voltage Frequency Scaling for Multi-tasking Systems Using Online Learning Gaurav DhimanTajana Simunic Rosing Department of Computer Science and.
Ch4a- 2 EE/CS/CPE Computer Organization  Seattle Pacific University Performance What differences do we see in performance? Almost all computers.
Cpr E 308 Spring 2005 Process Scheduling Basic Question: Which process goes next? Personal Computers –Few processes, interactive, low response time Batch.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Morgan Kaufmann Publishers
Stored Programs In today’s lesson, we will look at: what we mean by a stored program computer how computers store and run programs what we mean by the.
Lecture 5: 9/10/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Chapter 4. Measure, Report, and Summarize Make intelligent choices See through the marketing hype Understanding underlying organizational aspects Why.
Performance Computer Organization II 1 Computer Science Dept Va Tech January 2009 © McQuain & Ribbens Defining Performance Which airplane has.
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007.
BITS Pilani, Pilani Campus Today’s Agenda Role of Performance.
Additional Examples CSE420/598, Fall 2008.
Threads prepared and instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University 1July 2016Processes.
Performance. Moore's Law Moore's Law Related Curves.
Temperature and Power Management
Computer Architecture & Operations I
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CS 6560: Operating Systems Design
Defining Performance Which airplane has the best performance?
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Presented by Kristen Carlson Accardi
Time Sources and Timing
Real-time Software Design
CSCE 212 Chapter 4: Assessing and Understanding Performance
Operating Systems CPU Scheduling.
Lecture 23: Process Scheduling for Interactive Systems
Chapter 9: Virtual-Memory Management
Operating System Concepts
EE 472 – Embedded Systems Dr. Shwetak Patel.
Morgan Kaufmann Publishers Computer Performance
Lecture 3: Main Memory.
Supporting Time-Sensitive Applications on a Commodity OS
Wombat: A Portable User-Mode Linux for Embedded Systems
Parameters that affect it How to improve it and by how much
Scheduling 21 May 2019.
Performance.
Don Porter Portions courtesy Emmett Witchel
Review What are the advantages/disadvantages of pages versus segments?
Presentation transcript:

Effects of Clock Resolution on the Scheduling of Interactive and Soft Real-Time Processes Yoav Etsion, Dan Tsafrir, Dror G. Feitelson School of Computer Science and Engineering The Hebrew University, 91904 Jerusalem, Israel

Key Ideas The system clock has not increased at the same rate as the hardware clock Scheduling algorithms are negatively impacted by this fact Many applications could benefit from a faster system clock A faster system clock could support soft real-time applications on a commodity OS Increasing the system clock speed does not incur unreasonable overhead

How did we get here? The system clock has remained stable for almost 20 years 1976 computer 3MHz CPU 60Hz Clock 1 System tick per 50,000 instructions 2003 computer 3GHz CPU 100Hz Clock 1 System tick per 30,000,000 instructions

Problems with direct scaling Overhead: it takes around 400 clock cycles to process an interrupt At the same approximate ratio, this would be an overhead of approximately 400 /50000, or only 0.8% However, resulting caching degradation could raise this significantly

Slow clock problems Xine Scheduling example Systems with clock speed of 100Hz cannot display 60 frames per second Scheduling example Accounting background for scheduling counts incorrectly with a slow clock

Xine

Priority Scheduling Each process has a priority Higher priority processes interrupt lower priority processes Priority decreases while running “Running” only checked on system ticks

Scheduling Billing Priority does not decrease correctly with inaccurate billing

Increase proposal What is the solution? Increase the system clock speed Examine 1000Hz - 20,000Hz

Experiment Methodology Computers used range from Pentium-90 (MHz) to P4 2.4GHz Klogger was used to record context switches, priorities, forks, execs, etc Applications include: Emacs, X server, Xine, Quake 3, custom CPU bound processes

Overhead Overhead cost is manageable

Latency Latency can be reduced from up to 420 ms to under 1 ms with 20,000Hz

Review System clock frequency is outdated Increase would benefit applications and repair scheduler issues Overhead for 1,000Hz or 10,000Hz not prohibitive Soft Real-time support possible – latency under 1ms

Analysis Proposed as easy solution: “turn of a knob,” yet it involves modifying kernel code… probably not an end user thing Could have spent some time explaining possible negative impacts (not overhead) of this increase, or justifying the fact that there are none. Most overhead came from TLB and cache degradation. Could this be improved to compensate?

Questions and Discussion