R: Perbedaan antara revisi

Dari ALELEON by EFISON
k (WilsonLisan memindahkan halaman R ke R menggunakan Job Composer: membedakan versi Job Composer dan JN)
(Menyesuaikan format penulisan baru, job composer vs JN, menambah bagian instalasi package R mandiri)
Baris 2: Baris 2:


R adalah bahasa interpreter yang didesain untuk mengerjakan komputasi statistika. Pada perkembangannya, bahasa R digunakan untuk pengolahan data di bidang ''data science''. Software R didukung oleh [https://www.r-project.org/ '''The R Foundation for Statistical Computing'''].  
R adalah bahasa interpreter yang didesain untuk mengerjakan komputasi statistika. Pada perkembangannya, bahasa R digunakan untuk pengolahan data di bidang ''data science''. Software R didukung oleh [https://www.r-project.org/ '''The R Foundation for Statistical Computing'''].  
== '''Menjalankan R di ALELEON Supercomputer''' ==
Terdapat dua cara untuk menjalankan R di ALELEON Supercomputer:
* Melalui '''Job Composer:'''
** Untuk file R siap jalan dengan beban komputasi apapun dari skala kecil hingga masif.
** Berjalan di Compute Node dengan alokasi hardware komputasi besar.
* Melalui '''interaktif Jupyter Notebook:'''
** Untuk R secara interaktif dengan beban komputasi kecil atau pengujian script.
** Penggunaan interaktif Jupyter Notebook mempunyai alokasi hardware kecil dan waktu terbatas.
Halaman ini menjelaskan penggunaan R via Job Composer. Apabila ingin menggunakan R via interaktif Jupyter Notebook, klik:
{| class="wikitable"
|
=== R menggunakan Jupyter Notebook ===
[[Berkas:Jupyter logo icon.png|nirbing|200x200px]]
|}


== '''Versi yang Tersedia''' ==
== '''Versi yang Tersedia''' ==
Baris 9: Baris 26:
!Dukungan Hardware
!Dukungan Hardware
|-
|-
|4.0.4 "Lost Library Book"
|4.1.0 "Camp Pontanezen"
| rowspan="3" |ya, melalui [https://cran.r-project.org/web/packages/Rmpi/Rmpi.pdf '''RMPI''']
| rowspan="2" |ya, melalui [https://cran.r-project.org/web/packages/Rmpi/Rmpi.pdf '''RMPI''']
| rowspan="3" |default: CPU, single-node
| rowspan="2" |default: CPU, single-node
<nowiki>*</nowiki>multi-node dengan RMPI  
<nowiki>*</nowiki>multi-node dengan RMPI  
|-
|4.1.0 "Camp Pontanezen"
|-
|-
|4.1.2 "Bird Hippie"
|4.1.2 "Bird Hippie"
|}
|}
Untuk saat ini EFIRO '''belum menyediakan interaktif IDE RStudio''' sehingga user disarankan menggunakan ALELEON Supercomputer untuk menjalankan file R siap jalan.
== '''Menjalankan R di Job Composer''' ==
 
== '''Package Library R''' ==
 
* Package Library R hanya bisa diinstal oleh admin EFISON.
* User dapat menghubungi admin via email '''support@efisonlt.com''' untuk instalasi package library R ketika program user menjumpai '''error missing library'''.
** Terekap pada file error yang didefinisikan via '''SBATCH error''' di Submit Script (penjelasan dibawah).
** User akan mendapatkan '''bonus kredit 50 CPU Core Hour''' untuk setiap jumlah library di laporan permohonan instalasi ke admin.
 
== '''Menjalankan R''' ==
User menjalankan R pada '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer
User menjalankan R pada '''Job Composer''' EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer


[[Berkas:Efirojobcomposermenu.png|nirbing|400x400px|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
[[Berkas:Efirojobcomposermenu.png|nirbing|400x400px|pra=https://wiki.efisonlt.com/wiki/Berkas:Efirojobcomposermenu.png]]
===1. Memilih template R===
*Klik '''New Jobs > From Template.'''
*Pilih template R yang dibutuhkan.
*isi '''Job Name''' sesuai keinginan user kemudian klik '''Create New Job'''.
[[Berkas:Jcnewjobmarked.png|al=|nirbing|200x200px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]]
---


[[Berkas:Jcselecttemplate3.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]]
== '''Memilih template R''' ==
{| class="wikitable"
{| class="wikitable"
|+Template R yang tersedia
|+Template R yang tersedia
!Nama Template
!Nama Template
!Penjelasan
!Penjelasan
|-
| R 4.0.4 "Lost Library Book"
|Template standar R 4.0.4
|-
|-
|R 4.1.0 "Camp Pontanezen"
|R 4.1.0 "Camp Pontanezen"
Baris 53: Baris 49:
|R 4.1.2 "Bird Hippie"
|R 4.1.2 "Bird Hippie"
|Template standar R 4.1.2
|Template standar R 4.1.2
|-
|RMPI 4.0.4
|Template R 4.0.4 versi MPI
|-
|-
|RMPI 4.1.0
|RMPI 4.1.0
Baris 62: Baris 55:
|RMPI 4.1.2
|RMPI 4.1.2
|Template R 4.1.2 versi MPI
|Template R 4.1.2 versi MPI
|}---
|}
===2. Mempersiapkan File R dan Dataset ===
*Klik '''New Jobs > From Template.'''
*Pilih template R yang dibutuhkan.
*isi '''Job Name''' sesuai keinginan user kemudian klik '''Create New Job'''.
[[Berkas:Jcnewjobmarked.png|al=|nirbing|200x200px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcnewjobmarked.png]]
 
---
 
[[Berkas:Jcselecttemplate3.png|al=|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcselecttemplate3.png]]
 
=='''Mempersiapkan File R dan Dataset''' ==
[[Berkas:Jcjoboption3.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
[[Berkas:Jcjoboption3.png|nirbing|600x600px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
* User dapat melakukan '''upload, editing, rename file R dan dataset yang dibutuhkan''' melalui menu '''Edit Files.'''
* User dapat melakukan '''upload, editing, rename file R dan dataset yang dibutuhkan''' melalui menu '''Edit Files.'''
* Fitur upload di halaman Edit Files '''mempunyai batasan ukuran upload 2GB per file'''. Gunakan [[Upload File dengan Aplikasi FTP|'''aplikasi FTP''']] apabila user hendak mengupload file tunggal diatas 2GB.
* Fitur upload di halaman Edit Files '''mempunyai batasan ukuran upload 2GB per file'''. Gunakan [[Upload File dengan Aplikasi FTP|'''aplikasi FTP''']] apabila user hendak mengupload file tunggal diatas 2GB.
*Taruh file input dan dataset pada direktori yang sama dengan file '''slurm-r.sh.'''
*Taruh file input dan dataset pada direktori yang sama dengan file '''slurm-r.sh.'''
== '''Instalasi Library Package R''' ==
[[Berkas:Jcjoboption4.png|nirbing|600x600px]]
* User dapat melakukan instalasi mandiri package library R melalui terminal ALELEON Supercomputer via menu '''Open Terminal''' di Job Composer atau '''Clusters > Aleleon Shell Access''' di Dashboard EFIRO.
* Aktifkan R pada terminal dengan module load.
$ module load '''versi-R-yang-dipakai-user'''
$ R
{| class="wikitable"
|+Daftar module R
!Versi
!Perintah module
|-
|4.1.0
|module load R/4.1.0-GCC10-MKL
|-
|4.1.2
|module load R
|}
* User dapat melakukan instalasi package dengan perintah standar:
> install.packages(''''nama-package-yang-akan-diinstal'''<nowiki/>')
* Package akan terinstal di direktori HOME user. Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya.
---
=== Instalasi Package R pertama kali ===
* Akan terdapat peringatan bahwa user tidak dapat melakukan instalasi package R di direktori global /work (di mana benar karena hanya user root yang dapat melakukannya), jawab '''yes'''.
Warning in install.packages("benchmarkme") :
  'lib = "/comp/R/4.1.2-GCC10-MKL/lib64/R/library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) '''yes'''
* R akan meminta izin untuk menginstal package R di direktori HOME user dan membuat folder bernama R. Jawab '''yes'''.
Would you like to create a personal library
‘~/R/x86_64-pc-linux-gnu-library/4.1’
to install packages into? (yes/No/cancel) '''yes'''
---
---
===3. Melengkapi Submit Script Template===
 
=== Bantuan admin EFISON untuk instalasi Package R ===
 
* Perlu diketahui bahwa terdapat Package R yang cukup sulit diinstal dari membutuhkan ''depedencies'' package R lain hingga library global.
* Apabila terdapat kesulitan instalasi package R, hubungi admin EFISON via permohonan email ke '''support@efisonlt.com'''.
 
=='''Melengkapi Submit Script Template'''==
[[Berkas:Jceditor3.png|al=|nirbing|500x500px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jceditor3.png]]
[[Berkas:Jceditor3.png|al=|nirbing|500x500px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jceditor3.png]]
*Melalui menu '''Open Editor''', user perlu melengkapi Submit Script supaya script R dapat berjalan:
*Melalui menu '''Open Editor''', user perlu melengkapi Submit Script supaya script R dapat berjalan:
** Parameter SBATCH.
** Parameter SBATCH Partisi epyc / Compute Node CPU.
**Nama file script R.
**Nama file script R.
*Panduan umum lengkap dalam mengisi Submit Script dan parameter SBATCH:
*Jangan lupa Save setiap sekali mengubah script.
[[Berkas:Save.png|nirbing|450x450px|pra=https://wiki.efisonlt.com/wiki/Berkas:Save.png]]
 
---
===Panduan lengkap mengisi Submit Script===
[[Berkas:Wiki-14.jpg|1000x1000px|link=SLURM Script ALELEON Supercomputer |alt=SLURM Script ALELEON Supercomputer ]]
[[Berkas:Wiki-14.jpg|1000x1000px|link=SLURM Script ALELEON Supercomputer |alt=SLURM Script ALELEON Supercomputer ]]


[[Berkas:Jcsaveedit.png|nirbing|450x450px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcsaveedit.png|al=]]
'''Note:''' Submit Script pada dasarnya adalah '''SLURM Script''' karena ALELEON Supercomputer menggunakan manajemen SLURM untuk menjalankan job di Compute Node.
 
=='''Fitur MPI pada RMPI'''==
---
===4. MPI pada RMPI===
RMPI (R dengan ekstensi MPI) menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:
RMPI (R dengan ekstensi MPI) menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:
{| class="wikitable"
{| class="wikitable"
Baris 89: Baris 141:
**User dapat menjalankan RMPI hanya dengan 1 node (maksimal 128 core thread CPU)
**User dapat menjalankan RMPI hanya dengan 1 node (maksimal 128 core thread CPU)
**Atau menggunakan '''multi-node''' alias '''lebih dari 128 core thread CPU'''.
**Atau menggunakan '''multi-node''' alias '''lebih dari 128 core thread CPU'''.
|}---
|}
===5. Menjalankan Job===
=='''Menjalankan Job'''==
Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol '''Submit'''.
Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol '''Submit'''.


Baris 103: Baris 155:
|-
|-
|Running
|Running
|Job berjalan.
| Job berjalan.
|-
|-
|Queue
|Queue
Baris 111: Baris 163:
|Job selesai berjalan.
|Job selesai berjalan.
|-
|-
| Failed
|Failed
|Job berhenti di tengah jalan,
|Job berhenti di tengah jalan,
Bisa karena di Stop atau Delete oleh user.
Bisa karena di Stop atau Delete oleh user.
Baris 117: Baris 169:
*User dapat memantau perubahan kolom Status dengan me-refresh halaman Job.
*User dapat memantau perubahan kolom Status dengan me-refresh halaman Job.
*Apabila user ingin menghentikan job yang sedang berjalan, klik tombol '''Stop''' yang berada di sebelah tombol Submit.
*Apabila user ingin menghentikan job yang sedang berjalan, klik tombol '''Stop''' yang berada di sebelah tombol Submit.
---
=='''Melihat hasil job yang selesai'''==
===6. Melihat hasil job yang selesai===
Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian '''Folder Contents''' atau membuka halaman '''Edit Pages.'''[[Berkas:Jcfoldercontentsedit.png|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcfoldercontentsedit.png|al=|nir|jmpl|'''Kolom Folder Contents melihat isi dari ruang direktori job. User dapat melihat semua file output yang keluar di kolom ini.''']][[Berkas:Jcjoboption3.png|nir|jmpl|'''atau dengan membuka menu Edit Files. Melalui halaman ini user juga dapat melakukan revisi file input misalnya apabila hasil output tidak sesuai yang diharapkan.'''|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcjoboption3.png]]
Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian '''Folder Contents''' atau membuka halaman '''Edit Pages.'''
 
== '''Job yang tidak berjalan karena ''missing Package''''' ==
Terkadang job akan gagal berjalan karena ada package yang belum terinstal.


[[Berkas:Jcfoldercontentsedit.png|al=|nirbing|399x399px|pra=https://wiki.efisonlt.com/wiki/Berkas:Jcfoldercontentsedit.png]]
* Pesan error missing package terekap di '''file output yang didefinisikan pada SBATCH error''' di Submit Script user.
* Dari pesan tersebut, user dapat melakukan instalasi package dan submit ulang job.


---
=='''Submit ulang job'''==
===7. Submit ulang job===
User dapat '''menjalankan ulang ruang job yang sama''' (misalkan ketika ada koreksi file script / dataset, penambahan missing package, atau Submit Script) dengan mengklik kembali tombol Submit.
User dapat '''menjalankan ulang ruang job yang sama''' (misalkan ketika ada koreksi file input atau Submit Script) dengan mengklik kembali tombol Submit.
== '''Kontributor''' ==
== '''Kontributor''' ==
EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini:  
EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini:  


* Tim [https://sadasa.id/ '''Sadasa Academy'''].
* Tim [https://sadasa.id/ '''Sadasa Academy'''].

Revisi per 25 Februari 2022 10.24

R.png

R adalah bahasa interpreter yang didesain untuk mengerjakan komputasi statistika. Pada perkembangannya, bahasa R digunakan untuk pengolahan data di bidang data science. Software R didukung oleh The R Foundation for Statistical Computing.

Menjalankan R di ALELEON Supercomputer

Terdapat dua cara untuk menjalankan R di ALELEON Supercomputer:

  • Melalui Job Composer:
    • Untuk file R siap jalan dengan beban komputasi apapun dari skala kecil hingga masif.
    • Berjalan di Compute Node dengan alokasi hardware komputasi besar.
  • Melalui interaktif Jupyter Notebook:
    • Untuk R secara interaktif dengan beban komputasi kecil atau pengujian script.
    • Penggunaan interaktif Jupyter Notebook mempunyai alokasi hardware kecil dan waktu terbatas.

Halaman ini menjelaskan penggunaan R via Job Composer. Apabila ingin menggunakan R via interaktif Jupyter Notebook, klik:

R menggunakan Jupyter Notebook

Jupyter logo icon.png

Versi yang Tersedia

Versi Dukungan MPI Dukungan Hardware
4.1.0 "Camp Pontanezen" ya, melalui RMPI default: CPU, single-node

*multi-node dengan RMPI

4.1.2 "Bird Hippie"

Menjalankan R di Job Composer

User menjalankan R pada Job Composer EFIRO yang dapat dibuka melalui menu Jobs > Jobs Composer

Efirojobcomposermenu.png

Memilih template R

Template R yang tersedia
Nama Template Penjelasan
R 4.1.0 "Camp Pontanezen" Template standar R 4.1.0
R 4.1.2 "Bird Hippie" Template standar R 4.1.2
RMPI 4.1.0 Template R 4.1.0 versi MPI
RMPI 4.1.2 Template R 4.1.2 versi MPI
  • Klik New Jobs > From Template.
  • Pilih template R yang dibutuhkan.
  • isi Job Name sesuai keinginan user kemudian klik Create New Job.

---

Mempersiapkan File R dan Dataset

Jcjoboption3.png

  • User dapat melakukan upload, editing, rename file R dan dataset yang dibutuhkan melalui menu Edit Files.
  • Fitur upload di halaman Edit Files mempunyai batasan ukuran upload 2GB per file. Gunakan aplikasi FTP apabila user hendak mengupload file tunggal diatas 2GB.
  • Taruh file input dan dataset pada direktori yang sama dengan file slurm-r.sh.

Instalasi Library Package R

Jcjoboption4.png

  • User dapat melakukan instalasi mandiri package library R melalui terminal ALELEON Supercomputer via menu Open Terminal di Job Composer atau Clusters > Aleleon Shell Access di Dashboard EFIRO.
  • Aktifkan R pada terminal dengan module load.
$ module load versi-R-yang-dipakai-user
$ R
Daftar module R
Versi Perintah module
4.1.0 module load R/4.1.0-GCC10-MKL
4.1.2 module load R
  • User dapat melakukan instalasi package dengan perintah standar:
> install.packages('nama-package-yang-akan-diinstal')
  • Package akan terinstal di direktori HOME user. Perlu diperhatikan bahwa package R yang diinstal di versi 4.1.2 misalnya tidak dapat digunakan oleh R versi lainnya dan sebaliknya.

---

Instalasi Package R pertama kali

  • Akan terdapat peringatan bahwa user tidak dapat melakukan instalasi package R di direktori global /work (di mana benar karena hanya user root yang dapat melakukannya), jawab yes.
Warning in install.packages("benchmarkme") :
  'lib = "/comp/R/4.1.2-GCC10-MKL/lib64/R/library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) yes
  • R akan meminta izin untuk menginstal package R di direktori HOME user dan membuat folder bernama R. Jawab yes.
Would you like to create a personal library
‘~/R/x86_64-pc-linux-gnu-library/4.1’
to install packages into? (yes/No/cancel) yes

---

Bantuan admin EFISON untuk instalasi Package R

  • Perlu diketahui bahwa terdapat Package R yang cukup sulit diinstal dari membutuhkan depedencies package R lain hingga library global.
  • Apabila terdapat kesulitan instalasi package R, hubungi admin EFISON via permohonan email ke support@efisonlt.com.

Melengkapi Submit Script Template

  • Melalui menu Open Editor, user perlu melengkapi Submit Script supaya script R dapat berjalan:
    • Parameter SBATCH Partisi epyc / Compute Node CPU.
    • Nama file script R.
  • Jangan lupa Save setiap sekali mengubah script.

Save.png

---

Panduan lengkap mengisi Submit Script

SLURM Script ALELEON Supercomputer

Note: Submit Script pada dasarnya adalah SLURM Script karena ALELEON Supercomputer menggunakan manajemen SLURM untuk menjalankan job di Compute Node.

Fitur MPI pada RMPI

RMPI (R dengan ekstensi MPI) menggunakan MPI (Message Passing Interface) sehingga memberi kebebasan user untuk:

MPI ALELEON Supercomputer
  • MPI Satu Node vs Multi Node
    • User dapat menjalankan RMPI hanya dengan 1 node (maksimal 128 core thread CPU)
    • Atau menggunakan multi-node alias lebih dari 128 core thread CPU.

Menjalankan Job

Semua file untuk menjalankan program dan Submit Script sudah siap? Jalankan job dengan menekan tombol Submit.

  • Perhatikan status jalannya job pada kolom Status.
Status Arti
Not Submitted Job belum pernah dijalankan.
Running Job berjalan.
Queue Job mengantri dan belum berjalan.
Completed Job selesai berjalan.
Failed Job berhenti di tengah jalan,

Bisa karena di Stop atau Delete oleh user.

  • User dapat memantau perubahan kolom Status dengan me-refresh halaman Job.
  • Apabila user ingin menghentikan job yang sedang berjalan, klik tombol Stop yang berada di sebelah tombol Submit.

Melihat hasil job yang selesai

Apabila job sudah selesai (status Completed), user dapat melihat hasil output job melalui bagian Folder Contents atau membuka halaman Edit Pages.

Kolom Folder Contents melihat isi dari ruang direktori job. User dapat melihat semua file output yang keluar di kolom ini.
atau dengan membuka menu Edit Files. Melalui halaman ini user juga dapat melakukan revisi file input misalnya apabila hasil output tidak sesuai yang diharapkan.

Job yang tidak berjalan karena missing Package

Terkadang job akan gagal berjalan karena ada package yang belum terinstal.

  • Pesan error missing package terekap di file output yang didefinisikan pada SBATCH error di Submit Script user.
  • Dari pesan tersebut, user dapat melakukan instalasi package dan submit ulang job.

Submit ulang job

User dapat menjalankan ulang ruang job yang sama (misalkan ketika ada koreksi file script / dataset, penambahan missing package, atau Submit Script) dengan mengklik kembali tombol Submit.

Kontributor

EFISON mengucapkan terima kasih kepada para kontributor untuk pengujian R di ALELEON Supercomputer yang kemudian menjadi dasar penulisan tutorial di halaman ini: