Skip site navigation (1)Skip section navigation (2)
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>