![]() ![]() ![]() However, transmission control protocol/internet protocol (TCP/IP) protocol stack implemented in common operating systems has limitations in terms of packet processing speed. NICs supporting speeds of 10 and 40 Gbit/s are already available on the market. Moreover, with advances in development of processors and network interface cards (NICs), software routers are becoming competitive with specialised networking equipment. General purpose hardware (such as PCs or servers) is also cost effective due to the economy of scale. User can program general purpose hardware to implement only needed functionalities at the time. ![]() Computers are taking a role of software routers or middleboxes . For this reason, software defined networking based on general purpose hardware is becoming popular. In practice, the networking requirements are dynamic and numerous, which increases the cost of multipurpose ASIC and associated control plane. IET Generation, Transmission & DistributionĬommercial networking devices commonly use application specific integrated circuit (ASIC) chips optimised for particular functionalities.IET Electrical Systems in Transportation.IET Cyber-Physical Systems: Theory & Applications.IET Collaborative Intelligent Manufacturing.CAAI Transactions on Intelligence Technology.This is about 20 times lower than the peak rate, but still quite challenging, and it is a regimen that needs to be sustained if TCP is to saturate a 10-Gbit/s link. At the maximum Ethernet frame size (1,518 bytes plus framing), the transmission time becomes 1.23 microseconds, for a frame rate of about 812 Kpps. At 10 Gbit/s, this translates into one packet every 67.2 nanoseconds, for a worst-case rate of 14.88 Mpps (million packets per second). The minimum packet size is 64 bytes or 512 bits, surrounded by an additional 160 bits of inter-packet gap and preambles. To get the idea of the speed constraints, consider a 10-Gbit/s Ethernet interface, which will be the point of reference throughout this article. Per-packet cost depends on how the data stream is split into packets: the larger the packet, the smaller the component. The per-packet cost comes from the manipulation of descriptors (allocation and destruction, metadata management) and the execution of system calls, interrupts, and device-driver functions. The per-byte cost comes from data manipulation (copying, checksum computation, encryption) and is proportional to the amount of traffic processed. Network I/O has two main cost components. Most importantly, netmap is largely compatible with existing applications, so it can be incrementally deployed. Thanks to a careful design and the engineering of a new packet I/O API, netmap eliminates much unnecessary overhead and moves traffic up to 40 times faster than existing operating systems. The netmap framework is a promising step in this direction. We can do much better, not with more powerful hardware but by revising architectural decisions made long ago regarding the design of device drivers and network stacks. On these links, packets flow as fast as one every 67.2 nanoseconds, yet modern operating systems can take 10-20 times longer just to move one packet between the wire and the application. Today 10-gigabit interfaces are used more and more in datacenters and servers. ![]() As commodity networking performance increases operating systems need to keep up or all those CPUs will go to waste. Here's a really good article in the Communications of the ACM on reducing network packet processing overhead by redesigning the network stack: Revisiting Network I/O APIs: The Netmap Framework by Luigi Rizzo. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |