Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi

Dari ALELEON by EFISON
(fix typo)
 
(6 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 2: Baris 2:


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


* SIlahkan gunakan software shell sesuai preferensi masing-masing user untuk login SSH.
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Kredensial 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 24: Baris 37:
|-
|-
| colspan="2" |Contoh login via terminal:
| colspan="2" |Contoh login via terminal:
* User OS Windows & MacOS -> <code>'''$ ssh <''username''>@aleleon.hpc'''</code>
* User Windows & MacOS -> <code>'''$ ssh ''[username]''@aleleon.hpc'''</code>
* User OS Linux -> <code>'''$ ssh <''username''>@10.192.50.10'''</code>
* User Linux -> <code>'''$ ssh ''[username]''@10.192.50.10'''</code>
|}
|-
!
|-
|-
| colspan="2" |'''''Keterangan:''''' 
|Login Node ALELEON Supercomputer mendukung '''SSH X11:'''  
* Dapat melakukan compiling dengan lib. NVIDIA CUDA 12
|}
ALELEON Supercomputer mendukung '''SSH X11''' untuk menampilkan window GUI:
{| class="wikitable"
{| class="wikitable"
!Dari OS
!User OS
!Metode
!Metode
|-
|-
|Windows
|Windows
|EFISON merekomendasikan software [https://mobaxterm.mobatek.net/download.html '''MobaXTerm Home Edition''']
|Admin merekomendasi software [https://mobaxterm.mobatek.net/download.html '''MobaXTerm Home Edition''']
|-
|-
|MacOS
|MacOS
|<code>$ ssh -Y ''<username>''@aleleon.hpc</code>
|<code>$ ssh '''-Y''' ''[username]''@aleleon.hpc</code>
|-
|-
|Linux
|Linux
|<code>$ ssh -X ''<username>''@10.192.50.10</code>
|<code>$ ssh '''-X''' ''[username]''@10.192.50.10</code>
|}
|}
Terdapat login node khusus dengan spesifikasi besar bagi user yang ingin melakukan compiling file skala besar ''(klik expand atau kembangkan)'':
|-
!
|-
|Berikut kredensial Login Node backup ketika yang utama ''down'':
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Kredensial Login Node Besar
! colspan="2" |Kredensial Login Node Backup 1
|-
|-
|'''Username dan password'''
|'''Username dan password'''
Baris 59: Baris 75:
|'''Nomor port'''
|'''Nomor port'''
|<code>22</code> ''(default)''
|<code>22</code> ''(default)''
|-
| colspan="2" |'''Note khusus:'''
* Mempunyai spesifikasi CPU 12 core dan RAM 128GB.
* Dapat melakukan compiling dengan lib. NVIDIA CUDA 12
|}
|}
Apabila tidak dapat login ke Login Node Utama, gunakan Login Node Backup ''(klik expand atau kembangkan)'':
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="2" |Kredensial Login Node Backup
! colspan="2" |Kredensial Login Node Backup 2
|-
| colspan="2" |''Tanpa GPU sehingga tidak dapat compiling / install package GPU''
|-
|-
|'''Username dan password'''
|'''Username dan password'''
Baris 79: Baris 92:
|'''Nomor port'''
|'''Nomor port'''
|<code>22</code> ''(default)''
|<code>22</code> ''(default)''
|-
| colspan="2" |'''Note khusus:'''
* Mempunyai spesifikasi terbatas (CPU AMD EPYC 4 core dan RAM 16GB).
* Tidak mempunyai GPU.
|}
|}
|}
== '''2 | Selamat Datang di Login Node''' ==
== '''2 | Selamat Datang di Login Node''' ==
[[Berkas:Login-node-compute-node-1.png|al=|nirbing|700x700px]]
[[Berkas:Login-node-compute-node-1.png|al=|nirbing|700x700px]]
Baris 89: Baris 100:
Login SSH membawa user masuk ke '''Login Node.'''  Pada Login Node, user dapat melakukan:   
Login SSH membawa user masuk ke '''Login Node.'''  Pada Login Node, user dapat melakukan:   


