Lecture 7
This presentation is the property of its rightful owner.
Sponsored Links
1 / 65

Lecture 7 PowerPoint PPT Presentation


  • 176 Views
  • Uploaded on
  • Presentation posted in: General

Lecture 7. Disc Scheduling. 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. Introduction to Disc Management.

Download Presentation

Lecture 7

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Lecture 7

Lecture 7

Disc Scheduling


Lecture highlights

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


Introduction to disc management

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.


Introduction to disc management need for disc scheduling

Introduction to Disc ManagementNeed 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.


Introduction to disc management disc structure

Introduction to Disc ManagementDisc 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


Introduction to disc management disc structure1

Introduction to Disc ManagementDisc 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.


Introduction to disc management disc structure2

Introduction to Disc ManagementDisc 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.


Introduction to disc management details of disc speed

Introduction to Disc ManagementDetails 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.


Details of disc speed seek time

Details of disc speedSeek 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).


Details of disc speed seek time1

Details of disc speedSeek 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.


Details of disc speed seek time2

Details of disc speedSeek 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.


Details of disc speed seek time3

Details of disc speedSeek 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.


Details of disc speed latency time rotational delay

Details of disc speedLatency 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.


Details of disc speed transfer time

Details of disc speedTransfer 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 transferredX 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.


Details of disc speed sample specifications of discs from past

Details of disc speedSample specifications of discs (from past)


Details of disc speed sample specifications of discs at present

Details of disc speedSample specifications of discs (at present)


Introduction to disc management summary of disc speed

Introduction to Disc ManagementSummary 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.


Disc scheduling algorithms first come first serve fcfs

Disc Scheduling AlgorithmsFirst 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.


Disc scheduling algorithms first come first serve fcfs1

Disc Scheduling AlgorithmsFirst 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.


Disc scheduling algorithms first come first serve fcfs2

queue = 98, 183, 37, 122, 14, 124, 65, 67

head starts at 53

0 14 37 53 65 67 98 122 124 183 199

Disc Scheduling AlgorithmsFirst Come First Serve (FCFS)


Disc scheduling algorithms shortest seek time first sstf

Disc Scheduling AlgorithmsShortest 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.


Disc scheduling algorithms shortest seek time first sstf1

Disc Scheduling AlgorithmsShortest 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).


Disc scheduling algorithms shortest seek time first sstf2

queue = 98, 183, 37, 122, 14, 124, 65, 67

head starts at 53

0 14 37 53 65 67 98 122 124 183 199

Disc Scheduling AlgorithmsShortest Seek Time First (SSTF)


Disc scheduling algorithms scan scheduling

Disc Scheduling AlgorithmsSCAN 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.


Disc scheduling algorithms scan scheduling1

Disc Scheduling AlgorithmsSCAN 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.


Disc scheduling algorithms scan scheduling2

queue = 98, 183, 37, 122, 14, 124, 65, 67

head starts at 53

0 14 37 53 65 67 98 122 124 183 199

Disc Scheduling AlgorithmsSCAN Scheduling


Disc scheduling algorithms c scan scheduling

Disc Scheduling AlgorithmsC-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.


Disc scheduling algorithms c scan scheduling1

Disc Scheduling AlgorithmsC-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).


Disc scheduling algorithms c scan scheduling2

queue = 98, 183, 37, 122, 14, 124, 65, 67

head starts at 53

0 14 37 53 65 67 98 122 124 183 199

Disc Scheduling AlgorithmsC-SCAN Scheduling


Disc scheduling algorithms look and c look scheduling

Disc Scheduling AlgorithmsLOOK 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).


Disc scheduling algorithms c look scheduling

queue = 98, 183, 37, 122, 14, 124, 65, 67

head starts at 53

0 14 37 53 65 67 98 122 124 183 199

Disc Scheduling AlgorithmsC-LOOK Scheduling


Disc scheduling algorithms selecting a disc scheduling algorithm

Disc Scheduling AlgorithmsSelecting 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.


Parameter involved

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


Parameter involved effect of disc access time

Parameter InvolvedEffect 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.


Parameter involved effect of disc configuration

Parameter InvolvedEffect 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).


Parameter involved effect of disc scheduling algorithm

Parameter InvolvedEffect 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.


Parameter involved effect of disc scheduling algorithm1

Parameter InvolvedEffect 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.


Parameter involved effect of disk writing mechanism

Parameter InvolvedEffect 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.


Performance measures

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

    • This is a new performance measure and it quantifies latency cost

    • Calculated as a percentage of total time


