





Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 9
This page cannot be seen from the preview
Don't miss anything!






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: 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.
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
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.
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
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.
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.
Where does the OS run? Mapping processes to processors. Static or dynamic Use of multiprogramming on individual processors. Actual dispatching of a process.
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.
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.