Multi-processor Scheduling in Real-time Operating Systems, Slides of Computer Science

An in-depth analysis of multi-processor scheduling in real-time operating systems (rtos). User control, reliability, requirements of rt, multi-processor scheduling algorithms, and granularity of computation. It also discusses issues with multi-processor computations and the design of scheduling functions for tightly coupled multiprocessor systems.

Typology: Slides

2012/2013

Uploaded on 03/28/2013

ekanath
ekanath 🇮🇳

3.8

(4)

76 documents

1 / 9

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Objectives_template
file:///D|/...ary,%20Dr.%20Sanjeev%20K%20Aggrwal%20&%20Dr.%20Rajat%20Moona/Multi-core_Architecture/lecture%2039/39_1.htm[6/14/2012 12:14:55 PM]
Module 20: Multi-core Computing Multi-processor Scheduling
Lecture 39: Multi-processor Scheduling
The Lecture Contains:
User Control
Reliability
Requirements of RT
Multi-processor Scheduling
Introduction
Issues With Multi-processor Computations
Granularity
Fine Grain Parallelism
Design Issues
A Possible Scenario
Where Does The OS Run?
Mapping Processes to Processors
Multiprogramming at Each Processor
Multiprogramming
pf3
pf4
pf5
pf8
pf9

Partial preview of the text

Download Multi-processor Scheduling in Real-time Operating Systems and more Slides Computer Science in PDF only on Docsity!

Module 20: Multi-core Computing Multi-processor Scheduling

Lecture 39: Multi-processor Scheduling

The Lecture Contains:

User Control

Reliability

Requirements of RT

Multi-processor Scheduling

Introduction

Issues With Multi-processor Computations

Granularity

Fine Grain Parallelism

Design Issues

A Possible Scenario

Where Does The OS Run?

Mapping Processes to Processors

Multiprogramming at Each Processor

Multiprogramming

Module 20: Multi-core Computing Multi-processor Scheduling

Lecture 39: Multi-processor Scheduling

User Control

User Control : User has broader control on process characteristics specs in an RTOS Priority Deadlines: Hard or soft. Memory Management: paging or swapping Name the processes to be resident in memory Scheduling policies

Reliability

Reliability: A processor failure in a non-RT may result in reduced level of service. But in an RT it may be catastrophic : life and death, financial loss, equipment damage. Fail-soft Operation: Ability of the system to fail in such a way preserve as much capability and data as possible. In the event of a failure, immediate detection and correction is important. Notify user processes to rollback. Apply compensation. Check-pointing and rollback states.

Module 20: Multi-core Computing Multi-processor Scheduling

Lecture 39: Multi-processor Scheduling

Multi-processor Scheduling

Load sharing Each processor runs one process. A single ready queue is maintained (in a shared memory). Each processor makes scheduling decisions independently. Speed up of an application Processor assignment (within threads of the process): Dynamic or fixed Scheduling: Gang scheduling or independent scheduling

Multi-core Computing Multi-processor Scheduling

Introduction

Design issues in system with multiple processors Tightly coupled or loosely coupled. Message passing, shared memory or both. Several new issues are introduced into the design of scheduling functions. Loosely coupled systems are easier to handle. Not an OS issue but an application issue Several message passing systems are available (such as MPI) We will examine these issues and the details of scheduling algorithms for tightly coupled multi- processor systems.

Module 20: Multi-core Computing Multi-processor Scheduling

Lecture 39: Multi-processor Scheduling

Issues With Multi-processor Computations.

Granularity of computation Fine grain Coarse grain Various shades of coarseness. Design issues Assignment of processes to processors Multiprogramming on individual processors Actual dispatching of a process

Granularity

The main purpose of having multiple processors is to realize ????. Applications exhibit parallelism at various levels with varying degree of granularity. Fine grain parallelism: Inherent parallelism within a single instruction stream. High data dependency high frequency of synchronizations required between processes. Dynamic Scheduling/Superscalar architectures exploit this kind of parallelism.

Module 20: Multi-core Computing Multi-processor Scheduling

Lecture 39: Multi-processor Scheduling

Granularity

Very Coarse Grain: When synchronization needs are not high among parallel processes. Processes can even be distributed across network. Example: CORBA standard for distributed system. Independent parallelism: Multiple unrelated processes. All independent processes can run in parallel.

Design Issues

Where does the OS run? Mapping processes to processors. Static or dynamic Use of multiprogramming on individual processors. Actual dispatching of a process.

Module 20: Multi-core Computing Multi-processor Scheduling

Lecture 39: Multi-processor Scheduling

Where Does The OS Run?

Master/slave Assignment: Kernel functions always run on a particular processor. Other processors execute user processes. Advantage: Resource conflict resolution simplified since single processor has control. Single point of failure (Master). Peer Assignment: OS executes on all processors. Each processor does its own scheduling from the pool of available processes. Most OSes implement this in an SMP environment.

Mapping Processes to Processors

Largely an application issue. Applications may be written for a particular configuration of the machine. Application create threads of computations and channel of communication between these threads assuming a particular machine configuration. Applications may be generic in nature Create n threads of computations. These threads can execute on machines with 1, <n, n or >n processors. OS may assign any number of processors (1 to n) to this application.