InfiniBand
InfiniBand 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. It is designed to be scalable and uses a switched fabric network topology.
, 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.
As an interconnect, IB competes with Ethernet, Fibre Channel, and Intel Omni-Path.
The technology is promoted by the InfiniBand Trade Association.
Specification
Performance
Links can be aggregated: most systems use a 4× aggregate. 8× and 12× links are typically used for cluster and supercomputer interconnects and for inter-switch connections.InfiniBand also provides RDMA capabilities for low CPU overhead.
Topology
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 and each peripheral has a target channel adapter. These adapters can also exchange information for security or quality of service.Messages
InfiniBand transmits data in packets of up to 4 KB that are taken together to form a message. A message can be:- a remote direct memory access read or write
- a channel send or receive
- a transaction-based operation
- a multicast transmission
- an atomic operation
Physical interconnection
QSFP connectors are used.
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.
API
InfiniBand has no standard API. The standard only lists a set of verbs such asibv_open_device
or 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 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:
- libibverbs, developed and maintained by Roland Dreier since 2006, are de facto the verbs API standard in *nix
- * Developed as an Open source
- * The kernel part of the verbs is integrated in the Linux kernel since 2005 – Kernel 2.6.11
- * Inbox in several *nix distributions
- * There are level low-level libraries from several HW vendors
History
Timeline
- 2001: Mellanox ships InfiniBridge 10Gbit/s devices and ships over 10,000 InfiniBand ports.
- 2002: adoption takes a setback when Intel announces that instead of shipping IB chips it would focus on developing PCI Express, and Microsoft discontinues IB development in favor of extending Ethernet, although Sun and Hitachi continue to support IB.
- 2003: Virginia Tech builds an InfiniBand cluster ranked number three on the Top500 at the time.
- 2004: IB starts to see adoption as a clustering interconnect, beating Ethernet on latency and price. The OpenFabrics Alliance develops a standardized, Linux-based InfiniBand software stack. The following year Linux adds IB support.
- 2005: IB begins to be implemented as an interconnect for storage devices.
- 2009: of the top 500 supercomputers in the world, Gigabit Ethernet is the internal interconnect technology in 259 installations, compared with 181 using InfiniBand.
- 2010: Market leaders Mellanox and Voltaire merge, leaving just one other IB vendor, QLogic, primarily a Fibre Channel vendor. Oracle makes a major investment in Mellanox.
- 2011: FDR switches and adapters announced at the International Supercomputing Conference.
- 2012: Intel acquires QLogic's InfiniBand technology.
- 2016: Oracle Corporation manufactures its own InfiniBand interconnect chips and switch units.
- 2019: Nvidia acquired Mellanox for $6.9B
Ethernet over InfiniBand
EoIB enables multiple Ethernet bandwidths varying on the InfiniBand 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.
Type | Lanes | Bandwidth | Compatible Ethernet Type | 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 |