datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Design Article

Comment


docdivakar

9/27/2010 7:17 PM EDT

@Shainer: I would have liked to see a cost vs. performance statistic between ...

More...



shainer

9/17/2010 3:43 PM EDT

Yes - look at the TOP500 development over time as an example ...

More...

Lessons learned: Network-based processing versus host-based processing

Gilad Shainer, Mellanox Technologies

9/15/2010 8:06 AM EDT

CPU clock speeds have remained essentially constant over the last several years, resulting in the number of CPU's used in high-end systems rapidly increasing to keep up with the performance boosts expected by Moore's law. System size on the Top500 list has changed rapidly, and, in November 2009, the top ten systems averaged 134,893 cores, with five systems larger than 100,000 cores. This rapid increase of system size and the associated increase in the number of compute elements used in a single user job increase the urgency of dealing with system characteristics that impede application scalability.

 

By providing low-latency, high-bandwidth and extremely low CPU overhead, InfiniBand has become the most deployed high-speed interconnect, replacing proprietary or low-performance solutions. The InfiniBand Architecture (IBA) is an industry-standard fabric designed to provide high scalability and efficient utilization of compute processing resources. InfiniBand scalability was already proven on multiple large scale systems listed on the Top500 list: LANL "Roadrunner" (4K nodes and 130K cores), NASA (above 9K nodes and 82K cores), NUDT "TianHe" (3K nodes and 72K cores), Jülich JuRoPa and HPC-FF (3K nodes and 30K cores) , TACC (4K nodes and 63K cores) and Sandia "Red Sky" (5.4K nodes and 43K cores)  are a few examples. All of them use an InfiniBand solution that provides network-based processing.

 

Network-based Processing versus Host-based Processing

In general, connectivity solutions can be divided into multiple categories: standard (such as InfiniBand and Ethernet) versus proprietary (such as SeaStar and Quadrics), high speed versus low speed and offloading (or network-based processing) versus onloading (i.e., host-based processing). With offloading network solutions, the entire network transport is handled and performed by the NIC or adapter, including error handling, data retransmissions for reliable data transfer, and other sophisticated communications such as MPI. Onloading network solutions rely on the host central processing units (CPUs) to perform any task that is related to data transfer between servers or servers and storage; from data gathering, data packet creation, transport checks, reliability, physical-to-virtual memory translation, process protection (i.e., security) and more. To make it simple, offloading networks frees the CPU from the need to handle server-to-server communications and instead dedicates most cycles to the user applications, and onloading networks are no more than the proverbial string and two metal cans that we played with as children.

 

Why Onloading Solutions?

The motivation for onloading solutions, or for using a string and two metal cans, is the simplicity of building such solutions. Since all networking processing is being done by the host, the NIC or the adapter needs only to include a bridge from the host-based interface (in most cases today, it is PCI-Express) and the network interface (InfiniBand, Ethernet etc.) and a buffer for shock absorption (which protects the network from a burst of data). As such, no major new technology needs to be developed, making solutions less costly. The big drawback is with the scalability and performance that such solutions can provide within a system, measured in terms of overall system performance and productivity. As more overhead processing is done by the CPU, less CPU time is available for user applications, resulting in lower system performance and scalability. One example is a comparison between Ethernet and InfiniBand on the Top500 list; since most of Ethernet solutions require the TCP (i.e., the transport) to be handled by the CPU, Ethernet-connected systems achieve on average only 50% efficiency, meaning 50% of the system capability cannot be utilized or is otherwise wasted. InfiniBand-connected systems on the Top500 list demonstrate up to 96% efficiency, therefore maximizing the CPU cycles for the user application and hence the overall system return on investment.

 

Offloading Solutions: Balance the System

Offloading network solutions eliminate the CPU overhead related to process-to-process communications, data transfer reliability, memory translations and process protections (or security) and data segmentations and reassembly. Moreover, this is the only way to counter the effect of system noise and jitter on application performance and scalability (e.g., by offloading MPI collectives communications), and the only way to allow overlapping between computations and communications within the server.

Scientific simulation codes frequently use collective communications. Offloading networks typically include programming capabilities for special features, and simulation of future problems.

With the increase in the demand for higher performance and scalability, offloading solutions are required in order to balance the increased number of CPU cores, and to provide a solution that can maximize the platform compute capability. Offloading solutions require sophisticated technology and advanced simulations in NIC or adapter design. Therefore, not many vendors have the knowledge and capabilities required to produce offloading networks.  

 

