wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Multiple processor scheduling

profile
Vaibhav Gohil
Aug 14, 2024
0 Likes
0 Discussions
234 Reads

Multiple processor scheduling or multiprocessor scheduling focuses on designing the system's scheduling function, which consists of more than one processor. Multiple CPUs share the load (load sharing) in multiprocessor scheduling so that various processes run simultaneously. In general, multiprocessor scheduling is complex as compared to single processor scheduling. In the multiprocessor scheduling, there are many processors, and they are identical, and we can run any process at any time.

The multiple CPUs in the system are in close communication, which shares a common bus, memory, and other peripheral devices. So we can say that the system is tightly coupled. These systems are used when we want to process a bulk amount of data, and these systems are mainly used in satellite, weather forecasting, etc.



Approaches to Multiple Processor Scheduling

There are two approaches to multiple processor scheduling in the operating system: Symmetric Multiprocessing and Asymmetric Multiprocessing.

  1. Symmetric Multiprocessing: It is used where each processor is self-scheduling. All processes may be in a common ready queue, or each processor may have its private queue for ready processes. The scheduling proceeds further by having the scheduler for each processor examine the ready queue and select a process to execute.
  2. Asymmetric Multiprocessing: It is used when all the scheduling decisions and I/O processing are handled by a single processor called the Master Server. The other processors execute only the user code. This is simple and reduces the need for data sharing, and this entire scenario is called Asymmetric Multiprocessing.



Types of Multiprocessor Scheduling Algorithms


Round-Robin Scheduling − The round-robin scheduling algorithm allocates a time quantum to each CPU and configures processes to run in a round-robin fashion on each processor. Since it ensures that each process gets an equivalent amount of CPU time, this strategy might be useful in systems wherein all programs have the same priority.

Priority Scheduling − Processes are given levels of priority in this method, and those with greater priorities are scheduled to run first. This technique might be helpful in systems where some jobs, like real-time tasks, call for a higher priority.

Scheduling with the shortest job first (SJF) − This algorithm schedules tasks according to how long they should take to complete. It is planned for the shortest work to run first, then the next smallest job, and so on. This technique can be helpful in systems with lots of quick processes since it can shorten the typical response time.

Fair-share scheduling − In this technique, the number of processors and the priority of each process determine how much time is allotted to each. As it ensures that each process receives a fair share of processing time, this technique might be helpful in systems with a mix of long and short processes.



Use Cases of Multiple Processors Scheduling in Operating System


  • Server Virtualization − In virtualized environments, where multiple virtual machines (VMs) run on a single physical server with multiple processors, effective scheduling ensures fair allocation of resources to VMs. It enables optimal utilization of processing power while maintaining performance isolation and ensuring that each VM receives its allocated share of CPU time.


  • Real-Time Systems − Real-time systems, such as those used in aerospace, defense, and industrial automation, have strict timing requirements. Multiple processor scheduling algorithms like Earliest Deadline First (EDF) ensure that critical tasks with imminent deadlines are executed promptly, guaranteeing timely response and meeting stringent timing constraints.


  • Multimedia Processing − Multimedia applications, such as video rendering or audio processing, often require significant computational power. Scheduling processes across multiple processors allows for parallel execution of multimedia tasks, enabling faster processing and smooth real-time performance.


  • Gaming − In modern gaming systems, multiple processors are utilized to handle complex graphics rendering, physics simulations, and AI computations. Effective scheduling ensures smooth gameplay, minimizes lag, and maximizes the utilization of available processing power to deliver an immersive gaming experience.







Comments ()


Sign in

Read Next

How To Invest in Indian Stock Market For Beginners. ~ Tutorial 2 (NSDL And CSDL) Continued...

Blog banner

All you need to know about “On-page SEO”

Blog banner

How Much Protein Do You Really Need Every Day?

Blog banner

Traveling

Blog banner

LinkedIn

Blog banner

What is online marketing and why do you need to know about it ?

Blog banner

Understanding - Proof of Work!

Blog banner

Concurrency management in operating systems

Blog banner

Career v/s Job : Choose your passion

Blog banner

MoSCoW METHOD IN DATA SCIENCE

Blog banner

INDIAN CHEAPEST COSMETICS BRAND

Blog banner

The Bold Digital Marketing Moves That Made Durex India’s Second-Largest Condom Brand

Blog banner

Operating system

Blog banner

Apache Kafka

Blog banner

A Heartfelt Act of Kindness

Blog banner

Perfect Moments to Wear a Rich Patola Design Outfit

Blog banner

The Truth Behind Viral DIY Dental Hacks

Blog banner

Theads

Blog banner

Segmentation and paging concept

Blog banner

Mumbai

Blog banner

How Men and Women Process Pain Differently

Blog banner

How can parents support a child’s mental health?

Blog banner

Threat management

Blog banner

What Makes Patola the Queen of Silk?

Blog banner

Cyber Forensic in the Banking sector

Blog banner

How Does SSO Works

Blog banner

"Life as a Part-time Student"

Blog banner

PYTHON

Blog banner

Modern Operating System

Blog banner

Why Soft Skills Matter as Much as Grades?

Blog banner

Computer security techniques

Blog banner

10 Unsolved Mysteries all over the world

Blog banner

Memory heirachy (Operating system)

Blog banner

Financial Fraud Detection

Blog banner

Memory Management in Operating System

Blog banner

Image Steganalysis in Digital Forensics

Blog banner

Dos (Denial of service) Attack

Blog banner

Cyber Security Control

Blog banner

ONLINE NEWSROOMS

Blog banner

SQL Injection

Blog banner

I/O Management and Disk Scheduling

Blog banner

Evolution of Operating Systems

Blog banner