SE350: Operating Systems
Lecture 8: Scheduling
SE350: Operating Systems Lecture 8: Scheduling Outline Definitions - - PowerPoint PPT Presentation
SE350: Operating Systems Lecture 8: Scheduling Outline Definitions Response time, throughput, scheduling policy, Uniprocessor policies FCFS, SJF/SRTF, Round Robin, Real-time scheduling Multiprocessor policies
Lecture 8: Scheduling
We Weighted toward small bursts
which will than hurt throughput (more on this later!)
time on many OS’s
scheduled until done (including its I/O activities)
Thread CPU Burst Time T1 24 T2 3 T3 3
The Gantt Chart for FCFS scheduling is
T1 T2 T3 24 27 30
T1 T2 T3 24 27 30
T1 T3 T2 6 3 30
you don’t care who is behind you, on the other hand…
(usually 10-100 milliseconds)
end of ready queue
Photo: Pinterest.ca
Thread Burst Time T1 53 T2 8 T3 68 T4 24
T1 = (68 - 20) + (112 - 88) = 72 T2 = (20 - 0) = 20 T3 = (28 - 0) + (88 - 48) + (125 - 108) = 85 T4 = (48 - 0) + (108 - 68) = 88
T1 20 T2 28 T3 48 T4 68 T1 88 T3 108 T4 T1 T3 T3 112 125 145 153
Task # FCFS RR 1 2 … 9 10 991 992 … 999 1000 100 200 … 900 1000
T1 T2 T9 T10 … 100 800 900 1000 200 FCFS … 10 980 990 1000 20 … … … … 999 991 RR
task with FIFO
Task # FCFS RR 1 2 … 9 10 991 992 … 999 1000 100 200 … 900 1000
T2 (8) T4 (24) T1 (53) T3 (68) 8 32 85 153 Best FCFS
Quantum T1 T2 T3 T5 Average Wa Waiting Time Time Best Best FCF CFS 1 5 8 10 10 20 20 Wo Worst FCFS Resp Response
Time Time Best Best FCF CFS 1 5 8 10 10 20 20 Wo Worst FCFS
32 85 8 31¼ 85 8 153 32 69½
T2 (8) T4 (24) T1 (53) T3 (68) 68 121 145 153 Worst FCFS
Quantum T1 T2 T3 T5 Average Wa Waiting Time Best Best FCF CFS 1 5 8 10 10 20 20 Wo Worst FCFS Resp Response
Time Time Best Best FCF CFS 1 5 8 10 10 20 20 Wo Worst FCFS
32 85 8 31¼ 85 8 153 32 69½ 68 145 121 83½ 121 153 68 145 121¾
Quantum T1 T2 T3 T5 Average Wa Waiting Time Time Best Best FCF CFS 1 5 8 10 10 20 20 Wo Worst FCFS Resp Response
Time Time Best Best FCF CFS 1 5 8 10 10 20 20 Wo Worst FCFS
32 85 8 31¼ 85 8 153 32 69½ 68 145 121 83½ 121 153 68 145 121¾
P1 8 56 P2 P3 P4 P1 P3 P4 P1 P3 P4 P1 P3 P1 P3 P3 P3 16 24 32 40 48 64 72 80 88 96 104 112 P1 P3 P1 120 128 133 141149 P3 153
80 8 85 56 57¼ 133 16 153 80 95½ 84 22 85 57 62 137 30 153 81 100½ 82 20 85 58 61¼ 82 10 85 68 61¼ 72 20 85 88 66¼ 135 28 153 82 99½ 135 18 153 92 99½ 125 28 153 112 104½
than remaining time on current task, immediately preempt current task
Computation A and B : Computation I/O C :
RR with 40m 40ms time quantum
A B A B
CPU I/O
I/O Utilization: ~11%
RR with 1m 1ms time quantum CPU I/O
C,A,B,A,B,A,B,A,B,A, B
SR SRTF
A
CPU I/O
A A A A A A A A A A A A A A A
I/O Utilization: ~82% I/O Utilization: ~90%
,C,A,B,A,…
workstations, pads, and cellphones?
interactive applications
for a long time?
task has lock needed by high-priority task
high-priority task should be running
Priority 3 Priority 2 Priority 1 Priority 0 Task 5 Task 6 Task 1 Task 2 Task 3 Task 7 Task 4
based on heuristics about interactivity, locking, burst behavior, etc…
Priority 3 Priority 2 Priority 1 Priority 0 Task 5 Task 6 Task 1 Task 2 Task 3 Task 7 Task 4
(run highest, then next, etc.)
better service by going into one of other lines
in priority Þ Interactive tasks suffer
(highest:1ms, next: 2ms, next: 4ms, etc.)
Long-Running compute tasks are demoted to lower priority queues
(everyone makes progress)
gracefully as load changes
how many tickets each task possesses
# short tasks/ # long tasks % of CPU each short tasks gets % of CPU each long tasks gets 1/1 91% 9% 0/2 N/A 50% 2/0 50% N/A 10/1 9.9% 0.99% 1/10 50% 5%
Accumulated CPU Time
T1 T2 T3
t/N
for fixed time quantum before choosing next task
Accumulated CPU Time
time quantum is1ms
weight 1 and B with weight 4
Q = Target latency N
<latexit sha1_base64="Bp7uKwkGRlLTpYf8DBXScxD+og=">ACDHicbVC7SgNBFL3rKxpfUubwQdYhV1RTCNEbKxEwSRCEmR2cjcOzj6YuSuGZcHWxl+xEVTE1g+w8x/8CeJha8LwxzOZeZc/xESUOu+6MjI6NTxQmp4rTM7Nz86WFxbqJUy2wJmIV61OfG1QywhpJUniaOShr7DhX+z39cYlaiPj6IR6CbZD3o1kIAUnS52Vo/ZLmsFmousRXhF2QnXSmOGEkenmeHebW5ZbdwbC/wPsCq9VK+aOw9hAfnZXeWp1YpCFGJBQ3pum5CbUzrkKhXmxlRpMuLjgXWxaGPEQTsbhMnZumU6LIi1PRGxAft9I+OhMb3Qt86Q07n5rfXJ/7RmSkGlnckoSfvRhg8FqWIUs34zrCM1ClI9C7jQ0v6ViXNumyHbX9GW4P2O/BfUN8veVn72Laxdw2DmYRlWIEN8GAHqnAR1ADATdwB4/w5Nw6986z8zK0jDG5bgxzivnwsenwM=</latexit>Qi = wi × Target latency PN
j=1 wj
<latexit sha1_base64="s2rhlR4NJ97YiUH+ygDrFrFBNhM=">ACKXicbVBNSxBEK1Ro2aTmFGPuTSRQE6bGTHoRVgRgidRcFXY2Qw9vTVra8H3TXq0gzk13jxj3jwYiCiXvMfArmldzeHRH3Q1O9KrqJaWShoLg3puYnHoxPTP7svHq9Zu5t/78wr4pKi2wLQpV6MOEG1QyxzZJUnhYauRZovAgOdkc+genqI0s8j0alNjNeD+XqRScnBT7rd1YsnUWpZoLe+Z4RDJD4wqek93juo/EFCfMxaCubWSqLbH62H91W7XZ/FxHftLQTMYgT0l4V+y1Pry62rK/R7J/a/R71CVBnmJBQ3phMGJXUt1ySFwroRVQZLk54HzuO5tyt07WjS2v2wSk9lhbavZzYSP13wvLMmEGWuM6M05F57A3F57xORela18q8rIanj9K8WoYMPYWE9qFKQGjnChpduViSPuQiMXbsOFED4+SnZX26GK83Puy6NjW8wiy8g/fwEUJYhRZswQ60QcAFXMPuPUuvRvznsYt054wqL8B+8n38AN/Gr/Q=</latexit>Actual CPU Time B A 16 4 Virtual CPU Time B A 1 1
threading (… wait and see …)
RMS (Rate-Monotonic Scheduling), DM (Deadline Monotonic Scheduling)
A1 C1 D1 A2 C2 D2 A3 C3 D3 A4 C4 D4
T1 T2 T3 T4
Mi Missed De Deadline ne!
A1 D1 A2 D2 A3 D3 A4 D4
T1 T2 T3 T4 Time
, C)
5 10 15 T1: (4, 1) T2: (5, 2) T3: (7, 2)
n
i=1
most flexible/general
same set of tasks
I Care About: Then Choose: CPU Throughput FCFS
SRTF Approximation I/O Throughput SRTF Approximation Fairness (CPU Time) Linux CFS Fairness – Wait Time to Get CPU Round Robin Meeting Deadlines EDF Favoring Important Tasks Priority
scheduled on different cores
while tasks pile up on others ready queues
T4 T3 T2 T1
Core 2 Core 3 Core 1 Core 4
T3 T2 T1 T4 T8 T7 T6 T5
Core 2 Core 3 Core 1 Core 4
memory accesses by that task
had in cache of the core it was moved off of
experience same, uniform access time to any memory module
Cores access their local memory modules faster than remote memory modules
closes to core that task is running on
Local access
Photos from: http://www.evoventurepartners.com
Remote access
Core 1 Core 2 Core 3
Time
P1.1 P2.3 P3.1 P2.1 P3.2 P2.4 P1.2 P1.3 P2.2
Px.y: thread y in process x
(e.g., Google MapReduce)
results to next stage of computation
Photo from cs.calvin.edu
Photo from cs.calvin.edu
Core 1 Core 2 Core 3
Time Synchronization Synchronization Communication
Core 1 Core 2 Core 3
Thread 1 Thread 2 Thread 3
P1.4 P2.3 P3.1 P2.1 P3.2 P2.4 P1.2 P1.3 P2.2
Core 1 Core 2 Core 3
Time
T1 T5 T6 T2 T4 T3 T7 Core 1 Core 2 Core 3
Time
Core 4 Core 4 Core 5 T1 T6 T2 T4 T3 T5 T7
Process 1 Process 2
Number of Processors Performance (Inverse Response Time)
Perfectly Parallel Diminishing Returns Limited Parallelism
[G. Amdahl 1967]
Speedup(x) = T1 Tx = T1 (1 − F)T1 + F T1
x
= x x(1 − F) + F
<latexit sha1_base64="imSh03zMRHEJkMcJ1Tt4d09R8=">ACQnicbVBNaxsxEJ1N0yZ13NZNjrmImoJNqNntpc0hYFIwPTrEjkNt42rl2URE+4E0W9Ys+96R/IrX+glx7SEMgph8prF1InDyTevHnDSM9PlDTkuj+dtSfrT59tbD6vbFVfvHxVe719YuJUC+yLWMX61OcGlYywT5IUniYaegrHPgXn+b9wTfURsZRj2YJjkN+FslACk5WmtS+jAgzyo8TxGmaNLJmwQ7YKNBc5L2JV9grKw7u1Q3vXadp2d5C65RiVvzZLYoLXudYlKruy23BHtIvCWptw+rt18BoDupXY6msUhDjEgobszQcxMa51yTFAqLyig1mHBxwc9waGnEQzTjvMygYG+tMmVBrO2JiJXq/Ymch8bMQt86Q07nZrU3Fx/rDVMKPo5zGSUpYSQWi4JUMYrZPFA2lRoFqZklXGhp38rEObdhkI29YkPwVr/8kPTft/Zb7pENow0LbMIuvIEGePAB2vAZutAHAd/hF1zBH+eH89u5dm4W1jVnObMD/8G5+wsT4rIe</latexit><latexit sha1_base64="xID0c1Tbn8/aMShHBgtOGCWxg=">ACQnicbVDLSgMxFM34tr6qLt0ERaiIZcaNuhCKQnGpaFVsS8mkdzQ08yC5I1OG+QM/wk9x4w+48wfcuFARXLkwnSr4OpBw7rncpPjRlJotO17a2BwaHhkdGy8MDE5NT1TnJ071mGsONR4KEN16jINUgRQ4ESTiMFzHclnLid3V7/5BKUFmFwhN0Imj47D4QnOEMjtYpnDYQE08MIoB1HpWQlo9u04SnG06OWk5kryba/1SVnrbpi2Gpfq+Zikn15ElPkltVq1iou2WU7B/1LnE+yVNmZfGMvV9f7reJdox3y2IcAuWRa1x07wmbKFAouISs0Yg0R4x12DnVDA+aDbqZ5BhldNkqbeqEyJ0Caq98nUuZr3fVd4/QZXujfvZ74X68eo7fZTEUQxQgB7y/yYkxpL1AaVso4Ci7hjCuhHkr5RfMhIEm9oIJwfn95b+ktl7eKtsHJowK6WOMLJBFUiIO2SAVskf2SY1wckMeyBN5tm6tR+vFeu1bB6zPmXnyA9b7B+ZJtDw=</latexit><latexit sha1_base64="xID0c1Tbn8/aMShHBgtOGCWxg=">ACQnicbVDLSgMxFM34tr6qLt0ERaiIZcaNuhCKQnGpaFVsS8mkdzQ08yC5I1OG+QM/wk9x4w+48wfcuFARXLkwnSr4OpBw7rncpPjRlJotO17a2BwaHhkdGy8MDE5NT1TnJ071mGsONR4KEN16jINUgRQ4ESTiMFzHclnLid3V7/5BKUFmFwhN0Imj47D4QnOEMjtYpnDYQE08MIoB1HpWQlo9u04SnG06OWk5kryba/1SVnrbpi2Gpfq+Zikn15ElPkltVq1iou2WU7B/1LnE+yVNmZfGMvV9f7reJdox3y2IcAuWRa1x07wmbKFAouISs0Yg0R4x12DnVDA+aDbqZ5BhldNkqbeqEyJ0Caq98nUuZr3fVd4/QZXujfvZ74X68eo7fZTEUQxQgB7y/yYkxpL1AaVso4Ci7hjCuhHkr5RfMhIEm9oIJwfn95b+ktl7eKtsHJowK6WOMLJBFUiIO2SAVskf2SY1wckMeyBN5tm6tR+vFeu1bB6zPmXnyA9b7B+ZJtDw=</latexit>[G. Amdahl 1967]
Speedup(x) = T1 Tx = T1 (1 − F)T1 + F T1
x
= x x(1 − F) + F
<latexit sha1_base64="imSh03zMRHEJkMcJ1Tt4d09R8=">ACQnicbVBNaxsxEJ1N0yZ13NZNjrmImoJNqNntpc0hYFIwPTrEjkNt42rl2URE+4E0W9Ys+96R/IrX+glx7SEMgph8prF1InDyTevHnDSM9PlDTkuj+dtSfrT59tbD6vbFVfvHxVe719YuJUC+yLWMX61OcGlYywT5IUniYaegrHPgXn+b9wTfURsZRj2YJjkN+FslACk5WmtS+jAgzyo8TxGmaNLJmwQ7YKNBc5L2JV9grKw7u1Q3vXadp2d5C65RiVvzZLYoLXudYlKruy23BHtIvCWptw+rt18BoDupXY6msUhDjEgobszQcxMa51yTFAqLyig1mHBxwc9waGnEQzTjvMygYG+tMmVBrO2JiJXq/Ymch8bMQt86Q07nZrU3Fx/rDVMKPo5zGSUpYSQWi4JUMYrZPFA2lRoFqZklXGhp38rEObdhkI29YkPwVr/8kPTft/Zb7pENow0LbMIuvIEGePAB2vAZutAHAd/hF1zBH+eH89u5dm4W1jVnObMD/8G5+wsT4rIe</latexit><latexit sha1_base64="xID0c1Tbn8/aMShHBgtOGCWxg=">ACQnicbVDLSgMxFM34tr6qLt0ERaiIZcaNuhCKQnGpaFVsS8mkdzQ08yC5I1OG+QM/wk9x4w+48wfcuFARXLkwnSr4OpBw7rncpPjRlJotO17a2BwaHhkdGy8MDE5NT1TnJ071mGsONR4KEN16jINUgRQ4ESTiMFzHclnLid3V7/5BKUFmFwhN0Imj47D4QnOEMjtYpnDYQE08MIoB1HpWQlo9u04SnG06OWk5kryba/1SVnrbpi2Gpfq+Zikn15ElPkltVq1iou2WU7B/1LnE+yVNmZfGMvV9f7reJdox3y2IcAuWRa1x07wmbKFAouISs0Yg0R4x12DnVDA+aDbqZ5BhldNkqbeqEyJ0Caq98nUuZr3fVd4/QZXujfvZ74X68eo7fZTEUQxQgB7y/yYkxpL1AaVso4Ci7hjCuhHkr5RfMhIEm9oIJwfn95b+ktl7eKtsHJowK6WOMLJBFUiIO2SAVskf2SY1wckMeyBN5tm6tR+vFeu1bB6zPmXnyA9b7B+ZJtDw=</latexit><latexit sha1_base64="xID0c1Tbn8/aMShHBgtOGCWxg=">ACQnicbVDLSgMxFM34tr6qLt0ERaiIZcaNuhCKQnGpaFVsS8mkdzQ08yC5I1OG+QM/wk9x4w+48wfcuFARXLkwnSr4OpBw7rncpPjRlJotO17a2BwaHhkdGy8MDE5NT1TnJ071mGsONR4KEN16jINUgRQ4ESTiMFzHclnLid3V7/5BKUFmFwhN0Imj47D4QnOEMjtYpnDYQE08MIoB1HpWQlo9u04SnG06OWk5kryba/1SVnrbpi2Gpfq+Zikn15ElPkltVq1iou2WU7B/1LnE+yVNmZfGMvV9f7reJdox3y2IcAuWRa1x07wmbKFAouISs0Yg0R4x12DnVDA+aDbqZ5BhldNkqbeqEyJ0Caq98nUuZr3fVd4/QZXujfvZ74X68eo7fZTEUQxQgB7y/yYkxpL1AaVso4Ci7hjCuhHkr5RfMhIEm9oIJwfn95b+ktl7eKtsHJowK6WOMLJBFUiIO2SAVskf2SY1wckMeyBN5tm6tR+vFeu1bB6zPmXnyA9b7B+ZJtDw=</latexit>s(x) = x x(1 − F) + F
<latexit sha1_base64="f9zvgM5Q2UJUMFw6UwOFcXKIc=">ACAXicbVDLSgNBEOyNrxhfU+ih8EgJIh14t6UAKB4DGCawLJEmYns8mQ2Qczs5KwBC/+ihcPKl79C2/e/BQnj4MmFjQUVd10d7kRZ1KZ5peRWlhcWl5Jr2bW1jc2t7LbO3cyjAWhNgl5KOoulpSzgNqKU7rkaDYdzmtub3yK/dUyFZGNyqQUQdH3cC5jGClZa2T2Z7xfQJWp6ApOkP0z6eukUjiuDFvZnFk0x0DzxJqSXOnqoPwNANVW9rPZDkns0ARjqVsWGaknAQLxQinw0wzljTCpIc7tKFpgH0qnWT8whAdaWNvFDoChQaq78nEuxLOfBd3elj1ZWz3kj8z2vEyjt3EhZEsaIBmSzyYo5UiEZ5oDYTlCg+0AQTwfStiHSxDkPp1DI6BGv25XlinxYviuaNDqME6RhHw4hDxacQmuoQo2EHiAJ3iBV+PReDbejPdJa8qYzuzCHxgfP08slyY=</latexit><latexit sha1_base64="1dLfmWgM0V+igOTyOMlAIZgrtE=">ACAXicbVDLSsNAFJ34rPUVdSWKDBahRSxJN+pCKRSKywrWFtpQJ9NJO3QyCTMTaQnBjb/ixoWKW/CnR/gfzh9LT1wIXDOfdy7z1uyKhUlvVlzM0vLC4tp1bSq2vrG5vm1vatDCKBSRUHLB1F0nCKCdVRUj9VAQ5LuM1NxeaejX7omQNOA3ahASx0cdTj2KkdJSy9yV2X4OXsCmJxCO+0ncz9on5dxOWmZGStvjQBniT0hmeLlfum7cHBXaZmfzXaAI59whRmSsmFboXJiJBTFjCTpZiRJiHAPdUhDU458Ip149EICj7TShl4gdHEFR+rviRj5Ug58V3f6SHXltDcU/MakfLOnJjyMFKE4/EiL2JQBXCYB2xTQbBiA0QFlTfCnEX6TCUTi2tQ7CnX54l1UL+PG9d6zCKYIwU2AOHIAtscAqK4ApUQBVg8ACewAt4NR6NZ+PNeB+3zhmTmR3wB8bHD0Awl9s=</latexit><latexit sha1_base64="1dLfmWgM0V+igOTyOMlAIZgrtE=">ACAXicbVDLSsNAFJ34rPUVdSWKDBahRSxJN+pCKRSKywrWFtpQJ9NJO3QyCTMTaQnBjb/ixoWKW/CnR/gfzh9LT1wIXDOfdy7z1uyKhUlvVlzM0vLC4tp1bSq2vrG5vm1vatDCKBSRUHLB1F0nCKCdVRUj9VAQ5LuM1NxeaejX7omQNOA3ahASx0cdTj2KkdJSy9yV2X4OXsCmJxCO+0ncz9on5dxOWmZGStvjQBniT0hmeLlfum7cHBXaZmfzXaAI59whRmSsmFboXJiJBTFjCTpZiRJiHAPdUhDU458Ip149EICj7TShl4gdHEFR+rviRj5Ug58V3f6SHXltDcU/MakfLOnJjyMFKE4/EiL2JQBXCYB2xTQbBiA0QFlTfCnEX6TCUTi2tQ7CnX54l1UL+PG9d6zCKYIwU2AOHIAtscAqK4ApUQBVg8ACewAt4NR6NZ+PNeB+3zhmTmR3wB8bHD0Awl9s=</latexit>[Allen Karp and Horace Flatt 1990]
Set Measure Calculate
F = ✓ 1 − 1 s(x) ◆ ✓ 1 − 1 x ◆
<latexit sha1_base64="qQhtE3fpWsvIxujU0fqbhIg71I=">ACJnicbZDJSgNBEIZrXGPcoh69NAYhORhmvKgHJSCIxwhGhUwIPZ2epLFnobtGDEOewZfw4lt49iK4IN58FDubaGJBw8/VFdvxdLodG2P62p6ZnZufnMQnZxaXlNbe2fqGjRDFeZGM1JVHNZci5FUKPlVrDgNPMkvevjHr+84UqLKDzHTszrAW2FwheMorEauaMTckhcyX0sODuryhLnW6qC7fFrqtEq43FESU75IfjmAjl7dLdr/IpHCGIl8+utOPAFBp5F7cZsSgIfIJNW65tgx1lOqUDJu1k30Tym7Jq2eM3IkAZc19P+nV2ybZwm8SNlXoik7/6eSGmgdSfwTGdAsa3HWc/8j9US9PfrqQjBHnIBov8RBKMSC80hSKM5QdIyhTwvyVsDY1YaCJNmtCcMZPnhTV3dJByT4zYZRhUBnYhC0ogAN7UIZTqEAVGNzDE7zCm/VgPVv1segdcoazmzAn7K+vgHN5qaN</latexit><latexit sha1_base64="IW7xTh2dAWm/jzJBCq+Se9Ukx08=">ACJnicbZDLSsNAFIYn9VbrLerSzWAR6sKSuFEXloIgLhWMCk0pk+mkHTq5MHMiLSHP0Jdw41vo1o3gBXHng7hw2lrxdmDg5/O4cz5vVhwBZb1auQmJqemZ/Kzhbn5hcUlc3nlTEWJpMyhkYjkhUcUEzxkDnAQ7CKWjASeYOde52DAzy+ZVDwKT6EXs3pAWiH3OSWgrYZOcT72BXMh5K95fqS0NTOUlXqbmau5K02bI4p3sJfvDuGDbNola1h4b/C/hTFaqWvbm7f+8cN8FtRjQJWAhUEKVqthVDPSUSOBUsK7iJYjGhHdJiNS1DEjBVT4d3ZnhDO03sR1K/EPDQ/T6RkCpXuDpzoBAW/1mA/M/VkvA362nPIwTYCEdLfITgSHCg9Bwk0tGQfS0IFRy/VdM20SHATrag7B/n3yX+Fsl/fK1okOo4pGlUdraB2VkI12UBUdoWPkIqu0B16RE/GtXFvPBsvo9ac8Tmzin6U8fYB3YGo2Q=</latexit><latexit sha1_base64="IW7xTh2dAWm/jzJBCq+Se9Ukx08=">ACJnicbZDLSsNAFIYn9VbrLerSzWAR6sKSuFEXloIgLhWMCk0pk+mkHTq5MHMiLSHP0Jdw41vo1o3gBXHng7hw2lrxdmDg5/O4cz5vVhwBZb1auQmJqemZ/Kzhbn5hcUlc3nlTEWJpMyhkYjkhUcUEzxkDnAQ7CKWjASeYOde52DAzy+ZVDwKT6EXs3pAWiH3OSWgrYZOcT72BXMh5K95fqS0NTOUlXqbmau5K02bI4p3sJfvDuGDbNola1h4b/C/hTFaqWvbm7f+8cN8FtRjQJWAhUEKVqthVDPSUSOBUsK7iJYjGhHdJiNS1DEjBVT4d3ZnhDO03sR1K/EPDQ/T6RkCpXuDpzoBAW/1mA/M/VkvA362nPIwTYCEdLfITgSHCg9Bwk0tGQfS0IFRy/VdM20SHATrag7B/n3yX+Fsl/fK1okOo4pGlUdraB2VkI12UBUdoWPkIqu0B16RE/GtXFvPBsvo9ac8Tmzin6U8fYB3YGo2Q=</latexit>Karp-Flatt Metric
(Or network link, or expanded highway, or …)
assuming you’re paying for worse response time in reduced productivity, customer angst, etc…
you will have to buy more than X because response time goes to infinity as utilization approaches100%
Utilization Response time
100%
between all ready threads
remaining amount of computation to do
globaldigitalcitizen.org