Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 7 Disc Scheduling.

Similar presentations


Presentation on theme: "Lecture 7 Disc Scheduling."— Presentation transcript:

1 Lecture 7 Disc Scheduling

2 Lecture Highlights Introduction to Disc Management
Need for disc scheduling Disc Structure Details of disc speed Disc Scheduling Algorithms Parameters Involved Parameter-Performance Relationships Some Sample Results

3 Introduction to Disc Management
Disk systems are the major secondary-storage I/O device on most computers. One of the functions of the memory manager is to manage swapping between main memory and disk when main memory is not big enough to hold all the processes. The disk, i.e. the secondary storage device, at the same time needs effective management in terms of disc structure and capacity, the disc writing mechanism and the scheduling algorithm choice.

4 Introduction to Disc Management Need for disc scheduling
Requests for disk I/O are generated both by the file system and by virtual-memory systems. Since most jobs depend heavily on the disc for program loading and input and output files, it is important that disk service be as fast as possible. The operating system can improve on the average disk service time by scheduling the requests for disc access.

5 Introduction to Disc Management Disc Structure
A disc can be viewed as a set of platters on top of each other. Each platter has two surfaces. Each surface is divided into tracks which are concentric. Each track is further divided into a number of sectors. A sector is the smallest unit of information that can be read from or written to the disc. In other words, a sector is the smallest addressable portion of the disc. Hard Disc Structure: tracks platters sectors spindle read-write heads

6 Introduction to Disc Management Disc Structure
To access a sector – surface, track and sector need to be specified i.e. information on the disc is referenced by a multipart address, which includes the drive number, the surface, the track, and the sector. All the tracks on one drive that can be accessed without the heads being moved (the equivalent tracks on the different surfaces) constitute a cylinder. Each track has equal capacity which means that inner tracks are more densely coated. This allows the read-write head to have the same velocity over each track.

7 Introduction to Disc Management Disc Structure
Sectors vary from 32 bytes to 4096 bytes; usually, they are 512 bytes in size. There are 20 to 1500 tracks per disc surface. I/O transfers between memory and disc are performed in units of one or more sectors, called blocks, to improve I/O efficiency.

8 Introduction to Disc Management Details of disc speed
The disk movement is composed of three parts. The three distinct physical operations, each with its own cost, are: seek time rotational delay/latency time transfer time. After looking into the three operations in some more details, specifications of three disc drives from past and present are included to give you a realistic idea of the concerned parameters and how the technology has been advancing.

9 Details of disc speed Seek Time
To access a block on the disk the system must first move the head to the appropriate track or cylinder. This head movement is called a seek, and the time to complete it is seek time. The amount of time spent seeking during a disc access depends on how far the arm has to move (more explanation follows on the next slide).

10 Details of disc speed Seek Time
If we are accessing a file sequentially and the file is packed into several consecutive cylinders, seeking needs to be done only after all the tracks on a cylinder have been processed, and then the read/write head needs to move the width of only one track (minimum seek time/ track-to-track seek time). At the other extreme, if we are alternately accessing sectors from two files that are stored at opposite extremes on a disk, seeking is very expensive (could be full stroke/ max seek time). Consequently, if we were to write to an empty disc, it is more efficient to do the writing cylinder wise as it reduces seek time.

11 Details of disc speed Seek Time
Seeking is likely to be more costly in a multi-user environment, where several processes are contending for use of the disk at one time, than in a single-user environment, where disk usage is dedicated to one process. This is so because in a multi-user environment the different users might be seeking files at different locations. Since seeking can be very costly, system designers often go to great extremes to minimize seeking. In an application that merges three files, for example, it is not unusual to see the three input files stored on three different drives and the output file stored on a fourth drive, so no seeking need be done as I/O operations jump from file to file.

12 Details of disc speed Seek Time
Since it is usually impossible to know exactly how many tracks will be traversed in a seek, we usually try to determine the average seek time required for a particular operation. If the starting and ending positions for each access is random, it turns out that the average seek traverses one-third of the total number of cylinders that the read/write head ranges over. Most hard discs available today have average seek times of less than 10ms and high performance discs have average seek times as low as 7.5ms.

