Viết tắt computer clusters, kết nối các máy tính có cấu hình thấp với nhau ( thay vì 1 super computer). Mỗi máy tính được gọi là 1 node. Có 2 loại node đó là head node và computer node.
Là nơi đăng nhập vào cluster, là nơi chỉnh sửa script, compile code, và submit jobs tới scheduler. Head Node được chia sẽ với các user khác nên các Job không nên được chạy ở Head Node. ( sẽ được nhắc lại ở quy tắc 10 - 10 bên dưới )
Là nơi mà các Job được chạy, nhưng để được chạy ở các Node này chúng ta phải thông qua Job Scheduler bằng việc Submitting Job. Job sẽ được tự động chạy trên node này khi yêu cầu về resources ok.
Có thể hiểu như là số lượng processor CPU-cores. Nó sẽ xử lí và thực hiện các yêu cầu phần lớn các công việc yêu cầu.
Để chương trình có thể chạy được trên cluster, bạn phải chuẩn bị các file sau ở trên Head Node:
Code chạy chương trình ( ví dụ file .py)
Một file SLURM script, file này sẽ yêu cầu resources bạn cần. Ví dụ ( Memory, number cpu, number node, …)
Khi file slurm được submited, scheduler sẽ kiểm tra nếu các yêu cầu về resources ok thì job sẽ được chạy, nếu không sẽ đưa vào hàng chờ.
Một điều quan trọng bạn cần lưu ý đó là bạn có thể sử dụng các câu lệnh nhanh chóng trên các head node nhưng.
Nếu vượt quá thì bạn sẽ làm ảnh hưởng đến người khác.
Có một số cách để bạn có thể check thông tin của head node như:
Mỗi câu lệnh bạn có thể google thêm để biết thêm chi tiết.
#!/bin/bash
#SBATCH --job-name=myjob # create a short name for your job
#SBATCH --nodes=1 # node count
#SBATCH --ntasks=1 # total number of tasks across all nodes
#SBATCH --cpus-per-task=1 # cpu-cores per task (>1 if multi-threaded tasks)
#SBATCH --mem-per-cpu=2G # memory per cpu-core (4G is default)
#SBATCH --time=00:01:00 # total run time limit (HH:MM:SS)
#SBATCH --mail-type=begin # send email when job begins
#SBATCH --mail-type=end # send email when job ends
#SBATCH --mail-user=<YourNetID>@gmail.com
module purge
module load anaconda3/2020.11
conda activate pytools-env
python myscript.py