[Ntop] Announce: libzero
Luca Deri
deri at ntop.org
Mon May 14 16:13:41 CEST 2012
Hi all,
Last year we have introduced PF_RING DNA for implementing 0% CPU
receive/transmission on commodity 1/10 Gbit network adapters. We
considered DNA as a starting point, as it implemented high-speed RX/TX
that was enough for most, but not all of you. This is because commodity
adapters do not feature advanced packet balancing techniques as they
rely on RSS, that has several limitations such as asymmetric flow
balancing (i.e. the two direction of the same flow are spread onto two
different cores) and inability to provide users a way to use their
balancing function. Another limitation of DNA, again due to its nature
that is close to the hardware, is that packets should be processed in
sequence (i.e. in FIFO) whereas applications sometimes need to store
packets and process them out of sequence (e.g. in case of fragmented
packets, a given packet must be rebuilt with all fragments prior to
process it).
Although zero-copy is often a buzzword as only a subset of packet
management is really performed without copying any packet, at ntop we
decided to see whether it was really possible implement zero-copy for
all operations, including packet dispatching to threads and applications
(including packet fan-out support), packet queuing, and forwarding
across interfaces. This is what libzero is for: as its name says, we can
do all these operations in zero-copy, with no performance penalty as you
will still be able to reach line rate with minimal packet size (14.88
Mpps with 60+4 bytes packets).
Libzero opens up a new world of opportunities, as it enables developers
to focus on their application leaving to the library the task of
handling packet memory, prefetching memory to let your applications
access packet payload at the same speed as counting packets. Now you can
finally scale up applications, as you can for instance spawn several
snort applications and, without changing a single line of its code, let
each instance handle a coherent (across directions) set of packets, all
at line rate. In a nutshell, the network is no longer the bottleneck nor
the source of complexity.
The ball is on the software side again. You can find all details at
the libzero home page (
http://www.ntop.org/products/pf_ring/libzero-for-dna/).
Enjoy, Luca and Alfredo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listgateway.unipi.it/pipermail/ntop/attachments/20120514/63ab691e/attachment.htm>
More information about the Ntop
mailing list