1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
Chap 5 Process Scheduling. Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU–I/O Burst Cycle – Process execution consists of a.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Computer Science Lecture 6, page 1 CS677: Distributed OS Processes and Threads Processes and their scheduling Multiprocessor scheduling Threads Distributed.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
1: Operating Systems Overview
Tao Yang, UCSB CS 240B’03 Unix Scheduling Multilevel feedback queues –128 priority queues (value: 0-127) –Round Robin per priority queue Every scheduling.
OPERATING SYSTEM OVERVIEW
Chapter 17 Parallel Processing.
Multiprocessor and Real-Time Scheduling Chapter 10.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
©Brooks/Cole, 2003 Chapter 7 Operating Systems Dr. Barnawi.
Informationsteknologi Tuesday, October 9, 2007Computer Systems/Operating Systems - Class 141 Today’s class Scheduling.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
MULTIPROCESSOR SYSTEMS OUTLINE  Coordinated job Scheduling  Separate Systems  Homogeneous Processor Scheduling  Master/Slave Scheduling.
Chapter 10 Multiprocessor and Real-Time Scheduling
Multiprocessor and Real-Time Scheduling
Operating System 10 MULTIPROCESSOR AND REAL-TIME SCHEDULING
Scheduling. Objectives – Fairness – Maximize throughput – Maximize the number of users receiving acceptable response times – Minimize overhead – Balance.
CSC 360- Instructor: K. Wu CPU Scheduling. CSC 360- Instructor: K. Wu Agenda 1.What is CPU scheduling? 2.CPU burst distribution 3.CPU scheduler and dispatcher.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Fast Multi-Threading on Shared Memory Multi-Processors Joseph Cordina B.Sc. Computer Science and Physics Year IV.
IT320 OPERATING SYSTEM CONCEPTS Unit 6: Processor Scheduling September 2012 Kaplan University 1.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Multiprocessor and Real-Time Scheduling Chapter 10.
Multiprocessor and Real-Time Scheduling
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
1 Multiprocessor Scheduling Module 3.1 For a good summary on multiprocessor and real-time scheduling, visit:
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 5: CPU Scheduling.
ICOM Noack Scheduling For Distributed Systems Classification – degree of coupling Classification – granularity Local vs centralized scheduling Methods.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
PARALLEL PROCESSOR- TAXONOMY. CH18 Parallel Processing {Multi-processor, Multi-computer} Multiple Processor Organizations Symmetric Multiprocessors Cache.
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.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
Static Process Scheduling
A System Performance Model Distributed Process Scheduling.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Advanced Computer Architecture pg 1 Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8) Henk Corporaal
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Scheduling. Objectives – Fairness – Maximize throughput – Maximize the number of users receiving acceptable response times – Minimize overhead – Balance.
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Multiprocessor, Multicore, and Real-Time Scheduling Chapter 10
Principles of Operating Systems Lecture 16
Distributed Processors
Processes and Threads Processes and their scheduling
Where are being used the OS?
Symmetric Multiprocessing (SMP)
Chapter 5: CPU Scheduling
Chapter 5: CPU Scheduling
Multiprocessor and Real-Time Scheduling
Operating System 10 MULTIPROCESSOR AND REAL-TIME SCHEDULING
CS703 – Advanced Operating Systems
Chapter 10 Multiprocessor and Real-Time Scheduling
CS703 - Advanced Operating Systems
Operating System Overview
Concurrency: Threads, Address Spaces, and Processes
Presentation transcript:

1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.

2 Classifications of Multiprocessor n Loosely coupled or distributed multiprocessor, or cluster u each processor has its own memory and I/O channels n Functionally specialized processors u such as I/O processor u controlled by a master processor n Tightly coupled multiprocessing u processors share main memory u controlled by operating system n What is the main concern in general for multiprocessing? u Processor utilization vs. throughput

Synchronization Granularity and Processes - Summary 3

4 Independent Parallelism n Separate applications or processes running n No synchronization among processes n Example is time sharing u average response time to users is less

5 Coarse and Very Coarse-Grained Parallelism n Synchronization among processes at a very gross level n Good for concurrent processes running on a multiprogrammed uniprocessor or multiple processors n Distributed processing across network nodes to form a single computing environment n Good when there is infrequent interaction among processes u overhead of network would slow down communications

6 Medium-Grained Parallelism n Parallel processing or multitasking within a single application n Single application is a collection of threads (or processes) n Threads usually interact frequently

7 Fine-Grained Parallelism n Highly parallel applications u Usually much more complex use of parallelism than is found in the use of threads n Specialized area

8 Scheduling Design Issues Scheduling on a multiprocessor involves: n Use of multiprogramming on individual processors u Similar to uni-processor scheduling n Assignment of processes to processors n Actual dispatching of a process

9 Assignment of Processes to Processors Two approaches: n Treat processors as a pooled resource and assign process to processors on demand u A common queue: Schedule to any available processor u Local queues: d ynamic load balancing F processes or threads are moved from a queue for one processor to a queue for another processor. n Permanently assign a process to a processor u Allows group or gang scheduling u Dedicate short-term queue for each processor u Advantage and disadvantage? F Less overhead in scheduling F A processor could be idle while another processor has a backlog

10 Process Scheduling n Usually processes are not dedicated to processors n Queuing u A single queue for all processors u Multiple queues based on priorities F All queues feed to the common pool of processors n Specific scheduling disciplines is less important with more than one processor u Different scheduling methods can be used for different processors

11 Comparison of One and Two Processors – An Example

12 Thread Scheduling n An application can consist a set of threads that cooperate and execute concurrently in the same address space n Threads running on separate processors could yield a dramatic gain in performance for some applications

Approaches to Thread Scheduling 13 Load Sharing Gang Scheduling Dedicated Processor Assignment Dynamic Scheduling Four approaches for multiprocessor thread scheduling and processor assignment are: a set of related threads scheduled to run on a set of processors at the same time, on a one-to-one basis processes are not assigned to a particular processor provides implicit scheduling defined by the assignment of threads to processors the number of threads in a process can be altered during the course of execution

14 Load Sharing n Load is distributed evenly across the processors u Simplest and carries over most directly from a uni-processor system n Assures no processor is idle n No centralized scheduler required n Use global queues

15 Disadvantages of Load Sharing n Central queue needs mutual exclusion u may be a bottleneck when more than one processor looks for work at the same time n Preemptive threads are unlikely to resume execution on the same processor u In a loosely-coupled system, cache usage is less efficient n If all threads are in the global queue, all threads of a program will not gain access to the processors at the same time

16 Gang Scheduling n Simultaneous scheduling of related threads that make up a single process n Useful for applications where performance severely degrades when any part of the application is not running u Better for dedicated applications u Lower scheduling overhead for those processes n Threads often need to synchronize with each other n Number of processors may be smaller than the number of threads on some machines.

17 Dedicated Processor Assignment n When application is scheduled, its threads are assigned to a processor n Some processors may be idle n Avoids process switching

18 Dynamic Scheduling n Number of threads in a process are altered dynamically by the application n Operating system adjusts the load to improve usage u assign idle processors u new arrivals may be assigned to a processor that is used by a job currently using more than one processor u hold request until processor is available u new arrivals will be given a processor before existing running applications