Course Matters 1 NUS SOC CS 5248 Ooi

  • Slides: 81
Download presentation
Course Matters 1 NUS. SOC. CS 5248 Ooi Wei Tsang

Course Matters 1 NUS. SOC. CS 5248 Ooi Wei Tsang

Make-Up Lecture n This Saturday, 23 October n TR 7, 1 -3 pm n

Make-Up Lecture n This Saturday, 23 October n TR 7, 1 -3 pm n Topic: “CPU scheduling” 2 NUS. SOC. CS 5248 Ooi Wei Tsang

Multimedia Storage Issues 3 NUS. SOC. CS 5248 Ooi Wei Tsang

Multimedia Storage Issues 3 NUS. SOC. CS 5248 Ooi Wei Tsang

Media vs. Documents 4 NUS. SOC. CS 5248 Ooi Wei Tsang

Media vs. Documents 4 NUS. SOC. CS 5248 Ooi Wei Tsang

Media vs. Documents n large file size n write once, read many n sequential

Media vs. Documents n large file size n write once, read many n sequential access n periodic access n deadlines 5 NUS. SOC. CS 5248 Ooi Wei Tsang

Average Service Time? 6 NUS. SOC. CS 5248 Ooi Wei Tsang

Average Service Time? 6 NUS. SOC. CS 5248 Ooi Wei Tsang

OS Review: Disk 7 NUS. SOC. CS 5248 Ooi Wei Tsang

OS Review: Disk 7 NUS. SOC. CS 5248 Ooi Wei Tsang

Disk head, spindle, track, sector, cylinder 8 NUS. SOC. CS 5248 Ooi Wei Tsang

Disk head, spindle, track, sector, cylinder 8 NUS. SOC. CS 5248 Ooi Wei Tsang

Latency components seek time, rotational time and transfer time 9 NUS. SOC. CS 5248

Latency components seek time, rotational time and transfer time 9 NUS. SOC. CS 5248 Ooi Wei Tsang

Disk Scheduler disk sched read/write command I/O Request 10 NUS. SOC. CS 5248 Ooi

Disk Scheduler disk sched read/write command I/O Request 10 NUS. SOC. CS 5248 Ooi Wei Tsang

OS Review: Disk Scheduling Algorithm 11 NUS. SOC. CS 5248 Ooi Wei Tsang

OS Review: Disk Scheduling Algorithm 11 NUS. SOC. CS 5248 Ooi Wei Tsang

FCFS 98 183 37 122 14 124 65 67 12 NUS. SOC. CS 5248

FCFS 98 183 37 122 14 124 65 67 12 NUS. SOC. CS 5248 Ooi Wei Tsang

SSTF 98 183 37 122 14 124 65 67 13 NUS. SOC. CS 5248

SSTF 98 183 37 122 14 124 65 67 13 NUS. SOC. CS 5248 Ooi Wei Tsang

SCAN (Elevator) 98 183 37 122 14 124 65 67 14 NUS. SOC. CS

SCAN (Elevator) 98 183 37 122 14 124 65 67 14 NUS. SOC. CS 5248 Ooi Wei Tsang

C-SCAN 98 183 37 122 14 124 65 67 15 NUS. SOC. CS 5248

C-SCAN 98 183 37 122 14 124 65 67 15 NUS. SOC. CS 5248 Ooi Wei Tsang

EDF 98 183 37 122 14 124 65 67 30 10 13 5 24

EDF 98 183 37 122 14 124 65 67 30 10 13 5 24 33 21 39 16 NUS. SOC. CS 5248 Ooi Wei Tsang

EDF-SCAN 98 183 37 122 14 124 65 67 30 10 13 5 24

EDF-SCAN 98 183 37 122 14 124 65 67 30 10 13 5 24 33 21 39 17 NUS. SOC. CS 5248 Ooi Wei Tsang

Other Schemes n FD-SCAN n SSEDO n SSEDV 18 NUS. SOC. CS 5248 Ooi

Other Schemes n FD-SCAN n SSEDO n SSEDV 18 NUS. SOC. CS 5248 Ooi Wei Tsang

Data Placement 19 NUS. SOC. CS 5248 Ooi Wei Tsang

Data Placement 19 NUS. SOC. CS 5248 Ooi Wei Tsang

Contiguous 20 NUS. SOC. CS 5248 Ooi Wei Tsang

Contiguous 20 NUS. SOC. CS 5248 Ooi Wei Tsang

Fragmented 21 NUS. SOC. CS 5248 Ooi Wei Tsang

Fragmented 21 NUS. SOC. CS 5248 Ooi Wei Tsang

Striping (RAID-0) 22 NUS. SOC. CS 5248 Ooi Wei Tsang

