Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi

Dari ALELEON by EFISON
Baris 118: Baris 118:
* Untuk kerapian data, disarankan untuk menaruh satu job pada satu folder tersendiri.
* Untuk kerapian data, disarankan untuk menaruh satu job pada satu folder tersendiri.
|-
|-
|'''2A'''
|'''2'''
|
|
=== SLURM Submit Script ===
=== SLURM Submit Script ===
Baris 154: Baris 154:
Apabila ingin melihat status semua job, jalankan perintah squeue -l.
Apabila ingin melihat status semua job, jalankan perintah squeue -l.
  '''$ squeue -l'''
  '''$ squeue -l'''
Info squeue lebih lengkap lihat '''subbab 4.'''
Info squeue lebih lengkap lihat subbab '''Memonitor Jalannya Job dengan squeue.'''
|-
|-
|'''4B'''
|'''4B'''
Baris 165: Baris 165:
  '''$ scancel <''job-ID-submission-user''>'''
  '''$ scancel <''job-ID-submission-user''>'''
Contoh user membatalkan job submission milik user dengan ID 231.
Contoh user membatalkan job submission milik user dengan ID 231.
  $ scancel 231
  $ scancel '''231'''
|}
|}



Revisi per 19 Mei 2023 09.51

Halaman ini menjelaskan tutorial menggunakan ALELEON Supercomputer via terminal. Tutorial ini mengasumsikan user dapat mengoperasikan terminal Linux.

Persetujuan Prefix

Simbol $ menandakan perintah terminal, sedangkan tanda bracket <> menandakan parameter input yang ditulis oleh user:

$ command <input-yang-ditulis-user>

1 | Login SSH

Sebelum login, user harus terhubung ke jaringan VPN ALELEON Supercomputer untuk dapat melakukan login ke ALELEON Supercomputer. SIlahkan gunakan software shell sesuai preferensi masing-masing user untuk login SSH.

Kredensial SSH Login Node Utama

User login ke Login Node utama dengan kredensial berikut:

Kredensial SSH Login Node Utama
Username dan password Diberikan oleh admin ALELEON
Host untuk user Windows / MacOS aleleon.hpc
Host untuk user Linux 10.192.50.10
Nomor port 22
Contoh perintah login melalui terminal:
  • User OS Windows dan MacOS -> $ ssh <username>@aleleon.hpc
  • User OS Linux -> $ ssh <username>@10.192.50.10
Note khusus:
  • Mempunyai spesifikasi terbatas (CPU AMD EPYC 4 core dan RAM 4GB).
  • Mempunyai GPU NVIDIA T400.
    • Dapat melakukan compiling dengan lib. NVIDIA CUDA 12

Kredensial SSH Login Node Backup

Apabila tidak dapat login ke Login Node Utama, gunakan Login Node Backup:

Kredensial SSH Login Node Utama (backup)
Username dan password Diberikan oleh admin ALELEON
Host untuk user Windows / MacOS aleleon2.hpc
Host untuk user Linux 10.192.50.12
Nomor port 22
Note khusus:
  • Mempunyai spesifikasi terbatas (CPU AMD EPYC 4 core dan RAM 16GB).
  • Tidak mempunyai GPU.

Kredensial SSH Login Node Besar

Terdapat login node spesial denngan spesifikasi besar bagi user yang ingin melakukan compiling file skala besar:

Kredensial SSH Login Node Besar
Username dan password Diberikan oleh admin ALELEON
Host untuk user Windows / MacOS aleleon3.hpc
Host untuk user Linux 10.192.50.13
Nomor port 22
Note khusus:
  • Mempunyai spesifikasi CPU 12 core dan RAM 128GB.
  • Mempunyai GPU NVIDIA GT1030.
    • Dapat melakukan compiling dengan lib. NVIDIA CUDA 12

Login SSH X11

ALELEON Supercomputer mendukung SSH X11 untuk menampilkan window GUI. Berikut adalah panduan untuk melakukan SSH X11:

Login SSH X11
Dari OS Metode
Windows EFISON merekomendasikan software MobaXTerm Home Edition
MacOS $ ssh -Y <username>@<pilih-hostname-login-node>
Linux $ ssh -X <username>@<pilih-hostname-login-node>

2 | Selamat Datang di Login Node

Setelah login, user masuk ke Login Node untuk berinteraksi dengan ALELEON Supercomputer.

  • Pada Login Node, user dapat melakukan kegiatan manajemen data, download / upload, compiling, menyiapkan job komputasi, dan submit job komputasi (job submission) yang akan dijalankan oleh Compute Node.
  • Apabila user ingin mengakses software yang terinstal di ALELEON Supercomputer pada Login Node (untuk keperluan selain menjalankan komputasi), gunakan Module Environment.
  • Sementara itu Compute Node berperan untuk menjalankan job komputasi semua user yang disubmit melalui SLURM. Tutorial dijelaskan pada bagian 3.
Note:
  • Dimohon untuk tidak menjalankan komputasi berat di semua jenis Login Node karena mempunyai spesifikasi terbatas dan akan mengganggu user lainnya.
  • Admin EFISON berhak memberikan peringatan kepada user atau menghentikan job komputasi user yang memakan semua resources Login Node dalam waktu lama.

