From owner-freebsd-net@FreeBSD.ORG Thu Jul 24 18:00:03 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3313AACC; Thu, 24 Jul 2014 18:00:03 +0000 (UTC) Received: from mail-qg0-x22f.google.com (mail-qg0-x22f.google.com [IPv6:2607:f8b0:400d:c04::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D3A942A92; Thu, 24 Jul 2014 18:00:02 +0000 (UTC) Received: by mail-qg0-f47.google.com with SMTP id i50so3649779qgf.20 for ; Thu, 24 Jul 2014 11:00:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=4mBDh1lstxnfdIt6gVPxuD9UPj3+Dx3CjcsTOFDnsto=; b=okSK4oZJXkqhw4/M4pYBRia5mLNgxwsIBW4iscEF7ABGnjUV5ciqtz9baWBr990TuE DkY/cDyUuK/tTZCJHNYP+ezaJH/evkoon+E0Ku24gR09WU6xEV2e75kSQoVOpXO9E7+s 22uASXsfIlc0xQ7q1/aRILXYKz5Km3+FIP/uP79lzL2rywGeUpGCUGX8GTgaoI8YHOX8 JX1+ld9Ou7VPJM0VWuGg+em4wOhXGeJucTMcecvv5hDcsjgdOwztXwrdPtDrtt01iq/j 4s5zhrOlvnj3hD7d6aWmxayyfhW9JAGJJvSvfxdnOrqASMDEAsU3lJFyDkb6cTkEpn2i 1+vA== X-Received: by 10.140.109.164 with SMTP id l33mr17028514qgf.72.1406224801952; Thu, 24 Jul 2014 11:00:01 -0700 (PDT) MIME-Version: 1.0 Received: by 10.96.74.69 with HTTP; Thu, 24 Jul 2014 10:59:21 -0700 (PDT) In-Reply-To: References: <53CE80DD.9090109@gmail.com> <20140722174117.GC43962@funkthat.com> <53CEAF40.7030406@gmail.com> From: Carlos Ferreira Date: Thu, 24 Jul 2014 18:59:21 +0100 Message-ID: Subject: Re: fastforward/routing: a 3 million packet-per-second system? To: Juli Mallett Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18 Cc: FreeBSD Net , John Jasen X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jul 2014 18:00:03 -0000 Juliet, a network equipment with eight SFP 10Gb Ethernet port is a small solution. Network operators usually have solutions with 24, 48 or even more ports mounted in racks. Check out the OLT solutions that Cisco has to offer. Thinking that more cores always solves the problem is incorrect because you will end up strangling the bus at the motherboard. Also, there's always a limit to how many generic cpu cores you can add to a single system and the power they need to operate. There's a good reason why the optical network equipments cards use FPGA's. It's not just deterministic execution, power consumption, reliability and maintenance cost but also that dedicated digital circuit implementation will always be faster than a generic cpu implementation. I simply cannot imagine someone installing a network solution with eight 10GbE ports with a generic processor with 16 cores. But then again, I'm humble enough to accept and study a solution of that kind, and the reasons why someone would want to implement such solution in an operator network. If you have seen such solution, please tell me where I can find it. On 24 July 2014 18:22, Juli Mallett wrote: > On Tue, Jul 22, 2014 at 12:23 PM, Carlos Ferreira > wrote: > >> I think the results presented at the paper are regarding one port sending >> or receiving at 14.88Mpps. Using several ports at the same time will >> surely >> give much lower results. But then again, if one wants 8, 16, 24 or even >> more ports at 10Gb/s, then it should look for FPGA implementations. > > > This is incorrect and misleading speculation, assuming your hardware is > not set up badly in some way. With netmap it is quite easy to have > additional threads handling other ports, so long as you have enough real > cores to run those threads on (ideally pinned, and with nothing else > running.) If you've got the RAM and the CPU, 8 ports of 10GbE with netmap > on FreeBSD is not at all infeasible. The question is always how much work > you need to be able to do per-packet and whether you're able to do that > work in an efficient way that fits with the model. So something with a > slightly-specific or at least sneaky architecture is very important here, > so that you can just swap buffers rather than having to do a gratuitous > copy. And a very careful design even just for parsing the packets, let > alone the process of doing the routing. > > Using several ports at the same time on a single CPU absolutely gives > lower results, but someone with 8 10GbE ports can hopefully pretty well > handle providing 16 cores to get the job done and still have a meaningful > control plane. The idea that netmap or similar solutions would be > bottlenecked otherwise is wrong, unless there's something wrong with your > hardware (not so uncommon as one might like.) (For cache performance, > etc., you really don't want to use hyperthreads for something as > timing-sensitive and data-hungry as this kind of packet processing; your > results may vary.) > > Juli. > > On 22 July 2014 19:36, John Jasen wrote: >> >> > >> > On 07/22/2014 01:41 PM, John-Mark Gurney wrote: >> > > John Jasen wrote this message on Tue, Jul 22, 2014 at 11:18 -0400: >> > >> Feedback and/or tips and tricks more than welcome. >> > > You should look at netmap if you really want high PPS routing... >> > >> > Originally, I assumed an interface supporting netmap was required, but >> > the manpage disabuses me of this. Besides, I think the Chelsio cards got >> > netmap recently. >> > >> > I presume either the use of bridge in tools/netmap, or vale-ctl in the >> > same location would start providing me sufficient clue on this? >> > Unfortunately, both seem to be pretty short on verbosity ... More clue >> > is always welcome! >> > >> > >> > _______________________________________________ >> > freebsd-net@freebsd.org mailing list >> > http://lists.freebsd.org/mailman/listinfo/freebsd-net >> > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >> > >> >> >> >> -- >> >> Carlos Miguel Ferreira >> Researcher at Telecommunications Institute >> Aveiro - Portugal >> Work E-mail - cmf@av.it.pt >> Skype & GTalk -> carlosmf.pt@gmail.com >> LinkedIn -> http://www.linkedin.com/in/carlosmferreira >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >> > > -- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira