Bất kỳ một cải thiện nhỏ nào trong việc sử dụng tài nguyên, thậm chí 1 phần trăm, có thể tiết kiệm hàng triệu USD và rất nhiều năng lượng trong các trung tâm dữ liệu.

Một hệ thống mới lạ của các nhà nghiên cứu MIT tự động học cách phân bổ dữ liệu xử lý dữ liệu trên hàng ngàn máy chủ.

Một hệ thống mới được phát triển bởi các nhà nghiên cứu MIT tự động học hỏi cách thức lập lịch cho các hoạt động xử lý dữ liệu trên hàng ngàn máy chủ - một nhiệm vụ thường được dành cho các thuật toán do con người thiết kế. Làm như vậy có thể giúp các trung tâm dữ liệu, vốn đang rất đói năng lượng, chạy hiệu quả hơn nhiều.

Các trung tâm dữ liệu có thể chứa hàng chục ngàn máy chủ, liên tục chạy các tác vụ xử lý dữ liệu từ các nhà phát triển và người dùng. Thông thường, các thuật toán lập lịch phân bổ các nhiệm vụ đến các máy chủ, trong thời gian thực, để sử dụng hiệu quả tất cả các tài nguyên tính toán có sẵn và hoàn thành công việc nhanh chóng.

Tuy nhiên, con người tinh chỉnh các thuật toán lập lịch đó dựa trên những sự đánh đổi khác nhau. Ví dụ, họ có thể mã hóa thuật toán để ưu tiên làm nhanh một số công việc nhất định hoặc phân chia tài nguyên đồng đều giữa các công việc. Nhưng khối lượng công việc - các nhóm nhiệm vụ kết hợp - được gửi đến trung tâm dữ liệu với đủ kích cỡ. Do đó, con người không thể tối ưu hóa các thuật toán lập lịch cho từng khối công việc cụ thể và các trung tâm thường không đạt được tiềm năng hiệu quả thực sự của mình.

Thay vì dựa vào các thuật toán do con người tạo ra, các nhà nghiên cứu MIT đã chuyển nhiệm vụ này cho máy móc. Trong một bài báo được trình bày tại SIGCOMM, họ mô tả một hệ thống học tăng cường (Reinforcement Learning - RL), một kỹ thuật học máy thử và sai, để điều chỉnh các quyết định lên lịch cho khối lượng công việc cụ thể trong các cụm máy chủ cụ thể.

Để làm như vậy, họ đã xây dựng các kỹ thuật RL mới có thể được đào tạo với khối lượng công việc phức tạp. Trong đào tạo, hệ thống thử nhiều cách có thể để phân bổ khối lượng công việc đến các máy chủ, và cuối cùng sẽ tìm thấy sự đánh đổi tối ưu trong việc sử dụng tài nguyên tính toán ở trung tâm. Không cần sự can thiệp của con người, mà chỉ cần đưa cho hệ thống một yêu cầu nhất định, chẳng hạn như "tối thiểu hóa thời gian hoàn thành công việc".

Các trung tâm dữ liệu tiêu thụ khoảng 3% nguồn cung cấp điện toàn cầu và chiếm khoảng 2% tổng lượng khí thải nhà kính, dấu chân carbon tương đương với ngành công nghiệp hàng không. Các chuyên gia dự đoán rằng lượng điện tiêu thụ này sẽ còn tăng gấp 3 lần trong thập kỷ tới. Ảnh: Trung tâm dữ liệu của Facebook tại Lulea, Thụy Sĩ.

So với các thuật toán lập lịch 'viết tay' tốt nhất, hệ thống của MIT đã hoàn thành công việc nhanh hơn khoảng 20 đến 30% và nhanh gấp đôi trong thời gian lưu lượng truy cập cao. Hệ thống học được cách sắp xếp khối lượng công việc hiệu quả để trung tâm vận hành ít lãng phí nhất có thể. Kết quả cho thấy hệ thống có thể cho phép các trung tâm dữ liệu xử lý cùng một khối lượng công việc ở tốc độ cao hơn, sử dụng ít tài nguyên hơn.