13 Details of disc speed Latency Time / Rotational Delay
Once the head is at the right track, it must wait until the desired block rotates under the read-write head. This delay is the latency time. Hard discs usually rotate at about 5000 rpm, which is one revolution per 12ms. On average, the rotational delay is half a revolution, or about 6ms. As in the case of seeking, these averages apply only when the read/write head moves from some random place on the disc surface to the target track. In many circumstances, rotational delay can be much less than the average.

14 Details of disc speed Transfer Time
Once the data we want is under the read/write head, it can be transferred . The transfer time is given by the formula: Transfer time = number of bytes transferred X rotation time number of bytes on a track If a disc is sectored, the transfer time for one sector depends on the number of sectors on a track. For example, if there are 63 sectors per track, the time required to transfer one sector would be 1/63 of a revolution.

15 Details of disc speed Sample specifications of discs (from past)
Characteristic Seagate Cheetah 9 Western Digital Caviar AC22100 Western Digital Caviar AC2850 Capacity 9000MB 2100MB 850MB Min. seek time 0.78ms 1ms Av. Seek time 8ms 12ms 10ms Max. seek time 19ms 22ms Spindle speed 10000rpm 5200rpm 4500rpm Av rotational delay 3ms 6ms 6.6ms Max. transfer rate 14506 bytes/ms 2796 bytes/ms 2419 bytes/ms Bytes per sector 512 Sectors per track 170 63 Tracks per cylinder 16 Cylinders 526 4092 1654

16 Details of disc speed Sample specifications of discs (at present)
Characteristic IBM Deskstar 120GP Western Digital Caviar 1200BB Capacity 120GB Min. seek time 1.2ms 2ms Av. Seek time 8.5ms 8.9ms(read seek) 10.9ms(write seek) Max. seek time 14.7ms 21ms Spindle speed 7200rpm Av rotational delay 4.17ms 4.2ms Buffer to disc transfer rate 592Mbits/s 602Mbits/s Bytes per sector 512 Sectors per track Not specified 63 Tracks per cylinder Cylinders 16,383

17 Introduction to Disc Management Summary of disc speed
The total time to service a disk request is the sum of the seek time, latency time, and transfer time. For most disks the seek time dominates, so reducing the mean seek time can improve the system performance substantially. Thus, the primary concern of disc scheduling algorithms is to minimize seek and latency times.

18 Disc Scheduling Algorithms First Come First Serve (FCFS)
FCFS is the simplest form of disc scheduling This algorithm is easy to program and is intrinsically fair. However, it may not provide the best service. The example on the next page illustrates FCFS scheduling.

19 Disc Scheduling Algorithms First Come First Serve (FCFS)
Suppose an ordered disc queue with requests involving tracks 98, 183, 37, 122, 14, 124, 65, 67 If the read-write head is initially at track 53, it will first move to 98, then to 183, 37, 122, 14, 124, 65 and finally to 67 (as depicted by the figure on the next slide). In this case, total head movement = 640 tracks.

20 Disc Scheduling Algorithms First Come First Serve (FCFS)
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53

21 Disc Scheduling Algorithms Shortest Seek Time First (SSTF)
The SSTF algorithm selects the request with the minimum seek time from the current head position. Since seek time is generally proportional to the track difference between the requests, this approach is implemented by moving the head to the closest track in the request queue. We’ll use the same sequence of requests as used in the FIFO example to illustrate SSTF scheduling.

22 Disc Scheduling Algorithms Shortest Seek Time First (SSTF)
Suppose an ordered disc queue with requests involving tracks 98, 183, 37, 122, 14, 124, 65, 67 If the read-write head is initially at track 53, it will first move to 65, then to 67, 37, 14, 98, 122, 124, and finally to 183 (as depicted by the figure on the next slide). In this case, total head movement = 236 tracks. SSTF results in a substantial improvement in average disk service but suffers from the potential of starvation (specially in case of dynamic requests).

23 Disc Scheduling Algorithms Shortest Seek Time First (SSTF)
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53

24 Disc Scheduling Algorithms SCAN Scheduling
The read-write head starts at one end of the disc, and moves toward the other end, servicing requests as it reaches each track, until it gets to the other end of the disc. At the other end, the direction of head movement is reversed and servicing continues. The head continuously scans the disc from end to end. SCAN algorithm is also called the elevator algorithm. Lets apply this algorithm to the same example.

