Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi

Dari ALELEON by EFISON
kTidak ada ringkasan suntingan
Baris 1: Baris 1:
Tutorial ini menjabarkan cara klasik menggunakan ALELEON Supercomputer via tampilan terminal. Tutorial ini mengasumsikan '''user menguasai terminal OS Linux.'''
Tutorial ini menjabarkan cara klasik menggunakan ALELEON Supercomputer via tampilan terminal. Tutorial ini mengasumsikan '''user menguasai perintah Linux.'''


== '''Persetujuan Prefix''' ==
== '''Persetujuan Prefix''' ==
Baris 45: Baris 45:


== '''4 - Menjalankan Komputasi di ALELEON Supercomputer''' ==
== '''4 - Menjalankan Komputasi di ALELEON Supercomputer''' ==
[[Berkas:Slurmm.png|al=|nir|jmpl|'''SLURM job submission''']]
[[Berkas:Slurmm.png|al=|600x600px]]
User menjalankan pekerjaan komputasi melalui '''SLURM''', yaitu program manajemen untuk mengatur alokasi dan antrian resources job submission user di Compute Node.
User menjalankan pekerjaan komputasi melalui '''SLURM''', yaitu program manajemen untuk mengatur alokasi dan antrian resources job submission user di Compute Node.
---
---
Baris 67: Baris 67:


=== Contoh Menggunakan SLURM ===
=== Contoh Menggunakan SLURM ===
'''User akan menjalankan program bernama 'skripsi'.''' User membuat '''SLURM script''' yang berisikan alokasi resources dan perintah untuk menjalankan program 'skripsi'.
User akan menjalankan program bernama 'skripsi''''.''' User membuat '''SLURM script''' yang berisikan alokasi resources dan perintah untuk menjalankan program 'skripsi'.


* Ada baiknya SLURM script ditaruh pada satu direktori dengan program yang akan dijalankan.
* Ada baiknya SLURM script ditaruh pada satu direktori dengan program yang akan dijalankan.
Baris 75: Baris 75:
  skripsi  '''slurm-skripsi'''
  skripsi  '''slurm-skripsi'''
Jalankan SLURM submission script tersebut dengan perintah '''sbatch'''. Perhatikan bahwa user akan mendapatkan nomor ID dari job tersebut.
Jalankan SLURM submission script tersebut dengan perintah '''sbatch'''. Perhatikan bahwa user akan mendapatkan nomor ID dari job tersebut.
  $ '''sbatch slurm-skripsi'''
  $ '''sbatch ''slurm-skripsi'''''
  Submitted batch job 231
  Submitted batch job 231
User dapat melihat status jalannya job masing-masing dengan perintah '''squeue -u $USER'''. Keterangan dari kolom ST (STATUS) adalah R (RUNNING), menandakan program kerjaan-skripsi user sedang berjalan di Compute Node.
User dapat melihat status jalannya job masing-masing dengan perintah '''squeue -u $USER'''. Keterangan dari kolom ST (STATUS) adalah R (RUNNING), menandakan program kerjaan-skripsi user sedang berjalan di Compute Node.
Baris 85: Baris 85:
  $ '''ls'''
  $ '''ls'''
  skripsi  slurm-skripsi  result-231.txt  revisiii.txt
  skripsi  slurm-skripsi  result-231.txt  revisiii.txt
Apabila user ingin membatalkan program yang tengah berjalan via SLURM, gunakan perintah '''scancel''' job ID:
Apabila user ingin membatalkan program yang tengah berjalan via SLURM, gunakan perintah '''scancel''' ''<job-ID>'', contoh:
  $ '''scancel 231'''
  $ '''scancel 231'''



Revisi per 22 September 2022 05.31

Tutorial ini menjabarkan cara klasik menggunakan ALELEON Supercomputer via tampilan terminal. Tutorial ini mengasumsikan user menguasai perintah Linux.

Persetujuan Prefix

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

$ command <myscript>

1 - Login SSH

User melakukan login SSH setelah terhubung dengan koneksi VPN EFISON melalui port standar 22:

Login SSH standar
Kondisi user Perintah SSH
SSH dari OS Windows / MacOS $ ssh <username>@efisonlt.hpc
SSH dari OS Linux $ ssh <username>@10.192.50.1

Berikut adalah panduan untuk melakukan SSH X11:

Login SSH X11
Dari OS Metode
Linux $ ssh -X <username>@10.192.50.1
Windows EFISON merekomendasikan software MobaXTerm Home Edition
MacOS $ ssh -Y <username>@efisonlt.hpc

2 - Selamat Datang di Login Node ALELEON Supercomputer

ALELEON Supercomputer mempunyai dua jenis node utama yaitu Login Node dan Compute Node. Setelah login SSH, user masuk ke Login Node yang menjadi front-end bagi user untuk berinteraksi dengan ALELEON Supercomputer. Pada Login Node, user dapat melakukan kegiatan seperti manajemen data, download / upload, compiling, menyiapkan job komputasi, dan menjalankan job komputasi (job submission) ke Compute Node. Compute Node berperan sebagai back-end untuk menjalankan job komputasi semua user.

