From owner-freebsd-net@FreeBSD.ORG Fri Jan 4 20:00:57 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1BDD16A421; Fri, 4 Jan 2008 20:00:57 +0000 (UTC) (envelope-from tataz@tataz.chchile.org) Received: from postfix2-g20.free.fr (postfix2-g20.free.fr [212.27.60.43]) by mx1.freebsd.org (Postfix) with ESMTP id 8195713C45B; Fri, 4 Jan 2008 20:00:57 +0000 (UTC) (envelope-from tataz@tataz.chchile.org) Received: from smtp5-g19.free.fr (smtp5-g19.free.fr [212.27.42.35]) by postfix2-g20.free.fr (Postfix) with ESMTP id CB2B521CB67C; Fri, 4 Jan 2008 18:25:41 +0100 (CET) Received: from smtp5-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp5-g19.free.fr (Postfix) with ESMTP id DBFEA3F6190; Fri, 4 Jan 2008 20:26:22 +0100 (CET) Received: from tatooine.tataz.chchile.org (tataz.chchile.org [82.233.239.98]) by smtp5-g19.free.fr (Postfix) with ESMTP id 8CE3F3F61A3; Fri, 4 Jan 2008 20:26:22 +0100 (CET) Received: from obiwan.tataz.chchile.org (unknown [192.168.1.25]) by tatooine.tataz.chchile.org (Postfix) with ESMTP id E31F89B497; Fri, 4 Jan 2008 19:23:04 +0000 (UTC) Received: by obiwan.tataz.chchile.org (Postfix, from userid 1000) id CE544405B; Fri, 4 Jan 2008 20:23:04 +0100 (CET) Date: Fri, 4 Jan 2008 20:23:04 +0100 From: Jeremie Le Hen To: Tiffany Snyder Message-ID: <20080104192304.GB76734@obiwan.tataz.chchile.org> References: <43B45EEF.6060800@x-trader.de> <43B47CB5.3C0F1632@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.15 (2007-04-06) Cc: freebsd-net@freebsd.org, Andre Oppermann Subject: Re: Routing SMP benefit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2008 20:00:58 -0000 On Fri, Dec 28, 2007 at 03:51:31PM -0800, Tiffany Snyder wrote: > Hi Andre, > are those numbers for small (64 bytes) packets? Good job on pushing > the base numbers higher on the same HW. > > What piqued my attention was the note that our forwarding > performance doesn't scale with multiple CPUs. Which means there's a lot of > work to be done :-) Have we taken a look at OpenSolaris' Surya > (http://www.opensolaris.org/os/community/networking/surya-design.pdf) > project? They allow multiple readers/single writer on the radix_node_head > (and not a mutex as we do) and we may be able to do the same to gain some > parallelism. There are other things in Surya that exploit multiple CPUs. > It's definitely worth a read. DragonFlyBSD seems to achieve parallelism by > classifying packet as flows and then redirecting the flows to different > CPUs. OpenSolaris also does something similar. We can definitely think along > those lines. > > NOTE: > 1) I said multiple instead of dual CPUs on purpose. > 2) I mentioned OpenSolaris and DragonFlyBSD as examples and to acknowledge > the work they are doing and to show that FreeBSD is far behind and is losing > it's lustre on continuing to be the networking platform of choice. A very good paper worth reading about all this by Paul Willmann, Scott Rixner and Alan Cox: An Evaluation of Network Stack Parallelism Strategies in Modern Operating Systems http://www.ece.rice.edu/~willmann/pubs/paranet_tr06-872.pdf -- Jeremie Le Hen < jeremie at le-hen dot org >< ttz at chchile dot org >