Presentation is loading. Please wait.

Presentation is loading. Please wait.

Disks and Disk Scheduling Steve Muckle Monday, March 31st 2003 15-412 Spring 2003.

Similar presentations


Presentation on theme: "Disks and Disk Scheduling Steve Muckle Monday, March 31st 2003 15-412 Spring 2003."— Presentation transcript:

1 Disks and Disk Scheduling Steve Muckle Monday, March 31st 2003 15-412 Spring 2003

2 Carnegie Mellon University2 Overview Project Discussion Anatomy of a Hard Drive Common Disk Scheduling Algorithms Freeblock Scheduling

3 Carnegie Mellon University3 Project Discussion (3) Project 3 is over! War stories? Sage advice? Sign ups for interviews will begin soon Watch bboard

4 Carnegie Mellon University4 Project Discussion (4) File System project out today Lots of code Planning will save you pain and suffering Read it tonight (this afternoon even!)

5 Carnegie Mellon University5 Anatomy of a Hard Drive On the outside, a hard drive looks like this Taken from “How Hard Disks Work” http://computer.howstuffworks.com/hard-disk2.htm

6 Carnegie Mellon University6 Anatomy of a Hard Drive If we take the cover off, we see that there actually is a “hard disk” inside Taken from “How Hard Disks Work” http://computer.howstuffworks.com/hard-disk2.htm

7 Carnegie Mellon University7 Anatomy of a Hard Drive A hard drive usually contains multiple disks, called platters These spin at thousands of RPM (5400, 7200, etc) Taken from “How Hard Disks Work” http://computer.howstuffworks.com/hard-disk2.htm

8 Carnegie Mellon University8 Anatomy of a Hard Drive Information is written to and read from the platters by the read/write heads on the disk arm Taken from “How Hard Disks Work” http://computer.howstuffworks.com/hard-disk2.htm

9 Carnegie Mellon University9 Anatomy of a Hard Drive Both sides of each platter store information Each side of a platter is called a surface Each surface has its own read/write head Taken from “How Hard Disks Work” http://computer.howstuffworks.com/hard-disk2.htm

10 Carnegie Mellon University10 Anatomy of a Hard Drive How are the surfaces organized? a surface

11 Carnegie Mellon University11 Anatomy of a Hard Drive Each surface is divided by concentric circles, creating tracks tracks

12 Carnegie Mellon University12 Anatomy of a Hard Drive The matching tracks on all surfaces are collectively called a cylinder

13 Carnegie Mellon University13 Anatomy of a Hard Drive These tracks are further divided into sectors

14 Carnegie Mellon University14 Anatomy of a Hard Drive A sector is the smallest unit of data transfer to or from the disk Most modern hard drives have 512 byte sectors a sector

15 Carnegie Mellon University15 Anatomy of a Hard Drive Does this mean that sectors on the outside of a surface are larger than those on the inside? Modern hard drives fix this with zoned-bit recording

16 Carnegie Mellon University16 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head desired sector disk rotates counter-clockwise

17 Carnegie Mellon University17 Anatomy of a Hard Drive We need to do two things to transfer a sector 1. Move the read/write head to the appropriate track (seek) 2. Wait until the desired sector spins around

18 Carnegie Mellon University18 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

19 Carnegie Mellon University19 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

20 Carnegie Mellon University20 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

21 Carnegie Mellon University21 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

22 Carnegie Mellon University22 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

23 Carnegie Mellon University23 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

24 Carnegie Mellon University24 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

25 Carnegie Mellon University25 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

26 Carnegie Mellon University26 Anatomy of a Hard Drive Why don’t we read in a sector from the disk read/write head

27 Carnegie Mellon University27 Anatomy of a Hard Drive On average, we will have to move the read/write head over half the tracks The time to do this is the average seek time, and is ~10ms We will also have to wait half a rotation The time to do this is rotational latency, and on a 5400 rpm drive is ~5.5ms

28 Carnegie Mellon University28 Anatomy of a Hard Drive There are two other things that determine overall disk access time - settle time, the time to stabilize the read/write head after a seek - command overhead, the time for the disk to process a command and start doing something They are both fairly minor compared to seek time and rotational latency

29 Carnegie Mellon University29 Anatomy of a Hard Drive Total drive random access time is on the order of 15 to 20 milliseconds Oh man, disks are slow What can we, as operating system programmers, do about this?

