Hướng dẫn chi tiết từng bước thiết lập Slinky Slurm Operator trên DOKS với GPU NVIDIA B300, Managed NFS và Multus RDMA để kiểm thử NCCL đa nút.
Slinky là một operator được phát triển bởi SchedMD, giúp đơn giản hóa việc quản lý và điều phối các tác vụ tính toán hiệu năng cao (HPC) bằng Slurm ngay trên nền tảng Kubernetes. Trong bài viết này, Bitech sẽ hướng dẫn bạn cách triển khai Slinky Slurm Operator trên DigitalOcean Kubernetes (DOKS), tận dụng sức mạnh của các nút GPU NVIDIA B300, hệ thống Managed NFS và hạ tầng mạng Multus RDMA.
Yêu cầu chuẩn bị
Trước khi bắt đầu, bạn cần chuẩn bị các tài nguyên sau trên DigitalOcean:
- Một cụm DigitalOcean Kubernetes (DOKS) đã hoạt động.
- Cụm node tích hợp GPU NVIDIA B300.
- Dịch vụ Managed NFS để làm bộ lưu trữ dùng chung cho các node Slurm.
- Cấu hình CNI Multus cùng giải pháp RDMA nhằm đảm bảo kết nối mạng băng thông rộng, độ trễ thấp giữa các GPU.
Bước 1: Cấu hình Lưu trữ NFS và Mạng Multus RDMA
Để Slurm hoạt động hiệu quả trên Kubernetes, việc thiết lập bộ lưu trữ chung và mạng kết nối tốc độ cao là bắt buộc.
- Gắn Managed NFS: Tạo và kết nối ổ đĩa NFS dùng chung vào cụm DOKS nhằm đảm bảo mọi pod Slurm có thể truy cập chung một thư mục dữ liệu (
/shared). - Cấu hình Multus CNI: Cài đặt Multus CNI trên DOKS để cho phép gắn nhiều giao diện mạng (Network Interface) vào từng pod.
- Thiết lập RDMA: Định cấu hình NetworkAttachmentDefinition cho RDMA, cho phép các tác vụ tính toán giao tiếp trực tiếp thông qua mạng RDMA mà không qua tầng network stack thông thường.
Bước 2: Cài đặt Slinky Slurm Operator
Sử dụng Helm để triển khai Slinky Operator lên cụm Kubernetes một cách nhanh chóng.
- Thêm repository và cập nhật Helm chart của Slinky:
helm repo add slinky https://schedmd.github.io/slinky
helm repo update
- Tiến hành cài đặt Slinky Operator vào namespace riêng biệt:
helm install slinky-operator slinky/slinky-operator \
--namespace slinky-system \
--create-namespace
Bước 3: Định cấu hình Slurm Cluster Custom Resource
Tạo tệp cấu hình Custom Resource (slurm-cluster.yaml) để định nghĩa cụm Slurm với tài nguyên GPU NVIDIA B300 và lưu trữ NFS.
apiVersion: slinky.schedmd.com/v1alpha1
kind: SlurmCluster
metadata:
name: doks-slurm-cluster
spec:
slurmctld:
replicas: 1
slurmd:
replicas: 2
resources:
limits:
nvidia.com/gpu: 1
volumeMounts:
- name: nfs-storage
mountPath: /shared
Áp dụng cấu hình lên cụm DOKS:
kubectl apply -f slurm-cluster.yaml
Bước 4: Kiểm thử NCCL Multi-Node qua Mạng RDMA
Sau khi cụm Slurm đã sẵn sàng, hãy thực thi bài kiểm thử NCCL (NVIDIA Collective Communications Library) để xác minh khả năng giao tiếp đa nút giữa các GPU B300.
- Khởi chạy công việc kiểm thử NCCL test thông qua câu lệnh Slurm
srunhoặcsbatch. - Chạy lệnh kiểm thử hiệu năng truyền tải AllReduce:
srun --nodes=2 --ntasks-per-node=1 nccl-tests/build/all_reduce_perf -b 8M -e 128M -f 2 -g 1
- Kiểm tra log đầu ra để xác nhận tốc độ truyền dữ liệu qua hạ tầng mạng RDMA đạt băng thông tối ưu.
Kết luận
Việc kết hợp Slinky Slurm Operator trên DigitalOcean Kubernetes cùng GPU NVIDIA B300 và Multus RDMA mang lại môi trường tính toán mạnh mẽ cho các mô hình AI/ML lớn. Kiến trúc này vừa giữ được tính linh hoạt trong quản lý của Kubernetes, vừa khai thác tối đa hiệu năng phần cứng của Slurm.
Ngày phát hành: 22/05/2026
Nguồn: www.digitalocean.com