Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (reformat jadi tabel) |
WilsonLisan (bicara | kontrib) (paraphrasing) |
||
Baris 1: | Baris 1: | ||
Tutorial ini menjabarkan cara klasik menggunakan ALELEON Supercomputer via tampilan terminal. | == '''0 - Pendahuluan''' == | ||
Tutorial ini menjabarkan cara klasik menggunakan ALELEON Supercomputer via tampilan terminal. | |||
== '''Persetujuan Prefix''' == | === Kompetensi User === | ||
User dapat penggunaan terminal Linux: | |||
* Familiar dengan perintah dasar Linux seperti cd, ls, mkdir, cp, mv, rm, cat, less, wget, dan lainnya. | |||
* Familiat dengan shell text editor sesuai referensi masing-masing (contoh nano, vim, vi, emacs). | |||
=== '''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 ''<myscript>'' | $ command ''<myscript>'' | ||
Baris 36: | Baris 43: | ||
[[Berkas:Login-node-compute-node-1.png|al=|nirbing|600x600px]] | [[Berkas:Login-node-compute-node-1.png|al=|nirbing|600x600px]] | ||
ALELEON Supercomputer mempunyai dua jenis node utama yaitu '''Login Node dan Compute Node'''. | ALELEON Supercomputer mempunyai dua jenis node utama yaitu '''Login Node dan Compute Node'''. | ||
''' | * Setelah login, user masuk ke '''Login Node''' yang menjadi '''front-end''' bagi user untuk berinteraksi dengan ALELEON Supercomputer. Pada Login Node, user dapat melakukan kegiatan 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. | |||
'''Dimohon untuk tidak menjalankan komputasi berat di Login Node karena mempunyai spesifikasi performa yang terbatas dan akan mengganggu user lainnya | |||
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 dalam waktu lama. | |||
== '''3 - Mengakses Software dengan Module Environment''' == | == '''3 - Mengakses Software dengan Module Environment''' == | ||
Pada ALELEON Supercomputer, [[Module Environment|'''user dapat menggunakan software yang tersedia dengan Module Environment''']]. User dapat melihat info lengkap ketersediaan software ALELEON Supercomputer pada [[Katalog Software ALELEON Supercomputer|'''Katalog Software ALELEON Supercomputer''']]. | Pada ALELEON Supercomputer, [[Module Environment|'''user dapat menggunakan software yang tersedia dengan Module Environment''']]. User dapat melihat info lengkap ketersediaan software ALELEON Supercomputer pada [[Katalog Software ALELEON Supercomputer|'''Katalog Software ALELEON Supercomputer''']]. | ||
Baris 60: | Baris 68: | ||
=== Menggunakan SLURM === | === Menggunakan SLURM === | ||
Berikut adalah perintah dasar esensial bagi user dalam menggunakan SLURM untuk job submission: | Berikut adalah perintah dasar esensial bagi user dalam menggunakan SLURM untuk job submission: | ||
{| class="wikitable" | |||
|'''Menjalankan job komputasi''' | |||
$ '''sbatch''' ''<SLURM-script>'' | $ '''sbatch''' ''<SLURM-script>'' | ||
* SLURM Script (atau Submit Script) adalah bash script yang berisikan alokasi resources (CPU, GPU, RAM, walltime, output, dll) dan alur jalannya program komputasi user. | |||
* Berikut adalah panduan menulis SLURM Script di ALELEON Supercomputer: | |||
** Aturan umum -> [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']] | |||
** Contoh SLURM Script berdasarkan software -> [[Daftar Software Komputasi dan Tutorial Penggunaan|'''Daftar Software Komputasi dan Tutorial Penggunaan''']] | |||
|} | |||
{| class="wikitable" | |||
|'''Melihat status antrian job''' | |||
$ '''squeue''' | $ '''squeue''' | ||
* Tambahan opsi flag: | |||
* Tambahan opsi flag: | |||
** '''-l''': menampilkan squeue dengan info yang lebih lengkap. | ** '''-l''': menampilkan squeue dengan info yang lebih lengkap. | ||
** '''-u $USER''': menampilkan squeue untuk job user saja. | ** '''-u $USER''': menampilkan squeue untuk job user saja. | ||
|} | |||
{| class="wikitable" | |||
|'''Membatalkan job SLURM yang sedang berjalan dengan nomor job ID.''' | |||
$ '''scancel''' ''<job-ID>'' | $ '''scancel''' ''<job-ID>'' | ||
* User hanya bisa membatalkan job yang dijalankan user sendiri. | * User hanya bisa membatalkan job yang dijalankan user sendiri. | ||
|} | |||
== | == '''5 - Contoh Menggunakan SLURM''' == | ||
Contoh user akan menjalankan program bernama 'skripsi''''.''' | Contoh user akan menjalankan program bernama 'skripsi''''.''' | ||
{| class="wikitable" | {| class="wikitable" | ||
Baris 109: | Baris 125: | ||
|} | |} | ||
== ''' | == '''6 - 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). | User dapat memantau status jalannya job atau melihat antrian job dengan perintah squeue. Info esensial untuk user adalah bagian STATE dan NODELIST(REASON). | ||
Baris 145: | Baris 161: | ||
|Job ditahan oleh sys-admin Aleleon | |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 | 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. Berikut adalah daftar NODELIST yang bisa terjadi di ALELEON Supercomputer: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Daftar info NODELIST pada job tidak berjalan yang telah dikonfirmasi terjadi | |+Daftar info NODELIST pada job tidak berjalan yang telah dikonfirmasi terjadi | ||
Baris 152: | Baris 168: | ||
|- | |- | ||
|Resources | |Resources | ||
Priority | |||
|Job menunggu alokasi resources (CPU, RAM, GPU) yang dipesan oleh SLURM submission script user | |Job menunggu alokasi resources (CPU, RAM, GPU) yang dipesan oleh SLURM submission script user | ||
|- | |- |
Revisi per 24 November 2022 06.23
0 - Pendahuluan
Tutorial ini menjabarkan cara klasik menggunakan ALELEON Supercomputer via tampilan terminal.
Kompetensi User
User dapat penggunaan terminal Linux:
- Familiar dengan perintah dasar Linux seperti cd, ls, mkdir, cp, mv, rm, cat, less, wget, dan lainnya.
- Familiat dengan shell text editor sesuai referensi masing-masing (contoh nano, vim, vi, emacs).
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:
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:
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 mempunyai dua jenis node utama yaitu Login Node dan Compute Node.
- Setelah login, user masuk ke Login Node yang menjadi front-end bagi user untuk berinteraksi dengan ALELEON Supercomputer. Pada Login Node, user dapat melakukan kegiatan 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.
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 dalam waktu lama.
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 ke Compute Node via SLURM sbatch
User menjalankan pekerjaan komputasi melalui SLURM, yaitu program manajemen untuk mengatur alokasi dan antrian resources job submission user di Compute Node.
---
Menyiapkan File Input Komputasi
User dapat langsung menjalankan komputasi di direktori HOME masing-masing. User dapat melakukan upload file komputasi ke ALELEON Supercomputer melalui:
- Aplikasi FTP seperti FileZilla atau lainnya.
- Menggunakan EFIRO melalui menu
Files > Home Directory
---
Menggunakan SLURM
Berikut adalah perintah dasar esensial bagi user dalam menggunakan SLURM untuk job submission:
Menjalankan job komputasi
$ sbatch <SLURM-script>
|
Melihat status antrian job
$ squeue
|
Membatalkan job SLURM yang sedang berjalan dengan nomor job ID.
$ scancel <job-ID>
|
5 - Contoh Menggunakan SLURM
Contoh user akan menjalankan program bernama 'skripsi'.
1 | User membuat SLURM script yang berisikan alokasi resources dan perintah untuk menjalankan program 'skripsi'.
$ ls skripsi slurm-skripsi |
2 | 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 |
3 | 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 |
Apabila user ingin membatalkan job komputasinya yang tengah berjalan via SLURM, gunakan perintah scancel <job-ID>, contoh:
$ scancel 231 | |
4 | 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 |
6 - 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.
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. Berikut adalah daftar NODELIST yang bisa terjadi di ALELEON Supercomputer:
NODELIST | Penjelasan |
---|---|
Resources
Priority |
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.