25 Disc Scheduling Algorithms SCAN Scheduling
We’ll use the same request sequence 98, 183, 37, 122, 14, 124, 65, 67 If the read-write head is initially at track 53 moving towards 0, it will first service 37 and 14, change directions and service 65, 67, 98, 122, 124, and finally 183 (as depicted by the figure on the next slide). Moreover, if a request arrives in the queue just in front of the head, it will be serviced almost immediately. However, if a request arrives in the queue just behind the head it will have to wait for almost two full cycles.

26 Disc Scheduling Algorithms SCAN Scheduling
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53

27 Disc Scheduling Algorithms C-SCAN Scheduling
A variant of SCAN scheduling that is designed to provide a more uniform wait time is C-SCAN (circular SCAN) scheduling. As does SCAN scheduling C-SCAN scheduling moves the head from one end of the disc to the other, servicing requests as it goes. When it reaches the other end, however, it immediately returns to the beginning of the disc, without servicing any requests on the return trip. The C-SCAN algorithm essentially treats the disc as though it were circular, with the last track adjacent to the first one.

28 Disc Scheduling Algorithms C-SCAN Scheduling
Lets take a look at the processing of our request queue: 98, 183, 37, 122, 14, 124, 65, 67 in this case. The order of processing starting at 53 would be 65, 67, 98, 122, 124, 183, 14 and 37 (as depicted by the figure on the next slide).

29 Disc Scheduling Algorithms C-SCAN Scheduling
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53

30 Disc Scheduling Algorithms LOOK and C-LOOK Scheduling
Both SCAN and C-SCAN scheduling always move the head from one end of the disk to the other. In practice, neither algorithm is implemented in this way. More commonly, the head is only moved as far as the last request in each direction. As soon as there are no requests in the current direction, the head movement is reversed. These versions of SCAN and C-SCAN scheduling are called LOOK and C-LOOK scheduling (see figure on next slide).

31 Disc Scheduling Algorithms C-LOOK Scheduling
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53

32 Disc Scheduling Algorithms Selecting a disc scheduling algorithm
With any scheduling algorithm, performance depends heavily on the number and types of requests. If the queue seldom has more than one outstanding request, then all scheduling algorithms are effectively equivalent and FIFO would be a reasonable choice. The SCAN and C-SCAN algorithms are more appropriate for systems that place a heavy load on the disc.

33 Parameter Involved Disc access time (seek time, latency time and transfer time) Disc configuration Disc scheduling algorithm Disc writing mechanism (where to rewrite processes after processing them in RAM) Disc capacity

34 Parameter Involved Effect of Disc Access Time
The lower is the value of this parameter, the better is the system performance. As explained earlier in the lecture, seek time, latency time and transfer time together give the disc access time. Since seek is the most expensive of the three operations, lowering seek time is crucial to system efficiency.

35 Parameter Involved Effect of Disc Configuration
Disk configuration relates to the structural organization of the disc into tracks and sectors. Disc surfaces and tracks are determined by hardware specifications. However, some operating systems allow the user to choose the sector size that influences the number of sectors per track. It is an entire sector that is read or written when transfer occurs. The number of tracks equals the number of cylinders. Reading and writing on one cylinder reduces the seek time considerably. This property determines efficiency of many computing algorithms and determines inter-record and intra-record fragmentation in terms of database operations It also affects system performance in operations like disc defragmentation ( a rewriting mechanism).

36 Parameter Involved Effect of Disc Scheduling Algorithm
This is the parameter that primarily determines the possible minimization of seek and latency times. While FCFS algorithm is easy to program and is intrinsically fair, however, it may not provide the best service. SSTF scheduling substantially improves the average service time but suffers from the inherent problem of starvation of certain processes in case of continuing/dynamic flow of requests.

37 Parameter Involved Effect of Disc Scheduling Algorithm
The SCAN, C-SCAN, LOOK and C-LOOK belong to the more efficient genre of disk scheduling algorithms. These are however, complicated in their respective implementations and are more appropriate for systems that place a heavy load on the disk. With any scheduling algorithm, however, performance depends heavily on the number and types of requests. In particular, if the queue seldom has more than one outstanding request, then all scheduling algorithms are effectively equivalent. In this case, FCFS scheduling is also a reasonable algorithm.

