Quy trình kiểm soát tắc nghẽn của các nhà nghiên cứu MIT có thể giúp hội thảo trực tuyến, truyền phát video, trò chơi di động và các ứng dụng khác chạy trơn tru hơn.
Các nhà nghiên cứu MIT đã thiết kế một quy trình kiểm soát tắc nghẽn cho các mạng không dây, giúp giảm độ trễ và tăng chất lượng truyền phát video, trò chuyện video, chơi game di động và các dịch vụ web khác.
Để các trang web có thể hoạt động trơn tru và ổn định, cần có các quy trình kiểm soát tắc nghẽn. Quy trình này làm nhiệm vụ đưa ra thông tin về dung lượng băng thông mạng và tắc nghẽn dựa trên phản hồi từ các bộ định tuyến mạng, giúp bên cung cấp nội dung xác định tốc độ gửi các gói dữ liệu qua mạng.
Không dễ để bên cung cấp nội dung quyết định được tốc độ gửi hợp lý. Người gửi không muốn bảo thủ quá mức: Nếu băng thông mạng liên tục thay đổi từ, 2 megabyte/ giây đến 500 kilobyte/ giây, người gửi có thể luôn gửi nội dung ở tốc độ thấp nhất, 2 megabyte. Nhưng nếu như vậy thì video hoặc cuộc gọi qua mạng của bạn sẽ luôn có chất lượng thấp mà không tận dụng được các mức công suất cao hơn 2 megabyte. Mặt khác, nếu người gửi liên tục duy trì tốc độ cao, chẳng hạn như 500 kilobyte, thì khi băng thông mạng xuống thấp hơn sẽ gây quá tải, dồn đống hàng loạt các gói dữ liệu đang chờ được gửi. Các gói đang phải "xếp hàng" này có thể làm tăng độ trễ, gây gián đoạn và khiến cho cuộc gọi Skype của bạn bị dừng hình.
Với các mạng không dây còn phức tạp hơn vì có các liên kết "thay đổi theo thời gian", thay đổi băng thông nhanh chóng và không thể đoán trước. Tùy thuộc vào các yếu tố khác nhau, chẳng hạn như số lượng người dùng mạng, vị trí tháp phát sóng và thậm chí các tòa nhà xung quanh, băng thông có thể tăng gấp đôi hoặc giảm xuống 0 chỉ trong một phần của giây.
Trong một bài viết tại Hội nghị chuyên đề USENIX về thiết kế và triển khai hệ thống nối mạng, các nhà nghiên cứu đã trình bày về quy trình kiểm soát "Accel-Brake Control" (ABC), một quy trình đơn giản nhưng đạt được thông lượng cao hơn khoảng 50% và giảm một nửa độ trễ của mạng, ngay trên các liên kết "thay đổi theo thời gian".
Quy trình này dựa trên một thuật toán mới cho phép các bộ định tuyến giao tiếp rõ ràng rằng: người gửi nên truyền bao nhiêu gói dữ liệu để tránh tắc nghẽn mà vẫn sử dụng hết khả năng băng thông của mạng. Nó cung cấp thông tin chi tiết từ các nút cổ chai - chẳng hạn như các gói nội dung bị xếp hàng giữa các tháp phát sóng và người gửi - bằng cách tái sử dụng một bit đơn có sẵn trong các gói nội dung gửi qua internet. Các nhà nghiên cứu đã làm việc với các nhà khai thác mạng di động để thử nghiệm quy trình này.
"Trong các mạng di động, băng thông thay đổi nhanh chóng, gây ra độ trễ vì các quy trình kiểm soát tắc nghẽn truyền thống không thích nghi kịp với những thay đổi đó," theo Prateesh Gidel, tác giả nghiên cứu và học viên cao học tại Phòng thí nghiệm khoa học máy tính và trí tuệ nhân tạo MIT (CSAIL). "ABC cung cấp thông tin phản hồi chi tiết về những thay đổi đó, cho dù băng thông đi lên hay xuống, sử dụng một bit dữ liệu duy nhất."
Khả năng kiểm soát
Các quy trình kiểm soát tắc nghẽn truyền thống theo dõi xem gói nội dung nào bị mất hoặc theo dõi thông tin từ một bit trong một gói nội dung để nhận thấy tắc nghẽn. Một bộ định tuyến, chẳng hạn như một trạm phát sóng, sẽ đánh dấu bit đó để cảnh báo người gửi - giả sử, một máy chủ phát video - rằng các gói dữ liệu đã gửi bị xếp trong một hàng dài, báo hiệu tắc nghẽn. Đáp lại, người gửi sau đó sẽ giảm tốc độ bằng cách gửi ít gói hơn. Người gửi cũng giảm tốc độ gửi của họ nếu phát hiện nhiều gói bị mất trước khi đến được người nhận.
Để cung cấp được nhiều thông tin hơn về các liên kết bị tắc nghẽn trên đường dẫn mạng, các nhà nghiên cứu đã đề xuất các quy trình rõ ràng hơn, dùng nhiều bit trong các gói để xác định tốc độ hiện tại. Nhưng để dùng phương pháp này thì phải thay đổi hoàn toàn cách thức internet gửi dữ liệu và không thể triển khai thực tế.
"Rất khó làm thế," Alizadeh nói. "Sẽ phải thực hiện các thay đổi xâm lấn đến Giao thức Internet (IP) tiêu chuẩn trong việc gửi các gói dữ liệu. Bạn phải thuyết phục tất cả các bên Internet, nhà khai thác mạng di động, nhà cung cấp dịch vụ và tháp di động thay đổi cách họ gửi và nhận gói dữ liệu. Điều đó sẽ không xảy ra."
Với ABC, các nhà nghiên cứu vẫn sử dụng chính bit đơn có sẵn trong mỗi gói dữ liệu, nhưng họ làm cho một bit này có thể cung cấp thông tin thời gian thực cần thiết cho bên gửi nội dung, nhờ tổng hợp thông tin từ nhiều gói dữ liệu.
Quy trình ABC theo dõi từng gói dữ liệu trong một vòng lặp, từ người gửi đến trạm phát sóng đến người nhận. Trạm phát sóng đánh dấu một bit cần theo dõi trong mỗi gói là "tăng tốc" hoặc "phanh", dựa trên băng thông mạng hiện tại. Khi gói nội dung đã được nhận, bit được đánh dấu sẽ báo trở về cho người gửi là nên tăng hoặc giảm tốc độ gửi các gói dữ liệu tiếp theo.
Nếu nhận được lệnh tăng tốc, có nghĩa là gói nội dung đang được vận chuyển hiệu quả và đường truyền mạng còn băng thông dư có thể sử dụng.
Được sử dụng trên tất cả các gói nội dung trong mạng, một bit thông tin sẽ trở thành một công cụ phản hồi mạnh mẽ cho người gửi biết tốc độ gửi của họ với độ chính xác cao. Trong vòng vài trăm mili giây, nó có thể thay đổi tốc độ của người gửi về 0 hoặc lên gấp đôi. "Bạn có thể nghĩ rằng một bit không mang đủ thông tin," theo Alizadeh. "Tuy nhiên, bằng cách tổng hợp thông tin phản hồi từ một bit qua nhiều vị trí, chúng ta có thể có được hiệu ứng tương tự như tín hiệu nhiều bit."
Đi trước một bước
Cốt lõi của ABC là một thuật toán dự đoán trước tốc độ gửi nội dung của vòng lặp tiếp theo, để tính toán xem nên đánh dấu bit phản hồi trong các gói hiện tại là tăng hay giảm tốc.
Một trạm phát sóng được trang bị ABC sẽ biết người gửi sẽ hành xử như thế nào trong vòng lặp tiếp theo - duy trì, tăng hoặc giảm các gói - dựa trên cách trạm này đánh dấu gói nội dung hiện đang được gửi đến người nhận. Ngay khoảnh khắc trạm gửi đi một gói, nó biết có bao nhiêu gói sẽ đến từ người gửi trong vòng lặp ngay sau. Nó sử dụng thông tin đó để đánh dấu các gói đang gửi để khớp chính xác hơn tốc độ của người gửi với băng thông mạng hiện tại.
Trong các mô phỏng, so với các quy trình kiểm soát tắc nghẽn truyền thống, ABC đạt được thông lượng lớn hơn khoảng 30 đến 40%. Ngoài ra, nó có thể giảm độ trễ khoảng 200 đến 400% nếu duy trì thông lượng tương tự như các quy trình truyền thống. "Về cơ bản, các chương trình hiện nay có thể cho phép thông lượng thấp và độ trễ thấp, hoặc thông lượng cao và độ trễ cao, trong khi ABC đạt được thông lượng cao với độ trễ thấp," Goyal nói.
Tiếp theo, các nhà nghiên cứu đang cố gắng xem liệu các ứng dụng và dịch vụ web có thể sử dụng ABC để kiểm soát tốt hơn chất lượng nội dung hay không. Ví dụ, "một nhà cung cấp nội dung video có thể sử dụng thông tin từ ABC để chọn độ phân giải của video phát trực tiếp sao cho hợp lý hơn," theo Alizadeh. "Nếu không có đủ dung lượng, máy chủ video có thể tạm thời giảm độ phân giải, do đó video sẽ tiếp tục phát ở chất lượng cao nhất có thể mà không bị ngừng lại."