{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

scheduling - Today CSCI 5105 Foundations of Modern...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CSCI 5105 Foundations of Modern Operating Systems Instructor: Abhishek Chandra 2 Today Multiprocessor Scheduling Distributed Scheduling Cluster-level Wide-area 3 Multiprocessor Scheduling Uniprocessor: Which process to run next? Multiprocessor: Which process to run next on which CPU? Decision can depend on: Processes are related or not Load on CPUs Cache affinity of a process 4 Time Sharing Used for independent processes Single runqueue Could use priorities, FCFS, SJF, etc. Idle CPU picks the next process from the queue What if process holding lock gets switched out? Smart Scheduling Lock-holding process given high priority
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 5 Affinity Scheduling Processes have cache affinity with recent CPUs Would like to reschedule on same CPU Two-level scheduling Each process pinned to a CPU CPU performs scheduling on private queue Balance load occasionally Example: Linux scheduler 6 Space Sharing Used for groups of processes Need to run together Partition CPUs into sets Each set runs one process group Non-preemptible until all processes finish Process groups can be resized based on CPU availability 7
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}