By Paul Grun
The Annual OpenFabrics Alliance (OFA) Workshop is just around the corner – March 17-19, 2020 in Columbus, Ohio – and we are especially excited about how this year’s program is coming together. At the OFA Workshop 2019, we introduced a hands-on tutorial allowing participants to install an RDMA-enabled cluster directly on their laptop. In response to the overwhelmingly positive feedback, we are thrilled to be building on last year’s success by expanding the tutorials being offered this year.
One of the OFA’s primary goals is to create a neutral environment where collaboration and development of Advanced Networks Software between leading fabric developers and users can occur. The annual OFA Workshop is a key driver of this effort and provides a unique opportunity for experts, developers and those just beginning an exploration into advanced networking to come together, exchange information and learn from each other.
A History of Collaboration on Advanced Networks Software
Over the past few years, the OFA has made a concerted effort to offer more collaborative opportunities as part of the workshop program. This first came in the form of an industry “Town Hall” in 2017 that encouraged an open dialogue between users, developers and the OFA leadership to come to a working consensus on the shared technical challenges and opportunities in new high-performance network applications – such as Artificial Intelligence, Cloud and Remote Persistent Memory.
In 2018, “Think Tanks” were added to the workshop program, which allowed groups of attendees to explore and dissect existing industry “Grand Challenges” throughout the week as facilitated by expert moderators. The Think Tanks resulted in extremely valuable industry dialogue, providing useful direction setting for the OFA community and its working groups.
In keeping with the OFA’s mission to accelerate adoption of advanced networking technologies, such as Remote Direct Memory Access (RDMA), a tutorial program was created in 2019 aimed squarely at workshop attendees who are interested in experimenting with RDMA, getting started with advanced networks or increasing their networking skillset.
At last year’s gathering, OFA Vice Chair Doug Ledford of member company Red Hat led the multi-session tutorial on how to setup an RDMA-enabled mini-cluster on a laptop. The objective for attendees was to go from a laptop with VirtualBox software installed to a working mini-cluster that is RDMA-enabled for hands-on experimentation and testing. This guided tutorial was intended for attendees to get a working RDMA-enabled setup on their personal computer and when complete, be able to experiment with the various features of RDMA both in kernel and user space.
OFA Workshop 2020 – Tutorials Overview
For those new to the genre, “advanced networking” refers to programming models and network technology designed to eliminate networking overheads and accelerate communication across the network. There are two approaches to advanced networking in wide deployment in the industry today. The first approach, called RDMA, refers to the use of the Verbs API to speed access to network services provided by an RDMA-enabled network, such as InfiniBand, RoCE (RDMA over Converged Ethernet), or iWARP. The second, a newer approach, is referred to generically as OpenFabrics Interfaces (OFI), which takes advantage of the libfabric family of APIs to smooth application access to a wide array of network technologies (including RDMA-enabled networks).
At the OFA 2020 Workshop, both approaches will be presented in the guise of two basic tutorials – one devoted to verbs and verbs programming, and the other providing an introduction to the OpenFabrics Interfaces project (i.e. libfabric). Beyond those two, there will also be an advanced tutorial focusing on applying advanced networking techniques, whether verbs-based or libfabric-based, to developing distributed programming middleware and applications for HPC.
Below is a general breakdown of the three tutorials being offered at this year’s OFA Workshop:
Basic Verbs and Verbs Programming (Two parts)
- Part 1: Ledford will reprise last year’s tutorial. You will exit this two-hour tutorial with a working RDMA-enabled cluster on your laptop. When complete, your new cluster will be suitable for experimenting with the various features of RDMA both in kernel and user space. During the tutorial, participants will walk through setting up the required infrastructure using VirtualBox for the network backend and creating the needed machine descriptions for a head node and multiple compute nodes. Attendees will then install the actual distro code to energize the new cluster. The session will also cover configuring RDMA software on the head node and configure access to the head node on the client nodes. This tutorial serves as the prerequisite for Part 2 – Verbs Programming.
- Part 2: Hari Subramoni, Research Scientist in the Dept. of Computer Science & Engineering at the Ohio State University will provide an introduction to programming with Verbs. This fast-paced, hands-on tutorial will leverage the cluster developed during Doug’s tutorial, which is a prerequisite. At the conclusion of this part, participants will come away with an appreciation for the basics of programming for an RDMA-enabled network.
Introduction to the OpenFabrics Interfaces project
- Sean Hefty of member company Intel, and the lead developer of OpenFabrics Interfaces (OFI), will introduce the libfabric architecture and APIs. libfabric is designed to minimize the impedance mismatch between applications, middleware and fabric communication hardware. Its interfaces target high-bandwidth, low-latency NICs with a goal to scale to tens of thousands of nodes. libfabric is supported by a variety of open source HPC middleware applications, including MPICH, Open MPI, Sandia SHMEM, Open SHMEM, Charm++, GasNET, Clang, UPC and others. This tutorial will introduce libfabric from a practical, user perspective. The basic libfabric architecture relies on a number of network “providers”, allowing an application which has been written to the libfabric API to smoothly migrate between different fabrics. Thanks to the existence of a Verbs Provider, all the verbs-based RDMA fabrics such as InfiniBand, RoCE, or iWARP are in the realm of possibility.
Topics in Applying Advanced Networking to Modern Distributed Computing
- In addition to Basic Verbs and Verbs Programming Part 2, Subramoni will also be teaching the final tutorial focusing on the ways that currently available distributed computing middleware (MPI, PGAS, SHMEM and others) leverage advanced networking technologies, whether by deploying Verbs or libfabric as the access point to the underlying network hardware and software. He will also be looking ahead into how to develop better middleware, APIs, and programming environments so that modern network-based computing applications can be developed and implemented in a scalable and high-performance manner.
Reserve Your Spot Today!
OpenFabrics Alliance Workshop 2020
Tuesday, March 17 – Thursday, March 19, 2020
Columbus, Ohio USA
The OFA is committed to accelerating the development of high-performance fabrics. The annual OFA Workshop is a premier means of fostering collaboration among those who develop fabrics, deploy fabrics, and create applications that rely on fabrics. It is the only event of its kind where fabric developers and users can discuss emerging fabric technologies, collaborate on future industry requirements, and address problems that exist today.