Striping (RAID-0) 22 NUS. SOC. CS 5248 Ooi Wei Tsang

Mirroring (RAID-1) 23 NUS. SOC. CS 5248 Ooi Wei Tsang

Mirroring (RAID-1) 23 NUS. SOC. CS 5248 Ooi Wei Tsang

Parity (RAID-5) 24 NUS. SOC. CS 5248 Ooi Wei Tsang

Parity (RAID-5) 24 NUS. SOC. CS 5248 Ooi Wei Tsang

Parity 25 NUS. SOC. CS 5248 Ooi Wei Tsang

Parity 25 NUS. SOC. CS 5248 Ooi Wei Tsang

Summary of Concerns n High Throughput n Fault Tolerant n Load balancing 26 NUS.

Summary of Concerns n High Throughput n Fault Tolerant n Load balancing 26 NUS. SOC. CS 5248 Ooi Wei Tsang

This Lecture n Consider striping only (RAID-0) 27 NUS. SOC. CS 5248 Ooi Wei

This Lecture n Consider striping only (RAID-0) 27 NUS. SOC. CS 5248 Ooi Wei Tsang

Efficient Striping Techniques for Multimedia File Servers P. Shenoy, H. Vin NOSSDAV 97 28

Efficient Striping Techniques for Multimedia File Servers P. Shenoy, H. Vin NOSSDAV 97 28 NUS. SOC. CS 5248 Ooi Wei Tsang

Design Parameters n unit of striping (block size) n degree of striping (num of

Design Parameters n unit of striping (block size) n degree of striping (num of disks) 29 NUS. SOC. CS 5248 Ooi Wei Tsang

Stripe Unit 30 NUS. SOC. CS 5248 Ooi Wei Tsang

Stripe Unit 30 NUS. SOC. CS 5248 Ooi Wei Tsang

Model n Disk serves clients in rounds n Time to read media from disk

Model n Disk serves clients in rounds n Time to read media from disk should be smaller than round time n Concern: minimize service time of most heavily loaded disk 31 NUS. SOC. CS 5248 Ooi Wei Tsang

Effects of Block Size service time Block Size 32 NUS. SOC. CS 5248 Ooi

Effects of Block Size service time Block Size 32 NUS. SOC. CS 5248 Ooi Wei Tsang

Problem n Find block size such that the service time for the most heavily

Problem n Find block size such that the service time for the most heavily loaded disk is minimize 33 NUS. SOC. CS 5248 Ooi Wei Tsang

Analysis Model: A Plan n service time of the busiest disk as a function

Analysis Model: A Plan n service time of the busiest disk as a function of block size n expected num of blocks accessed on the busiest disk n expected num of blocks accessed on any disk 34 NUS. SOC. CS 5248 Ooi Wei Tsang

Assumptions n Non-redundant array n VBR n Analyze read operation only 35 NUS. SOC.

Assumptions n Non-redundant array n VBR n Analyze read operation only 35 NUS. SOC. CS 5248 Ooi Wei Tsang

Variables Declaration n Nd : Number of Disks n Nc : Number of Clients

Variables Declaration n Nd : Number of Disks n Nc : Number of Clients n B : Block size 36 NUS. SOC. CS 5248 Ooi Wei Tsang

Variables Declaration n Nb(i, j): Number of blocks client i access from disk j

Variables Declaration n Nb(i, j): Number of blocks client i access from disk j n Pa(i, m): Probability of i access m blocks in a round 37 NUS. SOC. CS 5248 Ooi Wei Tsang

Analysis Suppose i request m blocks 38 NUS. SOC. CS 5248 Ooi Wei Tsang

Analysis Suppose i request m blocks 38 NUS. SOC. CS 5248 Ooi Wei Tsang

Reading 1 block Prob(Nb(i, j)=1) Nd : Number of Disks Nc : Number of

Reading 1 block Prob(Nb(i, j)=1) Nd : Number of Disks Nc : Number of Clients B : Block size Nb(i, j): Number of blocks client i access from disk j Pa(i, m): Probability of i access m blocks in a round 39 NUS. SOC. CS 5248 Ooi Wei Tsang

Reading k block Prob(Nb(i, j)=k) Nd : Number of Disks Nc : Number of

Reading k block Prob(Nb(i, j)=k) Nd : Number of Disks Nc : Number of Clients B : Block size Nb(i, j): Number of blocks client i access from disk j Pa(i, m): Probability of i access m blocks in a round 40 NUS. SOC. CS 5248 Ooi Wei Tsang

Blocks Read From a Disk n Nb(*, j) = Nd : Number of Disks

Blocks Read From a Disk n Nb(*, j) = Nd : Number of Disks Nc : Number of Clients B : Block size Nb(i, j): Number of blocks client i access from disk j Pa(i, m): Probability of i access m blocks in a round 41 NUS. SOC. CS 5248 Ooi Wei Tsang

Busiest Disk n Nmax = Nd : Number of Disks Nc : Number of

Busiest Disk n Nmax = Nd : Number of Disks Nc : Number of Clients B : Block size Nb(i, j): Number of blocks client i access from disk j Pa(i, m): Probability of i access m blocks in a round 42 NUS. SOC. CS 5248 Ooi Wei Tsang

Access Time T = Nmax(ts + tr + Btt) Nd : Number of Disks

Access Time T = Nmax(ts + tr + Btt) Nd : Number of Disks Nc : Number of Clients B : Block size Nb(i, j): Number of blocks client i access from disk j Pa(i, m): Probability of i access m blocks in a round Depends on: n block size B n disk characteristic ts, tr, tt n server design Nd n workload characteristic Nc, Nb(i, j)_ 43 NUS. SOC. CS 5248 Ooi Wei Tsang

Model Verification 44 NUS. SOC. CS 5248 Ooi Wei Tsang

Model Verification 44 NUS. SOC. CS 5248 Ooi Wei Tsang

Imbalance and Overhead 45 NUS. SOC. CS 5248 Ooi Wei Tsang

Imbalance and Overhead 45 NUS. SOC. CS 5248 Ooi Wei Tsang

Effects of Block Size 46 NUS. SOC. CS 5248 Ooi Wei Tsang

Effects of Block Size 46 NUS. SOC. CS 5248 Ooi Wei Tsang

Effects of Clients 47 NUS. SOC. CS 5248 Ooi Wei Tsang

Effects of Clients 47 NUS. SOC. CS 5248 Ooi Wei Tsang

Effects of Num of Disks 48 NUS. SOC. CS 5248 Ooi Wei Tsang

Effects of Num of Disks 48 NUS. SOC. CS 5248 Ooi Wei Tsang

Choosing Block Size n Given Nc, assume rest is fixed n find B that

Choosing Block Size n Given Nc, assume rest is fixed n find B that minimize T n if T < duration of a round incr Nc and try again 49 NUS. SOC. CS 5248 Ooi Wei Tsang

There is more. . n redundant array n finding optimum degree of striping 50

There is more. . n redundant array n finding optimum degree of striping 50 NUS. SOC. CS 5248 Ooi Wei Tsang

Cello: A Disk Scheduling Framework for Next Generation Operating Systems P. Shenoy, H. Vin

Cello: A Disk Scheduling Framework for Next Generation Operating Systems P. Shenoy, H. Vin SIGMETRICS 98 51 NUS. SOC. CS 5248 Ooi Wei Tsang

Problem n How to co-exist with other applications? 52 NUS. SOC. CS 5248 Ooi

Problem n How to co-exist with other applications? 52 NUS. SOC. CS 5248 Ooi Wei Tsang

Classes of Applications n Real-time n hard/soft n periodic/aperiodic n Best-effort n interactive n

Classes of Applications n Real-time n hard/soft n periodic/aperiodic n Best-effort n interactive n troughput-intensive 53 NUS. SOC. CS 5248 Ooi Wei Tsang

Attempt 1 n Priority-based scheduler n Always schedule real-time tasks ahead of best-effort tasks

Attempt 1 n Priority-based scheduler n Always schedule real-time tasks ahead of best-effort tasks 54 NUS. SOC. CS 5248 Ooi Wei Tsang

Attempt 2 n Partition time slots into real-time and best-effort 55 NUS. SOC. CS

Attempt 2 n Partition time slots into real-time and best-effort 55 NUS. SOC. CS 5248 Ooi Wei Tsang

Attempt 3 n Assign weight to application class, based on their priority n Service

Attempt 3 n Assign weight to application class, based on their priority n Service based on weight 56 NUS. SOC. CS 5248 Ooi Wei Tsang

Attempt 3: Cello n Two-level scheduling 57 NUS. SOC. CS 5248 Ooi Wei Tsang

Attempt 3: Cello n Two-level scheduling 57 NUS. SOC. CS 5248 Ooi Wei Tsang

Class Independent Scheduler 58 NUS. SOC. CS 5248 Ooi Wei Tsang

Class Independent Scheduler 58 NUS. SOC. CS 5248 Ooi Wei Tsang

Allocating Disk Bandwidth n Allocate in proportion to time n Allocate in proportion to

Allocating Disk Bandwidth n Allocate in proportion to time n Allocate in proportion to bytes 59 NUS. SOC. CS 5248 Ooi Wei Tsang

Proportionate Time-Allocation 60 NUS. SOC. CS 5248 Ooi Wei Tsang

Proportionate Time-Allocation 60 NUS. SOC. CS 5248 Ooi Wei Tsang

Variables n P : Interval of a period n. I : Idle time so

Variables n P : Interval of a period n. I : Idle time so far n Ui : Allocated time for class i n wi : Weightage of class i 61 NUS. SOC. CS 5248 Ooi Wei Tsang

Proportional Time Allocation 62 NUS. SOC. CS 5248 Ooi Wei Tsang

Proportional Time Allocation 62 NUS. SOC. CS 5248 Ooi Wei Tsang

Example 10 20 16 14 Weights 1: 1: 2 P = 100 I =

Example 10 20 16 14 Weights 1: 1: 2 P = 100 I = 30 63 NUS. SOC. CS 5248 Ooi Wei Tsang

64 NUS. SOC. CS 5248 Ooi Wei Tsang

64 NUS. SOC. CS 5248 Ooi Wei Tsang

next r prev 65 NUS. SOC. CS 5248 Ooi Wei Tsang

next r prev 65 NUS. SOC. CS 5248 Ooi Wei Tsang

Need to Make Sure. . n Does not exceed share for class i 66

Need to Make Sure. . n Does not exceed share for class i 66 NUS. SOC. CS 5248 Ooi Wei Tsang

Need to Make Sure. . n Total service time does not exceed available time

Need to Make Sure. . n Total service time does not exceed available time 67 NUS. SOC. CS 5248 Ooi Wei Tsang

Update and Repeat next prev 68 NUS. SOC. CS 5248 Ooi Wei Tsang

Update and Repeat next prev 68 NUS. SOC. CS 5248 Ooi Wei Tsang

Being Work Conserving n Work conserving: “don’t work only if no work to do”

Being Work Conserving n Work conserving: “don’t work only if no work to do” 69 NUS. SOC. CS 5248 Ooi Wei Tsang

What if. . n a class have no pending request? n put in no_work

What if. . n a class have no pending request? n put in no_work group n a class violates one of the constraints? n put in too_much_work group 70 NUS. SOC. CS 5248 Ooi Wei Tsang

Improving Utilization n When disk is idle, distribute service time among classes in too_much_work

Improving Utilization n When disk is idle, distribute service time among classes in too_much_work group n Pick a request from this class and put into scheduled queue 71 NUS. SOC. CS 5248 Ooi Wei Tsang

Free Time Utilization 72 NUS. SOC. CS 5248 Ooi Wei Tsang

Free Time Utilization 72 NUS. SOC. CS 5248 Ooi Wei Tsang

Class Specific Scheduler n How to pick (r, prev, next)? n Must not affect

Class Specific Scheduler n How to pick (r, prev, next)? n Must not affect tasks in queue n Idea: Compute slack time 73 NUS. SOC. CS 5248 Ooi Wei Tsang

Slack Time n li Latest time must begin servicing request i n ei Earliest

Slack Time n li Latest time must begin servicing request i n ei Earliest time may begin servicing request i n di Deadline for request i n si Slack time for i = li – ei n ti Time to service request i 74 NUS. SOC. CS 5248 Ooi Wei Tsang

Slack Time i i 75 NUS. SOC. CS 5248 Ooi Wei Tsang

Slack Time i i 75 NUS. SOC. CS 5248 Ooi Wei Tsang

Class 1: Interactive Best Effort next prev 76 NUS. SOC. CS 5248 Ooi Wei

Class 1: Interactive Best Effort next prev 76 NUS. SOC. CS 5248 Ooi Wei Tsang

Class 2: High Throughput Best Effort next prev 77 NUS. SOC. CS 5248 Ooi

Class 2: High Throughput Best Effort next prev 77 NUS. SOC. CS 5248 Ooi Wei Tsang

Class 3: Real Time Application next prev 78 NUS. SOC. CS 5248 Ooi Wei

Class 3: Real Time Application next prev 78 NUS. SOC. CS 5248 Ooi Wei Tsang

Evaluations response time # video 79 NUS. SOC. CS 5248 Ooi Wei Tsang

Evaluations response time # video 79 NUS. SOC. CS 5248 Ooi Wei Tsang

Evaluations %time 80 NUS. SOC. CS 5248 Ooi Wei Tsang

Evaluations %time 80 NUS. SOC. CS 5248 Ooi Wei Tsang

Cello Summary n OS disk scheduler n Support multiple classes n Protect classes from

Cello Summary n OS disk scheduler n Support multiple classes n Protect classes from each other n Work conserving n Use two-level scheduling 81 NUS. SOC. CS 5248 Ooi Wei Tsang