User Tools

Site Tools


network_stuff:machine_learning:networking

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
network_stuff:machine_learning:networking [2025/07/15 18:06] jotasandokunetwork_stuff:machine_learning:networking [2025/07/15 21:08] (current) jotasandoku
Line 52: Line 52:
 ==== LAN PROTOCOLS IN AI NETWORKING ==== ==== LAN PROTOCOLS IN AI NETWORKING ====
  
-=== NVIDIA InfiniBand ===+=== InfiniBand ===
 **InfiniBand** is a key technology for AI workloads, widely used in high-performance computing (HPC) and AI clusters for its **ultra-low latency**, **high throughput**, and **lossless performance**. It plays a crucial role in enabling efficient communication between nodes, especially for distributed machine learning tasks where large amounts of data need to be shared rapidly across many devices. **InfiniBand** is a key technology for AI workloads, widely used in high-performance computing (HPC) and AI clusters for its **ultra-low latency**, **high throughput**, and **lossless performance**. It plays a crucial role in enabling efficient communication between nodes, especially for distributed machine learning tasks where large amounts of data need to be shared rapidly across many devices.
  
Line 89: Line 89:
   * **Interoperability**: Since RoCE is based on Ethernet, it can be more easily integrated with existing Ethernet-based infrastructure while still providing RDMA-like performance.   * **Interoperability**: Since RoCE is based on Ethernet, it can be more easily integrated with existing Ethernet-based infrastructure while still providing RDMA-like performance.
   * **Compatibility with AI Workloads**: Like InfiniBand, **RoCE** supports high-speed, low-latency, and lossless communication, making it ideal for distributed AI workloads such as training deep learning models across multiple GPUs or nodes.   * **Compatibility with AI Workloads**: Like InfiniBand, **RoCE** supports high-speed, low-latency, and lossless communication, making it ideal for distributed AI workloads such as training deep learning models across multiple GPUs or nodes.
-  * QP (Queue Pair): is a fundamental concept representing an RDMA connection. It consists of a send queue and a receive queue. +  * __QP (Queue Pair)__: is a fundamental concept representing an RDMA connection. It consists of a send queue and a receive queue. 
-  * BTH Base Transport Header: is a key component within RoCEv2 packets, carrying essential information like:#+  * __BTH Base Transport Header__: is a key component within RoCEv2 packets, carrying essential information like:#
     * Packet Sequence Number (PSN), QP Number, and acknowledgment request bits.     * Packet Sequence Number (PSN), QP Number, and acknowledgment request bits.
 \\ \\
-== ROCE VERBS == +Packet structure: 
-**TODO**+  Ethernet Header → IP Header → UDP Header → RoCE Packet (BTH + Payload) 
 +The Base Transport Header (BTH) is a key component of the InfiniBand transport layer. It contains essential information for delivering messages in InfiniBand or RDMA over Converged Ethernet (RoCE). 
 + 
 +\\ 
 +Specifies the operation type (e.g., RDMA read, write, send, atomic). 
 +  * Solicited Event Indicator (SE): Indicates if a completion event is required. 
 +  * Migration State (M): Manages Queue Pair (QP) state transitions. 
 +  * P_Key: Identifies the partition the packet belongs to. 
 +  * Destination QP: Specifies the target Queue Pair for the message. 
 +  * Packet Sequence Number (PSN): Ensures ordered delivery and detects packet loss. 
 +  * Acknowledgment Request (A): Signals if an acknowledgment is needed for reliable transport. 
 +  * Resync Request (R): Handles retransmissions in reliable modes. 
 + 
 + 
 +== RDMA VERBS == 
 +They are the **same** for both infiniband and rocev2 
 +  * ibv_alloc_pd: Allocates a Protection Domain for resources. 
 +  * ibv_reg_mr: Registers a memory region for RDMA operations. 
 +  * ibv_create_cq: Creates a Completion Queue to track work completions. 
 +  * ibv_create_qp: Creates a Queue Pair for sending and receiving data. 
 +  * ibv_modify_qp: Changes the state or properties of a Queue Pair. 
 +  * ibv_post_send: Posts a send work request to the send queue. 
 +  * ibv_post_recv: Posts a receive work request to the receive queue. 
 +  * ibv_poll_cq: Polls a Completion Queue for completed work requests. 
 +  * ibv_query_device: Retrieves attributes of an RDMA device. 
 +  * ibv_get_device_list: Lists available RDMA devices.
  
  
network_stuff/machine_learning/networking.1752602800.txt.gz · Last modified: by jotasandoku