* Kegiatan manajemen data, download / upload, compiling, instalasi software sendiri, dll.
=== Manajemen Data dan Folder ===
* Menjalankan komputasi ke '''Compute Node''' melalui manajemen SLURM.  
User dapat melakukan kegiatan manajemen data:
** Lihat subbab [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#3_|_Menjalankan_Komputasi_ke_Compute_Node_via_SLURM '''Menjalankan Komputasi ke Compute Node via SLURM''']
 
* Upload dan download data via software FTP. Info lebih lanjut lihat laman '''[[Upload File dengan Aplikasi FTP]]'''
* Mengatur file dan folder via software FTP atau terminal (cd, mkdir, cp, mv, vim, nano, dan lain-lainnya).
* ''Kegiatan ini tidak mengurangi Kredit Core Hour.''
 
=== Mengakses, Compiling, dan Instalasi Software ===
User dapat melakukan kegiatan mengakses, compiling, dan instalasi software secara lokal di direktori HOME masing-masing.
 
* Info lebih detail lihat laman '''''<coming soon>'''''
 
=== Menjalankan Komputasi ===
User dapat menjalankan komputasi ke '''Compute Node''' melalui manajemen SLURM.
* Lihat subbab [https://wiki.efisonlt.com/wiki/Menggunakan_ALELEON_Supercomputer_via_Terminal#3_|_Menjalankan_Komputasi_ke_Compute_Node_via_SLURM '''Menjalankan Komputasi ke Compute Node via SLURM''']
 
* Mengakses software yang terinstal di ALELEON Supercomputer melalui [[Module Environment|'''Module Environment''']].
* Mengakses software yang terinstal di ALELEON Supercomputer melalui [[Module Environment|'''Module Environment''']].


Baris 103: Baris 127:
[[Berkas:Slurmm.png|al=|600x600px]]
[[Berkas:Slurmm.png|al=|600x600px]]


User menjalankan job komputasi melalui '''SLURM''', program manajemen (''scheduler'') untuk menjalankan komputasi user pada Compute Node.
User menjalankan job komputasi ke Compute Node melalui program manajemen atau scheduler '''SLURM.'''  


=== Tutorial Spesifik per Software Komputasi ===
=== Tutorial Spesifik per Software Komputasi ===
Baris 113: Baris 137:
Berikut menjabarkan tutorial umum menjalankan komputasi melalui SLURM.
Berikut menjabarkan tutorial umum menjalankan komputasi melalui SLURM.
{| class="wikitable"
{| class="wikitable"
! colspan="2" |Langkah Umum Menjalankan Komputasi via SLURM
! colspan="2" |Langkah Menjalankan Komputasi melalui SLURM di Terminal
[[Berkas:Sbatch Terminal.png|nirbing|500x500px]]
|-
|-
|'''1'''
|'''1'''
|Siapkan file yang dibutuhkan untuk menjalankan komputasi user.
|
=====Menyiapkan File Komputasi=====
Siapkan file yang dibutuhkan untuk komputasi user, rekomendasi dalam satu folder per job:
*File input dan data komputasi.
**User dapat upload / download file ke ALELEON dengan [[Upload File dengan Aplikasi FTP|'''software FTP''']].
*Membuat '''SLURM Submit Script''' yaitu 'formulir' untuk menjalankan job komputasi.
**Nama script bebas dengan format file .sh (bash), contoh ''<code>my_job_submission.sh</code>''
**Info membuat SLURM Submit Script lihat [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']]
{| class="wikitable mw-collapsible mw-collapsed"
!Contoh SLURM Submit Script dengan software CP2K
|-
|<syntaxhighlight lang="bash" line="1">
#!/bin/bash
 
# -----------------------------------------------------
# Template SLURM Submit Script
# CP2K (versi CPU) | rev.080124
#
# NOTES:
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# -----------------------------------------------------
 
# -----------------------------------------------------
# Alokasi komputasi SBATCH, input, dan module
# -----------------------------------------------------
 
# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////
 
# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB
 
# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////
 
# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt
 
# Definisi file untuk menampung output error log   
#SBATCH --error=error-%j.txt
 
# Nama input file CP2K yang dijalankan
INPUT_FILE="////.inp"
 
# Memuat modul software CP2K versi CPU
# Daftar modul lihat subbab "Modul CP2K" di atas
module load cp2k////
 
# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------


* [[Upload File dengan Aplikasi FTP|'''User dapat melakukan upload / download file dengan bantuan aplikasi FTP''']]
# Perintah menjakankan CP2K
mpirun -np ${SLURM_NTASKS} cp2k.zen2 ${INPUT_FILE}
</syntaxhighlight>
|}
|-
|-
|'''2'''
|'''2'''
|Buat '''SLURM Submit Script''' yaitu 'formulir' untuk menjalankan job dengan panduan berikut:
|
 
===== Menjalankan Job Komputasi =====
* Nama script dibebaskan dengan format file .sh (bash), contoh ''<code>my_job_submission.sh</code>''
Jalankan job dengan perintah sbatch.
*Buat script pada direktori yang sama dengan file komputasi yang akan dijalankan.
*Info membuat SLURM Submit Script lihat laman [[Submit Script ALELEON Supercomputer|'''Submit Script ALELEON Supercomputer''']]
[[Berkas:Slurmsubmitscript.png|nir|jmpl|''Contoh SLURM Submit Script'']]
|-
|'''3'''
|Jalankan job dengan perintah sbatch.
  $ '''sbatch''' '''''<nama-SLURM-Submit-script>'''''
  $ '''sbatch''' '''''<nama-SLURM-Submit-script>'''''
Contoh menjalankan nama script <code>my_job_submission.sh</code>.
Contoh menjalankan nama script <code>my_job_submission.sh</code>.
  $ sbatch my_job_submission.sh
  $ sbatch my_job_submission.sh
|-
|-
|'''4A'''
|'''3A'''
|User dapat melihat status jalannya job dengan perintah squeue berikut.
|User dapat melihat status jalannya job dengan perintah squeue berikut.
*Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
*Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
Baris 145: Baris 220:
!Penjelasan
!Penjelasan
|-
|-
|R
| R
|RUN
|RUN
|Job berjalan
| Job berjalan  
|-
|-
|PD
|PD
|PENDING
|PENDING
|Job tertahan, lihat keterangan NODELIST(REASON)''<sup>1</sup>''
|Job tertahan, lihat keterangan [[Daftar Reason NODELIST ALELEON Supercomputer|'''NODELIST(REASON)''']]
|-
|-
|CG
| CG
|COMPLETING
|COMPLETING
|Job selesai dan dalam proses clean-up SLURM
|Job selesai dan dalam proses clean-up SLURM
|-
|-
|CA
|CA
|CANCELED
| CANCELED
|Job dibatalkan oleh user
|Job dibatalkan oleh user
|-
|-
Baris 165: Baris 240:
|Job dibatalkan oleh admin EFISON, alasan dikabarkan melalui email
|Job dibatalkan oleh admin EFISON, alasan dikabarkan melalui email
|-
|-
|S
| S
|SUSPENDED
|SUSPENDED  
|Job ditahan oleh admin EFISON
|Job ditahan oleh admin EFISON
|}'''''Keterangan:'''''
|}
#Kunjungi laman [[Daftar Reason NODELIST ALELEON Supercomputer|'''Daftar Reason NODELIST ALELEON Supercomputer''']].
|-
|-
|'''4B'''
|'''3B'''
|Apabila user ingin membatalkan job yang sedang berjalan, gunakan perintah scancel berdasarkan job ID.
|
=====Menghentikan Job Komputasi=====
Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.
*Job ID dapat dilihat melalui perintah squeue pada kolom JOBID.
*Job ID dapat dilihat melalui perintah squeue pada kolom JOBID.
*User hanya bisa membatalkan job submission milik user sendiri.
*User hanya bisa membatalkan job submission milik user sendiri.

Revisi terkini sejak 6 April 2024 09.42

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]

1 | Login SSH

Langkah Login SSH ALELEON Supercomputer
1
Aktifkan 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)

2 | Selamat Datang di Login Node

Login SSH membawa user masuk ke Login Node. Pada Login Node, user dapat melakukan:

Manajemen Data dan Folder

User dapat melakukan kegiatan manajemen data:

  • Upload dan download data via software FTP. Info lebih lanjut lihat laman Upload File dengan Aplikasi FTP
  • Mengatur file dan folder via software FTP atau terminal (cd, mkdir, cp, mv, vim, nano, dan lain-lainnya).
  • Kegiatan ini tidak mengurangi Kredit Core Hour.

Mengakses, Compiling, dan Instalasi Software

User dapat melakukan kegiatan mengakses, compiling, dan instalasi software secara lokal di direktori HOME masing-masing.

  • Info lebih detail lihat laman <coming soon>

Menjalankan Komputasi

User dapat menjalankan komputasi ke Compute Node melalui manajemen SLURM.

Keterangan:
  • Dimohon untuk tidak menjalankan komputasi selain compiling di semua jenis 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.

3 | Menjalankan Komputasi ke Compute Node via SLURM

User menjalankan job komputasi ke Compute Node melalui program manajemen atau scheduler SLURM.

Tutorial Spesifik per Software Komputasi

User dapat melihat tutorial menjalankan komputasi masing-masing software komputasi di laman Daftar Software Komputasi dan Tutorial Penggunaan:

Daftar Software Komputasi dan Tutorial Penggunaan

Tutorial Umum

Berikut menjabarkan tutorial umum menjalankan komputasi melalui SLURM.

Langkah Menjalankan Komputasi melalui SLURM di Terminal

Sbatch Terminal.png

1
Menyiapkan File Komputasi

Siapkan file yang dibutuhkan untuk komputasi user, rekomendasi dalam satu folder per job:

  • File input dan data komputasi.
    • User dapat upload / download file ke ALELEON dengan software FTP.
  • Membuat SLURM Submit Script yaitu 'formulir' untuk menjalankan job komputasi.
Contoh SLURM Submit Script dengan software CP2K
#!/bin/bash

# -----------------------------------------------------
# Template SLURM Submit Script
# CP2K (versi CPU) | rev.080124
# 
# NOTES: 
# 1. Isi bagian yang ditandai 4 garing (////).
# 2. Template ini bersifat referensi.
#    User dapat mengubah bagian yang perlu diubah.
# -----------------------------------------------------

# -----------------------------------------------------
# Alokasi komputasi SBATCH, input, dan module
# -----------------------------------------------------

# Alokasi jumlah core thread CPU
#SBATCH --ntasks=////

# Alokasi jumlah memori RAM (satuan GB)
#SBATCH --mem=////GB

# Alokasi limit waktu menjalankan job
# Format HH:MM:SS atau D-HH:MM:SS
#SBATCH --time=////

# Definisi file untuk menampung output terminal program
#SBATCH --output=result-%j.txt

# Definisi file untuk menampung output error log    
#SBATCH --error=error-%j.txt 

# Nama input file CP2K yang dijalankan
INPUT_FILE="////.inp"

# Memuat modul software CP2K versi CPU
# Daftar modul lihat subbab "Modul CP2K" di atas 
module load cp2k////

# ----------------------------------------------------
# Script jalannya program
# ----------------------------------------------------

# Perintah menjakankan CP2K
mpirun -np ${SLURM_NTASKS} cp2k.zen2 ${INPUT_FILE}
2
Menjalankan Job Komputasi

Jalankan job dengan perintah sbatch.

$ sbatch <nama-SLURM-Submit-script>

Contoh menjalankan nama script my_job_submission.sh.

$ sbatch my_job_submission.sh
3A User dapat melihat status jalannya job dengan perintah squeue berikut.
  • Apabila tidak ada output artinya tidak ada job user yang berjalan / antri pada waktu itu.
$ squeue -ul $USER

Berikut adalah daftar STATE (ST) dari squeue yang menunjukkan status berjalannya job:

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 admin EFISON, alasan dikabarkan melalui email
S SUSPENDED Job ditahan oleh admin EFISON
3B
Menghentikan Job Komputasi

Apabila user ingin membatalkan job, gunakan perintah scancel berdasarkan job ID.

  • Job ID dapat dilihat melalui perintah squeue pada kolom JOBID.
  • User hanya bisa membatalkan job submission milik user sendiri.
$ scancel <job-ID-submission-user>

Contoh user membatalkan job submission milik user dengan ID 231.

$ scancel 231

Support dan Laporan Kendala Penggunaan

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

Wiki-pelaporankendala.jpg