SCHEDULER ACTIVATIONS Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, Henry.

Slides:



Advertisements
Similar presentations
3.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Process An operating system executes a variety of programs: Batch system.
Advertisements

Processes Management.
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 Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Akbar.
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.
Modified from Silberschatz, Galvin and Gagne ©2009 Lecture 7 Chapter 4: Threads (cont)
Chapter 4: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads.
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
Chapter 2: Processes Topics –Processes –Threads –Process Scheduling –Inter Process Communication (IPC) Reference: Operating Systems Design and Implementation.
User-Level Interprocess Communication for Shared Memory Multiprocessors Bershad, B. N., Anderson, T. E., Lazowska, E.D., and Levy, H. M. Presented by Chris.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 5: Threads 9/29/03+ Overview Benefits User and Kernel Threads Multithreading.
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.
Threads vs. Processes April 7, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990,
Based on Silberschatz, Galvin and Gagne  2009 Threads Definition and motivation Multithreading Models Threading Issues Examples.
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 4: Threads.
Scheduler Activations : Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska.
Process Concept An operating system executes a variety of programs
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
G Robert Grimm New York University Scheduler Activations.
CS533 Concepts of Operating Systems Class 4 Remote Procedure Call.
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.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Threads.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism by Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska,
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 5: Threads Overview Multithreading Models Threading Issues Pthreads Solaris.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Threads.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Multithreading in Java Project of COCS 513 By Wei Li December, 2000.
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,
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 13 Threads Read Ch 5.1.
CSE 60641: Operating Systems Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism. Thomas E. Anderson, Brian N.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
CSE 451: Operating Systems Winter 2015 Module 5 1 / 2 User-Level Threads & Scheduler Activations Mark Zbikowski 476 Allen Center.
Lecture 5: Threads process as a unit of scheduling and a unit of resource allocation processes vs. threads what to program with threads why use threads.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 4: Threads Modified from the slides of the text book. TY, Sept 2010.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
Department of Computer Science and Software Engineering
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Brian Bershad, Thomas Anderson, Edward Lazowska, and Henry Levy Presented by: Byron Marohn Published: 1991.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
CS533 Concepts of Operating Systems Jonathan Walpole.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution-
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Processes Chapter 3. Processes in Distributed Systems Processes and threads –Introduction to threads –Distinction between threads and processes Threads.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Jonas Johansson Summarizing presentation of Scheduler Activations – A different approach to parallelism.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Introduction to Operating Systems Concepts
B. N. Bershad, T. E. Anderson, E. D. Lazowska and H. M
Scheduler Activations
Thread Implementation Issues
Fast Communication and User Level Parallelism
Presented by Neha Agrawal
Thomas E. Anderson, Brian N. Bershad,
Threads vs. Processes Hank Levy 1.
CS703 – Advanced Operating Systems
CSE 542: Operating Systems
CS Introduction to Operating Systems
Presentation transcript:

SCHEDULER ACTIVATIONS Effective Kernel Support for the User-level Management of Parallelism Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, Henry M. Levy February 1992 Presenter – Anitha Suryanarayan

Source:

 Thread library’s code + data structures in user space  Invocation of library function = local function call. Not system call PROSCONS Good performance ◦ fast thread switches ◦ Scale better Poor concurrency support ◦ blocking system calls starve sibling threads Highly flexible ◦ Custom scheduling algorithm

THREAD SYSTEM -KERNEL LEVEL  Thread library’s code + data structures in kernel space  Invocation of library function = system call PROSCONS Good concurrency support ◦ Blocking system calls do not starve sibling threads Poor performance ◦ Operations involve system calls ◦ Full context switch to perform thread switches Less Flexible ◦ Generic scheduling Algorithm

User Threads 1. Excellent performance No system calls to perform thread operations 2. More flexible =>Can use domain specific scheduling algorithm (‘customized’ thread library) 3. Blocking system calls such as I/O problematic; Starvation of sibling threads Kernel Threads 1. Bad performance System calls needed to perform thread operations 2. Generic scheduling algorithm( scheduled by kernel) 3. Good integration with system services – blocking calls do not prevent other user threads from being scheduled. Less likelihood of starvation

Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism, Anderson et al

Source :Operating System Concepts, 7th edition, Silberschatz, Galvin and Gagne

 A mechanism through which we can obtain Performance & flexibility of user-level threads + Functionality of kernel threads

 Communication scheme between the user- thread library and the kernel  Upcalls  Data Structures  Scheduler activation stacks  Activation control block  Punish greedy apps

 Each process is allocated a number of virtual processors instead of kernel threads  Each process can decide what to do with the CPUs it has been allocated.  This abstraction, presented in the form of scheduler activations allows ◦ The kernel to have control over processor allocations ◦ The user process to have control over its share of processors

Source -

 Add this processor (processor #) ◦ Execute a runnable user-level thread.  Processor has been preempted (preempted activation # and its machine state) ◦ Return to the ready list the user-level thread that was executing in the context of the preempted scheduler activation.  Scheduler activation has blocked (blocked activation #) ◦ The blocked scheduler activation is no longer using its processor.  Scheduler activation has unblocked (unblocked activation # and its machine state) ◦ Return to the ready list the user-level thread that was executing in the context Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism, Anderson et al

 #Runnable Threads != # Processors  Add more processors (additional # of processors needed) ◦ Allocate more processors to this address space and start them running scheduler activations.  This processor is idle () ◦ Preempt this processor if another address space needs it. Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism, Anderson et al

 Preempting a thread that is running in its critical section ◦ Why is this a problem? ◦ Does it exist with kernel threads?  How is it managed through scheduler activation?

 The Topaz OS and FastThreads thread library was modified to implement scheduler activations  Performance Optimizations  No lock latency because threads running their critical sections are not preempted  Recycle scheduler activations

Computation Intensive I/O Intensive

 To gain performance and improve flexibility, export some functionalities out of the kernel and maintain just enough communication to ensure that the kernel can do its job.  Implementations ◦ TAOS ◦ MACH 3.0 ◦ BSD/OS ◦ Digital Unix

 Operating System Concepts, 7th edition, Silberschatz, Galvin and Gagne  Modern Operating Systems 3rd Edition, Andrew S. Tanenbaum  An Implementation of Scheduler Activations on the NetBSD Operating System - Nathan J. Williams ◦