|
|
(51 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.'''
| | [[Berkas:Sbatch Terminal.png|nirbing|600x600px]] |
| [[Berkas:Terminal.png|nir|jmpl|600x600px|'''Legacy supercomputer experience!''' ]] | |
|
| |
|
| == '''Persetujuan Prefix''' ==
| | Halaman ini menjelaskan tutorial menggunakan ALELEON Supercomputer via terminal. |
| 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''' == | | == '''Standar Kompetensi dan Persetujuan Prefix''' == |
| 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.
| |
|
| |
|
| == '''2 - Login SSH''' ==
| | # Tutorial ini mengasumsikan user dapat mengoperasikan terminal Linux. |
| 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.
| | # Simbol '''$''' menandakan perintah terminal, bracket '''[ ]''' menandakan parameter input. |
|
| |
|
| == '''3 - Selamat Datang di Login Node ALELEON Supercomputer''' ==
| | $ '''command''' '''''[input-user]''''' |
| 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.
| | == '''Login SSH''' == |
| | {| class="wikitable" |
| | !Langkah Login SSH ALELEON Supercomputer |
| | |- |
| | !1 |
| | |- |
| | | [[Koneksi VPN ALELEON Supercomputer|'''Aktifkan koneksi jaringan VPN ALELEON Supercomputer''']]. |
| | |- |
| | !2 |
| | |- |
| | |Gunakan software shell preferensi user. |
|
| |
|
| '''Prefix direktori HOME untuk user ALELEON Supercomputer adalah:'''
| | * Lakukan login ke Login Node dengan kredensial berikut: |
| '''/work/<nama-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 (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.''']]
| |
|
| |
|
| == '''4 - Menggunakan 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''']].
| |
|
| |
| == '''5 - Menjalankan Komputasi (Job Submission) di ALELEON Supercomputer''' ==
| |
| Untuk menggunakan Compute Node ALELEON Supercomputer, '''user harus 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.''']]|
| |
|
| |
| === Perintah Dasar SLURM ===
| |
| Berikut adalah perintah dasar bagi user untuk menggunakan SLURM:
| |
| {| class="wikitable" | | {| class="wikitable" |
| |+Perintah dasar SLURM untuk user | | ! colspan="2" |Kredensial Login Node Utama |
| !Perintah | | |- |
| !Penjelasan | | |'''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''' |
| $ '''sbatch''' <slurm-script>
| | |''Diberikan oleh admin ALELEON'' |
| |Menjalankan job komputasi user yang ditulis pada '''SLURM script''' ke Compute Node. SLURM Script adalah bash script yang berisikan alokasi resources (CPU, GPU, RAM, walltime, output, dll) dan alur jalannya program komputasi user. | | |- |
| | |'''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''' |
| $ '''squeue'''
| | |<code>10.192.50.12</code> |
| |Melihat status dan antrian semua komputasi. Tambahan opsi: | |
| | |
| * squeue -l : menampilkan squeue dengan info lengkap
| |
| * squeue -u $USER : menampilkan squeue untuk job pribadi user
| |
| |- | | |- |
| | | | |'''Nomor port''' |
| $ '''scancel''' <job-ID>
| | |<code>22</code> ''(default)'' |
| |Membatalkan job SLURM yang sedang berjalan | | |} |
| |} | | |} |
| |
| |
|
| |
|
| === Contoh Menggunakan SLURM === | | == '''Selamat Datang di Login Node''' == |
| '''User akan menjalankan program bernama 'skripsi' di Compute Node.''' User membuat '''SLURM script''' yang berisikan alokasi resources dan perintah untuk menjalankan program 'skripsi'.
| | [[Berkas:Login-node-compute-node-1.png|al=|nirbing|700x700px]] |
|
| |
|
| * Ada baiknya SLURM script ditaruh pada satu direktori dengan program yang akan dijalankan.
| | Login SSH membawa user masuk ke '''Login Node''' selaku front-end sistem'''.''' User dapat melakukan serangkaian kegiatan berikut pada Login Node. |
| * Penamaan SLURM script bisa bebas dimana pada contoh ini bernama 'slurm-skripsi'.
| |
|
| |
|
| $ ls
| | {| class="wikitable" |
| skripsi '''slurm-skripsi'''
| | |'''''Keterangan:''''' |
| Jalankan SLURM submission script tersebut dengan perintah '''sbatch'''. Perhatikan bahwa user akan mendapatkan nomor ID dari job tersebut.
| | * Semua kegiatan ini tidak mengurangi Kredit Core Hour user. |
| $ '''sbatch slurm-skripsi'''
| | * Dimohon untuk tidak menjalankan komputasi selain compiling di Login Node karena mempunyai spesifikasi terbatas dan akan mengganggu user lainnya. |
| Submitted batch job 231
| |
| 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
| |
| 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 semogahasilnyabenarbiarcepatlulus.txt
| |
| Apabila user ingin membatalkan program yang tengah berjalan via SLURM, gunakan perintah '''scancel''' job ID:
| |
| $ '''scancel 231'''
| |
| |
| |
|
| |
|
| === SLURM Script ===
| | * Admin EFISON berhak memberikan peringatan kepada user atau menghentikan program user yang memakan semua resources Login Node dalam waktu lama. |
| '''SLURM script adalah bash-script yang berisikan alokasi resources (CPU, RAM, GPU, walltime, output, dll) dan alur jalannya program'''. Terdapat 4 komponen penting pada SLURM script:
| | |} |
| [[Berkas:Contoh SLURM updated.png|nir|jmpl|600x600px|'''Komponen SLURM Script''']]
| |
| | |
| # Header #!/bin/bash untuk bash script.
| |
| # Parameter alokasi resources CPU, memori, waktu, output, dll dengan '''SBATCH'''.
| |
| # Pengaturan [[Module Environment|'''Module Environment''']] untuk memuat software yang dibutuhkan.
| |
| # Alur perintah untuk menjalankan komputasi user.
| |
| | |
| |
| |
| | |
| === Menentukan Resources Job dan Contoh SLURM Script ===
| |
| Salah satu seni dalam menggunakan superkomputer adalah '''user menentukan sendiri jumlah alokasi resources (CPU, GPU, RAM, walltime, dll) yang akan digunakan'''. Selain itu user juga menentukan sendiri opsi tambahan dalam menjalankan job seperti file output, notifikasi email, atau bahkan pengaturan kompleks seperti CPU binding, affinity, NUMA, dan masih banyak lagi. '''Pada manajemen SLURM, semua hal tersebut ditampung pada parameter SBATCH SLURM'''.
| |
| | |
| [[Alokasi Resources Job dan Contoh SLURM Script|'''Maka dari itu untuk membuat pengaturan alokasi tersebut, user harus belajar sejenak tentang resources hardware ALELEON Supercomputer, bagaimana cara mengalokasikannya dengan benar, dan mengetahui parameter SBATCH SLURM yang dapat digunakan.''']] Alokasi resources yang tidak benar dapat membuat job berjalan lambat dan menghabiskn kredit Core Hour user. Sebagi tambahan, user dapat melihat '''contoh SLURM Script spesifik untuk software komputasi tertentu''' yang dapat ditemukan pada [[Katalog Software ALELEON Supercomputer|'''katalog software ALELEON Supercomputer''']].
| |
| | |
| |
| |
| | |
| === Memonitor Jalannya Job dengan squeue ===
| |
| User dapat memantau status jalannya job atau melihat antrian job dengan perintah squeue.
| |
| [[Berkas:Status squeue.png|nir|jmpl|900x900px|Contoh squeue dan penjelasan info yang ditunjukan.]]
| |
| Info yang esensial untuk user adalah bagian STATE dan NODELIST(REASON). STATE (ST) memberikan kondisi jalannya program user sementara itu NODELIST(REASON) memberikan detail verbose status jalannya program user.
| |
| {| class="wikitable" | | {| class="wikitable" |
| |+Daftar STATE yang biasa muncul
| | !No |
| !STATE
| | !Kegiatan |
| !Kepanjangan | |
| !Penjelasan | |
| |- | | |- |
| |R | | |'''1''' |
| |RUN | | | |
| |Job berjalan | | ===Menjalankan Job Komputasi=== |
| | *Menjalankan job software komputasi melalui manjemen Slurm. |
| | *Tutorial per software komputasi lihat laman: |
| | **[[Daftar Software Komputasi dan Tutorial Penggunaan|'''Daftar Software Komputasi dan Tutorial Penggunaan''']] |
| |- | | |- |
| |PD | | ! colspan="2" | |
| |PENDING
| |
| |Job tertahan, lihat keterangan NODELIST
| |
| |- | | |- |
| |CG | | |'''2''' |
| |COMPLETING | | | |
| |Job selesai dan dalam proses clean-up SLURM | | === Manajemen File === |
| | User dapat melakukan kegiatan manajemen data pada direktori HOME. |
| | |
| | * Untuk upload / download file gunakan '''[[Upload File dengan Aplikasi FTP|software FTP]]''' |
| |- | | |- |
| |CA | | ! colspan="2" | |
| |CANCELED
| |
| |Job dibatalkan oleh user
| |
| |- | | |- |
| |PR | | |'''3''' |
| |PREEMPETED | | | |
| |Job dibatalkan oleh sys-admin Aleleon, alasan akan dikabarkan melalui email
| | === Melihat Sisa / Penggunaan Core Hour === |
| |-
| | Untuk akun perseorangan jalankan perintah: |
| |S
| | $ '''sausage''' |
| |SUSPENDED
| | Untuk akun institusi ikuti petunjuk khusus dari admin. |
| |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 (STATE selain RUNNING). Berikut adalah daftar NODELIST yang bisa terjadi di HPC Aleleon Mk.II:
| |
| {| class="wikitable"
| |
| |+Daftar info NODELIST pada job tidak berjalan yang telah dikonfirmasi terjadi
| |
| !NODELIST
| |
| !Penjelasan
| |
| |- | | |- |
| |Resources | | ! colspan="2" | |
| |Job menunggu alokasi resources (CPU, RAM, GPU) yang dipesan oleh SLURM submission script user
| |
| |- | | |- |
| |AssocMaxWallDurationPerJobLimit | | |'''4''' |
| |Job tidak dapat berjalan karena melewati batas walltime maksimum partisi | | | |
| |-
| | === Mengakses Software dan Compiling === |
| |QOSMaxCpuPerUserLimit | | |
| |Job melewati batas alokasi CPU user (lihat laman QOS User untuk penjelasan lebih lanjut).
| | * Untuk mengakses software gunakan [[Module Environment|'''Module Environment''']]. |
| | * Info untuk compiling lihat laman [[Compiler ALELEON Supercomputer|'''Compiler ALELEON Supercomputer''']]. |
| |} | | |} |
| '''User dapat lapor ke admin EFISON apabila menjumpai NODELIST yang tidak terdapat pada daftar diatas ketika job user tidak berjalan.''' | | |
| | == '''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]] |
| | |
| | Apabila butuh support lainnya, hubungi admin melalui email: |
| | '''support@efisonlt.com''' |