Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!husc6!panda!genrad!decvax!wanginst!wang!ephraim From: ephraim@wang.UUCP (pri=8 Ephraim Vishniac x76659 ms1459) Newsgroups: net.micro.mac Subject: Re: Delphi Mac Digest V2 #16 (DiskBench) Message-ID: <801@wang.UUCP> Date: Mon, 5-May-86 10:59:17 EDT Article-I.D.: wang.801 Posted: Mon May 5 10:59:17 1986 Date-Received: Thu, 8-May-86 07:30:28 EDT References: <4863@topaz.RUTGERS.EDU> Organization: Wang Labs, Lowell MA Lines: 47 > Delphi Mac Digest Sunday, 27 Apr 1986 Volume 2 : Issue 16 > > From: BRECHER (7507) > Subject: Interleave/DiskBench > Date: 22-APR 10:19 MUGS Online > > Which Interleave is best? > ------------------------- > [results from SSDiskBench, which does single-sector operations] > These results clearly confirm Bass's "about 6:1" estimate for optimal > handling of consecutive single-sector requests. Not really. It actually confirms Bass's claim *assuming consecutive requests are issued with minimal processing between them*. The diskbench program issued consecutive reads/writes as quickly as possible. Do most applications that do single-sector reads/writes do that, or do they process each sector of data between operations? > I gathered some statistics on the distribution of disk I/O requests by > writing a hook into _Read and _Write which records the size of each > request and the the sector (logical block) distance from the end of > the previous request to the start of the current request. The missing item here is the *interval* between requests. Unfortunately, the Mac's clock is to coarse to be much help here. If the apparent time between two requests is 0 or 1 ticks, they *might* be "back-to-back." Or, enough time might have elapsed to defeat any attempted optimization of the disk interleave. If more than 1 tick has elapsed, you can be sure that the disk interleave doesn't matter anymore, since typical disk rotation times are on the order of 1 tick. > So, whether 1:1 or 6:1/7:1 is better from the standpoint of getting the user > home quicker depends on the user's job mix. To find out what kind of > activities favor interleaving or lack thereof, I wrote another _Read/_Write > hook. Here, if the request started in the same cylinder in which the previous > request ended, and if there were five or fewer intervening logical sectors, > the relative advantage of 6:1 vs. 1:1 interleave was calculated and > cumulated. And, the relative disadvantage of 6:1 in terms of sectors passing > under the heads during actual data transfer was calculated and cumulated. > The following is a general summary of the net winner by activity: > Again, all this assumes that single-sector requests are issued with no intervening processing. I suspect that the real picture is very different. Ephraim Vishniac decvax!wanginst!wang!ephraim