Mellanox Academy

Connect with us:  Follow the Mellanox Community  Connect with Mellanox on Facebook  Follow Mellanox on Twitter  Connect with Mellanox on Google +  Watch Mellanox on YouTube  Network with Mellanox on LinkedIn

Mellanox Academy Course


Mellanox RDMA Application Programming

Part number: MTR-RDMA-OST-A

Duration: 2 Days

The purpose of this course is to provide students with knowledge and experience in writing application programs using RDMA.
The class will cover the basic required subjects, covering the network/fabric environment, RDMA advantages, RDMA message flow, Verbs API, and advanced features.

This course combines theory classes with hands-on practice lessons that will teach logical and methodological approaches to RDMA Verbs API programming. Practical exercises will use Mellanox Training Center Labs. The course will equip the trainees with verb writing tools, skills, and examples.


What's in it for me?

Are you an application programmer wanting to get the most performance out of your Mellanox investment? Do you want take advantage of RDMA’s performance?

Did you know that Mellanox Host Channel Adapters (HCA) can bypass the OS kernel using IB (Verbs) API, and that with RDMA it provides incredible application performance and greater CPU efficiency?

In some cases, we have seen over 400% improvement in performance.
It’s a rocket ship!

This class was built for folks like you – application developers who need the in-depth details of how to use RDMA with Mellanox products for today’s high bandwidth and low latency solutions.

Take this course and we will show you how.

The purpose of this course is to provide students with knowledge and experience in writing application programs using RDMA.

Practical exercises will use Mellanox Training Center Labs.
The course will equip the trainees with verb writing tools, skills, and examples.

Course Objectives

Upon completion of this course, the student will be able to:

  • Describe fabric and network environments
  • Describe RDMA message flow
  • Describe Verbs API
  • Describe the RDMA connection management
  • Design and implement RDMA applications, using OFED API Verbs/RDMACM

Target Audience

  • System programmers

Prerequisites

  • Experience with C programming
  • Experience with network applications (sockets programming)

Day 1 Agenda

Network & InfiniBand (IB) Fabric Environment Overview

  • InfiniBand Architecture Introduction
  • Basic IB Management Concepts
  • Device Addressing (LIDs & GUIDs)
  • IB Subnet Manager (SM) Overview
  • IB Upper Layer Protocols (ULPs)
  • IB Transport Layer

RDMA Programming Concepts

  • The Network Pesky Details
  • Queue Pairs (QP) and Work Request (WR)
  • Transport Services
  • RDMA Send Write Operations
  • RDMA Send Read Atomics
  • Main QP Transport Types
  • QP Transport Services
  • Requester & Responder Actions
  • Packet Format
  • Basic Model Posting, Processing and Completion
  • Practice What You’ve Learned

Verbs API Introduction

  • Verbs Introduction
  • Verbs Device Operation
  • Practice Exercise
  • Protection Domain Properties
  • QP Bring-up
  • QP States Overview
  • Active QP Operations
  • Scatter Gather Elements
  • Request Completion Notifications

Verbs with Multicast

  • Verbs Multicast Reception
  • Verbs Multicast Requests
  • Verbs Multicast Establishment
  • Attaching QP to Multicast Groups
  • Practice What You’ve Learned

Day 2 Agenda

RDMA Connection Management (CM) API

  • RDMA CM Overview
  • CM Connection Teardown
  • CM Abstraction
  • RC QP Server Flow
  • Practice What You’ve Learned

RDMA Design Patterns

  • RDMA Design Patterns Review
  • Using SDP
  • Using Bcopy Data Transfer
  • Zcopy Read & Write Data Transfer Operations
  • MPI Communications Methods
  • Eager Send & Recv
  • Rendezvous
  • Eager RDMA

Advance Subjects

  • RDMA with Immediate
  • Solicited Event (SE)
  • Asynchronous Events
  • RDMA Atomics
  • Work Request Operation Ordering
  • Using Shared Receive Queue (SRQ)
  • Extended Reliable Connected Transport Service (XRC)
  • Scalable Reliable Connected
  • XRC Usage in MPI
  • Using On-demand Connection (Pseudo Code)
  • Cleanup
  • Practice What You’ve Learned

Q&A Wrap Up

Get assistance from
Mellanox Academy

Call us: +1-408-419-0461
Email us: training@mellanox.com


Contact Form
* Please note all fields required.

* First Name:
* Last Name:
* Email:
* Comment:
* What is 2+5?