Kubernetes cần autoscaling hiểu rõ hơn workload AI và phần cứng tăng tốc
Workload AI đang bộc lộ một điểm yếu trong cơ chế autoscaling của Kubernetes: scheduler quyết định pod chạy ở đâu, còn autoscaler quyết định bổ sung node nào, và hai hệ thống có thể không thống nhất về việc một node mới có phù hợp hay không. Vì vậy, workload dùng GPU hoặc phần cứng tăng tốc khác có thể bị treo ở trạng thái pending dù trên thực tế vẫn có năng lực phù hợp, gây lãng phí phần cứng đắt tiền và làm chậm công việc. Bài viết của CNCF giải thích cách Kubernetes đang thích ứng thông qua Dynamic Resource Allocation (DRA), cho phép workload mô tả nhu cầu phần cứng có cấu trúc thay vì chỉ yêu cầu một con số accelerator. Thông tin này có thể mô tả topology của thiết bị—cách accelerator kết nối với CPU, bộ nhớ, giao diện mạng và các accelerator khác—cũng như thiết bị có thể phân vùng và năng lực có thể tiêu thụ, trong đó nhiều công việc cùng chia sẻ các phần được đo lường của một accelerator. Autoscaler hỗ trợ DRA có thể dùng các yêu cầu này khi đánh giá node mới, dù mức độ hỗ trợ vẫn khác nhau tùy cách triển khai. Reservation cũng quan trọng vì autoscaler có thể phải tạo node bằng phần capacity mà tổ chức đã cam kết mua trước. Bài viết xem gang scheduling, tức yêu cầu toàn bộ pod của một công việc lớn phải được xếp lịch cùng lúc hoặc không pod nào được chạy, là một bài toán khó hơn mà chỉ dùng chung ngôn ngữ mô tả vẫn chưa giải quyết được. Trên thực tế, các đội ngũ vận hành Kubernetes cho GPU hoặc phần cứng chuyên dụng nên theo dõi mức hỗ trợ DRA và autoscaler trong môi trường của mình, vì khả năng phối hợp tốt hơn có thể giảm pod bị pending, tạo nhầm loại node và lãng phí năng lực tăng tốc.
Các đội ngũ vận hành Kubernetes cho AI, đặc biệt là workload dùng GPU, nên theo dõi hỗ trợ Dynamic Resource Allocation (DRA) và autoscaler nhận biết topology trong môi trường của mình. Những tính năng này có thể giúp giảm tình trạng pod bị pending, cấp nhầm loại node và lãng phí năng lực tăng tốc.
Đọc bài gốc