chuck@excelan.UUCP (Chuck Kollars) (05/13/88)
Currently TCP/IP protocols can be executed either in the PC, or on the NIC. The "host-based" and "front-end-processor" architectures each have their advantages and their disadvantages. Performance, reliability, usability, and cost of a product depend on the implementation more than the architecture. Some potential advantages of the Front End Processor architecture: o offload packet handling from host CPU o reduce host memory requirements o larger data holding buffers and sliding window sizes o shorter latency between received packet and acknowledgement o partially offload keystroke processing o many simultaneous connections Some of these advantages are most relevant to multiprocessor (ex: OS/2) or multiuser (ex: Xenix) systems. Others are especially relevant to systems with memory address space restrictions (ex: DOS). The interface to the transport layer is a convenient place for separating host and onboard portions. Applications using an interface like SOCK_STREAM sockets can pass their data to the network with simple read() and write() calls. Separation between the host and onboard portions is especially clean for "stream" or "pipeline" style transport layers (ex:TCP, named pipes). While Excelan did not invent the Front End Processor approach and does not restrict its product line to FEP configurations, "Excelan style" is sometimes used to mean "outboard" or "onboard" protocols. The EXOS205 Network Interface Card for PC's is usually configured for FEP operation. The card uses a shared memory interface because of problems with DMA generic to PC's. The choice of host-based or FEP architecture is less final in the world of PC's than usual (at least for vendors and other nuts-and-bolts developers). Most "smart" NIC's use an Intel 8xx86 processor chip. Since the instruction set is identical to the one in the PC itself, it's particularly easy to move modules of code back and forth between the host and the board. "Host-based" vs. "front-end-processor" has been discussed to death for years on the network, in the literature, and elsewhere. This posting is intended to provide a brief introduction to the topic for people who are new to LAN's, not to rekindle old religious wars. It was prompted by peripheral references to the FEP vs. Host-Based issue in some recent articles in this newsgroup: in <8804281612.AA14022@vax.ftp.com> >...TCP/IP currently resides on their...card... ...SLIP...would >require moving it off the card... in <21523@amdcad.AMD.COM> >...the 286 on an AT beats the 186 in Excelan etc style boards. in <8805110429.AA03980@vax.ftp.com> >...classic problem with outboard protocol implementations >is that they are complicated to talk to. -- Chuck Kollars, Excelan, Inc. (chuck@excelan.UUCP) mabell: (408) 434-7434 Internet: mtxinu!excelan!chuck@ucbvax.Berkeley.COM telex: 176610 uucp: ...!{mtxinu,leadsv,cae780}!excelan!chuck fax: (408) 434-2310 post: Excelan, 2180 Fortune Drive, San Jose CA, 95131
phil@amdcad.AMD.COM (Phil Ngai) (05/14/88)
In article <361@lalk.excelan.UUCP> chuck@excelan.UUCP (Chuck Kollars) writes: >Some potential advantages of the Front End Processor architecture: > o reduce host memory requirements If I compare a $200 WD board with a $700 EXOS 205, I'd have to say that's an expensive way to buy memory (not to mention the inherently lower performance of the EXOS's 186 vs my PC's 286). Right now things like PC-NFS don't live in expanded or extended memory but such is certainly possible. > o many simultaneous connections I believe some people have run into a problem with the limited number of sockets available with the EXOS 204. I don't know about the newer board but considering that these people's response was to ditch Excelan and go to Wollongong, I would guess Excelan still only gives you a very small number of sockets on the EXOS 304. I wonder if the VMS people could comment on the usefulness of the 204/304. Do you ever run out of sockets? How reliable is your Excelan hardware? We have a 205 that fails a lot. Takes weeks to repair. And at the price, you can't afford to keep spares around like you can the WD board. I don't have it in for Excelan or anything but the WD board really seems like a better piece of hardware to me. I would love to see an extended discussion of the merits and demerits of both boards. Actually, I hate WD the company. Trying to get technical information out of them is difficult. But a FAST Ethernet card for $200 is worth a lot of trouble. -- Make Japan the 51st state! I speak for myself, not the company. Phil Ngai, {ucbvax,decwrl,allegra}!amdcad!phil or phil@amd.com
Philip Prindeville@UDEL.EDU, philipp@larry.mcrcim.mcgill.EDU (05/14/88)
Date: 13 May 88 01:34:23 GMT From: Chuck Kollars <pyramid!leadsv!excelan!chuck@decwrl.dec.com> Subject: "host-based" vs. "front-end-processor" PC network interfaces To: pcip@louie.udel.edu [ ... ] Some potential advantages of the Front End Processor architecture: o offload packet handling from host CPU o reduce host memory requirements o larger data holding buffers and sliding window sizes o shorter latency between received packet and acknowledgement o partially offload keystroke processing o many simultaneous connections A major drawback is that you can't support multihomed hosts as easily. About the only thing a board-resident IP can do is perform checksumming. No reason you can't support multiple sessions with a host-resident TCP/IP. Some of these advantages are most relevant to multiprocessor (ex: I think you meant "multiprocessing" (or multitasking), not "multiprocessor". OS/2) or multiuser (ex: Xenix) systems. Others are especially relevant to systems with memory address space restrictions (ex: DOS). The interface to the transport layer is a convenient place for separating host and onboard portions. Applications using an interface like SOCK_STREAM sockets can pass their data to the network with simple read() and write() calls. Separation between the host and onboard portions is especially clean for "stream" or "pipeline" style transport layers (ex:TCP, named pipes). You will have to explain to me why streams are more convenient than datagrams. I would have thought it would be easier with datagrams, since there is even less state to maintain between transactions. While Excelan did not invent the Front End Processor approach and does (Not by a long-shot. Ever hear of the Honeywell H16? [so called "Susie"]) not restrict its product line to FEP configurations, "Excelan style" is sometimes used to mean "outboard" or "onboard" protocols. [ ... plug deleted ... ] "Host-based" vs. "front-end-processor" has been discussed to death for years on the network, in the literature, and elsewhere. This That isn't to say that new approaches aren't being developed. Dave Clark or MIT-LCS (the Internet Architect) is working on a idea that merges off-host processing with named pipes (he calles it "named buffers"). It is an interesting concept, and could well appear in implementations fairly soon (if only in labs)... posting is intended to provide a brief introduction to the topic for people who are new to LAN's, not to rekindle old religious wars. It was prompted by peripheral references to the FEP vs. Host-Based issue in some recent articles in this newsgroup: And I thought it was to sell Excelan cards... :-) -Philip