15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

x<br />

FIGURE 8.1 Movement of the disk I/O mechanism (seek). (From Dujmovic, J., Tomasevich, D., and Au-Yeung,<br />

M., Proc. CMG, 1999, Reno, NV. With permission.)<br />

seek time as a function of distance is T(<br />

x)<br />

= 2 x/a.<br />

If the maximum distance is xmax<br />

then the maximum<br />

2<br />

seek time is Tmax,<br />

the acceleration is a = 4xmax/<br />

Imax, and T(<br />

x)<br />

= Tmax<br />

x/x max.<br />

The distance x can be<br />

expressed as a physical length, or as a number of cylinders traveled (in this case the dimension of<br />

2<br />

acceleration is cylinder/s ). If the head moves from cylinder y to cylinder z,<br />

the traveled distance is x =<br />

| y − z|<br />

. The seek time is t(<br />

y,<br />

z)<br />

= Tmax<br />

y– z /xmax. The initial position y and the final position z can be<br />

anywhere in the interval [0, xmax].<br />

Assuming the uniform distribution of accesses to all cylinders the<br />

average seek time can be computed as follows:<br />

T seek<br />

T<br />

seek<br />

Consider the case where each cylinder has a fixed data capacity of b bytes. For a large contiguous file<br />

of size F the maximum distance the I/O mechanism can travel is xmax<br />

= F/<br />

b cylinders. Consequently, the<br />

average seek time for this file is Tseek<br />

= c F, where c = 16/(15 ab) = const. If we access data in the range<br />

0 ≤ F ≤ , the average seek time is the following function of the file size:<br />

F<br />

max<br />

Now the constant Tmax<br />

seek has a suitable interpretation of the maximum value of the average seek time<br />

for the file of size Fmax.<br />

When the I/O mechanism reaches a destination cylinder, it is necessary to wait the latency time until<br />

the desired sector reaches the read/write head. For a disk that rotates at Nrev<br />

revolutions per minute, the<br />

total revolution time is 60/ Nrev.<br />

The latency time is uniformly distributed between 0 and 60/ Nrev.<br />

Therefore,<br />

the average latency is half of the revolution time, i.e., Tlatency<br />

= 30/ Nrev.<br />

The disk data transfer time<br />

for one sector is Ttransfer<br />

= 60/ NrevNsector<br />

= 2Tlatency<br />

/ Nsector.<br />

Therefore, the mean time to access and transfer<br />

disk data from a file of size F is<br />

This is the simplest and idealized model of the mean disk access time. This model neglects phenomena<br />

such as differences between disk acceleration and deceleration, head settle time [15] (dominating short<br />

seeks), limited maximum velocity, nonuniformity of rotational latency for nonindependent requests,<br />

zoning, bus interface and contention [11], disk command overhead [4], as well as effects of caching and<br />

head movement optimization.<br />

A Fixed Maximum Velocity Model of Seek Time<br />

f<br />

Initial<br />

position<br />

Force<br />

reverse<br />

point<br />

Final<br />

position<br />

m m<br />

acceleration<br />

deceleration<br />

x 1 max xmax xmax xmax 8<br />

= -------- t( y, z)<br />

dydz<br />

2 ∫ ∫<br />

= --------- y– z dydz<br />

5/2 ∫ ∫<br />

= ---- Tmax =<br />

15<br />

x max<br />

0<br />

0<br />

T max<br />

x max<br />

Tseek( F)<br />

= Tmax seek F/F max, Tmax seek =<br />

Taccess = Tseek + Tlatency + Ttransfer 0<br />

A more realistic model of seek time can be derived if we assume that the maximum velocity of the I/O<br />

heads has a constant maximum value, as shown in Fig. 8.2. For small distances (exemplified by seek<br />

∗<br />

times t1,<br />

t2<br />

and all other seek times t ≤ T ) we assume that the heads first linearly accelerate for some<br />

∗<br />

time and then decelerate exactly the same amount of time. For larger distances (seek times t ≥ T ) the<br />

© 2002 by CRC Press LLC<br />

0<br />

-f<br />

16<br />

----<br />

15<br />

Fmax --------ab<br />

= Tmax seek F/F max + 30( 1 + 2/N sector)/Nrev<br />

≅<br />

Tmax seek F/F max + 30/N rev<br />

16<br />

----<br />

15<br />

xmax -------a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!