Các trung tâm dữ liệu đám mây lớn phải đối mặt với một thách thức liên tục: phân bổ hàng triệu công việc xử lý, hay còn gọi là máy ảo (VM), một cách hiệu quả nhất có thể. Tương tự như trò chơi xếp hình Tetris, nơi các khối rơi xuống và cần được sắp xếp chặt chẽ, các trung tâm dữ liệu phải liên tục “đóng gói” các máy ảo lên các máy chủ vật lý. Tuy nhiên, các “khối” máy ảo này lại xuất hiện và biến mất với tuổi thọ không xác định, có khi chỉ vài phút, có khi kéo dài nhiều ngày. Việc không biết trước được tuổi thọ của máy ảo khiến bài toán trở nên phức tạp, dẫn đến lãng phí tài nguyên và giảm số lượng máy chủ trống – vốn rất cần thiết cho các tác vụ cập nhật hệ thống hay cung cấp máy ảo lớn.
Sự phân bổ máy ảo kém hiệu quả không chỉ gây tổn thất về kinh tế mà còn ảnh hưởng đến môi trường. Nó dẫn đến tắc nghẽn tài nguyên, khi các tài nguyên còn lại trên một máy chủ quá nhỏ hoặc không cân đối để chứa máy ảo mới, làm lãng phí công suất. Để giải quyết bài toán đóng gói thùng phức tạp này, Google đã phát triển LAVA – một thuật toán lập lịch mới, sử dụng trí tuệ nhân tạo (AI) để tái dự đoán liên tục và thích ứng với tuổi thọ thực tế của máy ảo, từ đó tối ưu hóa hiệu suất tài nguyên trong các trung tâm dữ liệu đám mây quy mô lớn.
Nội dung chính
Nâng tầm dự đoán: Từ tuổi thọ máy ảo đến phân phối xác suất
Một trong những thách thức lớn nhất trong việc quản lý máy ảo là tuổi thọ của chúng thường khó đoán và tuân theo một phân phối đuôi dài. Điều này có nghĩa là, trong khi phần lớn máy ảo (88%) chỉ tồn tại dưới một giờ, chúng lại chỉ tiêu thụ một phần rất nhỏ (2%) tổng tài nguyên. Ngược lại, một số ít máy ảo có tuổi thọ dài lại ảnh hưởng đáng kể đến hiệu suất tài nguyên tổng thể. Việc chỉ dựa vào một dự đoán duy nhất về tuổi thọ khi máy ảo được tạo ra có thể dẫn đến sai lầm lớn, làm tắc nghẽn cả một máy chủ trong thời gian dài.
Thay vì cố gắng dự đoán một tuổi thọ trung bình đơn lẻ, Google đã thiết kế một mô hình học máy (ML) để dự đoán phân phối xác suất cho tuổi thọ của máy ảo. Cách tiếp cận này, lấy cảm hứng từ phân tích khả năng sống sót, cho phép mô hình nắm bắt sự không chắc chắn cố hữu trong hành vi của máy ảo. Quan trọng hơn, hệ thống sử dụng phân phối này để cập nhật liên tục các dự đoán. Chúng tôi đặt câu hỏi: “Nếu một máy ảo đã chạy được năm ngày, thì tuổi thọ còn lại dự kiến của nó là bao nhiêu?”. Khi máy ảo tiếp tục hoạt động, hệ thống thu thập thêm thông tin, và dự đoán tuổi thọ của nó trở nên chính xác hơn. Các thuật toán của Google được đồng thiết kế để tận dụng những lần tái dự đoán này, chủ động phản ứng với các dự đoán sai và cải thiện độ chính xác theo thời gian.
Ba thuật toán đột phá và hiệu quả thực tế
Với mô hình dự đoán mạnh mẽ hơn, Google đã phát triển ba thuật toán mới để cải thiện việc phân bổ máy ảo và quản lý tài nguyên.
- NILAS (Non-Invasive Lifetime Aware Scheduling): Đây là một thuật toán không xâm lấn, tích hợp các dự đoán tuổi thọ vào hàm tính điểm hiện có. NILAS xếp hạng các máy chủ tiềm năng cho một máy ảo mới bằng cách xem xét thời gian thoát dự đoán của tất cả các máy ảo hiện có trên máy chủ đó. Bằng cách ưu tiên các máy chủ mà tất cả máy ảo dự kiến sẽ thoát cùng lúc, NILAS hướng tới việc tạo ra nhiều máy chủ trống hơn. Thuật toán NILAS đã được triển khai trên trình quản lý cụm quy mô lớn của Google, Borg, và đã cải thiện đáng kể việc phân bổ máy ảo.
- LAVA (Lifetime-Aware VM Allocation): LAVA đại diện cho một sự thay đổi cơ bản hơn. Trong khi NILAS đóng gói các máy ảo có tuổi thọ tương tự, LAVA làm ngược lại: nó đặt các máy ảo có tuổi thọ ngắn hơn lên các máy chủ có một hoặc nhiều máy ảo tuổi thọ dài. Mục tiêu là lấp đầy khoảng trống tài nguyên bằng các máy ảo ngắn hạn, sao cho chúng thoát nhanh mà không kéo dài tuổi thọ tổng thể của máy chủ. LAVA cũng chủ động thích ứng với các dự đoán sai bằng cách tăng tuổi thọ dự kiến của máy chủ nếu một máy ảo sống lâu hơn thời hạn dự kiến.
- LARS (Lifetime-Aware Rescheduling): LARS sử dụng các dự đoán tuổi thọ để giảm thiểu gián đoạn máy ảo trong quá trình chống phân mảnh và bảo trì. Khi một máy chủ cần được chống phân mảnh, LARS sẽ sắp xếp các máy ảo trên máy chủ đó theo tuổi thọ còn lại dự đoán và di chuyển các máy ảo có tuổi thọ dài nhất trước. Các máy ảo có tuổi thọ ngắn hơn sẽ tự thoát trước khi di chuyển.
Việc triển khai các mô hình và thuật toán mạnh mẽ này ở quy mô lớn đòi hỏi một cách tiếp cận mới. Google đã biên dịch mô hình trực tiếp vào tệp nhị phân của trình lập lịch Borg, loại bỏ sự phụ thuộc vòng tròn và đảm bảo độ tin cậy. Cách tiếp cận này mang lại lợi ích đáng kể: độ trễ trung bình của mô hình chỉ là 9 micro giây (µs), nhanh hơn 780 lần so với phương pháp sử dụng máy chủ mô hình riêng biệt. Độ trễ thấp này rất quan trọng cho việc tái dự đoán thường xuyên và sử dụng mô hình trong các tác vụ nhạy cảm về hiệu suất. Để xử lý số lượng dự đoán khổng lồ, Google cũng đã giới thiệu bộ nhớ đệm điểm số tuổi thọ máy chủ, chỉ cập nhật dự đoán khi có thay đổi, đảm bảo hiệu suất cao và cho phép triển khai hệ thống trên toàn bộ đội máy chủ.
Các kết quả thực tế của thuật toán NILAS, được triển khai trong các trung tâm dữ liệu sản xuất của Google từ đầu năm 2024, rất rõ ràng và đáng kể. Chúng tôi đã ghi nhận tăng số lượng máy chủ trống từ 2.3–9.2 điểm phần trăm (pp), một cải thiện 1 pp tương đương với tiết kiệm 1% dung lượng cụm. Ngoài ra, NILAS đã giảm tắc nghẽn CPU khoảng 3% và tắc nghẽn bộ nhớ 2%, giúp nhiều tài nguyên hơn trên mỗi máy chủ sẵn sàng được sử dụng. Các mô phỏng cho thấy LAVA có thể mang lại cải thiện thêm khoảng 0.4 pp so với NILAS, và LARS có tiềm năng giảm tổng số lần di chuyển máy ảo cần thiết cho việc bảo trì khoảng 4.5%.
Chúng tôi tin rằng công trình này là một bước đi nền tảng hướng tới tương lai nơi quản lý trung tâm dữ liệu ngày càng được tối ưu hóa bởi các hệ thống học máy. Các kỹ thuật được phát triển, đặc biệt là việc sử dụng tái dự đoán và đồng thiết kế mô hình với hệ thống, có thể được tổng quát hóa cho các tác vụ khác. Google đã chứng minh rằng có thể tích hợp các kỹ thuật học máy tiên tiến vào các lớp thấp nhất của ngăn xếp hạ tầng mà không làm giảm độ tin cậy hay độ trễ, đồng thời mang lại những cải thiện đáng kể về hiệu quả.




