RoCE là gì? Giao thức cho phép truy cập bộ nhớ từ xa qua mạng Ethernet
Trong kỷ nguyên dữ liệu hiện nay, yêu cầu về một mạng lưới nhanh hơn, hiệu quả hơn và có thể mở rộng chưa bao giờ giảm bớt. Các kết nối Ethernet truyền thống sử dụng TCP/IP vốn đòi hỏi nhiều tài nguyên CPU và cần phải xử lý và sao chép dữ liệu thêm, không còn đáp ứng được nhu cầu mạng hiện tại. Chính trong bối cảnh đó, RDMA over Converged Ethernet (RoCE) ra đời. Để hiểu rõ hơn về RoCE, trước tiên chúng ta cần tìm hiểu về RDMA.
RDMA cho phép truyền tải dữ liệu trực tiếp giữa các thiết bị trong mạng mà không cần can thiệp vào CPU, và RoCE (RDMA over Converged Ethernet) là một giao thức triển khai hàng đầu của công nghệ này. RoCE cải thiện tốc độ truyền tải dữ liệu với độ trễ thấp, làm cho nó trở thành lựa chọn lý tưởng cho các môi trường tính toán hiệu năng cao và đám mây. Bài viết này sẽ khám phá cách RoCE nâng cao khả năng truyền tải dữ liệu qua mạng Ethernet.
RoCE là gì?
RoCE là một giao thức mạng được định nghĩa trong tiêu chuẩn của Hiệp hội Thương mại InfiniBand (IBTA), cho phép RDMA hoạt động qua mạng Ethernet. Nói một cách ngắn gọn, RoCE có thể được coi là ứng dụng của công nghệ RDMA cho phép truy cập bộ nhớ trực tiếp từ xa qua mạng Ethernet. RoCE mang lại tất cả những lợi ích của công nghệ RDMA kết hợp với sự phổ biến của hạ tầng mạng Ethernet, nó được áp dụng triển khai trong các trung tâm dữ liệu siêu hội tụ, Cloud, lưu trữ và các môi trường ảo hóa.
Giao thức RoCE có bao nhiêu phiên bản?
RoCE (RDMA over Converged Ethernet) có hai phiên bản chính là: RoCE v1 và RoCE v2, việc lựa chọn một trong hai giao thức này phụ thuộc vào Card mạng trên thiết bị của bạn có hỗ trợ không.
- RoCE v1: Giao thức RoCE v1 là một giao thức ở lớp liên kết Ethernet, cho phép hai máy chủ trong cùng một miền kết nối Ethernet (VLAN) giao tiếp với nhau mà không thông qua router hoặc các thiết bị định tuyến khác. Nó sử dụng Ethertype 0x8915, giới hạn độ dài khung dữ liệu là 1500 byte đối với khung Ethernet tiêu chuẩn và 9000 byte đối với khung Ethernet jumbo.
- RoCE v2: Giao thức RoCE v2 vượt qua hạn chế của phiên bản v1 khi bị giới hạn trong một miền kết nối duy nhất (VLAN). Bằng cách thay đổi bao đóng gói gói tin để bao gồm các tiêu đề IP và UDP, RoCE v2 có thể được sử dụng trên cả mạng L2 và L3. Điều này cho phép định tuyến Lớp 3, đưa RDMA vào các mạng với nhiều subnet, mang lại khả năng mở rộng tuyệt vời. Do đó, RoCE v2 còn được gọi là RoCE có thể định tuyến (RRoCE). Với sự ra đời của RoCE v2, việc sử dụng multicast qua IP cũng trở nên khả thi.
Những ưu điểm của RoCE
- Truy cập trực tiếp vào bộ nhớ: Vì RDMA over Converged Ethernet có thể truy cập trực tiếp vào bộ nhớ qua giao diện mạng thay vì qua kernel, nó cho phép truyền tải với độ trễ thấp và hiệu suất cao.
- Ít sự can thiệp của CPU: Truy cập bộ nhớ của switch hoặc server từ xa mà không làm tốn chu kỳ của CPU trên máy chủ từ xa, giúp tận dụng tối đa băng thông có sẵn và nâng cao khả năng mở rộng.
- Zero-copy: Cho phép gửi và nhận dữ liệu từ các bộ đệm từ xa mà không cần sao chép dữ liệu.
- Nâng cao hiệu suất: Vì độ trễ và băng thông đã được cải thiện nhờ RoCE, hiệu suất mạng đã được tăng cường đáng kể.
- Tiết kiệm chi phí: Với RoCE, không cần phải mua thiết bị mới hoặc thay thế cơ sở hạ tầng Ethernet để xử lý lượng dữ liệu khổng lồ, giúp tiết kiệm chi phí vốn cho các công ty.
Những hạn chế của RoCE
- Tắc nghẽn: Trong các tình huống multicast, các hàng đợi có thể bị tắc nghẽn, dẫn đến độ trễ của hàng đợi không thể bỏ qua.
- Mất gói tin: So với FC (Fibre Channel), Ethernet truyền thống dễ gặp phải tắc nghẽn và mất gói tin, việc gửi lại các gói tin bị mất có thể dẫn đến việc dữ liệu bị rối loạn.
- Độ trễ không ổn định: Mạng Ethernet dễ gặp phải độ trễ biến động lớn, và chế độ lưu trữ và chuyển tiếp của nó dẫn đến các quy trình tra cứu phức tạp và độ trễ chuyển tiếp cao.
Cách triển khai RoCE trong trum tâm dữ liệu
Để triển khai RDMA over Converged Ethernet (RoCE) cho một trung tâm dữ liệu, bạn cần cài đặt các bộ chuyển đổi mạng hoặc thẻ mạng hỗ trợ RoCE. Tất cả các NIC (Network Interface Cards) Ethernet đều yêu cầu thẻ mạng hỗ trợ RoCE. Các driver RoCE có sẵn cho các hệ điều hành phổ biến như Red Hat, Linux, Microsoft Windows và nhiều hệ điều hành khác.
RDMA over Converged Ethernet có thể được triển khai theo hai cách:
- Với các switch mạng: Bạn cần sử dụng các switch mạng có hệ điều hành hỗ trợ PFC. PFC là một tính năng quan trọng trong RoCE, giúp quản lý lưu lượng mạng hiệu quả và giảm tắc nghẽn, đặc biệt là trong các môi trường yêu cầu độ trễ thấp như RDMA. Một số dòng Switch hỗ trợ giao thức RoCE như Cisco Nexus 9000 Series, Cisco Catalyst 9000 Series, Mellanox NVIDIA Spectrum, Juniper QFX Series.
- Với máy chủ Server Rack: Đối với máy chủ của bạn, sẽ cần trang bị card mạng hỗ trợ RoCE, chẳng hạn như ConnectX-3 Pro, ConnectX-4 hoặc các phiên bản mới hơn. Các thẻ mạng này có khả năng hỗ trợ RoCE v1 và RoCE v2, giúp thiết lập kết nối RDMA trên môi trường Ethernet. Một số các card mạng hỗ trợ giao thức RoCE: Intel Ethernet Network Adapter XXV710, Intel Ethernet Network Adapter E810, Broadcom NetXtreme-E 10Gb, Broadcom FastLinQ 41000 Series, Mellanox ConnectX-4, Mellanox ConnectX-6 Dx.
Việc sử dụng đúng Card mạng và switch mạng hỗ trợ RoCE là yếu tố quan trọng để triển khai thành công RoCE trong một trung tâm dữ liệu hoặc môi trường mạng của bạn.
Sự khác biệt giữa RoCE và iWARP
Cả RoCE (RDMA over Converged Ethernet) và iWARP (Internet Wide Area RDMA Protocol) đều hỗ trợ công nghệ RDMA với độ trễ thấp, nhưng chúng có một số điểm khác biệt quan trọng:
Tính phổ biến và hỗ trợ
- RoCE là giải pháp RDMA dựa trên Ethernet duy nhất có tiêu chuẩn thế giới, với một hệ sinh thái đa nhà cung cấp cung cấp các bộ chuyển đổi mạng và hoạt động trên các switch Ethernet chuẩn Layer 2 và Layer 3. RoCE được hỗ trợ rộng rãi và có sự tích hợp mạnh mẽ trong các trung tâm dữ liệu và môi trường đám mây.
- iWARP, ngược lại, chỉ nhận được sự hỗ trợ tối thiểu từ một số các nhà cung cấp. Nó không phổ biến bằng RoCE và thường được sử dụng trong các môi trường mạng WAN (Wide Area Network).
Cấu trúc và công nghệ
- RoCE là một giao thức đơn giản hơn, sử dụng Ethernet để truyền tải dữ liệu RDMA và có thể hoạt động trực tiếp trên các switch Ethernet mà không cần bất kỳ thay đổi lớn nào trong cấu trúc mạng.
- iWARP sử dụng một kiến trúc phức tạp hơn, bao gồm một sự kết hợp các lớp như DDP (Direct Data Placement), MPA (Marker PDU Aligned framing) và một giao thức RDMA riêng biệt gọi là RDMAP để cung cấp dịch vụ RDMA qua TCP/IP. Cấu trúc phức tạp này khiến việc triển khai iWARP trong các hệ thống phần mềm hiện tại trở nên khó khăn hơn.
Hiệu suất
- RoCE với cấu trúc đơn giản và sự hỗ trợ phần cứng mạnh mẽ có thể cung cấp hiệu suất cao hơn về throughput, độ trễ và sử dụng CPU.
- iWARP mặc dù có khả năng RDMA qua TCP/IP nhưng với kiến trúc phức tạp, hiệu suất của iWARP thường bị suy giảm, đặc biệt là về throughput, độ trễ và sử dụng CPU.
Như vây, RoCE được ưa chuộng hơn nhờ vào sự hỗ trợ mạnh mẽ từ các nhà cung cấp, sự đơn giản trong triển khai và hiệu suất cao hơn, trong khi iWARP lại có một cấu trúc phức tạp và không được hỗ trợ rộng rãi, điều này khiến hiệu suất và tính linh hoạt của nó bị hạn chế.
Phần kết luận
Việc triển khai RDMA trong các trung tâm dữ liệu giúp giảm tải việc di chuyển dữ liệu và tăng cường khả năng sử dụng tài nguyên CPU cho ứng dụng. bạn có thể áp dụng RoCE để tận dụng các khả năng của công nghẹ truyền dữ liệu RDMA mà không cần thay đổi cơ sở hạ tầng mạng hiện tại. Bằng cách giảm độ trễ của mạng Ethernet và giảm bớt tải CPU, RoCE giúp cải thiện hiệu suất trong các ứng dụng tìm kiếm, lưu trữ, cơ sở dữ liệu, tài chính và các ứng dụng có các giao dịch trực tuyến cao. RoCE cũng giúp tăng hiệu quả của CPU và cải thiện hiệu suất ứng dụng, từ đó giảm số lượng máy chủ cần thiết, mang lại tiết kiệm năng lượng và giảm diện tích cần thiết cho các trung tâm dữ liệu dựa trên Ethernet.
Bình luận bài viết!