InfiniBand

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

InfiniBand (abbreviated 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.[1]

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[2] 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,[3][4], RHEL, SLES, Windows, HP-UX, VMware ESX,[5] and AIX.[6] It is designed to be scalable and uses a switched fabric network topology.

As an interconnect, IB competes with Ethernet, Fibre Channel, and proprietary technologies[7] such as Intel Omni-Path.

The technology is promoted by the InfiniBand Trade Association.

Specification[edit]

Performance[edit]

Characteristics
  SDR DDR QDR FDR10 FDR EDR HDR NDR XDR
Signaling rate (Gbit/s) 2.5 5 10 10.3125 14.0625[8] 25.78125 50 100 250
Theoretical effective throughput (Gb/s),
per 1x[9]
2 4 8 10 13.64 25 50 100 250
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
Encoding (bits) 8/10 8/10 8/10 64/66 64/66 64/66 64/66 Undefined Undefined
Adapter latency (microseconds)[10] 5 2.5 1.3 0.7 0.7 0.5 less? Undefined Undefined
Year[11] 2001,
2003
2005 2007 2011 2011 2014[9] 2017[9] after 2020 future (after 2023?)

Links can be aggregated: most systems use a 4X aggregate. 8X and 12X links are typically used for cluster and supercomputer interconnects and for inter-switch connections.

InfiniBand also provides RDMA capabilities for low CPU overhead.

Topology[edit]

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).

Messages[edit]

InfiniBand transmits data in packets of up to 4 KB that are taken together to form a message. A message can be:

Physical interconnection[edit]

InfiniBand switch with CX4/SFF-8470 connectors

In addition to a board form factor connection, it supports both active and passive copper (up to 10 meters) and optical fiber cable (up to 10 km).[12] 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.[citation needed]

API[edit]

InfiniBand has no standard API. The standard only lists a set of verbs such as ibv_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 (product names: WinOF / WinOF-2; attributed as host controller driver for matching specific ConnectX 3 to 5 devices)[13] 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:

An AIX® application can determine the verbs API that is either the Open Fabrics Enterprise Distribution (OFED) verbs or the AIX InfiniBand (IB) verbs that must communicate with a specific destination.[14]

A presentation from Mellanox Technologies, dated 2014, with title "Verbs programming tutorial" states on page 31:[15]

  • 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[edit]

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.[16] 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.[17]

Timeline[edit]

  • 2001: Mellanox ships InfiniBridge 10Gbit/s devices and ships over 10,000 InfiniBand ports.[18]
  • 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.[19]
  • 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.[17] The OpenFabrics Alliance develops a standardized, Linux-based InfiniBand software stack. The following year Linux adds IB support.[20]
  • 2005: IB begins to be implemented as an interconnect for storage devices.[21]
  • 2009: of the top 500 supercomputers in the world, Gigabit Ethernet is the internal interconnect technology in 259 installations, compared with 181 using InfiniBand.[22]
  • 2010: Market leaders Mellanox and Voltaire merge, leaving just one other IB vendor, QLogic, primarily a Fibre Channel vendor.[23] Oracle makes a major investment in Mellanox.
  • 2011: FDR switches and adapters announced at the International Supercomputing Conference.[24]
  • 2012: Intel acquires QLogic's InfiniBand technology.[25]
  • 2016: Oracle Corporation manufactures its own InfiniBand interconnect chips and switch units.[26]

Extensions and Implementations[edit]

Ethernet over InfiniBand[edit]

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).

Performance[edit]

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[27]."

** 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.

See also[edit]

References[edit]

  1. ^ http://www.ddn.com/products/storage-platform-sfa12kx/config-specs
  2. ^ http://www.nextplatform.com/2016/02/22/oracle-engineers-its-own-infiniband-interconnects/
  3. ^ "Mellanox OFED for FreeBSD". Mellanox. Retrieved 19 September 2018.
  4. ^ Mellanox Technologies (3 December 2015). "FreeBSD Kernel Interfaces Manual, mlx5en". FreeBSD Man Pages. FreeBSD. Retrieved 19 September 2018.
  5. ^ "InfiniBand Cards - Overview". Mellanox. Retrieved 30 July 2014.
  6. ^ "Implementing InfiniBand on IBM System p (IBM Redbook SG24-7351-00)" (PDF).
  7. ^ Vance, Ashlee (2010-10-28). "China Wrests Supercomputer Title From U.S." New York Times.
  8. ^ https://cw.infinibandta.org/document/dl/7260
  9. ^ a b c http://www.infinibandta.org/content/pages.php?pg=technology_overview
  10. ^ http://www.hpcadvisorycouncil.com/events/2014/swiss-workshop/presos/Day_1/1_Mellanox.pdf // Mellanox
  11. ^ Panda, Dhabaleswar K.; Sayantan Sur (2011). "Network Speed Acceleration with IB and HSE" (PDF). Designing Cloud and Grid Computing Systems with InfiniBand and High-Speed Ethernet. Newport Beach, CA, USA: CCGrid 2011. p. 23. Retrieved 13 September 2014.
  12. ^ "Specification FAQ". ITA. Retrieved 30 July 2014.
  13. ^ Mellanox OFED for Windows - WinOF / WinOF-2
  14. ^ Verbs API
  15. ^ Verbs programming tutorial
  16. ^ Pentakalos, Odysseas. "An Introduction to the InfiniBand Architecture". O'Reilly. Retrieved 28 July 2014.
  17. ^ a b Kim, Ted. "Brief History of InfiniBand: Hype to Pragmatism". Oracle. Archived from the original on 8 August 2014. Retrieved 28 July 2014.
  18. ^ "Timeline". Mellanox Technologies. Retrieved 28 July 2014.
  19. ^ "Sun confirms commitment to InfiniBand". The Register. Retrieved 28 July 2014.
  20. ^ "Linux Kernel 2.6.11 Supports InfiniBand". Retrieved 29 July 2014.
  21. ^ "Is InfiniBand poised for a comeback?", Infostor, 10 (2)
  22. ^ Lawson, Stephen. "Two rival supercomputers duke it out for top spot". COMPUTERWORLD. Retrieved 29 July 2014.
  23. ^ Raffo, Dave. "Largest InfiniBand vendors merge; eye converged networks". Retrieved 29 July 2014.
  24. ^ "Mellanox Demos Souped-Up Version of InfiniBand". CIO. 20 June 2011. Retrieved 1 August 2011.
  25. ^ "Intel Snaps Up InfiniBand Technology, Product Line from QLogic". HPCwire. January 23, 2012. Retrieved 2012-01-27.
  26. ^ "Oracle Engineers Its Own InfiniBand Interconnects". The Next Platform. Retrieved 2016-02-24.
  27. ^ "Recent trends in next generation terabit Ethernet and gigabit wireless local area network". IEEE.


External links[edit]