38 Parameter Involved Effect of Disk Writing Mechanism
In terms of disk writing mechanism, there is a choice between writing back to where the process was initially read from and writing back to the closest cylinder to the disk head where there is an empty sector. While the former is straightforward to implement in no way does it attempt an optimization of seek time. The latter choice, however, results in increased overhead in terms of updating the location of the process every time it is written back to the disk.

39 Performance Measures Average Waiting Time Average Turnaround Time
CPU utilization CPU throughput Percentage seek time This is a new performance measure and it quantifies latency cost Calculated as a percentage of total time Percentage latency time

40 Disc Scheduling Implementation
As part of Assignment 5, you’ll implement a memory manager system including a Disc simulator within an operating system satisfying the given requirements. (For complete details refer to Assignment 5) We’ll see a brief explanation of the assignment in the following slides.

41 Disc Scheduling Implementation Details
Following are some specifications of the system you’ll implement: You’ll use the memory and job mix description in Assignment 3 Disc access time = Seek + Latency + (job size(in bytes) / 500000) ms (Transfer time) ( you’ll recall that in Assignment 3 we had used a constant value of 1ms instead of seek and latency times but here the same shall be a variable and you could study the effect of it on system performance) Disc has eight surfaces, 300 tracks/surface Use your own latency and seek time rates (should be a program variable) Make the Disc Scheduling mechanism a variable (SSTF/ FIFO / ..etc.)

42 Disc Scheduling Implementation Details
After completing the implementation and doing a few sample runs, start thinking of this problem from an algorithmic design point of view. The algorithm/hardware implementation of the memory manager/Disc manager involves many parameters, some of them include: Memory Size Disc access time (transfer time, latency and seek) Time slot for RR Compaction thresholds (percentage and hole size) RAM access time (Continued on the next slide)

43 Disc Scheduling Implementation Details
Some of the involved parameters (continued from the last slide): Fitting algorithm Disc Scheduling algorithm choice (FIFO, SSTF, SCAN, LOOK, etc.) Disc structure and capacity (surfaces, tracks, etc.) Disc writing mechanism (where to write back processed pages)

44 Disc Scheduling Implementation Details
The eventual goal would be to optimize several (or some) performance measures (criteria) such as: Average waiting time Average turnaround time Maximum waiting time Maximum turnaround time CPU utilization CPU throughput Memory fragmentation over time Disc fragmentation over time

45 Disc Scheduling Implementation Details
After you are done with the assignment, you have the opportunity to attempt the following two bonus questions: Bonus Question 1: Implement the above using a paging mechanism (1-level) (I.e. divide each jobs to a number of pages, given a fixed page size). Implement a page replacement algorithm (or more) to decide which pages to replace and to anticipate page usage throughout the simulation. You have to implement a randomizer to simulate page access patterns for different processes. Try different dynamic algorithms for deciding on the number of memory pages to be assigned to a process through the life of a process in the system (dynamically).

46 Disc Scheduling Implementation Details
Bonus Question 2: Study and analyze the behavior of the combined memory system and Disc (the performance measures) based on parameter changes as above and incorporate the following parameters: Page Size Page replacement and paging anticipation algorithm choice Disc writing algorithm choice (how and where to write jobs back to disc)

47 Disc Scheduling Sample Screenshots of Simulation
Setting variable parameters

48 Disc Scheduling Sample Screenshots of Simulation
Setting variable parameters (contd.)

49 Disc Scheduling Sample Screenshots of Simulation
Initial Hard Disc Configuration

50 Disc Scheduling Sample Screenshots of Simulation
Initial RAM Configuration

51 Disc Scheduling Sample Screenshots of Simulation
Memory manage with disc scheduler in execution

52 Disc Scheduling Sample Screenshots of Simulation
Final Performance Measures for the run

