Step rate change (WD2010) Some Benchmarks ... **IT WORKS!**

Lenny Tropiano lenny at icus.islp.ny.us
Fri Aug 25 12:35:19 AEST 1989


In article <947 at icus.islp.ny.us> lenny at icus.islp.ny.us (Lenny Tropiano) writes:
|>In article <1182 at mitisft.Convergent.COM> dold at mitisft.Convergent.COM 
|>(Clarence Dold) writes:
|>...
|>|>Try setting the Step Rate in an iv.desc file to 14 instead of 0, 
|>|>then iv -u the disk.  No loss of data, just a 20% increase in seek 
|>|>performance on 28mSec disks.
|>|>
|>
... [ a bunch of stuff on how-to do it all left out, plus some erroneous
      hypotheses ] ...

|>Nada .. Oh well, for this long winded explanation, essentially you
|>can't improve the seek performance by 20% ... In fact it might just
|>be hindering it, but for 1 second difference that could mean just about
|>anything.   If someone has a better test for seeking, let me know, I'm
|>willing to try this again under different stress test values ... 
|>

As people pointed out, there were two things inherently *WRONG* with my
original hypothesis about the seek rates ...  Firstly I was testing
I/O throughput, and not seeking ... at least not major seeks, it was 
track to track seeking...  Secondly, something I thought about after
Peter Fales mentioned about changing the gdsw tables in memory to 14,
what I neglected to do was REBOOT!   That means if I changed the VHB,
the step-rate information would have remained the same in core memory...
At least this is what I assume ...  I doubt the kernel rereads the
VHB and rewrites the gdsw tables.

Well after thinking that through, I wrote a simple hack (for those
who want the disk exerciser, let me know) that just lseek()'d to the
first position of the hard disk (/dev/rfp000) [ie. 0] and the last
position of the hard disk ...  [ie. (maxcyls*maxheads+maxheads) * 
sectorsize * sectors-per-track ]
^^ should be = 512      ^^ should be = 17

I didn't really seek to the total end, I was about one sector off (512
bytes) and then I read 512 bytes in ...   I did this in a loop for
100 iterations, averaged all the iterations using the times(2) system
call.

Basically I called times(2) before the lseek() and read at the the 
beginning, and after the lseek() and read at the end ...  I subtracted
time_after and time_before and averaged them over the 100 iterations.
I ran this program 5 times (100 iterations each) in step-rate 0, and
step-rate 14.  Wow! There was a difference.

Here are the average results ...
WD2010 installed
Step-rate = 0

Iteration #1 avg time = 51
Iteration #2 avg time = 51
Iteration #3 avg time = 51
Iteration #4 avg time = 51
Iteration #5 avg time = 51

Step-rate = 14
Iteration #1 avg time = 37
Iteration #2 avg time = 36
Iteration #3 avg time = 37
Iteration #4 avg time = 37
Iteration #5 avg time = 37

So on the average it was 14 time units (60th of a second) faster ...
That's a 27.4% increase in seek performance, Thanks Clarence!

It seems faster overall anyhow ...  I wonder how it will work on
those 20 megger's out there with 67ms seek time ...

I'd like to hear those success stories too!

-Lenny
-- 
Lenny Tropiano             ICUS Software Systems         [w] +1 (516) 589-7930
lenny at icus.islp.ny.us      Telex; 154232428 ICUS         [h] +1 (516) 968-8576
{ames,pacbell,decuac,hombre,talcott,sbcs}!icus!lenny     attmail!icus!lenny
        ICUS Software Systems -- PO Box 1; Islip Terrace, NY  11752



More information about the Unix-pc.general mailing list