"Nếu bạn có cách cho máy móc thực hiện thử và sai, chúng có thể thử các cách lập lịch công việc khác nhau và tự động tìm ra chiến lược tốt nhất", theo đánh giá của Hongzi Mao, nghiên cứu sinh tại Khoa Kỹ thuật Điện và Khoa học Máy tính (EECS), MIT. "Điều này có thể tự đọng cải thiện hiệu suất hệ thống. Và bất kỳ cải thiện nhỏ nào trong việc sử dụng tài nguyên, thậm chí 1 phần trăm, có thể tiết kiệm hàng triệu đô la và rất nhiều năng lượng trong các trung tâm dữ liệu".

"Không có một cách lập kế hoạch nào có thể phù hợp với tất cả các khối lượng công việc được gửi đến trung tâm", theo đồng tác giả Mohammad Alizadeh, giáo sư và nhà nghiên cứu của EECS trong Phòng thí nghiệm trí tuệ nhân tạo và khoa học máy tính (CSAIL). "Trong các hệ thống hiện có, cách lập kế hoạch là tham số được mã hóa cứng mà bạn phải quyết định trước. Thay vào đó, hệ thống của chúng tôi học cách điều chỉnh cách lập kế hoạch tùy thuộc vào trung tâm dữ liệu và khối lượng công việc".

Tham gia cùng Mao và Alizadeh trong nghiên cứu này là Malte Schwarzkopf, Shaileshh Bojja Venkatakrishnan, và trợ lý nghiên cứu sau đại học Zili Meng, tất cả đều là các nhà nghiên cứu của CSAIL.

Lên lịch bằng RL

Thông thường, các công việc xử lý dữ liệu đi vào các trung tâm dữ liệu được biểu diễn dưới dạng đồ thị với các nút mạng và liên kết các nút với nhau. Mỗi nút đại diện cho một số nhiệm vụ tính toán cần được thực hiện, trong đó nút càng lớn thì càng cần nhiều sức mạnh tính toán. Các cạnh kết nối các nút liên kết các nhiệm vụ với nhau. Các thuật toán lập lịch gán các nút cho các máy chủ, dựa trên các chính sách lập kế hoạch khác nhau.

Các hệ thống RL đưa ra quyết định và nhận tín hiệu phản hồi như các 'phần thưởng'. Về cơ bản, hệ thống RL cố gắng tối đa hóa phần thưởng của mình, do đó tìm ra một hành vi lý tưởng trong một bối cảnh nhất định.

Để đào tạo hệ thống RL của họ, có tên là Decima, các nhà nghiên cứu đã mô phỏng nhiều chuỗi biểu đồ khác nhau bắt chước khối lượng công việc đi vào trung tâm dữ liệu. Hệ thống RL sau đó đưa ra quyết định về cách phân bổ từng nút cho mỗi máy chủ. Đối với mỗi quyết định, có một thành phần sẽ tính toán 'phần thưởng' dựa trên mức độ hoàn thành một nhiệm vụ cụ thể - chẳng hạn như nhiệm vụ giảm thiểu thời gian trung bình để xử lý một công việc. Hệ thống tiếp tục cải thiện các quyết định của mình, cho đến khi nhận được phần thưởng cao nhất có thể.

Aditya Akella, giáo sư khoa học máy tính tại Đại học Wisconsin tại Madison, đã thiết kế một số lịch trình hiệu suất cao, nhận thấy hệ thống MIT có thể giúp lịch trình của họ cải thiện hơn nữa. "Decima có thể tìm cơ hội để tối ưu hóa [kế hoạch] mà quá đơn giản để nhận ra thông qua các quy trình thiết kế/ điều chỉnh thủ công", Akella nói. "Decima đã cải thiện kỹ thuật của chúng tôi thêm khoảng 30%, thật ngạc nhiên".

Tiếp theo, các nhà nghiên cứu hy vọng sẽ đào tạo mô hình bằng lưu lượng thời gian thực.

Nguồn: