Date: 31 Mar 1998 15:06:41 +0200 From: fenyo@email.enst.fr (Alex Fenyo (eowyn)) To: "Ron G. Minnich" <rminnich@Sarnoff.COM> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Virtual Interface Architecture Message-ID: <d06ogynypp8.fsf@hydre.enst.fr> In-Reply-To: "Ron G. Minnich"'s message of Mon, 30 Mar 1998 14:22:51 -0500 (EST) References: <Pine.SUN.3.91.980330141830.4075F-100000@terra>
next in thread | previous in thread | raw e-mail | index | archive | help
"Ron G. Minnich" <rminnich@Sarnoff.COM> writes: > btw, a question for hackers: how hard would it be to get 10 microseconds > latency on the tcp stack as it stands? Yes, i know: "impossible". how > impossible? One answer could be like this : To have a low software overhead, you need to have a zero-copy communication stack (even if you keep TCP/IP). For this purpose, the hardware need to directly access the process memory. Then the data area the user wants to send/receive must be wired. Only verifying that an area is already wired costs about 6 microsec on my P200. Wiring a short area with the standard MACH interface takes more than 100 microsec (this is mainly due to the lists of vm_entries/vm_objects the kernel has to follow). You can wire data at first use and decide not to wire it later, but you need to verify at each send/receive time that data are wired -> 6 microsec... Maybe you can go faster if you bypass the MACH interface, but you will have to write a lot of code to do this. You may also wire every memory area the process uses, at allocation time, but it will cost a lot of memory and affect performances for other processes. Moreover, I think keeping TCP/IP is not the best way to have performances with dedicated boards like Myrinet or others; people usually write a new stack and implement Berkeley sockets on it. For instance, they did it in the NOW project : fast sockets on top of active messages. People want sockets, not TCP/IP, I think... Alexandre Fenyo To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d06ogynypp8.fsf>