Kiến trúc RDMA – Remote Direct Memory Access
RDMA có một mục tiêu đơn giản: cho phép ứng dụng giao tiếp trực tiếp qua mạng mà không cần đi qua CPU hay hệ điều hành.
Để đạt được điều đó, RDMA tạo ra một kênh ảo (virtual channel) giữa hai ứng dụng từ xa. Mỗi đầu của kênh có một cặp hàng đợi công việc (Work Queue Pair – WQP) bao gồm:
Ứng dụng gửi/nhận dữ liệu bằng cách đưa các work request (yêu cầu công việc) vào hàng đợi này. Toàn bộ quá trình được RDMA message service xử lý và truyền đi bằng card mạng RDMA-aware NIC.
Các thành phần trong kiến trúc RDMA
Câu hỏi ôn tập
Ghép thành phần RDMA với mô tả đúng:
RDMA có một mục tiêu đơn giản: cho phép ứng dụng giao tiếp trực tiếp qua mạng mà không cần đi qua CPU hay hệ điều hành.
Để đạt được điều đó, RDMA tạo ra một kênh ảo (virtual channel) giữa hai ứng dụng từ xa. Mỗi đầu của kênh có một cặp hàng đợi công việc (Work Queue Pair – WQP) bao gồm:
- Send Queue – để gửi dữ liệu.
- Receive Queue – để nhận dữ liệu.
- Completion Queue – để thông báo khi một tác vụ hoàn tất.
Ứng dụng gửi/nhận dữ liệu bằng cách đưa các work request (yêu cầu công việc) vào hàng đợi này. Toàn bộ quá trình được RDMA message service xử lý và truyền đi bằng card mạng RDMA-aware NIC.
Các thành phần trong kiến trúc RDMA
- API
- Cho phép ứng dụng sử dụng RDMA thông qua RDMA message service.
- Được định nghĩa theo chuẩn InfiniBand để đảm bảo tương thích giữa các hệ điều hành và phần cứng khác nhau.
- RDMA message service
- Lớp phần mềm RDMA, cung cấp quyền truy cập tới phần cứng RDMA.
- Đóng vai trò trung gian, giúp ứng dụng gửi/nhận dữ liệu trực tiếp mà không cần hệ điều hành.
- Work Queue Pairs (WQP)
- Bao gồm send queue và receive queue.
- Ứng dụng sẽ “post” work request vào đây để thực hiện gửi/nhận dữ liệu.
- Sau khi xong, kết quả được ghi vào completion queue để báo cho ứng dụng.
- Work Requests (RDMA operations)
- Các tác vụ truyền dữ liệu.
- Hỗ trợ hai kiểu ngữ nghĩa: memory semantics (truy cập trực tiếp vào vùng nhớ) và channel semantics (truyền message theo kiểu socket-like).
- RDMA-aware Network Adapter (NIC)
- Card mạng hỗ trợ RDMA (ví dụ: InfiniBand HCA, RoCE NIC).
- Thực thi các yêu cầu RDMA và duy trì kết nối vật lý.
- Network Interconnect
- Hạ tầng vật lý: switch và cáp (InfiniBand hoặc Ethernet).
Câu hỏi ôn tập
Ghép thành phần RDMA với mô tả đúng:
- allows an application to use RDMA through the RDMA message service
👉 API - RDMA software, which provides access to the RDMA hardware
👉 RDMA message service - RDMA-capable network card
👉 RDMA-aware network adapter - a network of switches and cabling
👉 Network interconnect