CS 414 Multimedia Systems Design Lecture 32 Process

  • Slides: 31
Download presentation
CS 414 – Multimedia Systems Design Lecture 32 – Process Management (Part 2) Klara

CS 414 – Multimedia Systems Design Lecture 32 – Process Management (Part 2) Klara Nahrstedt Spring 2009 CS 414 - Spring 2009

Outline n n n MP 4 is out, Start early Competition on May 1,

Outline n n n MP 4 is out, Start early Competition on May 1, 2009, 5 -6: 30 pm in 216 SC Deadline April 30 (pre-competition to decide on the finalists) ¨ n Exact rules, scenarios of the competition will be posted next Monday, April 20. All should come, pizza and 1, 2, 3 rd prices of the competition will be provided between 6: 30 -7 pm on May 1 in 0216 SC CS 414 - Spring 2009

Overprovisioning Approach n Current Approach: ¨ To achieve throughput - overprovision of resources (fast

Overprovisioning Approach n Current Approach: ¨ To achieve throughput - overprovision of resources (fast processors, large disks, fast I/O bus, high-speed networks), and exclusive usage of resources ¨ To achieve timing - overprovision CPU, exclusive usage of resources, application-dependent scheduling With over-provisioning we get Quality of Service !! CS 414 - Spring 2009

Problems with Overprovisioning ¨ Very n High Cost (due to unused resources) Exclusive Networks

Problems with Overprovisioning ¨ Very n High Cost (due to unused resources) Exclusive Networks and Special Purpose Machines ¨ Violation of Timing Guarantees in Exclusive Case (head-of-line blocking) n Sensory and Video Data Processing/Transmission ¨ Violation of Timing/Throughput Guarantees in Shared Case (greedy applications, flows) n UDP flows versus TCP Flows ¨ Last Mile Problem (not everywhere is overprovisioning possible) n Telescopes, University Campus CS 414 - Spring 2009

DSRT Concepts CPU Service Classes n Mapping CPU Service Classes into a Multiprocessor Partitioning

DSRT Concepts CPU Service Classes n Mapping CPU Service Classes into a Multiprocessor Partitioning Design n Execution Flow of a SRT Process n CS 414 - Spring 2009

CPU Service Classes Specification Parameters PCPT (Periodic Constant Processing Time) P = Period PPT

CPU Service Classes Specification Parameters PCPT (Periodic Constant Processing Time) P = Period PPT = Peak Processing Time PPT PVPT (Periodic Variable Processing Time) P = Period SPT = Sustainable Processing Time PPT = Peak Processing Time BT = Burst Tolerance SPT ACPU (Aperiodic Constant Processor Utilization) PPU = Peak Processor Utilization PPU Event Relative Deadline PPT CS =414 Peak Processing Time - Spring 2009 Guaranteed PPT

Periodic Constant Processing Time Class n Example Usage Pattern: Peak Processing Time=10 ms Period

Periodic Constant Processing Time Class n Example Usage Pattern: Peak Processing Time=10 ms Period = 100 ms 0 10 100 110 200 210 Time(ms) CS 414 - Spring 2009

Periodic Variable Processing Time Class n Example Usage Pattern: Period = 100 ms Peak

Periodic Variable Processing Time Class n Example Usage Pattern: Period = 100 ms Peak Processing Time = 30 ms Sustainable Processing Time = 15 ms Burst Tolerance = 7 ms 0 15 100 120200210 Time(ms) CS 414 - Spring 2009

Execution Flow of a SRT Process Probing Phase Reservation Phase Execution Phase Scheduling Probe

Execution Flow of a SRT Process Probing Phase Reservation Phase Execution Phase Scheduling Probe Admission Control Extract Reservation Contract Processor Binding Monitor/ Conformance Test Adaptation SRT Process Adjusted Contract CS 414 - Spring 2009

Smart Offline Probing (1) n Goal: Extract a reservation. ¨ Determine the most suitable

Smart Offline Probing (1) n Goal: Extract a reservation. ¨ Determine the most suitable Service Class and Parameters. ¨ Avoid over/under reserve resources. n Needed because: ¨ Processor usage is hardware platform dependent. ¨ Processor usage is input dependent. CS 414 - Spring 2009

Smart Probing (2) n n DSRT runs a few iterations of SRT applications without

Smart Probing (2) n n DSRT runs a few iterations of SRT applications without reservation. DSRT monitors the usage iteration by iteration. DSRT analyzes the usage history. Estimate a Reservation Processor Usage n Iteration Number Conformance Test ? CS 414 - Spring 2009

Conformance Test (1) Processor Usage Nonconformance Conformance Burst Tolerance Reserved Usage CS 414 -

Conformance Test (1) Processor Usage Nonconformance Conformance Burst Tolerance Reserved Usage CS 414 - Spring 2009

Conformance Test (2) n SSBTR = System Specific Burst Tolerance Rate. PCPT Class PVPT

Conformance Test (2) n SSBTR = System Specific Burst Tolerance Rate. PCPT Class PVPT Class Processor Usage PPT(1+SSBTR) PPT Leak every P SPT(1+SSBTR)+BT PPT(1+SSBTR) SPT Leak every P PPT Leak every P CS 414 - Spring 2009

Smart Probing (3) n n n Compute average processor usage = 50 ms Compute

Smart Probing (3) n n n Compute average processor usage = 50 ms Compute peak processor usage = 62 ms. Max Burst = 12 ms 40 ms 50 ms 62 ms 43 ms 40 ms 50 ms 62 ms 12 ms 55 ms 50 ms CS 414 - Spring 2009 50 ms 55 ms 60 ms 10 ms 50 ms

Smart Probing (4) n n n SSBTR = 10% Average Processor Usage * SSBTR

Smart Probing (4) n n n SSBTR = 10% Average Processor Usage * SSBTR = 5 ms If Max Burst < 5 ms ¨ Constant n Processing Time Class else if Max Burst (12 ms) > 5 ms, ¨ Variable n n n Processing Time Class Sustainable Processing Time =50 ms Peak Processing Time = 62 ms Burst Tolerance = 12 ms - 5 ms = 7 ms CS 414 - Spring 2009

Admission Control Test n Given a reservation request, determine ¨ Resource Availability. (1) +

Admission Control Test n Given a reservation request, determine ¨ Resource Availability. (1) + (2) ¨ Processor Binding. (2) n Preemptive Earliest Deadline First: CS 414 - Spring 2009

Multiprocessor Partitioning Design Guaranteed Part Non-guaranteed Part PCPT Processes Reserved Run Overrun PVPT Processes

Multiprocessor Partitioning Design Guaranteed Part Non-guaranteed Part PCPT Processes Reserved Run Overrun PVPT Processes Reserved Run Burst RT Scheduler Overrun TS Processes Overrun Scheduler TS Scheduler Processor #1 RT Partition Overrun Partition TS Partition Processor #2 RT Partition Overrun Partition TS Partition CS 414 - Spring 2009

Partition Scheduling Top-Level Scheduler Proportional Sharing RT Scheduler Overrun Scheduler Multi-Level Round Robin Priority

Partition Scheduling Top-Level Scheduler Proportional Sharing RT Scheduler Overrun Scheduler Multi-Level Round Robin Priority Queues Preemptive EDF TS Scheduler Kernel Scheduler Processor #1 RT Partition Overrun Partition TS Partition Processor #2 RT Partition Overrun Partition TS Partition CS 414 - Spring 2009

RT Partition Scheduler Processor #1 Waiting Queue: (Sorted with the earliest released time) p

RT Partition Scheduler Processor #1 Waiting Queue: (Sorted with the earliest released time) p (2 a) finished one iteration (3) released for next iteration (1) admitted p Runnable Queue: (Sorted with the earliest deadline) p (2 b) overrunning Overrun Partition Queues CS 414 - Spring 2009

Overrun Partition Scheduler Highest Priority Burst Queue (FIFO) (2) Miss Deadline p Overrun Queue

Overrun Partition Scheduler Highest Priority Burst Queue (FIFO) (2) Miss Deadline p Overrun Queue (FIFO) (1 a) Conformed? (1 b) Nonconformed? p Permanent Non-conforming Queue (FIFO) (1 c) Nonconformed frequently? Lowest Priority CS 414 - Spring 2009

Adaptation Scene #1 Scene #2 Adjust Reservation. n 3 Strategies n ¨ Exponential Average

Adaptation Scene #1 Scene #2 Adjust Reservation. n 3 Strategies n ¨ Exponential Average ¨ Range ¨ Statistical Frame 275 CS 414 - Spring 2009

Exponential Average Adaptation Strategy X 1 X 2 X 3. . . Xws-1 Xws+1

Exponential Average Adaptation Strategy X 1 X 2 X 3. . . Xws-1 Xws+1 . . . X 2 ws. . . X 3 ws Adaptation Points n Iteration Number Specification: ¨ Window Size (ws). ¨ Alpha ( ) ¨ Xi= Guaranteed Parameter in a reservation. ¨ Xi-1 = Actual Usage. CS 414 - Spring 2009

Statistical Adaptation Strategy X 1 X 2 X 3. . . Xws-1 Xws+1 .

Statistical Adaptation Strategy X 1 X 2 X 3. . . Xws-1 Xws+1 . . . X 2 ws. . . X 3 ws Iteration Adaptation Points n Specification: ¨ Window Size (ws). ¨ Overrun Tolerance Frequency (f). n Example: ws=10, f=20%. Adjust X=40 ms. CS 414 - Spring 2009

User-level Priority Dispatch Highest Priority Fixed RT Priority (6) Timer interrupts Scheduler (5) Decrease

User-level Priority Dispatch Highest Priority Fixed RT Priority (6) Timer interrupts Scheduler (5) Decrease Priority Dynamic TS Priority (5) Dispatched Process runs for T ms. (4) Scheduler sleeps. (3) Scheduler sets Timer for T ms. N DSRT Scheduler Process N-1 Dispatched Process . . . . Time Sharing Processes (2) Set Processor Affinity. . . . (1) Increase Priority. 0 RT Process Pool Lowest Priority CS 414 - Spring 2009

C++ APIs // Reservation Phase cpu. reserve(reservation); cpu. set. Adapt. Strategy(strategy); Cpu. Api cpu;

C++ APIs // Reservation Phase cpu. reserve(reservation); cpu. set. Adapt. Strategy(strategy); Cpu. Api cpu; Cpu. Reservation reservation; // Probing Phase; cpu. probe(); cpu. start(); for (int i=0; i<num. Probe. Iterations; i++) { do. Job(); cpu. yield(); } cpu. stop(); cpu. probe. End(); cpu. probe. Match(&reservation); // Execution Phase cpu. start(); for (; ; ) { do. Job(); cpu. yield(); } cpu. stop(); cpu. free(); CS 414 - Spring 2009

Experiment Dual Processor Sun Ultra 2 Machine. n Solaris 2. 6 Operating System. n

Experiment Dual Processor Sun Ultra 2 Machine. n Solaris 2. 6 Operating System. n Dispatch Latency 400 us. Includes n ¨ Scheduling Algorithm. ¨ Context Switches. ¨ Various system calls. CS 414 - Spring 2009

Experiment Setup n n Run 8 TS processes and 5 SRT processes concurrently. TS

Experiment Setup n n Run 8 TS processes and 5 SRT processes concurrently. TS 1 -6: Computational intensive programs. TS 7 -8: Compilation programs. SRT 1: A MPEG player at 10 FPS. ¨ Probing (PVPT class, P=100 ms, ¨ SPT=28 ms, PPT=40 ms, BT=11 ms). ¨ Adaptation Strategy: (Statistical, f = 20%, ws = 20). CS 414 - Spring 2009

Experimental Setup (Cont. ) n SRT 2: A MPEG player at 20 FPS. ¨

Experimental Setup (Cont. ) n SRT 2: A MPEG player at 20 FPS. ¨ Probing (PVPT class, P=50 ms, SPT=14 ms, PPT=21 ms, BT=6 ms) n SRT 3: A sampling program. ¨ Probing(PCPT class, P=50 ms, PPT=10 ms) n SRT 4: A Java Rocks. In. Space game. ¨ (PCPT n class, P=100 ms, PPT=30 ms). SRT 5: Misbehaving greedy program. ¨ (PCPT class, P=500 ms, PPT=10 ms). CS 414 - Spring 2009

Experimental Result SRT 2: MPEG player with P=50 ms. SRT 1: MPEG player With

Experimental Result SRT 2: MPEG player with P=50 ms. SRT 1: MPEG player With P=100 ms CS 414 - Spring 2009

Experimental Result (Cont. ) SRT 3: Sampling program with P=50 ms. SRT 4: Java

Experimental Result (Cont. ) SRT 3: Sampling program with P=50 ms. SRT 4: Java game with P=100 ms. CS 414 - Spring 2009

Conclusion n Careful planning of CPU resources works for multimedia applications and other applications

Conclusion n Careful planning of CPU resources works for multimedia applications and other applications that share the CPU CS 414 - Spring 2009