The document discusses different approaches to scheduling on multiple processor systems including asymmetric multiprocessing with one master server and symmetric multiprocessing with self-scheduling processors. It also discusses processor affinity, load balancing, and challenges with load balancing counteracting affinity benefits. Multicore processors are described as having multiple cores on a single chip appearing as separate processors to the OS. Real-time scheduling approaches like clock driven, weighted round robin, and priority driven are also briefly mentioned.
Original Description:
Original Title
A790966436_24950_8_2020_Multiple-Processor and real time Scheduling
The document discusses different approaches to scheduling on multiple processor systems including asymmetric multiprocessing with one master server and symmetric multiprocessing with self-scheduling processors. It also discusses processor affinity, load balancing, and challenges with load balancing counteracting affinity benefits. Multicore processors are described as having multiple cores on a single chip appearing as separate processors to the OS. Real-time scheduling approaches like clock driven, weighted round robin, and priority driven are also briefly mentioned.
The document discusses different approaches to scheduling on multiple processor systems including asymmetric multiprocessing with one master server and symmetric multiprocessing with self-scheduling processors. It also discusses processor affinity, load balancing, and challenges with load balancing counteracting affinity benefits. Multicore processors are described as having multiple cores on a single chip appearing as separate processors to the OS. Real-time scheduling approaches like clock driven, weighted round robin, and priority driven are also briefly mentioned.
• If multiple CPUs are available, load sharing becomes possible;
however, the scheduling problem becomes correspondingly more complex. • We concentrate on systems in which the processors are identical-homogeneous-in terms of their functionality; we can then use any available processor to run any process in the queue.
Operating System Concepts
Approaches to Multiple-Processor Scheduling • One approach to CPU scheduling in a multiprocessor system has all scheduling decisions, I/O processing, and other system activities handled by a single processor-the master server. • The other processors execute only user code. • This asymmetric multiprocessing is simple because only one processor accesses the system data structures, reducing the need for data sharing.
Operating System Concepts
Approaches to Multiple-Processor Scheduling • A second approach uses symmetric multiprocessing (SMP), where each processor is self-scheduling. • All processes may be in a common ready queue, or each processor may have its own private queue of ready processes.
Operating System Concepts
Processor affinity • Processor affinity, or CPU pinning or "cache affinity", enables the binding and unbinding of a process or a thread to a central processing unit (CPU) or a range of CPUs, so that the process or thread will execute only on the designated CPU or CPUs rather than any CPU. • Systems try to avoid the migration of one process to another and try to keep the process running on the same processor. This is processor affinity. • Two types-Hard Affinity and Soft Affinity • Soft – Keeping the process running on the same processor but not guaranteeing it will do so. • Hard – Allowing process to specify that it is not to migrate to other processors
Operating System Concepts
Load Balancing • On SMP systems, it is important to keep the workload balanced among all processors to fully utilize the benefits of having more than one processor. • Load balancing attempts to keep the workload evenly distributed across all processors in an SMP system.
Operating System Concepts
Load Balancing • There are two general approaches to load balancing: push migration and pull migration. • With push migration, a specific task periodically checks the load on each processor and -if it finds an imbalance-evenly distributes the load by moving (or pushing) processes from overloaded to idle or less- busy processors. • Pull migration occurs when an idle processor pulls a waiting task from a busy processor.
Operating System Concepts
Disadvantages of Load Balancing • Interestingly, load balancing often counteracts the benefits of processor affinity. • The benefit of keeping a process running on the same processor is that the process can take advantage of its data being in that processor's cache memory. • Either pulling or pushing a process from one processor to another invalidates this benefit.
Operating System Concepts
Multicore processors • A recent trend in computer hardware has been to place multiple processor cores on the same physical chip. • Each core has a register set to maintain its architectural state and appears to the operating system to be a separate physical processor. • SMP systems that use multicore processors are faster and consume less power than systems in which each processor has its own physical chip.
Operating System Concepts
Multicore processors • In shared-memory systems with multiple multicore processors, the interconnect can either connect all the processors directly to main memory or each processor can have a direct connection to a block of main memory,
Operating System Concepts
Multicore processors
Operating System Concepts
Real-Time Scheduling • Hard real-time systems – required to complete a critical task within a guaranteed amount of time. • Soft real-time computing – requires that critical processes receive priority over less fortunate ones. • Approaches - Clock driven time driven approach(based on specific time instance) - Weighted round robin (All processes have different time quantum) - Priority driven approach