Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi

Dari ALELEON by EFISON
(→‎4 - Memonitor Jalannya Job dengan squeue: melengkapi arti pesan Reason)
(→‎Selamat Datang di Login Node: menggantu urutan kegiatan)
 
(27 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
== '''Semua je0 - Pendahuluan''' ==
[[Berkas:Sbatch Terminal.png|nirbing|600x600px]]
Tutorial ini menjabarkan cara tradisional menggunakan ALELEON Supercomputer via terminal.


=== Kompetensi User ===
Halaman ini menjelaskan tutorial menggunakan ALELEON Supercomputer via terminal.
User dapat penggunaan terminal Linux:


* Familiar dengan perintah dasar Linux seperti cd, ls, mkdir, cp, mv, rm, cat, less, wget, dan lainnya.
== '''Standar Kompetensi dan Persetujuan Prefix''' ==
* Familiar dengan shell text editor terminal sesuai referensi penggunaan masing-masing (contoh nano, vim, vi, emacs).


=== '''Persetujuan Prefix''' ===
# Tutorial ini mengasumsikan user dapat mengoperasikan terminal Linux.
Simbol '''$''' menandakan perintah terminal, sedangkan tanda bracket '''<>''' menandakan parameter input yang ditulis oleh user:
# Simbol '''$''' menandakan perintah terminal, bracket '''[ ]''' menandakan parameter input.
  $ command ''<input-yang-ditulis-user>''
 
== '''1 - Login SSH''' ==
  $ '''command''' '''''[input-user]'''''
Sebelum login, [[Koneksi VPN ALELEON Supercomputer|'''user harus terhubung ke jaringan VPN ALELEON Supercomputer''']] untuk dapat melakukan login ke ALELEON Supercomputer.
== '''Login SSH''' ==
{| class="wikitable"
{| class="wikitable"
|'''Note:'''
!Langkah Login SSH 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).''
|-
|}
!1
|-
| [[Koneksi VPN ALELEON Supercomputer|'''Aktifkan koneksi jaringan VPN ALELEON Supercomputer''']].
|-
!2
|-
|Gunakan software shell preferensi user.
 
* Lakukan login ke Login Node dengan kredensial berikut:


=== Kredensial SSH Login Node Utama ===
User login ke Login Node utama dengan kredensial berikut:
{| class="wikitable"
{| class="wikitable"
|+Kredensial SSH Login Node Utama  
! colspan="2" |Kredensial Login Node Utama
|-
|'''Username dan password'''
|'''Username dan password'''
|''Diberikan oleh admin ALELEON''
|''Diberikan oleh admin EFISON''
|-
|-
|'''Host untuk user Windows / MacOS'''
|'''Host untuk user Windows / MacOS'''
Baris 32: Baris 36:
|-
|-
|'''Nomor port'''
|'''Nomor port'''
|<code>22</code>
|<code>22</code> ''(default)''
|-
| colspan="2" |Contoh login via terminal:
* User Windows & MacOS -> <code>'''$ ssh ''[username]''@aleleon.hpc'''</code>
* User Linux -> <code>'''$ ssh ''[username]''@10.192.50.10'''</code>
|}
|-
!
|-
|Login Node ALELEON Supercomputer mendukung '''SSH X11:'''
{| class="wikitable"
!User OS
!Metode
|-
|-
| colspan="2" |Contoh perintah login melalui terminal:
|Windows
* User OS Windows dan MacOS -> <code>'''$ ssh <''username''>@aleleon.hpc'''</code>
|Admin merekomendasi software [https://mobaxterm.mobatek.net/download.html '''MobaXTerm Home Edition''']
* User OS Linux -> <code>'''$ ssh <''username''>@10.192.50.10'''</code>
|-
|-
| colspan="2" |'''Note khusus:'''  
|MacOS
* Mempunyai spesifikasi terbatas (CPU AMD EPYC 4 core dan RAM 4GB).
|<code>$ ssh '''-Y''' ''[username]''@aleleon.hpc</code>
* Mempunyai GPU NVIDIA T400.
|-
** Dapat melakukan compiling dengan lib. NVIDIA CUDA 12
|Linux
|<code>$ ssh '''-X''' ''[username]''@10.192.50.10</code>
|}
|}
Apabila tidak dapat login ke  Login Node Utama, gunakan login node backup melalui info kredensial berikut:
|-
{| class="wikitable"
!
|+Kredensial SSH Login Node Utama (backup)
|-
|Berikut kredensial Login Node backup ketika yang utama ''down'':
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Kredensial Login Node Backup 1
|-
|'''Username dan password'''
|'''Username dan password'''
|''Diberikan oleh admin ALELEON''
|''Diberikan oleh admin ALELEON''
|-
|-
|'''Host untuk user Windows / MacOS'''
|'''Host untuk user Windows / MacOS'''
|<code>aleleon2.hpc</code>
|<code>aleleon3.hpc</code>
|-
|-
|'''Host untuk user Linux'''
|'''Host untuk user Linux'''
|<code>10.192.50.12</code>
|<code>10.192.50.13</code>
|-
|-
|'''Nomor port'''
|'''Nomor port'''
|<code>22</code>
|<code>22</code> ''(default)''
|}
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Kredensial Login Node Backup 2
|-
| colspan="2" |''Tanpa GPU sehingga tidak dapat compiling / install package GPU''
|-
|-
| colspan="2" |'''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 (berjalan dengan hardware level ''consumer'') bagi user yang ingin melakukan compiling file skala besar. Adapun login node ini sekaligus menjadi backup kedua apabila semua Login Node Utama tidak dapat diakses.
{| class="wikitable"
|+Kredensial SSH Login Node Besar
|'''Username dan password'''
|'''Username dan password'''
|''Diberikan oleh admin ALELEON''
|''Diberikan oleh admin ALELEON''
|-
|-
|'''Host untuk user Windows / MacOS'''
|'''Host untuk user Windows / MacOS'''
|<code>aleleon3.hpc</code>
|<code>aleleon2.hpc</code>
|-
|-
|'''Host untuk user Linux'''
|'''Host untuk user Linux'''
|<code>10.192.50.13</code>
|<code>10.192.50.12</code>
|-
|-
|'''Nomor port'''
|'''Nomor port'''
|<code>22</code>
|<code>22</code> ''(default)''
|-
| colspan="2" |'''Note khusus:'''
* Mempunyai spesifikasi CPU AMD Ryzen 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 (tergantung oleh program dan koneksi internet user). Berikut adalah panduan untuk melakukan SSH X11:
{| class="wikitable"
|+Login SSH X11
!Dari OS
!Metode
|-
|Windows
|EFISON merekomendasikan software [https://mobaxterm.mobatek.net/download.html '''MobaXTerm Home Edition''']
|-
|MacOS
|<code>$ ssh -Y ''<username>''@<''pilih-hostname-login-node''></code>
|-
|Linux
|<code>$ ssh -X ''<username>''@<''pilih-hostname-login-node''></code>
|}
|}


== '''2A - Selamat Datang di Login Node''' ==
== '''Selamat Datang di Login Node''' ==
[[Berkas:Login-node-compute-node-1.png|al=|nirbing|600x600px]]
[[Berkas:Login-node-compute-node-1.png|al=|nirbing|700x700px]]
 
Login SSH membawa user masuk ke '''Login Node''' selaku front-end sistem'''.'''  User dapat melakukan serangkaian kegiatan berikut pada 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.
{| class="wikitable"
{| class="wikitable"
|'''Note:'''
|'''''Keterangan:'''''  
* ''Dimohon untuk tidak menjalankan komputasi berat di semua jenis Login Node karena mempunyai spesifikasi terbatas dan akan mengganggu user lainnya.''
* Semua kegiatan ini tidak mengurangi Kredit Core Hour user.
* Dimohon untuk tidak menjalankan komputasi selain compiling di 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.''
* Admin EFISON berhak memberikan peringatan kepada user atau menghentikan program user yang memakan semua resources Login Node dalam waktu lama.
|}
|}
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''), [[Module Environment|'''user dapat menggunakan Module Environment''']].
== '''3 - Menjalankan Komputasi ke Compute Node via SLURM''' ==
[[Berkas:Slurmm.png|al=|600x600px]]
User menjalankan job komputasi melalui '''SLURM''', yaitu program manajemen untuk menjalankan komputasi user pada Compute Node sekaligus mengatur antrian job semua user.
{| class="wikitable"
{| class="wikitable"
|'''Note:'''
!No
* ''Semua jenis Login Node dapat digunakan untuk job submission dengan langkah di bawah ini.''
!Kegiatan
|}
|-
{| class="wikitable"
|+Langkah menjalankan job komputasi dengan SLURM
|'''1'''
|'''1'''
|'''User menjalankan komputasi pada direktori HOME user'''. Siapkan file yang dibutuhkan untuk menjalankan komputasi user.
|
 
===Menjalankan Job Komputasi===
* [[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']] seperti FileZilla, WinSCP, dan lainnya.
*Menjalankan job software komputasi melalui manjemen Slurm.
* Untuk kerapian data, disarankan untuk menaruh satu job pada satu folder tersendiri.
*Tutorial per software komputasi lihat laman:
$ mkdir <''folder-job-supaya-rapi''>
**[[Daftar Software Komputasi dan Tutorial Penggunaan|'''Daftar Software Komputasi dan Tutorial Penggunaan''']]
$ cd <''folder-job-supaya-rapi''>
|-
! colspan="2" |
|-
|-
| rowspan="2" |'''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.  
|
=== Manajemen File ===
User dapat melakukan kegiatan manajemen data pada direktori HOME.


* User bebas memberikan nama pada SLURM Submit Script (satu kata tanpa separator spasi).
* Untuk upload / download file gunakan '''[[Upload File dengan Aplikasi FTP|software FTP]]'''
* Gunakan shell text editor terminal kesukaan masing-masing user atau bisa langsung FTP dari komputer pribadi 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:'''
! colspan="2" |
* '''[[Submit Script ALELEON Supercomputer|Pengenalan dasar Submit Script dan aturan menentukan alokasi kebutuhan komputasi di ALELEON Supercomputer.]]'''
* '''[[Daftar Software Komputasi dan Tutorial Penggunaan|Contoh template SLURM Submit Script untuk masing-masing software komputasi.]]'''
|-
|-
|'''3'''
|'''3'''
|Setelah menulis dan save script, jalankan job submission dengan perintah '''sbatch'''.
|
  '''$ sbatch <''nama-SLURM-Job-script''>.sh'''
=== Melihat Sisa / Penggunaan Core Hour ===
Contoh menjalankan script skripsi.sh diatas. Perhatikan bahwa user akan mendapatkan job ID.
Untuk akun perseorangan jalankan perintah:
$ sbatch skripsi.sh
  $ '''sausage'''
Submitted batch job 231
Untuk akun institusi ikuti petunjuk khusus dari admin.
|-
|-
|'''4A'''
! colspan="2" |
|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'''
|'''4'''
|Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.
|
 
=== Mengakses Software dan Compiling ===
* User hanya bisa membatalkan job submission milik user sendiri ''(kecuali user adalah cracker yang bisa menembus akses root ALELEON)''.


'''$ scancel <''job-ID-submission-user''>'''
* Untuk mengakses software gunakan [[Module Environment|'''Module Environment''']].
Contoh user membatalkan job submission milik user dengan ID 231.
* Info untuk compiling lihat laman [[Compiler ALELEON Supercomputer|'''Compiler ALELEON Supercomputer''']].
$ scancel 231
|}
|}


