Menggunakan ALELEON Supercomputer via Terminal: Perbedaan antara revisi

Dari ALELEON by EFISON
(fix typo)
 
(48 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
Tutorial ini menjabarkan cara klasik menggunakan ALELEON Supercomputer via tampilan terminal. Perlu diperhatikan bahwa tutorial ini '''ditujukan untuk user yang dapat menggunakan terminal OS Linux.'''
Halaman ini menjelaskan tutorial menggunakan ALELEON Supercomputer via terminal.  
[[Berkas:Terminal.png|nir|jmpl|600x600px|'''Legacy supercomputer experience!''' ]]


== '''Persetujuan Prefix''' ==
== '''Standar Kompetensi dan Persetujuan Prefix''' ==
Simbol $ menandakan perintah terminal, sedangkan tanda kurung <> menandakan parameter input yang ditulis oleh user. Contoh terdapat rumusan perintah:
$ sbatch <myscript>
dimana script yang dibuat user bernama "kerjaan-skripsi", maka eksekusi perintah menjadi:
$ sbatch kerjaan-skripsi


== '''1 - Koneksi VPN ALELEON Supercomputer''' ==
# Tutorial ini mengasumsikan user dapat mengoperasikan terminal Linux.
Langkah pertama untuk mengakses ALELEON Supercomputer adalah [[Koneksi VPN ALELEON Supercomputer|'''menghubungkan perangkat user ke koneksi VPN ALELEON Supercomputer''']] demi keamanan jaringan dan data user selama mengakses ALELEON Supercomputer.
# Simbol '''$''' menandakan perintah terminal, bracket '''[ ]''' menandakan parameter input.


== '''2 - Login SSH''' ==
$ '''command''' '''''[input-user]'''''
User mengakses ALELEON Supercomputer melalui [[Login SSH ALELEON Supercomputer|'''Login SSH''']]. ALELEON Supercomputer menyediakan berbagai opsi SSH dari SSH biasa hingga X11 dan tunneling untuk kebetuhan tertentu.
== '''1 | Login SSH''' ==
{| class="wikitable"
!Langkah Login SSH ALELEON Supercomputer
|-
!1
|-
| [[Koneksi VPN ALELEON Supercomputer|'''Aktifkan VPN ALELEON Supercomputer''']].
|-
!2
|-
|Gunakan software shell preferensi user.  


== '''3 - Selamat Datang di Login Node ALELEON Supercomputer''' ==
* Lakukan login ke Login Node dengan kredensial berikut:
ALELEON Supercomputer mempunyai dua jenis node utama yaitu '''Login Node dan Compute Node'''. Setelah login SSH, user masuk ke '''Login Node''' yang menjadi '''front-end''' bagi user untuk berinteraksi dengan ALELEON Supercomputer.  Pada Login Node, user dapat melakukan kegiatan seperti 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. 


'''Prefix direktori HOME untuk user ALELEON Supercomputer adalah:'''  
{| class="wikitable"
'''/work/<nama-user>'''
! colspan="2" |Kredensial Login Node Utama
'''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 (contoh menjalankan framework komputasi di Login Node yang seharusnya dijalankan di Compute Node).
|-
[[Berkas:Login-node-compute-node-1.png|nir|jmpl|700x700px|'''ALELEON Supercomputer terdiri dari Login Node dimana tempat user masuk dan berinteraksi dengan ALELEON Supercomputer, sementarta itu Compute Node bertugas untuk menjalankan komputasi (job submission) user.''']]
|'''Username dan password'''
|''Diberikan oleh admin EFISON''
|-
|'''Host untuk user Windows / MacOS'''
|<code>aleleon.hpc</code>
|-
|'''Host untuk user Linux'''
|<code>10.192.50.10</code>
|-
|'''Nomor port'''
|<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
|-
|Windows
|Admin merekomendasi software [https://mobaxterm.mobatek.net/download.html '''MobaXTerm Home Edition''']
|-
|MacOS
|<code>$ ssh '''-Y''' ''[username]''@aleleon.hpc</code>
|-
|Linux
|<code>$ ssh '''-X''' ''[username]''@10.192.50.10</code>
|}
|-
!
|-
|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'''
|''Diberikan oleh admin ALELEON''
|-
|'''Host untuk user Windows / MacOS'''
|<code>aleleon3.hpc</code>
|-
|'''Host untuk user Linux'''
|<code>10.192.50.13</code>
|-
|'''Nomor port'''
|<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''
|-
|'''Username dan password'''
|''Diberikan oleh admin ALELEON''
|-
|'''Host untuk user Windows / MacOS'''
|<code>aleleon2.hpc</code>
|-
|'''Host untuk user Linux'''
|<code>10.192.50.12</code>
|-
|'''Nomor port'''
|<code>22</code> ''(default)''
|}
|}


== '''4 - Menggunakan Software dengan Module Environment''' ==
== '''2 | Selamat Datang di Login Node''' ==
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''']].
[[Berkas:Login-node-compute-node-1.png|al=|nirbing|700x700px]]


== '''5 - Menjalankan Komputasi (Job Submission) di ALELEON Supercomputer''' ==
Login SSH membawa user masuk ke '''Login Node.'''  Pada Login Node, user dapat melakukan: 
Untuk menggunakan Compute Node ALELEON Supercomputer, [[Manajemen SLURM Aleleon|'''user diwajibkan menjalankan job komputasi melalui manajemen SLURM''']]. SLURM adalah program manajemen untuk mengantarkan job komputasi user ke Compute Node serta mengatur antrian, load balancing, dan alokasi resources (CPU, RAM, GPU, dll).
 
[[Berkas:Slurmm.png|nir|jmpl|600x600px|'''ALELEON Supercomputer menggunakan manajemen SLURM untuk menjalankan job komputasi user di Compute Node.''']]
=== 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.
* 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''']].
 
{| class="wikitable"
|'''''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''' ==
[[Berkas:Slurmm.png|al=|600x600px]]
 
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''']]:
 
[[Berkas:Wiki-15.jpg|1000x1000px |link=Daftar Software Komputasi dan Tutorial Penggunaan |alt=Daftar Software Komputasi dan Tutorial Penggunaan]]
 
=== Tutorial Umum ===
Berikut menjabarkan tutorial umum menjalankan komputasi melalui SLURM.
{| class="wikitable"
! colspan="2" |Langkah Menjalankan Komputasi melalui SLURM di Terminal
[[Berkas:Sbatch Terminal.png|nirbing|500x500px]]
|-
|'''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 [[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
# ----------------------------------------------------
 
# Perintah menjakankan CP2K
mpirun -np ${SLURM_NTASKS} cp2k.zen2 ${INPUT_FILE}
</syntaxhighlight>
|}
|-
|'''2'''
|
===== Menjalankan Job Komputasi =====
Jalankan job dengan perintah sbatch.
$ '''sbatch''' '''''<nama-SLURM-Submit-script>'''''
Contoh menjalankan nama script <code>my_job_submission.sh</code>.
$ 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:
{| class="wikitable"
|+Daftar STATE squeue SLURM
!STATE
!Kepanjangan
!Penjelasan
|-
| R
|RUN
| Job berjalan
|-
|PD
|PENDING
|Job tertahan, lihat keterangan [[Daftar Reason NODELIST ALELEON Supercomputer|'''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.
 
[[Berkas:Wiki-pelaporankendala.jpg|1000x1000px|link=https://efisonlt.com/aleleonbugreport]]

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