InfiniBand (IB) is a computer-networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also used as either a direct or switched interconnect between servers and storage systems, as well as an interconnect between storage systems.
As of 2014, it was the most commonly used interconnect in supercomputers. Mellanox and Intel manufacture InfiniBand host bus adapters and network switches, and, in February 2016, it was reported that Oracle Corporation had engineered its own InfiniBand switch units and server adapter chips for use in its own product lines and by third parties. Mellanox IB cards are available for Solaris, FreeBSD,RHEL, SLES, Windows, HP-UX, VMware ESX, and AIX. It is designed to be scalable and uses a switched fabric network topology.
The technology is promoted by the InfiniBand Trade Association.
|Signaling rate (Gbit/s)||2.5||5||10||10.3125||14.0625||25.78125||50||100||250|
|Theoretical effective throughput (Gb/s),
|Speeds for 4x links (Gbit/s)||8||16||32||40||54.54||100||200||400||1000|
|Speeds for 8x links (Gbit/s)||16||32||64||80||109.08||200||400||800||2000|
|Speeds for 12x links (Gbit/s)||24||48||96||120||163.64||300||600||1200||3000|
|Adapter latency (microseconds)||5||2.5||1.3||0.7||0.7||0.5||less?||Undefined||Undefined|
|2005||2007||2011||2011||2014||2017||after 2020||future (after 2023?)|
InfiniBand also provides RDMA capabilities for low CPU overhead.
InfiniBand uses a switched fabric topology, as opposed to early shared medium Ethernet. All transmissions begin or end at a channel adapter. Each processor contains a host channel adapter (HCA) and each peripheral has a target channel adapter (TCA). These adapters can also exchange information for security or quality of service (QoS).
InfiniBand transmits data in packets of up to 4 KB that are taken together to form a message. A message can be:
The InfiniBand Association also specified the CXP connector system for speeds up to 120 Gbit/s over copper, active optical cables, and optical transceivers using parallel multi-mode fiber cables with 24-fiber MPO connectors.
InfiniBand has no standard API. The standard only lists a set of verbs such as
ibv_post_send, which are abstract representations of functions or methods that must exist. The syntax of these functions is left to the vendors. Sometimes for reference this is called the verbs API. The de facto standard software stack is developed by OpenFabrics Alliance. It is released under two licenses GPL2 or BSD license for GNU/Linux and FreeBSD, and as Mellanox OFED for Windows (product names: WinOF / WinOF-2; attributed as host controller driver for matching specific ConnectX 3 to 5 devices) under a choice of BSD license for Windows. It has been adopted by most of the InfiniBand vendors, for GNU/Linux, FreeBSD, and Windows. IBM states this at their knowledge center on verbs API:
A presentation from Mellanox Technologies, dated 2014, with title "Verbs programming tutorial" states on page 31:
InfiniBand originated in 1999 from the merger of two competing designs: Future I/O and Next Generation I/O. This led to the formation of the InfiniBand Trade Association (IBTA), which included Compaq, Dell, Hewlett-Packard, IBM, Intel, Microsoft, and Sun. At the time it was thought some of the more powerful computers were approaching the interconnect bottleneck of the PCI bus, in spite of upgrades like PCI-X. Version 1.0 of the InfiniBand Architecture Specification was released in 2000. Initially the IBTA vision for IB was simultaneously a replacement for PCI in I/O, Ethernet in the machine room, cluster interconnect and Fibre Channel. IBTA also envisaged decomposing server hardware on an IB fabric. Following the burst of the dot-com bubble there was hesitation in the industry to invest in such a far-reaching technology jump.
Ethernet over InfiniBand, abbreviated to EoIB, is an Ethernet implementation over the InfiniBand protocol and connector technology.
EoIB enables multiple Ethernet bandwidths varying on the InfiniBand (IB) version.
Ethernet's implementation of The Internet Protocol Suite, usually referred to as TCP/IP, is different to some of the implementations used on top of the InfiniBand protocol in IP over IB (IPoIB).
|IB Type||IB Channel Quantity||IB Bandwidth (Gbps)||Compatible Ethernet Type(s)||Compatible Ethernet Quantity|
|SDR||1||2.5||GbE to 2.5 GbE||2 x GbE to 1 x 2.5 GbE|
|SDR||4||10||GbE to 10 GbE||10 x GbE to 1 x 10 GbE|
|SDR||8||20||GbE to 10 GbE||20 x GbE to 2 x 10 GbE|
|SDR||12||30||GbE to 25 GbE||30 x GbE to 1 x 25 GbE + 1 x 5 GbE|
|DDR||1||5||GbE to 5 GbE||5 x GbE to 1 x 5 GbE|
|DDR||4||20||GbE to 10 GbE||20 x GbE to 2 x 10 GbE|
|DDR||8||40||GbE to 40 GbE||40 x GbE to 1 x 40 GbE|
|DDR||12||60||GbE to 50 GbE||60 x GbE to 1 x 50 GbE + 1 x 10 GbE|
|QDR||1||10||GbE to 10 GbE||10 x GbE to 1 x 10 GbE|
|QDR||4||40||GbE to 40 GbE||40 x GbE to 1 x 40 GbE|
|QDR||8||80||GbE to 50 GbE||80 x GbE to 1 x 50 GbE + 1 x 25 GbE + 1 x 5 GbE|
|QDR||12||120||GbE to 100 GbE||120 x GbE to 1 x 100 GbE + 2 x 10 GbE|
|HDR||1||50||GbE to 50 GbE||50 x GbE to 1 x 50 GbE|
|HDR||4||200||GbE to 100 GbE||200 x GbE to 2 x 100 GbE|
|HDR||8||400||GbE to 400 GbE||400 x GbE to 1 x 400 GbE|
|HDR||12||600||GbE to 400 GbE||600 x GbE to 1 x 400 GbE + 2 x 100 GbE|
|HDR||16||800||GbE to 400 GbE||800 x GbE to 2 x 400 GbE|
|NDR||1||100||GbE to 100 GbE||100 x GbE to 1 x 100 GbE|
|NDR||4||400||GbE to 400 GbE||400 x GbE to 1 x 400 GbE|
|NDR||8||800||GbE to 400 GbE||800 x GbE to 2 x 400 GbE|
|NDR||12||1200||GbE to 1 TbE||1200 x GbE to 1 TbE* + 2 x 100 GbE|
|NDR||16||1600||GbE to 1 TbE||1600 x GbE to 1 TbE + 2 x 250 GbE + 1 x 100 GbE|
|XDR||1||250||GbE to 250 GbE||250 x GbE to 1 x 250 GbE|
|XDR||4||1000||GbE to 1 TbE||1000 x GbE to 1 x 1 TbE*|
|XDR||8||2000||GbE to 1 TbE||2000 x GbE to 2 x 1 TbE*|
|XDR||12||3000||GbE to 1 TbE||3000 x GbE to 3 x 1 TbE*|
|XDR||16||4000||GbE to 4 TbE||4000 x GbE to 4 x TbE* or 1 x 4 TbE**|
* TbE has not been fully defined on Institute of Electrical and Electronics Engineers's (IEEE) roadmap. Every bandwidth beyond 400 GbE is defined as "sometime after 2020."
** 4 TbE is a presumed extension of the undefined TbE family if IEEE continues with the 1, 2.5, 4, 5 bandwidth loop. It is likely, IEEE will drop 4 from the list.