30 Carnegie Mellon University30 Disk Scheduling Algorithms The goal of a disk scheduling algorithm is to be nice to the disk We can help the disk by giving it requests that are located close to each other on the disk This minimizes seek time, and possibly rotational latency There exist a variety of ways to do this

31 Carnegie Mellon University31 First Come First Served (FCFS) Requests are sent to the disk as they are generated by the OS Trivial to implement Fair – no request will be starved because of its location on the disk Provides an unacceptably high mean response time …except for project four!

32 Carnegie Mellon University32 Shortest Seek Time First (SSTF) Always send the request with the shortest seek time from current head position Generates very fast response time Intolerable response time variance, however Why?

33 Carnegie Mellon University33 SCAN Send requests in ascending cylinders When last cylinder is reached, reverse the scan Mean response time is worse than SSTF, but better than FCFS Better response time variance than SSTF Unfair – why?

34 Carnegie Mellon University34 LOOK Just like SCAN – sweep back and forth through cylinders If there are no more requests in our current direction we reverse course Improves mean response time, variance Still unfair though

35 Carnegie Mellon University35 CSCAN Send requests in ascending (or descending) cylinders When the last cylinder is reached, seek all the way back to the beginning Long seek is amortized across all accesses Variance is improved Fair Still missing something though…

36 Carnegie Mellon University36 C-LOOK CSCAN + LOOK Only scan in one direction, as in CSCAN If there are no more requests in current direction reverse course Very popular

37 Carnegie Mellon University37 Shortest Positioning Time First (SPTF) Similar to Shortest Seek Time First Always select request with shortest total positioning time (rotational latency + seek time) More accurate greedy algorithm than SSTF Same starvation problems

38 Carnegie Mellon University38 Weighted Shortest Positioning Time First (WSPTF) SPTF, but we age requests to prevent starvation Aging policy is very flexible Excellent performance Why don’t we use this?

39 Carnegie Mellon University39 Freeblock Scheduling Research going on right here at CMU Something I am involved in this semester Who would like some free bandwidth while their disk is busy?

40 Carnegie Mellon University40 Freeblock Scheduling We have settled on a disk scheduling routine (probably C-LOOK) We have a queue of disk requests Let’s take a closer look at a pair of possible disk requests

41 Carnegie Mellon University41 Freeblock Scheduling There are two requests at the disk read/write head first request second request

42 Carnegie Mellon University42 Freeblock Scheduling There are two requests at the disk read/write head

43 Carnegie Mellon University43 Freeblock Scheduling There are two requests at the disk read/write head

44 Carnegie Mellon University44 Freeblock Scheduling There are two requests at the disk read/write head

45 Carnegie Mellon University45 Freeblock Scheduling There are two requests at the disk read/write head

46 Carnegie Mellon University46 Freeblock Scheduling There are two requests at the disk read/write head

47 Carnegie Mellon University47 Freeblock Scheduling There are two requests at the disk read/write head

48 Carnegie Mellon University48 Freeblock Scheduling There are two requests at the disk read/write head

49 Carnegie Mellon University49 Freeblock Scheduling There are two requests at the disk read/write head

50 Carnegie Mellon University50 Freeblock Scheduling There are two requests at the disk read/write head

51 Carnegie Mellon University51 Freeblock Scheduling There are two requests at the disk read/write head

52 Carnegie Mellon University52 Freeblock Scheduling There are two requests at the disk read/write head

53 Carnegie Mellon University53 Freeblock Scheduling There are two requests at the disk read/write head

54 Carnegie Mellon University54 Freeblock Scheduling There are two requests at the disk read/write head

55 Carnegie Mellon University55 Freeblock Scheduling As in SPTF scheduling, we must know the EXACT state of the disk We need to be able to predict how much rotational latency we have to work with Enemies of freeblock scheduling: disk prefetching internal disk cache hits unexpected disk activity (recalibration, etc) disk-reordered requests

56 Carnegie Mellon University56 Freeblock Scheduling Results include 3.1MB/sec of free bandwidth This free bandwidth is best suited to applications with loose time constraints Some sample applications: - backup applications - disk array scrubbing - cache cleaning (perhaps…)

57 Carnegie Mellon University57 Read the project 4 handout!


Download ppt "Disks and Disk Scheduling Steve Muckle Monday, March 31st 2003 15-412 Spring 2003."

Similar presentations


Ads by Google