== '''4 - Memonitor Jalannya Job dengan squeue''' ==
== '''Support dan Laporan Kendala Penggunaan''' ==
Sesuai panduan di atas, user dapat memantau status jalannya job submission dengan perintah squeue. Info esensial untuk user adalah STATE dan NODELIST(REASON).
Apabila terdapat masalah teknis dalam menggunakan ALELEON Supercomputer, silahkan lapor dengan klik gambar berikut ini.
 
* '''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).
 
{| class="wikitable"
|+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
|}
 
{| class="wikitable"
|+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''' ==
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]]
Apabila terdapat masalah teknis dalam menggunakan ALELEON Supercomputer, silahkan lapor pada


''(coming soon)''
Apabila butuh support lainnya, hubungi admin melalui email:
'''support@efisonlt.com'''

Revisi terkini sejak 28 Juli 2024 03.30

Sbatch Terminal.png

Halaman ini menjelaskan tutorial menggunakan ALELEON Supercomputer via terminal.

Standar Kompetensi dan Persetujuan Prefix

  1. Tutorial ini mengasumsikan user dapat mengoperasikan terminal Linux.
  2. Simbol $ menandakan perintah terminal, bracket [ ] menandakan parameter input.
$ command [input-user]

Login SSH

Langkah Login SSH ALELEON Supercomputer
1
Aktifkan koneksi jaringan VPN ALELEON Supercomputer.
2
Gunakan software shell preferensi user.
  • Lakukan login ke Login Node dengan kredensial berikut:
