Disk access time
Download
Report
Transcript Disk access time
Department of Computer and IT Engineering
University of Kurdistan
Operating systems
Disk Management
By: Dr. Alireza Abdollahpouri
Hard Disk Drives
Read/Write Head
Side View
Western Digital Drive
http://www.storagereview.com/guide/
Mechanics of Disks
Platters
circular platters covered with
magnetic material to provide
nonvolatile storage of bits
Spindle
of which the platters
rotate around
Tracks
concentric circles on a
single platter
Disk heads
Sectors
segment of the track circle –
usually each contains 512 bytes –
separated by non-magnetic gaps.
The gaps are often used to identify
beginning of a sector
read or alter the
magnetism (bits) passing
under it. The heads are
attached to an arm
enabling it to move
across the platter
surface
Cylinders
corresponding tracks on the different
platters are said to form a cylinder
Hard Disk Drives
Disk Access Time
Disk platter
Disk access time =
Disk head
Seek time
+ Rotational delay
Disk arm
+ Transfer time
+ Other delays
Measure Disk Performance
• Transfer rate is rate at which data flows
between drive and computer
• Positioning time (random-access time) is time
– The time to move disk arm to desired cylinder (seek
time)
– and the time for desired sector to rotate under the
disk head (rotational latency)
Magnetic Disks
Platters range from .85” to 14”
(historically)
Commonly 3.5”, 2.5”, and 1.8”
Range from 30GB to 3TB per drive
Performance
Transfer Rate – theoretical – 6 Gb/sec
Effective Transfer Rate – real –
1Gb/sec
Seek time from 3ms to 12ms – 9ms
common for desktop drives
Average seek time measured or
calculated based on 1/3 of tracks
Latency based on spindle speed
1/(RPM * 60)
Average latency = ½ latency
(From Wikipedia)
Magnetic Disk Performance
Access Latency = Average access time = average seek time +
average latency
For fastest disk 3ms + 2ms = 5ms
For slow disk 9ms + 5.56ms = 14.56ms
Average I/O time = average access time + (amount to transfer /
transfer rate) + controller overhead
For example to transfer a 4KB block on a 7200 RPM disk with a 5ms
average seek time, 1Gb/sec transfer rate with a .1ms controller
overhead =
5ms + 4.17ms + 4KB / 1Gb/sec + 0.1ms =
9.27ms + 4 / 131072 sec =
9.27ms + .12ms = 9.39ms
Disk Structure
Disk drives are addressed as large 1-dimensional arrays of logical
blocks, where the logical block is the smallest unit of transfer
The 1-dimensional array of logical blocks is mapped into the sectors
of the disk sequentially
Sector 0 is the first sector of the first track on the outermost
cylinder
Mapping proceeds in order through that track, then the rest of
the tracks in that cylinder, and then through the rest of the
cylinders from outermost to innermost
Logical to physical address should be easy
Except for bad sectors
Non-constant # of sectors per track via constant angular
velocity
Disk Scheduling
Disk can do only one request at a time; What
order do you choose to do queued requests?
3
2
10
7
5
2
User
Requests
Head
cylinder # of requested block
Seek time seek distance
Several algorithms exist to schedule the servicing
of disk I/O requests
Disk Scheduling (Cont.)
There are many sources of disk I/O request
OS
System processes
Users processes
I/O request includes input or output mode, disk address, memory address, number of
sectors to transfer
OS maintains queue of requests, per disk or device
Idle disk can immediately work on I/O request, busy disk means work must queue
Optimization algorithms only make sense when a queue exists
Note that drive controllers have small buffers and can manage a queue of I/O requests
(of varying “depth”)
Several algorithms exist to schedule the servicing of disk I/O requests
The analysis is true for one or many platters
We illustrate scheduling algorithms with a request queue (0-199)
98, 183, 37, 122, 14, 124, 65, 67
Head pointer 53
Disk Scheduling: FCFS
Fair among requesters, but order of arrival
may be to random spots on the disk Very
long seeks
Example
در اين روش سيلندرهاي متقاضي به ترتيب
درخواستشان سرويسدهي ميشوند.
بعبارتي هر درخواست در صف اجرا قرار
ميگيرد .سادهترين روش است اما كاراي ي
چنداني ندارد.
Disk Scheduling: SSTF
در اين روش ،هر لحظه سيلندر متقاضي كه به محل هد در ان لحظه نزديك تر باشد مورد
پردازش قرار ميگيرد.
Disk Scheduling: SCAN
•
The disk arm starts at one end of the disk, and moves toward the other end,
servicing requests until it gets to the other end of the disk, where the head
movement is reversed and servicing continues. Sometimes called the
elevator algorithm
Disk Scheduling: C-SCAN
The head moves from one end of the disk to the other, servicing requests
as it goes. When it reaches the other end, however, it immediately returns
to the beginning of the disk, without servicing any requests on the return
trip
Treats the cylinders as a circular list that wraps around from the last
cylinder to the first one
C-LOOK
Arm only goes as far as the last request in each direction, then
reverses direction immediately, without first going all the way to the
end of the disk
Total number of cylinders?
مثال
فرض کنید یک دیسک 200شیار داشته و صف درخواست دیسک
درخواستهای Randomرا در خود دارد .شیار )(trackهای در
خواست شده به ترتیب دریافت عبارتند از :
55, 58, 39,18,90,160,38,184در هر یک از حاالت زیر:
اگر زمان حرکت از شیار به شیار دیگر 4میلی ثانیه طول بکشد ،و
بازوی دیسک در ابتدا در روی شیار 100قرار داشته باشد :
ترتیب سرویس دهی به در خواستها و طول متوسط Seekچقدر است ؟
کل زمان جستجو چقدر خواهد بود ؟
الف ) از روش FIFOاستفاده کنید .
ب ) از الگوریتم SSTFاستفاده شود .
ج ) از الگوریتم آسانسور استفاده شود.
د ) از الگوریتم C-SCANاستفاده شود .
فرض کنید در روش scanو c-scanجهت اولیه حرکت به
سمت افزایش شماره شیار می باشد.
FIFO
order of service
request in queue
0
100
0
1
55
45
2
58
3
3
39
19
4
18
21
5
90
72
6
160
70
7
150
10
8
38
112
9
184
146
Average Seek Length 55.3
های پیموده شدهtrack تعداد
های پیمودهtrack = تعداد498
FIFO
FIFO
ترتیب serviceدهی
8
9
7
5
6
3
4
1
2
0
0
18
38
20
39
40
90
80
100
100
120
150
184
شماره track
58
55
60
140
160
160
180
200
= زمان جستجو کل
498 * 4 (ms) =1992 msec
= 498تعداد trackهای پیموده
SSTF
تعدادtrack
های پیموده شده
order of
service
request
serviced
0
100
1
90
10
2
58
32
3
55
3
4
39
16
5
38
1
6
18
20
7
150
132
8
160
10
9
184
24
Average
Seek Length
27.5
های پیمودهtrack = تعداد248
= زمان جستجو کل
248 * 4 (ms) = 299 msec
SSTF
تعدادtrack
های پیموده شده
order of
service
request
serviced
0
100
1
90
10
0
2
58
32
20
3
55
3
40
4
39
16
60
5
38
1
80
6
18
20
7
150
132
8
160
10
140
9
184
24
160
SSTF
دهیservice ترتیب
شماره شیار
0
1
2
3
4
5
6
7
8
9
18
39
58
38
55
90
100
100
120
150
180
200
160
184
SCAN or ELEVATOR ))آسانسور
تعدادtrack های پیموده شده
request in queue
order of service
100
0
55
1
58
2
39
3
18
4
90
5
160
6
150
7
38
8
160
184
90
58
55
39
38
184
9
18
های پیمودهtrack = تعداد250
= زمان جستجو کل
request serviced
100
150
Average
Seek Length
250 * 4 (ms) = 1000 msec
50
10
24
94
32
3
16
1
20
27.8
SCAN or ELEVATOR ))آسانسور
order of
service
SCAN
request
serviced
دهیservice ترتیب
0
100
1
150
0
2
160
20
3
184
40
0
1
2
3
4
5
5
58
6
55
7
39
140
8
38
160
9
18
شماره شیار
90
58
90
100
120
150
180
200
8
39
80
100
7
9
18
60
4
6
160
184
55
38
C-SCAN
تعدادtrack
های پیموده شده
order of
service
request
serviced
0
100
1
150
50
2
160
10
3
184
24
4
18
166
5
38
20
6
39
1
7
55
16
8
58
3
9
90
32
Average Seek Length
های پیمودهtrack = تعداد322
= زمان جستجو کل
322 * 4 (ms) = 1288 msec
35.8
C-SCAN
order of
service
request
serviced
0
100
تعدادtrack
های پیموده شده
C_SCAN
دهیs e rvice ترتیب
0
1
150
50
0
2
160
10
20
3
184
1
2
3
4
38
18
7
8
9
39
55
60
4
6
18
40
24
5
58
166
5
38
20
شماره شیار
80
90
100
6
39
1
7
55
16
140
8
58
3
160
9
90
32
180
100
120
150
200
160
184
SSTF
FIFO
ترتیب se rv iceده ی
9
8
7
5
6
3
4
1
2
ترتیب serviceدهی
0
0
18
8
9
6
7
4
5
2
3
0
1
20
38
39
0
18
40
55
58
38
60
20
39
40
90
100
100
120
شماره شیار
80
80
90
100
100
120
140
140
150
150
160
160
184
160
160
180
184
180
شماره track
58
55
60
200
200
C_SCAN
SCAN
ترتیب s e r viceدهی
9
8
7
6
5
4
3
2
1
0
ترتیب serviceدهی
0
9
18
39
58
8
6
7
4
5
3
2
1
20
38
18
40
55
20
38
60
39
40
55
شماره شیار
90
100
58
60
80
90
100
120
120
140
140
150
160
184
100
150
160
160
180
200
184
160
180
200
شماره شیار
80
100
0
0
Questions
28