The Best Software-Defined Network for the Best Network Efficiency (or Getting Ready for Exascale)

Software-Defined Networking (SDN) is a concept that has emerged in recent years to decouple network control and forwarding functions. The one network type that does not require special effort to adjust it to the computational needs of high-performance computing, deep learning or any other data intensive application is InfiniBand. In this guest article, Mellanox Technologies’ Gilad Shainer and Eitan Zahavi explore Infiniband networks and the benefits and potential of software-defined networking. 

Software Defined Networking to Speed Data for Cori Supercomputer

NERSC is working with Cray to explore new ways to more efficiently move data in and out of Cori, a powerful supercomputer being constructed in California. “We need to take advantage of a network guru’s design for moving data for a specific experiment but have SDN do all of the bookkeeping for which compute nodes need to be connected to what networks,” said Brent Draney, group lead for the Networking, Servers and Security Group at NERSC. “I would rather see our network engineers analyze the data flow and how to meet the need instead of having to manually reconfigure the network for the demands of each job.”

Video: Software-Defined Networking on InfiniBand Fabrics

A design for virtual Ethernet networks over IB is described. The virtual Ethernet networks are implemented as overlays on the IB network. They are managed in a flexible manner using software. Virtual networks can be created, removed, and assigned to servers dynamically using this software. A virtual network can exist entirely on the IB fabric, or it can have an uplink connecting it to physical Ethernet using a gateway. The virtual networks are represented on the servers by virtual network interfaces which can be used with para-virtualized I/O, SRIOV,and non-virtualized I/O. This technology has many uses: communication between applications which are not IB-aware, communication between IB-connected servers and Ethernet-connected servers, and multi-tenancy for cloud environments. It can be used in conjunction with OpenStack, such as for tenant networks.”