Điểm:2

RDMA truyền giữa hai máy chủ mà không cần CPU như thế nào?

lá cờ mx

Tôi đã đọc về RoCE và nó nói về việc chuyển bản sao dữ liệu bằng không giữa bộ nhớ trong một máy chủ trực tiếp sang bộ nhớ của một ứng dụng trong máy chủ khác. Hầu hết các bài viết đưa ra quan điểm để nói rằng điều này được thực hiện mà không có sự tham gia của CPU. Tôi không hiểu làm thế nào điều này được thực hiện mặc dù. Làm cách nào để dữ liệu nhận được từ bộ chuyển đổi sang RAM mà không cần xử lý từ CPU? Làm cách nào để biết dữ liệu của ứng dụng nằm ở đâu trong RAM?

djdomi avatar
lá cờ za
cung cấp tốt tài liệu học tập hoặc yêu cầu không có chủ đề, hãy bắt đầu đọc Wikipedia https://en.m.wikipedia.org/wiki/Remote_direct_memory_access giải thích hầu hết tất cả các câu hỏi phụ mà bạn hiện có
Điểm:3
lá cờ cn

Tôi nghĩ bạn hiểu nhầm "không có CPU". Điều đó không có nghĩa là CPU hoàn toàn không tham gia - điều đó chỉ có nghĩa là CPU không thực hiện sao chép. Nó thực hiện - thông qua trình điều khiển - thiết lập thao tác sao chép và sau đó phần cứng thực hiện xử lý thực tế.

Liên kết của bạn nói RẤT rõ ràng - chỉ cần đọc nó:

RDMA hỗ trợ kết nối mạng không sao chép bằng cách cho phép bộ điều hợp mạng truyền dữ liệu trực tiếp từ dây

Đó là thao tác sao chép, không phải thiết lập. Ai đó phải nói với bộ điều hợp mạng.

Hiểu rằng các mạng hiện đại mà điều này thực sự tỏa sáng là 100+ gigabit - 10 gigabyte+ - mỗi giây, thường là nhiều đường kết hợp, với cao cấp ngày nay là 400gigabit.

Đó là rất nhiều - để CPU đọc từ RAM, lặp lại nó rồi gửi nó đến Bộ điều hợp, khi bạn có thể chỉ cho bộ điều hợp biết bộ nhớ nào sẽ đọc và gửi.

Nhưng một lần nữa, "không liên quan" không phải là "không có CPU nào cả", mà là "CPU không sao chép dữ liệu". Nó vẫn làm tất cả các điều khiển.

lá cờ br
Bạn đúng 100% (như thường lệ Tom ;)) - Tôi chỉ mới sử dụng nó trên Infiniband dưới dạng RDMA, chứ không phải ROCE, nhưng thật kỳ lạ là bạn nhận được rất ít tác động đến CPU, có một số như bạn nói nhưng đó là một công nghệ tuyệt vời - và tất nhiên cho phép chia sẻ các khối bộ nhớ giữa nhiều máy chủ - hữu ích cho những thứ như liên kết bộ đệm. Đáng tin cậy quá!
Grant Curell avatar
lá cờ mx
Vì vậy, trong trường hợp này thì CPU vẫn cung cấp địa chỉ đọc/ghi cho NIC, sau đó NIC sẽ chuyển dữ liệu ra khỏi dây trực tiếp đến địa chỉ được chỉ định trong bộ nhớ?
lá cờ cn
Ừ. Lưu ý rằng tùy thuộc vào cách thiết lập phần cứng - thiết bị có thể ánh xạ không gian bộ đệm vào không gian bộ nhớ. Bạn hiểu ý chứ? Giống như bạn có thể có bộ đệm đọc TRÊN NIC để bộ điều khiển lưu trữ đọc trực tiếp. Có RẤT NHIỀU thứ ở cấp cao - tức là RAID 5/6. Hiện tại có các thẻ Mạng có thể thực hiện phép tính. Tại sao? Bởi vì RAID 6 có thể xử lý đĩa trên nhiều máy chủ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.