Cung cấp các bản vá lỗi sớm đối với IO_uring, hỗ trợ gửi zero-copy cho hệ thống con mạng của nhân Linux có vẻ cực kỳ hứa hẹn cho thông lượng lớn hơn.

Nhà phát triển Pavel Begunkov đã đăng tập hợp mười hai bản vá hôm nay để hỗ trợ gửi không sao chép này cho IO_uring với hệ thống con mạng. Các bản vá ban đầu này được đánh dấu là”yêu cầu nhận xét”vì một số mục vẫn đang được phân loại cùng với mã.

Hỗ trợ gửi không sao chép IO_uring này hiện dành cho xử lý IPv4/UDP nhưng cũng có các bản vá TCP đang hoạt động. Mặc dù vẫn còn ở giai đoạn đầu và đang trong quá trình hoạt động, nhưng kết quả hiệu suất khiến chúng tôi khá phấn khích về triển vọng:

Udp đo điểm chuẩn (65435 byte) với thiết bị net giả (mtu=0xffff): Tốt nhất case io_uring=116079 MB/s so với msg_zerocopy=47421 MB/s hoặc nhanh hơn 2,44 lần.
….
Trường hợp tồi tệ nhất đối với io_uring vẫn nhanh hơn msg_zerocopy 1,88 lần và có một vài cách tối ưu”dễ dàng”được loại bỏ từ bộ vá. Đối với tải trọng 4096 byte zc chỉ nhỉnh hơn một chút so với phiên bản không phải zc, tải trọng càng lớn thì khoảng cách càng rộng.

Tuyệt vời khi thấy tất cả các công việc của hạt nhân diễn ra xung quanh IO_uring để lưu trữ và kết nối mạng. Xem loạt bản vá này nếu quan tâm đến tất cả các chi tiết.

Categories: IT Info