Kredensial Login Node Utama
Username dan password Diberikan oleh admin EFISON
Host untuk user Windows / MacOS aleleon.hpc
Host untuk user Linux 10.192.50.10
Nomor port 22 (default)
Contoh login via terminal:
  • User Windows & MacOS -> $ ssh [username]@aleleon.hpc
  • User Linux -> $ ssh [username]@10.192.50.10
Login Node ALELEON Supercomputer mendukung SSH X11:
User OS Metode
Windows Admin merekomendasi software MobaXTerm Home Edition
MacOS $ ssh -Y [username]@aleleon.hpc
Linux $ ssh -X [username]@10.192.50.10
Berikut kredensial Login Node backup ketika yang utama down:
Kredensial Login Node Backup 1
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 (default)
Kredensial Login Node Backup 2
Tanpa GPU sehingga tidak dapat compiling / install package GPU
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 (default)

Selamat Datang di Login Node

Login SSH membawa user masuk ke Login Node selaku front-end sistem. User dapat melakukan serangkaian kegiatan berikut pada Login Node.

Keterangan:
  • Semua kegiatan ini tidak mengurangi Kredit Core Hour user.
  • Dimohon untuk tidak menjalankan komputasi selain compiling di Login Node karena mempunyai spesifikasi terbatas dan akan mengganggu user lainnya.
  • Admin EFISON berhak memberikan peringatan kepada user atau menghentikan program user yang memakan semua resources Login Node dalam waktu lama.
No Kegiatan
1

Menjalankan Job Komputasi

2

Manajemen File

User dapat melakukan kegiatan manajemen data pada direktori HOME.

3

Melihat Sisa / Penggunaan Core Hour

Untuk akun perseorangan jalankan perintah:

$ sausage

Untuk akun institusi ikuti petunjuk khusus dari admin.

4

Mengakses Software dan Compiling

Support dan Laporan Kendala Penggunaan

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

Wiki-pelaporankendala.jpg

Apabila butuh support lainnya, hubungi admin melalui email:

support@efisonlt.com