3 | Menjalankan Komputasi ke Compute Node via SLURM

User menjalankan job komputasi melalui SLURM, program manajemen untuk menjalankan komputasi user pada Compute Node sekaligus mengatur antrian job semua user. Semua jenis Login Node dapat digunakan untuk job submission dengan langkah di bawah ini.

Langkah menjalankan job komputasi dengan SLURM
1 Siapkan file yang dibutuhkan untuk menjalankan komputasi user.
2

SLURM Submit Script

Contoh SLURM Submit Script
User membuat SLURM Submit Script yaitu script bash yang berisikan alokasi kebutuhan komputasi (CPU, RAM, walltime, output, dll) dan alur jalannya program komputasi user.
  • User bebas memberikan nama pada SLURM Submit Script (satu kata tanpa separator spasi).
  • User menentukan sendiri alokasi komputasi untuk menjalankan job user.
$ vim <nama-SLURM-Job-script>.sh

Contoh dengan nama "skripsi.sh":
$ vim skripsi.sh

Tutorial Membuat dan Aturan SLURM Submit Script di ALELEON Supercomputer

Halaman berikut membahas cara membuat SLURM Submit Script beserta aturan untuk mengalokasikan kebutuhan komputasi di ALELEON Supercomputer:

SLURM Script ALELEON Supercomputer

Contoh Template SLURM Submit Script

Halaman berikut merangkum daftar software komputasi di ALELEON Supercomputer beserta info tutorial dan contoh template SLURM Submit Script-nya.

Daftar Software Komputasi dan Tutorial Penggunaan

3

Melakukan Job Submission

Setelah menulis dan save script, jalankan job submission dengan perintah sbatch.

$ sbatch <nama-SLURM-Job-script>.sh

Contoh menjalankan script skripsi.sh diatas. Perhatikan bahwa user akan mendapatkan job ID.

$ sbatch skripsi.sh
Submitted batch job 231
4A User dapat melihat status jalannya job dengan perintah squeue plus flag -ul $USER. Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
$ squeue -ul $USER

Apabila ingin melihat status semua job, jalankan perintah squeue -l.

$ squeue -l

Info squeue lebih lengkap lihat subbab Memonitor Jalannya Job dengan squeue.

4B

Membatalkan Job Submission

Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.

  • User hanya bisa membatalkan job submission milik user sendiri (kecuali user adalah cracker yang bisa menembus akses root ALELEON).
$ scancel <job-ID-submission-user>

Contoh user membatalkan job submission milik user dengan ID 231.

$ scancel 231

4 | Memonitor Jalannya Job dengan squeue

Sesuai panduan di atas, user dapat memantau status jalannya job submission dengan perintah squeue. Info esensial untuk user adalah STATE dan NODELIST(REASON).

  • STATE (ST) -> memberikan kondisi jalannya program user.
  • NODELIST(REASON)
    • NODELIST memberikan nama Compute Node tempat program berjalan.
    • REASON memberikan kode alasan saat program user belum / tidak berjalan (PENDING).
Daftar STATE squeue SLURM
STATE Kepanjangan Penjelasan
R RUN Job berjalan
PD PENDING Job tertahan, lihat keterangan NODELIST(REASON)
CG COMPLETING Job selesai dan dalam proses clean-up SLURM
CA CANCELED Job dibatalkan oleh user
PR PREEMPETED Job dibatalkan oleh sys-admin Aleleon, alasan akan dikabarkan melalui email
S SUSPENDED Job ditahan oleh sys-admin Aleleon
Daftar info REASON pada job PENDING yang telah dikonfirmasi terjadi
NODELIST Penjelasan
Resources

Priority

Job menunggu tersedianya alokasi resources (CPU, RAM, GPU) yang dipesan oleh Submit script user
AssocMaxWallDurationPerJobLimit Job tidak dapat berjalan karena melewati batas walltime maksimum partisi.
  • User harus melakukan scancel job yang bersangkutan dan mengubah SBATCH time dibawah limit ALELEON.
QOSMaxCpuPerUserLimit Job melewati batas alokasi QOS CPU user.
  • Job akan berjalan saat alokasi sesuai limit QOS sudah tersedia.
QOSMaxMemoryPerUserLimit Job melewati batas alokasi QOS memori RAM user.
  • Job akan berjalan saat alokasi sesuai limit QOS sudah tersedia.
MaxCPUPerAccount Job melewati batas alokasi QOS akumulasi CPU semua user di satu grup Akun Institusi.
  • Job akan berjalan saat alokasi sesuai limit QOS sudah tersedia.
MaxMemoryPerAccount Job melewati batas alokasi QOS akumulasi memori RAM semua user di satu grup Akun Institusi.
  • Job akan berjalan saat alokasi sesuai limit QOS sudah tersedia.

User dapat lapor ke admin EFISON apabila menjumpai NODELIST yang tidak terdapat pada daftar diatas ketika job user tidak berjalan.

5 | Support dan Laporan Kendala Penggunaan

Apabila terdapat masalah teknis dalam menggunakan ALELEON Supercomputer, silahkan lapor dengan klik gambar berikut ini.

Wiki-pelaporankendala.jpg