Re: mac osx vs linux for high throughput network servers
site_archiver@lists.apple.com Delivered-To: Darwin-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha256; c=simple/simple; d=cs.duke.edu; s=mail; t=1290805011; bh=S88O4Yc2s0jAU9DZFpF1xVUrslWHms7WHIXvPj30+Uo=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=eot8yBIiEP0yO7OGgZ74QrQOu+Uz4x2SegBxAllFgugQPY8J7y8peBwAz6dmFTbT7 B+47pNR/yUFTpC/sZl8BHN7QA7aQN4JBDOE90qld4tfThZmjscY6WCngWxGNvV/6vn qJr3KTZkrrE2+i4URcznHuox9ZOVvlga8a5yO92g= User-agent: Thunderbird 2.0.0.24 (Macintosh/20100228) On Nov 27, 2010, at 12:26 AM, Andrew Gallatin wrote: Having done ethernet drivers for a lot of platforms (MacOSX, Linux, FreeBSD, Solaris, ESX, etc), my impression is that the linux kernel is just generally "tighter" than anything else. Eg, they've got tons of micro optimizations where they ensure data structures are aligned to cacheline boundaries, etc. I don't think anybody else has the manpower to do as good. They also don't even try to maintain source compatibility from release to release, much less a stable driver ABI. This gives them lots of freedom to optimize things. There's lots of stuff that linux has that OSX doesn't in terms of networking. AFAIK, the IOKit "workloop" based interrupt handling paradigm precludes using MSI-X & multiple receive queues, there is no DCA API for hiding cache misses, etc. I haven't looked at Lion yet (and if I had, I'd be under NDA and wouldn't be able to say..). I'm sure the whole mbuf kpi abstraction isn't doing them any favors either. I think you could probably spend a couple of man years "just" improving the network stack, and still only get close to linux. Drew _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... Joel Reymont wrote: The last time I measured it, Linux blows MacOSX out of the water for UDP latency, which is what really matters for HFT (like by a factor of 2 or more). Bingo! But is this simply a matter of improving the Darwin network stack? This email sent to site_archiver@lists.apple.com
participants (1)
-
Andrew Gallatin