1 / 69

Multimedia Storage Issues

Multimedia Storage Issues. Media vs. Documents. large file size write once, read many deadlines!. OS Review: Disk . Disk. head, spindle, track, sector, cylinder seek time, rotational latency. Disk Scheduler. read/write command. disk sched. I/O Request. Disk Scheduling Algorithm.

kovit
Download Presentation

Multimedia Storage Issues

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multimedia Storage Issues

  2. Media vs. Documents • large file size • write once, read many • deadlines! NUS.SOC.CS5248 OOI WEI TSANG

  3. OS Review: Disk

  4. Disk head, spindle, track, sector, cylinder seek time, rotational latency NUS.SOC.CS5248 OOI WEI TSANG

  5. Disk Scheduler read/write command disk sched I/O Request NUS.SOC.CS5248 OOI WEI TSANG

  6. Disk Scheduling Algorithm

  7. Best Effort Scheduler • FCFS: First come first serve • SSTF: Shortest seek time first • SCAN: Serve all requests in one direction, then in the other direction • C-SCAN: Serve all requests in one direction only, then “jump” back to the other end and repeat. NUS.SOC.CS5248 OOI WEI TSANG

  8. Other Schemes • EDF: Earliest deadline first • EDF-SCAN: Use SCAN to schedule request with same deadline. • FD-SCAN: SCAN towards direction with earliest feasible deadline • SSEDO: Rank request by deadline and use formula (seektime*rank) • SSEDV: Use formula (lifetime* + seektime*(1- ) NUS.SOC.CS5248 OOI WEI TSANG

  9. Data Placement

  10. Contiguous NUS.SOC.CS5248 OOI WEI TSANG

  11. Fragmented NUS.SOC.CS5248 OOI WEI TSANG

  12. Stripping (RAID-0) NUS.SOC.CS5248 OOI WEI TSANG

  13. Mirroring (RAID-1) NUS.SOC.CS5248 OOI WEI TSANG

  14. Parity (RAID-5) NUS.SOC.CS5248 OOI WEI TSANG

  15. Parity NUS.SOC.CS5248 OOI WEI TSANG

  16. Summary of Concerns • High Throughput • Fault Tolerant • Load balancing NUS.SOC.CS5248 OOI WEI TSANG

  17. Design Parameters • unit of striping (block size) • degree of striping (num of disks) NUS.SOC.CS5248 OOI WEI TSANG

  18. Stripe Unit NUS.SOC.CS5248 OOI WEI TSANG

  19. Stripe Unit NUS.SOC.CS5248 OOI WEI TSANG

  20. Effects of Block Size service time Block Size NUS.SOC.CS5248 OOI WEI TSANG

  21. Problem • Find block size such that the service time for the most heavily loaded disk is minimize NUS.SOC.CS5248 OOI WEI TSANG

  22. Analysis Model: A Plan • service time of the busiest disk as a function of block size • expected num of blocks accessed on the busiest disk • expected num of blocks accessed on any disk NUS.SOC.CS5248 OOI WEI TSANG

  23. Assumptions • Non-redundant array • Analyze read operation only NUS.SOC.CS5248 OOI WEI TSANG

  24. Variables Declaration • Nd: Number of Disks • Nc: Number of Clients • B : Block size • Nb(i,j): Number of blocks client i access from disk j • Nb(i,*): Total number of blocks client i access NUS.SOC.CS5248 OOI WEI TSANG

  25. Analysis Suppose i request m blocks NUS.SOC.CS5248 OOI WEI TSANG

  26. Reading 1 block Prob(Nb(i,j)=1) NUS.SOC.CS5248 OOI WEI TSANG

  27. Reading k block Prob(Nb(i,j)=k) NUS.SOC.CS5248 OOI WEI TSANG

  28. Total Num of Blocks from Disk j • Nb(*,j) = NUS.SOC.CS5248 OOI WEI TSANG

  29. Busiest Disk • Nmax = NUS.SOC.CS5248 OOI WEI TSANG

  30. Access Time T = Nmax(ts + tr + Btt) Depends on: • block size B • disk characteristic ts,tr,tt • server design Nd • workload characteristic Nc, N(i,j)_ NUS.SOC.CS5248 OOI WEI TSANG

  31. Model Verification Service Time Block Size NUS.SOC.CS5248 OOI WEI TSANG

  32. Imbalance and Overhead • I = 1 – Tavg/Tmax • O = 1 – NmaxBTt/Tmax NUS.SOC.CS5248 OOI WEI TSANG

  33. Effects of Block Size Imbalance Overhead ~optimum Block Size NUS.SOC.CS5248 OOI WEI TSANG

  34. Effects of Clients Nc incr, I decr, opt B incr Imbalance Overhead Block Size NUS.SOC.CS5248 OOI WEI TSANG

  35. Effects of Clients Block Size Nc NUS.SOC.CS5248 OOI WEI TSANG

  36. Effects of Num of Disks Nd incr, N(i,j) decr, I incr, opt B decr Block Size Nd NUS.SOC.CS5248 OOI WEI TSANG

  37. Choosing Block Size • Given Nc, assume rest is fixed • find B that minimize T • if T < duration of a round incr Nc and try again NUS.SOC.CS5248 OOI WEI TSANG

  38. There is more.. • redundant array • finding optimum degree of striping NUS.SOC.CS5248 OOI WEI TSANG

  39. Cello: Disk Scheduler

  40. Problem • How to co-exist with other applications? NUS.SOC.CS5248 OOI WEI TSANG

  41. Classes of Applications • Real-time • hard/soft • periodic/aperiodic • Best-effort • interactive • troughput-intensive NUS.SOC.CS5248 OOI WEI TSANG

  42. Attempt 1 • Priority-based scheduler • Always schedule real-time tasks ahead of best-effort tasks NUS.SOC.CS5248 OOI WEI TSANG

  43. Attempt 2 • Partition time slots into real-time and best-effort NUS.SOC.CS5248 OOI WEI TSANG

  44. Attempt 3 • Assign weight to application class, based on their priority • Service based on weight NUS.SOC.CS5248 OOI WEI TSANG

  45. Attempt 3: Cello • Two-level scheduling NUS.SOC.CS5248 OOI WEI TSANG

  46. Class Independent Scheduler NUS.SOC.CS5248 OOI WEI TSANG

  47. Allocating Disk Bandwidth • Allocate in proportion to time • Allocate in proportion to bytes NUS.SOC.CS5248 OOI WEI TSANG

  48. Notations • P : Interval of a round • I : Total idle time so far in this round • Ui : Time allocated so far to class i • wi : Weight for class i • W : Total weight for all class NUS.SOC.CS5248 OOI WEI TSANG

  49. Proportionate Time-Allocation Ui < P-I NUS.SOC.CS5248 OOI WEI TSANG

  50. Proportional Time Allocation Ui < (P-I)wi/W NUS.SOC.CS5248 OOI WEI TSANG

More Related