Editing
Infiniband for 10Gbps to 100Gbps Networking
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Infiniband is a relatively longstanding networking technology originally made popular by the HPC crowd, and used for large-scale parallel computing tasks where Remote Direct Memory Access and the Message Passing Interface were vital to keep scientific calculations humming along. The legacy of all of this is that Infiniband, whilst not as consumer friendly as RJ45-based 1GbE or 10GbE, made the transition from 10Gb to 20Gb, then 40Gb and 56Gb and hit 100Gb a few years back. Such is the hunger for high-performance networking in the HPC space that old equipment is often discarded relatively quickly and the 10Gb and 20Gb parts are now relatively common. The Mellanox ConnectX-2 is a great example of this where a 2-port 40Gb (per port) card can be found for Β£35-40 on ebay with no difficulty. However, as a quick inspection of cards will reveal, the connections aren't as straightforward as ethernet. We have: * QSFP+ (QSFP28) The current ruler with 28bit wide channels x4 enabling 100Gb use cases. Most cards in this space are typically 100Gb as well as 100Gb Infiniband * QSFP+ (QSFP14) This is what you will see on more common FDR (56Gbit) cards, it consists of a 14bit wide channel x4 * QSFP+ (QSFP10) If it just says QSFP+ it usually means this standard 10x4 for a 40Gb connection, same port type as seen on modern 40GbE switches, where a single 40GbE connection is often broken out into 4 10GbE ports. * DDR A cable connection more often seen on direct-attached SAS disk shelves, the CX4 cable is a big thick copper cable rated for 20Gb * SDR 10Gb original variant, older cards often PCI-X as opposed to PCI-E. Now, as you may have guessed whilst all this is cheaper (much cheaper) than 10GbE and certainly cheaper than 40GbE there is still some cost involved. This is why I would recommend starting with 2 or 3 nodes, where a direct-connected or triangle setup is possible. In these cases connections are made host-to-host and no switch is required. Using dual-ported cards it looks like this with hosts A,B,C: {| class="wikitable" |- ! Node !! Connects to !! Address 1 !! Address 2 !! Route 1 !! Route 2 |- | A || B,C || 10.0.0.10 || 10.0.0.11 || route add -host 10.0.0.20 if ib0 || route add -host 10.0.0.31 if ib1 |- | B || C,A || 10.0.0.20 || 10.0.0.21 || route add -host 10.0.0.30 if ib0 || route add -host 10.0.0.11 if ib1 |- | C || A,B || 10.0.0.30 || 10.0.0.31 || route add -host 10.0.0.10 if ib0 || route add -host 10.0.0.21 if ib1 |} Now that's not the neatest arrangement to cable up but as the switch typically costs around 20x the cost of a card it's worth considering. The other point which was mentioned on a recent podcast was using a Subnet Manager. This is a concept foreign to ethernet networks, because for ethernet cards ethernet frames are understood natively. However, we're dealing with infiniband here and the native protocol ain't ethernet anymore! Of course the true aficionados would point out that using raw Infiniband is more efficient, faster and lower latency; but we (probably) aren't solving HPC problems in our home lab so TCP/IP compatability is... nice. To run TCP/IP over Infiniband we will use to IPoIB extension to Infiniband. In order to do this our network needs to have a Subnet Manager. You only need one subnet manager but they will get out of each others way and you always want at least one instance running so it makes sense to have a backup instance. If you're using Linux then simply install opensm (http://manpages.ubuntu.com/manpages/xenial/man8/opensm.8.html) on each host and configure them all to start on boot. If you're on ESXi then there's a great post by Erik (https://www.bussink.ch/?p=1306) and one by Vladan (https://www.vladan.fr/infiniband-in-the-lab-the-missing-piece-for-vsan/) Once the subnet is up, set the IP addresses and you're off!
Summary:
Please note that all contributions to Project Homelab may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Project Homelab:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Main page
About the Project
Get Involved!
Brainstorming
Wiki HOWTO
Article Template
Disclaimer
Recent changes
Random page
Help
Content
Requirements
Homelab Categories
Building a Homelab
Managing a Homelab
Securing a Homelab
Keep It Simple Stupid
HOWTO Articles
Decision Trees
The Unofficial HCL
Jargon Buster
Homelab Horror Stories
Free Learning Resources
Tools
What links here
Related changes
Special pages
Page information
[[File:nodespace-selfhosted-234x60-1.png|link=http://www.nodespace.com]]