Path: utzoo!attcan!uunet!crdgw1!sunroof!hammondr From: hammondr@sunroof.crd.ge.com (richard a hammond) Newsgroups: comp.arch Subject: Re: DMA on RISC-based systems Message-ID: <696@crdgw1.crd.ge.com> Date: 8 Jun 89 20:31:06 GMT References: <46500067@uxe.cso.uiuc.edu> <181@dg.dg.com> <185@dg.dg.com> <8479@june.cs.washington.edu> <1213@ttds.UUCP> <26636@ames.arc.nasa.gov> Sender: news@crdgw1.crd.ge.com Reply-To: hammondr@sunroof.crd.ge.com (richard a hammond) Organization: General Electric Corp. R&D, Schenectady, NY Lines: 30 One might want to look at "An Analysis of TCP Processing Overhead" by Clark, Jacobson, Romkey, and Salwen in the June 1989 issue of IEEE Communications Magazine (Vol. 27, No. 6). They point out that the CPU has to do a checksum of the data during processing and propose (as one alternative) removing the DMA controller from the network controller and letting the CPU do the byte copy and move together in a single loop. Also, the disk throughput numbers of interest are not peak numbers but avverage use over applications. In previous jobs I've helped collect the processing and disk I/O requirements of months of jobs on Convex computers (i.e. big enough to do lots of number crunching and I/O) and there were very few jobs which were both CPU intensive and I/O intensive at the same time. So - DMA on RISC based workstations might have a different cost function than simply the cost of the CPU lost, one has to consider whether the CPU cycles lost to doing the data movement would be of use by another process. I estimate that the answer is yes only some fraction of the time, and so the numbers given are upper bounds on the costs. Note that I'm talking about workstations and not large mainframes or number crunchers, where the load or applications may be different. Definte numbers for applications which do both CPU crunching and require some sort of I/O AT THE SAME TIME would be interesting, since the Convex wasn't a personal workstation. Rich Hammond