The document discusses multiple processor scheduling in operating systems. It describes how multicore processors work and the benefits of multiple processor scheduling. It then covers different approaches to multiple processor scheduling including asymmetric multiprocessing, symmetric multiprocessing, processor affinity, and load balancing.
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
67 views
Multi Processor Sheduling
The document discusses multiple processor scheduling in operating systems. It describes how multicore processors work and the benefits of multiple processor scheduling. It then covers different approaches to multiple processor scheduling including asymmetric multiprocessing, symmetric multiprocessing, processor affinity, and load balancing.
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6
Multicore Processors –
In multicore processors multiple processor cores are places on
the same physical chip. Each core has a register set to maintain its architectural state and thus appears to the operating system as a separate physical processor.
Multiple-processor scheduling is used to divide tasks among
multiple processors in a computer system, which allows tasks to be processed simultaneously and reduces the overall time needed to complete them.
Multiple-Processor Scheduling in Operating System
In multiple-processor scheduling multiple CPU’s are available for scheduling processes The CPUs can be identical or different from each other in term of their functionality As these processors can share a task to perform it quickly and efficiently hence Load Sharing becomes possible. However multiple processor scheduling is more complex as compared to single processor scheduling. In multiple processor scheduling there are cases when the processors are identical i.e. HOMOGENEOUS, in terms of their functionality. we can use any processor available to run any process in the queue. Why is multiple-processor scheduling important? Multiple-processor scheduling is important because it enables a computer system to perform multiple tasks simultaneously, which can greatly improve overall system performance and efficiency. Approaches or kind of Multiple-Processor Scheduling – 1. Asymmetric Multiprocessing: a. One approach is when all the scheduling decisions and I/O processing are handled by a single processor which is called the Master Server and the other processors executes only the user code. b. This is simple and reduces the need of data sharing. 2. Symmetric Multiprocessing: a. Where each processor is self-scheduling. b. All processes may be in a common ready queue or each processor may have its own private queue for ready processes. c. The scheduling proceeds further by having the scheduler for each processor examine the ready queue and select a process to execute. 3. Processor Affinity – a. Processor Affinity means a process has an affinity for the processor on which it is currently running. b. The term “processor affinity” refers to a process’s preference or attachment to a specific processor (CPU core) within a multi-core system. c. When a process has processor affinity, it tends to execute on the same CPU core consistently, rather than being scheduled across different cores. d. When a process runs on a specific processor there are certain effects on the cache memory. e. The data most recently accessed by the process populate the cache for the processor and as a result successive memory access by the process is often satisfied in the cache memory. f. Now if the process migrates to another processor, the contents of the cache memory must be invalidated for the first processor and the cache for the second processor must be repopulated. g. Because of the high cost repopulating caches, most of the SMP(symmetric multiprocessing) systems try to avoid migration of processes from one processor to another and try to keep a process running on the same processor. h. This is known as PROCESSOR AFFINITY. There are two types of processor affinity: i. Soft Affinity – When an operating system has a policy of attempting to keep a process running on the same processor but not guaranteeing it will do so, this situation is called soft affinity. ii. Hard Affinity – Hard Affinity allows a process to specify a subset of processors on which it may run. Some systems such as Linux implements soft affinity but also provide some system calls like sched_setaffinity() that supports hard affinity. 4. Load Balancing – a. Load Balancing is the phenomena which keeps the workload evenly distributed across all processors in an SMP system. b. Load balancing is necessary only on systems where each processor has its own private queue of process which is eligible to execute. c. Load balancing is unnecessary because once a processor becomes idle it immediately extracts a runnable process from the common run queue. d. On SMP(symmetric multiprocessing), it is important to keep the workload balanced among all processors to fully utilize the benefits of having more than one processor else one or more processor will sit idle while other processors have high workloads along with lists of processors awaiting the CPU. e. There are two general approaches to load balancing : i. Push Migration – In push migration a task routinely checks the load on each processor and if it finds an imbalance then it evenly distributes load on each processors by moving the processes from overloaded to idle or less busy processors. ii. Pull Migration – Pull Migration occurs when an idle processor pulls a waiting task from a busy processor for its execution. Advantages: Reliable Increased Throughput Economical Improved Fault Tolerance Better Multitasking Enhanced Scientific Computations Efficient Resource Utilization Disadvantages: Expensive Requires Large Main Memory Complex Operating System Scheduling Difficulties Interprocess Communication Challenges Software Compatibility Issues