Network Throughput Cao Nhưng Application Goodput Bằng 0 – Một Hiểu Lầm Phổ Biến Trong Thiết Kế Hạ Tầng AI và Storage
Khi đánh giá hiệu năng mạng, chúng ta thường nhìn vào các chỉ số rất quen thuộc như băng thông (Bandwidth) hoặc Throughput (lượng data thật sự được truyền). Tuy nhiên, trong các hệ thống AI, Storage hay cơ sở dữ liệu giao dịch (Transactional Database), điều quan trọng hơn lại là Application Goodput – tức lượng công việc thực sự được ứng dụng hoàn thành.
Hình minh họa trên cho thấy một tình huống rất thực tế. Một ứng dụng cần thực hiện 1000 thao tác I/O để hoàn thành một giao dịch và chuyển sang bước tiếp theo. Mỗi thao tác I/O có kích thước 1 MB. Với 1000 IOPS, hệ thống đang truyền tải khoảng 1 GB dữ liệu mỗi giây, đủ để làm đầy một đường truyền 10 Gbps. Nhìn từ góc độ mạng, chúng ta thấy mọi việc có vẻ vẫn ổn:
Đó cũng là nguyên nhân các hạ tầng AI hiện đại sử dụng nhiều công nghệ như RDMA/RoCEv2, Priority Flow Control (PFC), Explicit Congestion Notification (ECN), Lossless Ethernet, Congestion Management...
Mục tiêu của các công nghệ & các giao thức trên không phải là làm cho đường truyền nhanh hơn, mà là đảm bảo mọi I/O đều hoàn thành đúng thời gian và đúng thứ tự để GPU, Storage hoặc Database không phải chờ đợi.
Bài học thực tế: Khi triển khai AI Infrastructure hoặc Storage Network, đừng chỉ hỏi "đường truyền chạy được bao nhiêu Gbps?". Chúng ta hãy kiểm tra thêm: "Ứng dụng thực sự hoàn thành được bao nhiêu công việc?". Đó mới là thước đo phản ánh giá trị thật của hệ thống.
Khi đánh giá hiệu năng mạng, chúng ta thường nhìn vào các chỉ số rất quen thuộc như băng thông (Bandwidth) hoặc Throughput (lượng data thật sự được truyền). Tuy nhiên, trong các hệ thống AI, Storage hay cơ sở dữ liệu giao dịch (Transactional Database), điều quan trọng hơn lại là Application Goodput – tức lượng công việc thực sự được ứng dụng hoàn thành.
Hình minh họa trên cho thấy một tình huống rất thực tế. Một ứng dụng cần thực hiện 1000 thao tác I/O để hoàn thành một giao dịch và chuyển sang bước tiếp theo. Mỗi thao tác I/O có kích thước 1 MB. Với 1000 IOPS, hệ thống đang truyền tải khoảng 1 GB dữ liệu mỗi giây, đủ để làm đầy một đường truyền 10 Gbps. Nhìn từ góc độ mạng, chúng ta thấy mọi việc có vẻ vẫn ổn:
- Link đang chạy gần 100%
- Throughput đạt tối đa
- Không có dấu hiệu nghẽn băng thông
- Toàn bộ phiên trao đổi transaction bị treo
- 999 I/O trước đó chưa tạo ra giá trị kinh doanh
- Ứng dụng timeout
- Goodput thực tế bằng 0
Đó cũng là nguyên nhân các hạ tầng AI hiện đại sử dụng nhiều công nghệ như RDMA/RoCEv2, Priority Flow Control (PFC), Explicit Congestion Notification (ECN), Lossless Ethernet, Congestion Management...
Mục tiêu của các công nghệ & các giao thức trên không phải là làm cho đường truyền nhanh hơn, mà là đảm bảo mọi I/O đều hoàn thành đúng thời gian và đúng thứ tự để GPU, Storage hoặc Database không phải chờ đợi.
Bài học thực tế: Khi triển khai AI Infrastructure hoặc Storage Network, đừng chỉ hỏi "đường truyền chạy được bao nhiêu Gbps?". Chúng ta hãy kiểm tra thêm: "Ứng dụng thực sự hoàn thành được bao nhiêu công việc?". Đó mới là thước đo phản ánh giá trị thật của hệ thống.