Disc scheduling implementation

Disc SchedulingImplementation

  • 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.


Disc scheduling implementation details

Disc SchedulingImplementation 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.)


Disc scheduling implementation details1

Disc SchedulingImplementation 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)


Disc scheduling implementation details2

Disc SchedulingImplementation 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)


Disc scheduling implementation details3

Disc SchedulingImplementation 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


Disc scheduling implementation details4

Disc SchedulingImplementation 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).


Disc scheduling implementation details5

Disc SchedulingImplementation 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)


Disc scheduling sample screenshots of simulation

Disc SchedulingSample Screenshots of Simulation

Setting variable parameters


Disc scheduling sample screenshots of simulation1

Disc SchedulingSample Screenshots of Simulation

Setting variable parameters (contd.)


Disc scheduling sample screenshots of simulation2

Disc SchedulingSample Screenshots of Simulation

Initial Hard Disc Configuration


Disc scheduling sample screenshots of simulation3

Disc SchedulingSample Screenshots of Simulation

Initial RAM Configuration


Disc scheduling sample screenshots of simulation4

Disc SchedulingSample Screenshots of Simulation

Memory manage with disc scheduler in execution


Disc scheduling sample screenshots of simulation5

Disc SchedulingSample Screenshots of Simulation

Final Performance Measures for the run


Disc scheduling sample tabulated data from simulation

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

99

14.85

1068

1064

15.99

40.17

SSTF, Best Fit

82

18.62

943

939

1.32

34.64

Disc SchedulingSample tabulated data from simulation

Algorithm combinations vs. Performance Measures

Fixed Parameters:

RR Time Slot: 2msAverage Seek Time: 8msSimulation Time: 3000ms

Sector Size: 1KBAverage Latency Time: 4ms


Disc scheduling corresponding graph for table on previous slide

Disc SchedulingCorresponding graph for table on previous slide


Disc scheduling sample tabulated data from simulation1

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

99

9.21

1074

1070

47.90

24.91

8

99

7.94

1077

1073

55.08

21.48

10

99

6.98

1080

1076

60.51

18.88

Disc SchedulingSample tabulated data from simulation

Average Seek Time vs. Performance Measures (using FIFO-first fit algorithm combination)

Fixed Parameters:

RR Time Slot: 2msSimulation Time: 3000ms

Sector Size: 1KBAverage Latency Time: 4ms


Disc scheduling corresponding graph for table on previous slide1

Disc SchedulingCorresponding graph for table on previous slide


Disc scheduling sample tabulated data from simulation2

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

99

15.47

1068

1064

12.49

41.84

8

99

14.85

1068

1064

15.99

40.17

10

99

14.28

1069

1065

19.22

38.62

Disc SchedulingSample tabulated data from simulation

Average Seek Time vs. Performance Measures (using SSTF-first fit algorithm combination)

Fixed Parameters:

RR Time Slot: 2msSimulation Time: 3000ms

Sector Size: 1KBAverage Latency Time: 4ms


Disc scheduling corresponding graph for table on previous slide2

Disc SchedulingCorresponding graph for table on previous slide


Disc scheduling sample tabulated data from simulation3

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

99

7.94

1077

1073

55.08

21.48

6

99

7.17

1079

1075

49.73

29.10

8

99

6.54

1081

1077

45.34

35.36

Disc SchedulingSample tabulated data from simulation

Average Latency Time vs. Performance Measures(for FIFO-first fit)

Fixed Parameters:

RR Time Slot: 2msSimulation Time: 3000ms

Sector Size: 1KBAverage Seek Time: 8ms


Disc scheduling corresponding graph for table on previous slide3

Disc SchedulingCorresponding graph for table on previous slide


Disc scheduling sample tabulated data from simulation4

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

99

14.85

1068

1064

15.99

40.17

6

99

12.36

1070

1066

13.31

50.18

8

99

10.59

1073

1069

11.41

57.31

Disc SchedulingSample tabulated data from simulation

Average Latency Time vs. Performance Measures(for SSTF-first fit)

Fixed Parameters:

RR Time Slot: 2msSimulation Time: 3000ms

Sector Size: 1KBAverage Seek Time: 8ms


Disc scheduling corresponding graph for table on previous slide4

Disc SchedulingCorresponding graph for table on previous slide


Disc scheduling conclusions from the sample simulation

Disc SchedulingConclusions 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.


Lecture summary

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


Preview of next lecture

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.


  • Login