Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf ·...
Transcript of Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf ·...
![Page 1: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/1.jpg)
Process Scheduling I
COMS W4118 Prof. Kaustubh R. Joshi [email protected]
hDp://www.cs.columbia.edu/~krj/os
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 1
References: OperaVng Systems Concepts (9e), Linux Kernel Development, previous W4118s Copyright no2ce: care has been taken to use only those web images deemed by the instructor to be in the public domain. If you see a copyrighted image on any slide and are the copyright owner, please contact the instructor. It will be removed.
![Page 2: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/2.jpg)
Outline
• IntroducVon to scheduling
• Scheduling algorithms
• Real Vme Scheduling
• EvaluaVon
2 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 3: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/3.jpg)
DirecVon within course
• UnVl now: interrupts, processes, address spaces, threads, synchronizaVon – Mostly mechanisms
• From now on: resources – Resources: things processes operate upon
• E.g., CPU Vme, memory, disk space
– Policies play a more important role
3 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 4: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/4.jpg)
Types of resources
• PreempVble – OS can take resource away, use it for something else, and give it back later
• E.g., CPU
• Non-‐preempVble – OS cannot easily take resource away; have to wait aaer the resource is voluntarily relinquished
• E.g., disk space
• Type of resource determines how to manage
4 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 5: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/5.jpg)
Decisions about resource
• AllocaVon: which process gets which resources – Which resources should each process receive? – Space sharing: Controlled access to resource through indirecVon – ImplicaVon: resources are not easily preempVble
• Scheduling: how long process keeps resource – In which order should requests be serviced? – Time sharing: more resources requested than can be granted – ImplicaVon: resource is preempVble
5 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 6: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/6.jpg)
Role of Dispatcher vs. Scheduler
• Dispatcher – Low-‐level mechanism – Responsibility: context switch
• Scheduler – High-‐level policy – Responsibility: deciding which process to run
• Could have an allocator for CPU as well – Early job-‐based systems (before Vmesharing) – Parallel and distributed systems
6 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 7: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/7.jpg)
When to schedule?
• When does scheduler make decisions? When a process
1. switches from running to waiVng state 2. switches from running to ready state 3. switches from waiVng to ready 4. terminates
• Minimal: nonpreempVve – ?
• AddiVonal circumstances: preempVve – ?
7 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 8: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/8.jpg)
Outline
• IntroducVon to scheduling
• Scheduling algorithms
• Real Time Scheduling
• EvaluaVon
8 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 9: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/9.jpg)
Overview of scheduling algorithms
• Criteria: workload and environment
• Workload – Process behavior: alternaVng sequence of CPU and I/O bursts
– CPU bound v.s. I/O bound
• Environment – Batch v.s. interacVve? – Specialized v.s. general?
9
CPU burstload storeadd storeread from file
store incrementindexwrite to file
load storeadd storeread from file
wait for I/O
wait for I/O
wait for I/O
I/O burst
I/O burst
I/O burst
CPU burst
CPU burst
•••
•••
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 10: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/10.jpg)
Typical Burst Times
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 10
![Page 11: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/11.jpg)
Scheduling performance metrics • Min waiVng Vme: Vme spent waiVng in queue for service
– don’t have process wait long in ready queue
• Max CPU uVlizaVon: % of Vme CPU is busy – keep CPU busy
• Max throughput: processes completed/Vme – complete as many processes as possible per unit Vme
• Min response Vme: submission to beginning of response – respond immediately
• Fairness: give each process/user same percentage of CPU
11 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 12: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/12.jpg)
First-‐Come, First-‐Served (FCFS)
• Simplest CPU scheduling algorithm – First job that requests the CPU gets the CPU – NonpreempVve
• ImplementaVon: FIFO queue
12 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 13: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/13.jpg)
Example of FCFS
Process Arrival Time Burst Time P1 0 7 P2 0 4 P3 0 1 P4 0 4
• GanD chart
• Average waiVng Vme: (0 + 7 + 11 + 12)/4 = 7.5
13
P1 P2 P3 P4 Schedule:
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 14: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/14.jpg)
Example of FCFS: different arrival order
Process Arrival Time Burst Time P1 0 7 P2 0 4 P3 0 1 P4 0 4
Arrival order: P3 P2 P4 P1
• Average waiVng Vme: (9 + 1 + 0 + 5)/4 = 3.75
14
P3 P1 P2 P4
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 15: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/15.jpg)
FCFS advantages and disadvantages
• Advantages – Simple – Fair
• Disadvantages – waiVng Vme depends on arrival order – Convoy effect: short process stuck waiVng for long process
– Also called head of the line blocking
15 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 16: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/16.jpg)
Shortest Job First (SJF) • Schedule the process with the shortest Vme
• FCFS if same Vme
16 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 17: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/17.jpg)
Example of SJF (w/o preempVon)
Process Arrival Time Burst Time P1 0 7 P2 2 4 P3 4 1 P4 5 4
• GanD chart
• Average waiVng Vme: (0 + 6 + 3 + 7)/4 = 4
17
P1 P2 P3 P4
P1 P2 P3 P4 Schedule:
Arrival:
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 18: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/18.jpg)
Shortest Job First (SJF)
• Schedule the process with the shortest Vme – FCFS if same Vme
• Advantages – Minimizes average wait Vme. Provably opVmal if no preempVon allowed
• Disadvantages – Not pracVcal: difficult to predict burst Vme
• Possible: past predicts future – May starve long jobs
18 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 19: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/19.jpg)
Shortest Remaining Time First (SRTF)
• If new process arrives w/ shorter CPU burst than the remaining for current process, schedule new process – SJF with preempVon
• Advantage: reduces average waiVng Vme – Provably opVmal
19 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 20: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/20.jpg)
Example of SRTF
• GanD chart
• Average waiVng Vme: (9 + 1 + 0 + 2)/4 = 3
20
P1 P2 P3 P4
P1 P2 P3 P4 Schedule:
Arrival:
P2 P1
Process Arrival Time Burst Time P1 0 7 P2 2 4 P3 4 1 P4 5 4
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 21: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/21.jpg)
Length of Next CPU Burst? • EsVmate the length: similar to the previous bursts
– Pick process with shortest predicted next CPU burst • Combine predicVons and measured bursts using exponenVal
averaging (or smoothing)
• Commonly, α set to ½ • “ExponenVal averaging” because expanding recursion gives:
τn+1 = α tn+(1 - α)α tn -1 + …" +(1 - α )j α tn -j + …" +(1 - α )n +1 τ0
"
:Define 4.10 , 3.
burst CPU next the for value predicted 2.burst CPU of length actual 1.
≤≤
=
=
+
αα
τ 1n
thn nt
( ) .1 1 nnn t ταατ −+==
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 21
![Page 22: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/22.jpg)
Exponential Smoothing
6 4 6 4 13 13 13 …810 6 6 5 9 11 12 …
CPU burst (ti)
"guess" (!i)
ti
!i
2
time
4
6
8
10
12
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 22
![Page 23: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/23.jpg)
Round-‐Robin (RR)
• PracVcal approach to support Vme-‐sharing
• Run process for a Vme slice, then move to back of FIFO queue
• Preempted if sVll running at end of Vme-‐slice
• How to determine Vme slice?
23 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 24: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/24.jpg)
Example of RR: Vme slice = 3
• Average waiVng Vme: (8 + 8 + 5 + 7)/4 = 7 • Average response Vme: (0 + 1 + 5 + 5)/4 = 2.75 • # of context switches: 7
24
P1 P2 P3 P4 Arrival:
Queue: P1 P2 P1
P1 P2
P1 P3
P2 P1 P3 P4
P2 P1 P3 P4 P2 P1
P3 P4 P2 P1
P4 P2 P1
P4
P2 P1 P4
P4
Process Arrival Time Burst Time P1 0 7 P2 2 4 P3 4 1 P4 5 4
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 25: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/25.jpg)
Smaller Vme slice = 1
• Average waiVng Vme: (8 + 6 + 1 + 7)/4 = 5.5 • Average response Vme: (0 + 0 + 1 + 2)/4 = 0.75 • # of context switches: 14
25
P1 P2 P3 P4 Arrival:
Queue: P1 P1 P2
P1 P3 P2
P1 P4
P2 P1 P4
P4 P2 P1 P1
P1 P3
P4 P2
P1 P4 P2 P1
P4 P2 P1
P4
P2 P1 P4 P2 P1
P4 P2 P1
P4 P1 P4
Process Arrival Time Burst Time P1 0 7 P2 2 4 P3 4 1 P4 5 4
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 26: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/26.jpg)
Larger Vme slice = 10
• Average waiVng Vme: (0 + 5 + 7 + 7)/4 = 4.75 • Average response Vme: same • # of context switches: 3 (minimum)
26
P1 P2 P3 P4 Arrival:
Queue: P1 P2 P1 P1
P3 P2 P3
P4
P2 P3 P4
P4 P1
P3 P2
P4
Process Arrival Time Burst Time P1 0 7 P2 2 4 P3 4 1 P4 5 4
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 27: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/27.jpg)
RR advantages and disadvantages
• Advantages – Low response Vme, good interacVvity – Fair allocaVon of CPU across processes – Low average waiVng Vme when job lengths vary widely
• Disadvantages – Poor average waiVng Vme when jobs have similar lengths
• Average waiVng Vme is even worse than FCFS!
– Performance depends on length of Vme slice • Too high è degenerate to FCFS • Too low è too many context switches, costly
27 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 28: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/28.jpg)
Outline
• IntroducVon to scheduling
• Scheduling algorithms
• Real Time Scheduling
• EvaluaVon
28 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 29: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/29.jpg)
Real-‐Vme scheduling
• Real-‐Vme processes have Vming constraints – Expressed as deadlines or rate requirements – E.g. gaming, video/music player, autopilot, medical devices…
• Hard real-‐Vme systems – required to complete a criVcal task within a guaranteed amount of Vme
• Soa real-‐Vme compuVng – requires that criVcal processes receive priority over less fortunate ones
• Linux supports soa real-‐Vme
29 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 30: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/30.jpg)
Real-‐Time Scheduling
• Mechanism Challenges – Latencies can affect guarantees 1. Interrupt latency: Vme between interrupt arrival to start of ISR (don’t disable interrupts!)
2. Dispatch latency: Vme to switch processes
• Policy Challenges – Ensure that soa real-‐Vme processes get priority
– Ensure that hard real-‐Vme processes can finish within deadline
• Admission Control is key 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 30
![Page 31: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/31.jpg)
PrioriVes
• A priority is associated with each process – Run highest priority ready job (some may be blocked) – Round-‐robin among processes of equal priority – Can be preempVve or nonpreempVve
• RepresenVng prioriVes – Typically an integer – The larger the higher or the lower?
31 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 32: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/32.jpg)
Sezng prioriVes
• Priority can be staVcally assigned – Some always have higher priority than others – Problem: starvaVon
• Priority can be dynamically changed by OS – Aging: increase the priority of processes that wait in the ready queue
for a long Vme
32
for(pp = proc; pp < proc+NPROC; pp++) { if (pp->prio != MAX) pp->prio++; if (pp->prio > curproc->prio) reschedule();
}
This code is taken almost verbaVm from 6th EdiVon Unix, circa 1976.
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 33: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/33.jpg)
Priority Inversion • High priority process depends on low priority process (e.g. to release a lock) – Another process with in-‐between priority arrives?
• SoluVon: priority inheritance – Inherit highest priority of waiVng process – Must be able to chain mulVple inheritances – Must ensure that priority reverts to original value
• CriVcal for real Vme systems – Example: Mars rover (hDp://research.microsoa.com/en-‐us/um/people/mbj/mars_pathfinder/)
33
P1 (low): lock(my_lock) (gets my_lock) P2(high): lock(my_lock) P2 waits, P1 completes, P2 is scheduled
P1 (low): lock(my_lock) (gets my_lock) P2(high): lock(my_lock) P3(medium): while (…) {} P2 waits, P3 runs, P1 waits P2’s effecVve priority less than P3!
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 34: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/34.jpg)
Hard Real-‐Vme Scheduling • Priority scheduling only guarantees soa real-‐Vme • Hard real-‐Vme: must also meet deadlines • Processes have new characterisVcs: periodic ones require CPU at constant intervals – Has processing Vme t, deadline d, period p – 0 ≤ t ≤ d ≤ p – Rate of periodic task is 1/p
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 34
![Page 35: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/35.jpg)
Rate Montonic Scheduling • Applicable only to periodic processes • StaVc priority based on period • Don’t need to know burst length • A priority is assigned based on the inverse of its period
– Shorter periods = higher priority – Longer periods = lower priority
• E.g., P1: p=50, t=20 P2: p=100, t=35 • P1 higher than P2 • CPU UVlizaVon U = 20/50 + 35/100 = 0.75, so good…
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 35
![Page 36: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/36.jpg)
OpVmality of Rate Monotonic Scheduling
• OpVmal staVc scheduling policy • But not opVmal dynamic one • E.g., P1: p=50, t=25 P2: p=80, t=35 • UVlizaVon = 25/50 + 35/80 = 0.9375, but…
• P2 misses deadline • In general, Rate monotonic can’t guarantee if
– UVlizaVon > N(21/N-‐1) (or > 83%) – Admission control must deny to ensure schedulability
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 36
![Page 37: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/37.jpg)
Earliest Deadline First Scheduling (EDF) • PrioriVes are assigned according to deadlines
– Earlier deadline, higher priority, later deadline, lower the priority • Dynamic prioriVes
– Process can have higher/lower priority at different Vmes – Doesn’t require periodicity – Doesn’t require knowledge of burst length – Provably opVmal, but need to know deadlines
• Earlier ex. P1: t=25, d=50,100,150… P2: t=35 d=80, 160, 240,…
• Dynamic EDF order: P1, P2, P1, P1, P2, …
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 37
![Page 38: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/38.jpg)
Outline
• IntroducVon to scheduling
• Scheduling algorithms
• Real Time Scheduling
• EvaluaVon
38 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.
![Page 39: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/39.jpg)
EvaluaVng Scheduling Algorithms
• Difficult: scheduling dependent on complex inputs – Workloads are non-‐determinisVc even in Vghtly controlled environments
– Timer interrupts can occur asynchronously – Hard to reproduce the same environment
• How to test? – How the system “feels”: responsive? sluggish? – AnalyVcal: GanD charts, queuing models – SimulaVon
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 39
![Page 40: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/40.jpg)
Analytical Evaluation • DeterminisVc (GanD charts)
– Like what we’ve done in this lecture – Construct determinisVc workload – For each algorithm, calculate minimum average waiVng Vme – Simple and fast, but requires exact numbers for input, applies only
to those inputs
• ProbabilisVc (Queuing models) – Describe the arrival of processes, CPU, I/O bursts probabilisVcally – Simple distribuVons (e.g., exponenVal) – Compute average throughput, uVlizaVon, waiVng Vme – Limited in kinds of policies that can be modeled – Generally out of scope of this class, except…
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 40
![Page 41: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/41.jpg)
Little’s Law • Valid for any scheduling algorithm and arrival distribuVon
– n = average queue length – W = average waiVng Vme in queue (sec) – λ = average arrival rate into queue (processes/sec) – Li6le’s law: n = λ x W
• Why? Complex proof, but intuiVvely… 1. Let N = total number of jobs over some large Vme T 2. n = Avg. # of queue length = Sum_T(# jobs in queue at Vme T)/T 3. Sum_T(# jobs in queue at Vme T) = Sum_jobs(Vme of job j in queue) 4. n = Sum_jobs(wait Vme of job j)/T = Sum_jobs(wait Vme of job j)/N*N/T 5. n = Avg. wait Vme * Arrival rate = W * λ
• E.g.: if on average 7 processes arrive per sec, and normally 14 processes in queue, then average wait Vme per process = 2 sec
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 41
![Page 42: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/42.jpg)
Simulation • Programmed model of computer system"• Gather statistics indicating algorithm performance"• Clock is a variable"• More detailed than queuing models"
• Data to drive simulation gathered via"– Random number generator according to probabilities"– Distributions defined mathematically or empirically"– Traces: recorded sequences of real events in real systems"
actualprocess
execution
performancestatisticsfor FCFS
simulation
FCFS
performancestatisticsfor SJF
performancestatistics
for RR (q ! 14)
trace tape
simulation
SJF
simulation
RR (q ! 14)
• • •CPU 10I/O 213 CPU 12 I/O 112 CPU 2 I/O 147 CPU 173
• • •
3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs. 42
![Page 43: Process’Scheduling’I - Columbia Universitykrj/os/lectures/L11-Sched.pdf · Process’Scheduling’I ... instructor’to’be’in’the’public’domain.’If’you’see’acopyrighted’image’on’any’slide](https://reader031.fdocuments.us/reader031/viewer/2022030511/5abb3ed47f8b9a8f058c44c9/html5/thumbnails/43.jpg)
Time slice and Context Switch Time
43 3/4/13 COMS W4118. Spring 2013, Columbia University. Instructor: Dr. Kaustubh Joshi, AT&T Labs.