The System Latency

User applications reside in the user space, a space where no protection can be guaranteed for the process data. Data movement needs to involve an entity that will ensure that data from one process will not overwrite the memory space of another process by mistake, resulting in data destruction and security issues. Such entity can be the host CPU in the kernel space or the networking adapter. If done by the CPU in the kernel space, any user data needs to be copied there before being sent to the wire (i.e., a buffer copy), user to kernel system call needs to be triggered and as well as a CPU interrupt. Furthermore, data copy in large messages can increase the negative performance effects due to cache trashing, TLBs etc. This implies higher latency for data transfer, as can be seen in Figure 1; this compares the latencies of "write" transactions between two servers. The latency ratio between onloading solutions and offloading solutions (in this case, InfiniBand), can be up to 700% higher when using onloading solutions versus offloading solutions.

 


 

One can question the RDMA Write latency difference, in light of the data provided by the different vendors for MPI latency. Both offloading-based and onloading-based solutions providers promote about 1us latency for MPI transactions. As offloading solutions demonstrate around 1us latency for RDMA write and send transactions, it is obvious that the MPI latency will be in the same range. On the other hand, onloading solutions demonstrate 7us latency for RDMA write transactions, so how can vendors promote figures around 1us for MPI latency? The reason is that with onloading solutions, such MPI latency benchmarks send the data directly from the user space to the network, and writing the data back from the network to the user space avoiding the buffer copy and the kernel space memory mapping. While this can be done for artificial benchmarks, avoiding memory checking and process isolation in production usage can result in data reliability and security issues. Those issues are critical in systems hosting many users, e.g., in cloud computing.

 

Network Message Rate

One of the known benchmarks besides latency and throughput is the network message rate, which is basically the network throughput divided by the message size, for small message sizes. In the case of onloading networks, this benchmark tests the ability of the CPU cores to create a network packet and send it through the two metal cans and the string. Assuming that the bridging between the host interface, or the PCI-Express, and the network interface (InfiniBand, for example) is good enough to provide the maximum data speed of those interfaces, as more CPU cores are used for network packet creation, more messages will be sent on the wire. One must remember that first, for such benchmarks, all of the CPU resources are being used for network packet creation; therefore no CPU is available for the user applications; and, second, in such benchmarks it is the same network packet that is being sent to the wire over and over again and does not reflect the real application situation where data on the wire is different from one network packet to the other. In simple words, for onloading networks, message rate is a CPU benchmark, and not really a network benchmark.





iniewski

9/16/2010 4:39 PM EDT

Gilda, You write that ""By providing low-latency, high-bandwidth and extremely low CPU overhead, InfiniBand has become the most deployed high-speed interconnect, replacing proprietary or low-performance solutions"". Do you have any statistic to back up that claim? I remember that although InfiniBand was an elegant solution it was not deployed widely as other technologies as GbE was enjoining larger market share...Kris

Sign in to Reply



shainer

9/17/2010 3:43 PM EDT

Yes - look at the TOP500 development over time as an example (http://www.mellanox.com/pdf/applications/Top500_June_2010.pdf). InfiniBand started with 3 systems back in 2003, and now is connecting 208 systems, 42% of the Top500. At first InfiniBand took nearly all of the proprietary systems (in 2005 there were more than 200 Myricom connected systems, now it is around 5 if I remember correctly), and later InfiniBand start to take systems from GigE. Check the graphs on the pdf for more info.

Sign in to Reply



docdivakar

9/27/2010 7:17 PM EDT

@Shainer: I would have liked to see a cost vs. performance statistic between off-loading and on-loading in your article above. But I do agree with providing meaningful benchmark comparisons to compare latencies between off-loading and on-loading approaches, a point you quite well make above. It would seem that the reduction in through put (in case of on-loading) far outweighs the gains one may make in reduced latencies of the signal path (highspeed mother board traces and on to the HCA/TCA ports).

I favor with off-loading since it truly helps improving the latency of your cluster as a whole where packets can travel to and from heterogeneous interconnects. With a TOE/POE off-loaders, 10Gig Cat6A fabrics can fulfill the needs of some lesser stringent (latency) applications.

Dr. MP Divakar

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)