CSE 60641: Operating Systems Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism. Thomas E. Anderson, Brian N.

Slides:



Advertisements
Similar presentations
Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Advertisements

CPU Scheduling Questions answered in this lecture: What is scheduling vs. allocation? What is preemptive vs. non-preemptive scheduling? What are FCFS,
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Akbar.
Chap 4 Multithreaded Programming. Thread A thread is a basic unit of CPU utilization It comprises a thread ID, a program counter, a register set and a.
CS 5204 – Operating Systems 1 Scheduler Activations.
Lightweight Remote Procedure Call BRIAN N. BERSHAD THOMAS E. ANDERSON EDWARD D. LAZOWSKA HENRY M. LEVY Presented by Wen Sun.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
SCHEDULER ACTIVATIONS Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, Henry.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Scheduler Activations Effective Kernel Support for the User-Level Management of Parallelism.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
3.5 Interprocess Communication
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
1 Concurrency: Deadlock and Starvation Chapter 6.
Inter-Process Communication  most OSs provide several abstractions for inter- process communication: message passing, shared memory, etc.  communication.
Scheduler Activations : Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
MicroC/OS-II Embedded Systems Design and Implementation.
G Robert Grimm New York University Scheduler Activations.
Scheduler Activations On BSD: Sharing Thread Management Between Kernel and Application Christopher Small and Margo Seltzer Harvard University Presenter:
Scheduler Activations Jeff Chase. Threads in a Process Threads are useful at user-level – Parallelism, hide I/O latency, interactivity Option A (early.
1 Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska and Henry M. Levy Presented by: Karthika Kothapally.
CS533 Concepts of Operating Systems Class 9 Lightweight Remote Procedure Call (LRPC) Rizal Arryadi.
Operating Systems CSE 411 CPU Management Sept Lecture 11 Instructor: Bhuvan Urgaonkar.
Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism by Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Processes and Threads.
1 Process States (1) Possible process states –running –blocked –ready Transitions between states shown.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
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.
Implementing Processes and Process Management Brian Bershad.
Scheduler Activations: Effective Kernel Support for the User- Level Management of Parallelism. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
The Performance of Microkernel-Based Systems
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Mutual Exclusion.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
CE Operating Systems Lecture 7 Threads & Introduction to CPU Scheduling.
ITFN 3601 Introduction to Operating Systems Lecture 3 Processes, Threads & Scheduling Intro.
CSE 451: Operating Systems Winter 2015 Module 5 1 / 2 User-Level Threads & Scheduler Activations Mark Zbikowski 476 Allen Center.
Operating Systems CSE 411 CPU Management Sept Lecture 10 Instructor: Bhuvan Urgaonkar.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
Operating Systems: Internals and Design Principles
Brian Bershad, Thomas Anderson, Edward Lazowska, and Henry Levy Presented by: Byron Marohn Published: 1991.
Shahriar Pirnia Operating system سيستم عامل.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution-
Mutual Exclusion -- Addendum. Mutual Exclusion in Critical Sections.
Jonas Johansson Summarizing presentation of Scheduler Activations – A different approach to parallelism.
Scheduler activations Landon Cox March 23, What is a process? Informal A program in execution Running code + things it can read/write Process ≠
Threads and Scheduling
Accounting information and limits
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
Scheduler Activations
Implementing Threads in User Space
Chapter 2: The Linux System Part 3
Scheduling Adapted from:
By Brian N. Bershad, Thomas E. Anderson, Edward D
Process Description and Control
Fast Communication and User Level Parallelism
CSE 60641: Operating Systems
CPU scheduling decisions may take place when a process:
Presented by Neha Agrawal
Presented by: SHILPI AGARWAL
Thomas E. Anderson, Brian N. Bershad,
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M
Thread Model for Work Unit
CSE 542: Operating Systems
Threads CSE 2431: Introduction to Operating Systems
Threads.
Presentation transcript:

CSE 60641: Operating Systems Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Hank M. Levy, SOSP '91 –What is this paper trying to achieve? User level threads Kernel level threads Scheduler activation 9-Nov-15CSE 60641: Operating Systems1

User level threads Excellent performance (no crossing user/kernel boundary) –No protection issues because all threads belong to the same process Cost of generality: user threads can be tuned to a particular application Problems: –blocking call, kernel thread allocated to the user thread cannot be reclaimed Allocate more virtual processors (unfair) –Kernel might interfere with critical sections –Processors cannot be returned 11/9/2015CSE 60641: Operating Systems2

Solution: Scheduler activation A mechanism for kernel and user level to cooperate –Kernel makes an upcall with a scheduler activation –You can either keep the activation, or perform the task informed by the activation. –User level -> kernel is still system call Number of scheduler activations = number of virtual processors assigned to a process –Application is free to implement any scheduling policy using the assigned activations –Kernel will notify user if any thread blocks 11/9/2015CSE 60641: Operating Systems3

Kernel upcalls because of Add this processor Processor has been preempted –Return to the ready list of the user-level thread that was executing in the context of the preempted activation Scheduler activation has blocked –Blocked scheduler is no longer using its processor Scheduler activation has unblocked –Ready to the ready list the user level thread that was executing in the context of the blocked activation. –New activation includes processor context the newly unblocked one and the one that was preempted 11/9/2015CSE 60641: Operating Systems4

From user space to kernel Add more processors Processor is idle Together, they can allow the kernel to give and take away processors dynamically 11/9/2015CSE 60641: Operating Systems5

User level priority scheduling: –Deschedule a lower priorty thread –If the lower priority thread is in critical section, don’t do it Detected using application maintained flags Performance good: –Upcall latency: 5x kernel threads 11/9/2015CSE 60641: Operating Systems6

Lessons learnt Can kernel/user partnership make sense for other things? If so, how general can they be? 11/9/2015CSE 60641: Operating Systems7