Prefix direktori HOME untuk user ALELEON Supercomputer adalah:

/work/<username>

Dimohon untuk tidak menjalankan komputasi berat di Login Node karena mempunyai spesifikasi performa yang terbatas dan akan mengganggu user lainnya. Admin EFISON berhak memberikan peringatan kepada user atau menghentikan job komputasi user yang memakan semua resources Login Node (contoh menjalankan framework komputasi di Login Node yang seharusnya dijalankan di Compute Node).

3 - Mengakses Software dengan Module Environment

Pada ALELEON Supercomputer, user dapat menggunakan software yang tersedia dengan Module Environment. User dapat melihat info lengkap ketersediaan software ALELEON Supercomputer pada Katalog Software ALELEON Supercomputer.

4 - Menjalankan Komputasi di ALELEON Supercomputer

User menjalankan pekerjaan komputasi melalui SLURM, yaitu program manajemen untuk mengatur alokasi dan antrian resources job submission user di Compute Node. ---

Menggunakan SLURM

Berikut adalah perintah dasar esensial bagi user dalam menggunakan SLURM untuk job submission:

$ sbatch <SLURM-script>
  • Menjalankan job komputasi user
    • SLURM Script adalah bash script yang berisikan alokasi resources (CPU, GPU, RAM, walltime, output, dll) dan alur jalannya program komputasi user. Contoh SLURM Script disediakan di halaman tutorial masing-masing software komputasi.
$ squeue
  • Melihat status dan antrian semua komputasi yang dijalankan via SLURM.
  • Tambahan opsi flag:
    • -l: menampilkan squeue dengan info yang lebih lengkap.
    • -u $USER: menampilkan squeue untuk job user saja.
$ scancel <job-ID>
  • Membatalkan job SLURM yang sedang berjalan berdasarkan nomor ID job.
  • User hanya bisa membatalkan job yang dijalankan user sendiri.

---

Contoh Menggunakan SLURM

User akan menjalankan program bernama 'skripsi'. User membuat SLURM script yang berisikan alokasi resources dan perintah untuk menjalankan program 'skripsi'.

  • Ada baiknya SLURM script ditaruh pada satu direktori dengan program yang akan dijalankan.
  • Penamaan SLURM script bisa bebas dimana pada contoh ini bernama 'slurm-skripsi'.
$ ls
skripsi  slurm-skripsi

Jalankan SLURM submission script tersebut dengan perintah sbatch. Perhatikan bahwa user akan mendapatkan nomor ID dari job tersebut.

$ sbatch slurm-skripsi
Submitted batch job 231

User dapat melihat status jalannya job masing-masing dengan perintah squeue -u $USER. Keterangan dari kolom ST (STATUS) adalah R (RUNNING), menandakan program kerjaan-skripsi user sedang berjalan di Compute Node.

$ squeue -u $USER
Mon Mar 22 10:43:22 2021
             JOBID PARTITION     NAME     USER  ST       TIME   NODES NODELIST(REASON)
               231 gpu_amper slurm-sc  olala01   R       2:00       1 epyc01

Job selesai bila sudah tidak terlihat di daftar squeue. Lihat apakah job menghasilkan output yang diinginkan atau tidak.

$ ls
skripsi  slurm-skripsi  result-231.txt  revisiii.txt

Apabila user ingin membatalkan program yang tengah berjalan via SLURM, gunakan perintah scancel <job-ID>, contoh:

$ scancel 231

5 - Memonitor Jalannya Job dengan squeue

User dapat memantau status jalannya job atau melihat antrian job dengan perintah squeue. Info esensial untuk user adalah bagian STATE dan NODELIST(REASON).

  • STATE (ST) memberikan kondisi jalannya program user.
  • NODELIST(REASON) memberikan detail verbose status jalannya program user.
Daftar STATE yang biasa muncul
STATE Kepanjangan Penjelasan
R RUN Job berjalan
PD PENDING Job tertahan, lihat keterangan NODELIST
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

Pada saat job berjalan (RUNNING) maka NODELIST akan menampilkan info nama node tempat job berjalan. Sementara itu NODELIST akan memberikan alasan verbose pada saat job tidak berjalan (STATE selain RUNNING). Berikut adalah daftar NODELIST yang bisa terjadi di ALELEON Supercomputer:

Daftar info NODELIST pada job tidak berjalan yang telah dikonfirmasi terjadi
NODELIST Penjelasan
Resources Job menunggu alokasi resources (CPU, RAM, GPU) yang dipesan oleh SLURM submission script user
AssocMaxWallDurationPerJobLimit Job tidak dapat berjalan karena melewati batas walltime maksimum partisi
QOSMaxCpuPerUserLimit Job melewati batas alokasi CPU user (lihat laman QOS User untuk penjelasan lebih lanjut).

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