Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi
WilsonLisan (bicara | kontrib) (→3 - Menjalankan Komputasi ke Compute Node via SLURM: Overhaul maintenance 01/02/2023 part 2: penyederhanaan tutorial SBATCH SLURM) |
WilsonLisan (bicara | kontrib) (Overhaul maintenance 01/02/2023 part 3: formatting) |
||
Baris 1: | Baris 1: | ||
== '''0 - Pendahuluan''' == | == '''0 - Pendahuluan''' == | ||
Tutorial ini menjabarkan cara | Tutorial ini menjabarkan cara tradisional menggunakan ALELEON Supercomputer via terminal. | ||
=== Kompetensi User === | === Kompetensi User === | ||
Baris 6: | Baris 6: | ||
* Familiar dengan perintah dasar Linux seperti cd, ls, mkdir, cp, mv, rm, cat, less, wget, dan lainnya. | * Familiar dengan perintah dasar Linux seperti cd, ls, mkdir, cp, mv, rm, cat, less, wget, dan lainnya. | ||
* | * Familiar dengan shell text editor terminal sesuai referensi penggunaan masing-masing (contoh nano, vim, vi, emacs). | ||
=== '''Persetujuan Prefix''' === | === '''Persetujuan Prefix''' === | ||
Baris 12: | Baris 12: | ||
$ command ''<input-yang-ditulis-user>'' | $ command ''<input-yang-ditulis-user>'' | ||
== '''1 - Login SSH''' == | == '''1 - Login SSH''' == | ||
Sebelum login, [[Koneksi VPN ALELEON Supercomputer|'''user harus terhubung ke jaringan VPN ALELEON Supercomputer''']] untuk dapat melakukan login ke ALELEON Supercomputer. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Kredensial login SSH | |''SIlahkan gunakan software shell sesuai preferensi masing-masing user untuk login SSH (contoh: PuTTY, Windows Terminal / Powershell, MobaXTerm, Terminal Linux, Terminal MacOS, dll).'' | ||
|Username dan password | |} | ||
|''Diberikan admin ALELEON'' | |||
{| class="wikitable" | |||
|+Kredensial login SSH ALELEON Supercomputer | |||
|'''Username dan password''' | |||
|''Diberikan oleh admin ALELEON'' | |||
|- | |- | ||
|Host untuk user Windows / MacOS | |'''Host untuk user Windows / MacOS''' | ||
|<code>aleleon.hpc</code> | |<code>aleleon.hpc</code> | ||
|- | |- | ||
|Host untuk user Linux | |'''Host untuk user Linux''' | ||
|<code>10.192.50.10</code> | |<code>10.192.50.10</code> | ||
|- | |- | ||
| | |'''Nomor port''' | ||
|<code>22</code> | |<code>22</code> | ||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Contoh perintah login SSH standar | |+Contoh perintah login SSH standar di terminal | ||
!Kondisi user | !Kondisi user | ||
!Perintah SSH | !Perintah SSH | ||
Baris 38: | Baris 42: | ||
|<code>$ ssh ''<username>''@10.192.50.10</code> | |<code>$ ssh ''<username>''@10.192.50.10</code> | ||
|} | |} | ||
ALELEON Supercomputer | ALELEON Supercomputer mendukung '''SSH X11''' untuk menampilkan window GUI (tergantung oleh program dan koneksi internet user). Berikut adalah panduan untuk melakukan SSH X11: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Login SSH X11 | |+Login SSH X11 | ||
Baris 75: | Baris 79: | ||
|+Langkah menjalankan job komputasi dengan SLURM | |+Langkah menjalankan job komputasi dengan SLURM | ||
|'''1''' | |'''1''' | ||
|User menjalankan komputasi pada direktori HOME user. Siapkan file yang dibutuhkan untuk menjalankan komputasi user. | |'''User menjalankan komputasi pada direktori HOME user'''. Siapkan file yang dibutuhkan untuk menjalankan komputasi user. | ||
* [[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. | |||
$ mkdir <''folder-job-supaya-rapi''> | $ mkdir <''folder-job-supaya-rapi''> | ||
$ cd <''folder-job-supaya-rapi''> | $ cd <''folder-job-supaya-rapi''> | ||
Baris 85: | Baris 88: | ||
| rowspan="2" |'''2''' | | rowspan="2" |'''2''' | ||
|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 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). | |||
* Gunakan shell text editor terminal kesukaan masing-masing user atau bisa langsung FTP dari komputer pribadi user. | |||
$ nano <''nama-SLURM-Job-script''>.sh | $ nano <''nama-SLURM-Job-script''>.sh | ||
Contoh membuat script dengan nama "skripsi.sh" | Contoh membuat script dengan nama "skripsi.sh" | ||
$ nano skripsi.sh | $ nano skripsi.sh | ||
|- | |- | ||
|'''Preferensi membuat SLURM Submit Script di ALELEON Supercomputer:''' | |'''Preferensi membuat SLURM Submit Script di ALELEON Supercomputer:''' | ||
Baris 96: | Baris 102: | ||
|'''3''' | |'''3''' | ||
|Setelah menulis dan save script, jalankan job submission dengan perintah '''sbatch'''. | |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. | Contoh menjalankan script skripsi.sh diatas. Perhatikan bahwa user akan mendapatkan job ID. | ||
$ sbatch skripsi.sh | $ sbatch skripsi.sh | ||
Baris 105: | Baris 111: | ||
$ '''squeue -ul $USER''' | $ '''squeue -ul $USER''' | ||
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 dapat dipelajari pada '''subbab 4.''' | Info squeue lebih lengkap dapat dipelajari pada '''subbab 4.''' | ||
|- | |- | ||
|'''4B''' | |'''4B''' | ||
|Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID. | |Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID. | ||
'''$ scancel <''job-ID-submission-user''>''' | |||
Contoh user membatalman job dengan ID 231. | Contoh user membatalman job dengan ID 231. | ||
$ scancel 231 | $ scancel 231 | ||
Baris 116: | Baris 122: | ||
== '''4 - Memonitor Jalannya Job dengan squeue''' == | == '''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. | * '''STATE (ST)''' -> memberikan kondisi jalannya program user. | ||
* NODELIST(REASON) memberikan | * '''NODELIST(REASON)''' | ||
** NODELIST memberikan nama Compute Node tempat program berjalan. | |||
** REASON memberikan kode alasan saat program user belum / tidak berjalan. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Daftar STATE | |+Daftar STATE squeue SLURM | ||
!STATE | !STATE | ||
!Kepanjangan | !Kepanjangan | ||
Baris 151: | Baris 159: | ||
|Job ditahan oleh sys-admin Aleleon | |Job ditahan oleh sys-admin Aleleon | ||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Daftar info | |+Daftar info REASON pada job tidak berjalan yang telah dikonfirmasi terjadi | ||
!NODELIST | !NODELIST | ||
!Penjelasan | !Penjelasan | ||
Baris 167: | Baris 175: | ||
|Job melewati batas alokasi CPU user (lihat laman QOS User untuk penjelasan lebih lanjut). | |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. |
Revisi per 1 Februari 2023 14.10
0 - Pendahuluan
Tutorial ini menjabarkan cara tradisional menggunakan ALELEON Supercomputer via 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.
- Familiar dengan shell text editor terminal sesuai referensi penggunaan masing-masing (contoh nano, vim, vi, emacs).
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 (contoh: PuTTY, Windows Terminal / Powershell, MobaXTerm, Terminal Linux, Terminal MacOS, dll). |
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
|
Kondisi user | Perintah SSH |
---|---|
SSH dari OS Windows / MacOS | $ ssh <username>@aleleon.hpc
|
SSH dari OS Linux | $ ssh <username>@10.192.50.10
|
ALELEON Supercomputer mendukung SSH X11 untuk menampilkan window GUI (tergantung oleh program dan koneksi internet user). Berikut adalah panduan untuk melakukan SSH X11:
Dari OS | Metode |
---|---|
Linux | $ ssh -X <username>@10.192.50.10
|
Windows | EFISON merekomendasikan software MobaXTerm Home Edition |
MacOS | $ ssh -Y <username>@aleleon.hpc
|
2A - 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.
|
Sementara itu Compute Node berperan untuk menjalankan job komputasi semua user yang disubmit melalui SLURM. Tutorial dijelaskan pada bagian 3.
2B - Mengakses Software di Login Node dengan Module Environment
Apabila user ingin mengakses software yang terinstal di ALELEON Supercomputer pada Login Node (untuk keperluan selain menjalankan komputasi), user dapat menggunakan Module Environment.
3 - Menjalankan Komputasi ke Compute Node via SLURM
User menjalankan job komputasi melalui SLURM, yaitu program manajemen untuk menjalankan komputasi user pada Compute Node sekaligus mengatur antrian job semua user.
1 | User menjalankan komputasi pada direktori HOME user. Siapkan file yang dibutuhkan untuk menjalankan komputasi user.
$ mkdir <folder-job-supaya-rapi> $ cd <folder-job-supaya-rapi> |
2 | User membuat SLURM Submit Script yaitu script bash yang berisikan alokasi kebutuhan komputasi (CPU, RAM, walltime, output, dll) dan alur jalannya program komputasi user.
$ nano <nama-SLURM-Job-script>.sh Contoh membuat script dengan nama "skripsi.sh" $ nano skripsi.sh |
Preferensi membuat SLURM Submit Script di ALELEON Supercomputer: | |
3 | 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 dapat dipelajari pada subbab 4. |
4B | Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.
$ scancel <job-ID-submission-user> Contoh user membatalman job 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.
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 |
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.