53 Disc Scheduling Sample tabulated data from simulation
Algorithm combinations vs. Performance Measures Fixed Parameters: RR Time Slot: 2ms Average Seek Time: 8ms Simulation Time: 3000ms Sector Size: 1KB Average Latency Time: 4ms Algorithm Combination Throughput % CPU Utilization Average Turnaround Time Average Waiting Time % Seek time % Latency Time FIFO, First Fit 99 7.94 1077 1073 55.08 21.48 FIFO, Best Fit 82 16.78 944 940 11.07 31.21 SSTF, First Fit 14.85 1068 1064 15.99 40.17 SSTF, Best Fit 18.62 943 939 1.32 34.64

54 Disc Scheduling Corresponding graph for table on previous slide

55 Disc Scheduling Sample tabulated data from simulation
Average Seek Time vs. Performance Measures (using FIFO-first fit algorithm combination) Fixed Parameters: RR Time Slot: 2ms Simulation Time: 3000ms Sector Size: 1KB Average Latency Time: 4ms Average Seek Time Throughput % CPU Utilization Average Turnaround Time Average Waiting Time % Seek time % Latency Time 4 99 10.96 1071 1068 38.00 29.64 6 9.21 1074 1070 47.90 24.91 8 7.94 1077 1073 55.08 21.48 10 6.98 1080 1076 60.51 18.88

56 Disc Scheduling Corresponding graph for table on previous slide

57 Disc Scheduling Sample tabulated data from simulation
Average Seek Time vs. Performance Measures (using SSTF-first fit algorithm combination) Fixed Parameters: RR Time Slot: 2ms Simulation Time: 3000ms Sector Size: 1KB Average Latency Time: 4ms Average Seek Time Throughput % CPU Utilization Average Turnaround Time Average Waiting Time % Seek time % Latency Time 4 99 16.14 1067 1064 8.69 43.66 6 15.47 1068 12.49 41.84 8 14.85 15.99 40.17 10 14.28 1069 1065 19.22 38.62

58 Disc Scheduling Corresponding graph for table on previous slide

59 Disc Scheduling Sample tabulated data from simulation
Average Latency Time vs. Performance Measures(for FIFO-first fit) Fixed Parameters: RR Time Slot: 2ms Simulation Time: 3000ms Sector Size: 1KB Average Seek Time: 8ms Average Latency Time Throughput % CPU Utilization Average Turnaround Time Average Waiting Time % Seek time % Latency Time 2 99 8.90 1075 1071 61.70 12.03 4 7.94 1077 1073 55.08 21.48 6 7.17 1079 49.73 29.10 8 6.54 1081 45.34 35.36

60 Disc Scheduling Corresponding graph for table on previous slide

61 Disc Scheduling Sample tabulated data from simulation
Average Latency Time vs. Performance Measures(for SSTF-first fit) Fixed Parameters: RR Time Slot: 2ms Simulation Time: 3000ms Sector Size: 1KB Average Seek Time: 8ms Average Latency Time Throughput % CPU Utilization Average Turnaround Time Average Waiting Time % Seek time % Latency Time 2 99 18.58 1066 1062 20.01 25.13 4 14.85 1068 1064 15.99 40.17 6 12.36 1070 13.31 50.18 8 10.59 1073 1069 11.41 57.31

62 Disc Scheduling Corresponding graph for table on previous slide

63 Disc Scheduling Conclusions from the sample simulation
The average seek time and average latency time tend to inversely effect the %CPU utilization with little effect on other measures. Sector size tends to show no visible effect due to non-involvement in any of the deriving factors of the system. Increasing the time slot markedly increases the CPU utilization and throughput, and decreases the average turnaround and average waiting time. All these are indicative of the FIFO behavior. Though performance measures tend to make increased time slot look like a very lucrative proposal, associated disadvantages of possible starvation of processes apply. As the context switch decreases with increasing time quantum, so does the percentage seek and latency times. All this collectively increases the % CPU utilization.

64 Lecture Summary Introduction to Disc Management
Need for disc scheduling Disc Structure Details of disc speed Disc Scheduling Algorithms Parameters Involved Parameter-Performance Relationships Some Sample Results

65 Preview of next lecture
The following lecture is also the last lecture. It will include concluding remarks with a summary of the main concepts studied and a parametric evaluation.


Download ppt "Lecture 7 Disc Scheduling."

Similar presentations


Ads by Google