Re: duplexed I/O Bill Frantz (frantz@netcom.com)
Fri, 18 Sep 1998 23:17:37 -0800

I think the possible configurations of disk drives, and the distributed
"intelligence" between drives, caches, and drivers, have gotten far beyond
what we can model in the CPU. As such, I would look for some kind of economic model for requests. That is, reward the drives (with more requests) which give the best service.

Not being sure what standard driver software can do makes suggestions a bit difficult. :-) However, let me try a simple model of a driver:

Since we want to maintain flexibility, we never let a driver have more than one request at a time. We maintain an external (to the driver) queue for each drive of requests beyond the two we let the driver see. When a request ends on a drive, we take the "best" request from the queue and pass it to the driver. (We must make sure that a request on our queue can not be frozen out forever.) Some of shap's ideas may be the way to select the
"best" next request.

Whenever we make one of these requests, we allocate a new page frame for the request. We may read the same logical page into two frames at the same time, but that gets chalked up to market inefficiency. The first one reported complete, gets used, and the others have their page frames returned to the free pool when they complete.

With this model, the drives which give the fastest service tend to get the most requests.

I sure wish we could get the drivers to bid for a completion time and have a real market competition.


Bill Frantz       | If hate must be my prison  | Periwinkle -- Consulting
(408)356-8506     | lock, then love must be    | 16345 Englewood Ave.
frantz@netcom.com | the key.     - Phil Ochs   | Los Gatos, CA 95032, USA