Path: utzoo!attcan!uunet!husc6!uwvax!umn-d-ub!umn-cs!bungia!mn-at1!alan From: alan@mn-at1.k.mn.org (Alan Klietz) Newsgroups: comp.unix.wizards Subject: Why UNIX I/O is so slow (was VAX vs SUN 4 performance) Keywords: readahead, striping, file mapping Message-ID: <441@mn-at1.k.mn.org> Date: 17 Jun 88 19:16:32 GMT References: <22957@bu-cs.BU.EDU> <14968@brl-adm.ARPA> <601@modular.UUCP> <23288@bu-cs.BU.EDU> <7980@alice.UUCP> <23326@bu-cs.BU.EDU> <6963@cit-vax.Caltech.Edu> Reply-To: alan@mn-at1.UUCP (0000-Alan Klietz) Organization: Minnesota Supercomputer Center Lines: 125 In article <6963@cit-vax.Caltech.Edu> mangler@cit-vax.Caltech.Edu (Don Speck) writes: , bzs@bu-cs.BU.EDU (Barry Shein) writes: [why UNIX I/O is so slow compared to big mainframe OS] A useful model is to partition the time spent by every I/O request into fixed and variable length portions. tf is the fixed overhead to reset the interface hardware, queue the I/O request, wait for the data to rotate under the head (for networks, the time to process all of the headers), etc. td is the marginal cost transferring a unit of data (byte, block, whatever). The total I/O utilization of a channel in this case is characterized by n td D = ------------ tf + n td for n units of data. The lim D = 1.0. n->inf td is typically very small (microsecs), tf is typically orders of magnitude higher (millisecs). The curve usually has a knee; UNIX I/O is often on the left side of the knee while most mainframe OS's are on the right side.