Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (/* 3 - Menjalankan Komputasi ke Compute Node via SLURM formatting tabel) |
WilsonLisan (bicara | kontrib) (paraphrasing) |
||
Baris 1: | Baris 1: | ||
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: | Simbol '''$''' menandakan perintah terminal, sedangkan tanda bracket '''<>''' menandakan parameter input yang ditulis oleh user: | ||
$ command ''<input-yang-ditulis-user>'' | $ command '''''<input-yang-ditulis-user>''''' | ||
== '''1 | == '''1 | Login SSH''' == | ||
Sebelum login, [[Koneksi VPN ALELEON Supercomputer|'''user harus terhubung ke jaringan VPN ALELEON Supercomputer''']] untuk dapat melakukan login ke ALELEON Supercomputer. | Sebelum login, [[Koneksi VPN ALELEON Supercomputer|'''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 === | === Kredensial SSH Login Node Utama === | ||
User login ke Login Node utama dengan kredensial berikut: | User login ke Login Node utama dengan kredensial berikut: | ||
Baris 45: | Baris 33: | ||
=== Kredensial SSH Login Node Backup === | === Kredensial SSH Login Node Backup === | ||
Apabila tidak dapat login ke Login Node Utama, gunakan | Apabila tidak dapat login ke Login Node Utama, gunakan Login Node Backup: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Kredensial SSH Login Node Utama (backup) | |+Kredensial SSH Login Node Utama (backup) | ||
Baris 66: | Baris 54: | ||
=== Kredensial SSH Login Node Besar === | === Kredensial SSH Login Node Besar === | ||
Terdapat login node spesial denngan spesifikasi besar | Terdapat login node spesial denngan spesifikasi besar bagi user yang ingin melakukan compiling file skala besar: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Kredensial SSH Login Node Besar | |+Kredensial SSH Login Node Besar | ||
Baris 82: | Baris 70: | ||
|- | |- | ||
| colspan="2" |'''Note khusus:''' | | colspan="2" |'''Note khusus:''' | ||
* Mempunyai spesifikasi CPU | * Mempunyai spesifikasi CPU 12 core dan RAM 128GB. | ||
* Mempunyai GPU NVIDIA GT1030. | * Mempunyai GPU NVIDIA GT1030. | ||
** Dapat melakukan compiling dengan lib. NVIDIA CUDA 12 | ** Dapat melakukan compiling dengan lib. NVIDIA CUDA 12 | ||
|} | |} | ||
=== Login SSH X11 === | === Login SSH X11 === | ||
ALELEON Supercomputer mendukung '''SSH X11''' untuk menampilkan window GUI | ALELEON Supercomputer mendukung '''SSH X11''' untuk menampilkan window GUI. Berikut adalah panduan untuk melakukan SSH X11: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Login SSH X11 | |+Login SSH X11 | ||
Baris 97: | Baris 85: | ||
|- | |- | ||
|MacOS | |MacOS | ||
|<code>$ ssh -Y ''<username>''@<''pilih-hostname-login-node''></code> | |<code>$ ssh -Y '''''<username>'''''@'''<''pilih-hostname-login-node''>'''</code> | ||
|- | |- | ||
|Linux | |Linux | ||
|<code>$ ssh -X ''<username>''@<''pilih-hostname-login-node''></code> | |<code>$ ssh -X '''''<username>'''''@'''<''pilih-hostname-login-node''>'''</code> | ||
|} | |} | ||
== ''' | == '''2 | Selamat Datang di Login Node''' == | ||
[[Berkas:Login-node-compute-node-1.png|al=|nirbing|600x600px]] | [[Berkas:Login-node-compute-node-1.png|al=|nirbing|600x600px]] | ||
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. | 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|'''Module Environment''']]. | |||
* Sementara itu '''Compute Node''' berperan untuk menjalankan job komputasi semua user yang disubmit melalui SLURM. Tutorial dijelaskan pada bagian 3. | |||
{| class="wikitable" | {| class="wikitable" | ||
|'''Note:''' | |'''Note:''' | ||
Baris 113: | Baris 106: | ||
* ''Admin EFISON berhak memberikan peringatan kepada user atau menghentikan job komputasi user yang memakan semua resources Login Node dalam waktu lama.'' | * ''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''' == | |||
== ''' | |||
[[Berkas:Slurmm.png|al=|600x600px]] | [[Berkas:Slurmm.png|al=|600x600px]] | ||
User menjalankan job komputasi melalui '''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. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Langkah menjalankan job komputasi dengan SLURM | |+Langkah menjalankan job komputasi dengan SLURM | ||
|- | |- | ||
|'''1''' | |'''1''' | ||
Baris 130: | Baris 117: | ||
* [[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']] seperti FileZilla, WinSCP, dan lainnya. | * [[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']] seperti FileZilla, WinSCP, dan lainnya. | ||
* 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''' | |'''2A''' | ||
| | | | ||
=== SLURM Submit Script === | |||
[[Berkas:Slurmsubmitscript.png|nirbing|300x300px]] | |||
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 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 | ''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: | |||
[[Berkas:Wiki-14edit.jpg|al=SLURM Script ALELEON Supercomputer|1000x1000px |link=Submit 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. | |||
[[Berkas:Wiki-15.jpg|1000x1000px |link=Daftar Software Komputasi dan Tutorial Penggunaan |alt=Daftar Software Komputasi dan Tutorial Penggunaan]] | |||
|- | |- | ||
|'''3''' | |'''3''' | ||
|Setelah menulis dan save script, jalankan job submission dengan perintah '''sbatch'''. | | | ||
=== Melakukan Job Submission === | |||
Setelah menulis dan save script, jalankan job submission dengan perintah '''sbatch'''. | |||
'''$ sbatch <''nama-SLURM-Job-script''>.sh''' | '''$ sbatch <''nama-SLURM-Job-script''>.sh''' | ||
Contoh menjalankan script skripsi.sh diatas. Perhatikan bahwa user akan mendapatkan job ID. | Contoh menjalankan script skripsi.sh diatas. Perhatikan bahwa user akan mendapatkan job ID. | ||
$ sbatch skripsi.sh | $ sbatch '''skripsi.sh''' | ||
Submitted batch job 231 | Submitted batch job 231 | ||
|- | |- | ||
Baris 161: | Baris 155: | ||
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 | Info squeue lebih lengkap lihat '''subbab 4.''' | ||
|- | |- | ||
|'''4B''' | |'''4B''' | ||
|Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID. | | | ||
=== 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)''. | * User hanya bisa membatalkan job submission milik user sendiri ''(kecuali user adalah cracker yang bisa menembus akses root ALELEON)''. | ||
Baris 173: | Baris 169: | ||
|} | |} | ||
== '''4 | == '''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). | Sesuai panduan di atas, user dapat memantau status jalannya job submission dengan perintah squeue. Info esensial untuk user adalah STATE dan NODELIST(REASON). | ||
Revisi per 19 Mei 2023 09.46
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:
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:
| |
Note khusus:
|
Kredensial SSH Login Node Backup
Apabila tidak dapat login ke Login Node Utama, gunakan Login Node 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:
|
Kredensial SSH Login Node Besar
Terdapat login node spesial denngan spesifikasi besar bagi user yang ingin melakukan compiling file skala 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:
|
Login SSH X11
ALELEON Supercomputer mendukung SSH X11 untuk menampilkan window GUI. Berikut adalah panduan untuk melakukan 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:
|
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.
1 | Siapkan file yang dibutuhkan untuk menjalankan komputasi user.
|
2A |
SLURM Submit Script
$ vim <nama-SLURM-Job-script>.sh Contoh dengan nama "skripsi.sh": $ vim skripsi.sh Tutorial Membuat dan Aturan SLURM Submit Script di ALELEON SupercomputerHalaman berikut membahas cara membuat SLURM Submit Script beserta aturan untuk mengalokasikan kebutuhan komputasi di ALELEON Supercomputer: Contoh Template SLURM Submit ScriptHalaman berikut merangkum daftar software komputasi di ALELEON Supercomputer beserta info tutorial dan contoh template SLURM Submit Script-nya. |
3 |
Melakukan Job SubmissionSetelah 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 4. |
4B |
Membatalkan Job SubmissionApabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.
$ 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).
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 |
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.
|
QOSMaxCpuPerUserLimit | Job melewati batas alokasi QOS CPU user.
|
QOSMaxMemoryPerUserLimit | Job melewati batas alokasi QOS memori RAM user.
|
MaxCPUPerAccount | Job melewati batas alokasi QOS akumulasi CPU semua user di satu grup Akun Institusi.
|
MaxMemoryPerAccount | Job melewati batas alokasi QOS akumulasi memori RAM semua user di satu grup Akun Institusi.
|
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.