(559) 571-1751

[[high performance computing facility]]

Alat Pengguna

Alat Situs


start

Fasilitas Komputasi Grid BPPT

Selamat datang di fasilitas komputasi grid BPPT. Fasilitas ini merupakan sarana komputasi paralel berbasis klaster Linux yang disediakan untuk kebutuhan komputasi yang membutuhkan performa tinggi, terutama kebutuhan memori dan prosesor. Fasilitas ini dibangun diatas cloud BPPT.

Fasilitas ini disediakan bagi pegawai BPPT untuk melakukan kegiatan kerekayasaan yang membutuhkan perhitungan ataupun analisis data secara paralel atau perhitungan yang membutuhkan sumberdaya memori dan prosesor yang besar seperti komputasi, pemodelan, dan simulasi.

Untuk menggunakan fasilitas ini, diharapkan anda sudah terbiasa dengan Linux, karena laman ini tidak akan menjelaskan bagaimana menggunakan Linux. Laman wiki ini ditujukan untuk menjelaskan bagaimana anda menggunakan fasilitas komputasi grid BPPT.

Sumber Daya


Perangkat Keras

Fasilitas ini dibangun di atas cloud BPPT, sehingga alokasi node dapat berubah setiap saat. Untuk mengetahui node yang tersedia, jalankan perintah berikut

[user@tambora]$ pbsnodes -a

Kebijakan Penggunaan


Kebijakan Proses

Seluruh tugas yang diterima oleh grid/klaster akan masuk ke dalam sistem antrian. Anda bisa memilih antrian yang tersedia, yaitu

  • kecil: jika anda membutuhkan prosesor max 4 cores (baik node jamak ataupun node tunggal).
  • besar: jika anda membutuhkan prosesor max 20 cores (node jamak),
  • xmeru: jika anda menjalankan aplikasi GUI (max 2 cores)
  • default

Sistem akan menentukan secara otomatis antrian untuk tugas yang anda kirimkan sesuai dengan jumlah prosesor (bukan memori) dan waktu yang anda definisikan di skrip tugas anda. Untuk seluruh antrian, maksimum alokasi waktu adalah 240 jam. Harap perhatikan, nama antrian kecil, besar, dan xmeru digunakan di opsi -q di skrip PBS anda skrip tugas.

Antrian besar, kecil, dan xmeru menentukan node yang akan digunakan. Antrian kecil memiliki jumlah prosesor 4 di setiap node, dan antrian besar memiliki jumlah prosesor lebih dari 4. Gunakan antrian ini jika anda ingin secara spesifik menjalankan perintah di node tersebut. Anda dapat juga tidak mendefinisikan antrian yang digunakan secara spesifik ketika anda menggunakan lebih dari satu prosesor. Ketika anda memilih melakukan ini, maka secara otomatis akan digunakan antrian default. Klaster akan secara otomatis menentukan node yang akan digunakan.

Harap diperhatikan, jika anda menggunakan prosesor lebih dari satu, berarti aplikasi yang anda gunakan mendukung komputasi paralel, contoh jika anda memakai MPI atau pySpark. Jika aplikasi yang anda gunakan tidak mendukung komputasi paralel, maka tidak ada gunanya anda menggunakan prosesor lebih dari satu. Jika aplikasi yang anda gunakan tidak mendukung komputasi paralel, gunakan hanya 1 prosesor. Jika anda hanya menggunakan 1 prosesor, anda dapat menggunakan antrian default, atau mengosongkan nama antrian di opsi -q di skrip PBS anda, ini secara otomatis akan menggunakan antrian default.

Kuota Penyimpanan

Direktori anda memiliki kapasitas terbatas. Jika anda membutuhkan kapasitas penyimpanan besar, anda dapat menggunakan direktori bersama di /scrap/id_anda. Namun folder ini akan secara otomatis menghapus berkas berumur lebih dari 90 hari. Jadi harap secara rutin anda membuat cadangan atau memindahkan berkas anda.

Jika anda memiliki NFS server, dan ingin menghubungkan NFS server anda dengan klaster sehingga anda dapat langsung melakukan komputasi dengan data di NFS server anda, silahkan hubungi admin.

Koneksi ke Grid/Klaster


Untuk melakukan komputasi di grid/klaster, maka anda harus menjalankannya dari node induk, yaitu tambora.grid.bppt.go.id. Untuk itu anda dapat menggunakan protokol ssh dengan menjalankan perintah sebagai berikut (koneksi hanya dapat dilakukan dari dalam jaringan BPPT)

[user@tambora]$ ssh username@tambora.grid.bppt.go.id

Node induk grid/klaster tidak berbasis GUI, namun anda dapat menjalankan aplikasi berbasis GUI di salah satu node, silahkan ikuti petunjuk 346-243-7097 untuk dapat menjalankan aplikasi GUI di grid/klaster.

Koneksi Pertama Kali

Ketika login pertama kali, harap segera merubah sandi anda dengan menjalankan perintah

[user@tambora]$ passwd

Untuk mencegah akses yang tidak diinginkan, harap membuat sandi sesulit mungkin.

Transfer Berkas

Anda dapat menggunakan scp untuk transfer berkas dari atau ke grid, sebagai contoh untuk menyalin berkas dari komputer anda ke grid anda dapat menjalankan perintah scp sebagai berikut

[user@tambora]$ scp file-anda username@tambora.grid.bppt.go.id

untuk menyalin berkas secara rekursif, gunakan opsi -r.

Windows

Untuk pengguna windows, anda dapat menggunakan Putty untuk login ke grid atau WinSCP untuk transfer berkas.

Menggunakan aplikasi


Aplikasi atau perangkat lunak yang tersedia di sistem tersedia sebagai modul. Anda harus secara ekplisit memuat (load) atau membongkar (unload) aplikasi sesuai kebutuhan.

Aplikasi yang Tersedia

Daftar aplikasi yang tersedia sampai saat ini dapat dilihat disini.

Aplikasi tersebut akan terus bertambah, sesuai dengan kebutuhan.

Untuk mengetahui aplikasi terkini yang tersedia sebagai modul, jalankan perintah berikut

[user@tambora]$ module avail

untuk mengetahui versi yang tersedia untuk aplikasi tertentu, jalankan perintah berikut

[user@tambora]$ module avail python

Jika anda membutuhkan aplikasi tertentu, anda dapat meminta admin untuk melakukan instalasi aplikasi yang anda butuhkan. Untuk mempermudah, anda harus memberitahukan kepada admin cara menginstal aplikasi yang anda inginkan di ubuntu v 14.04 dari sumber (source). Silahkan hubungi admin untuk informasi lebih lanjut.

Memuat Modul

Untuk memuat modul, jalankan perintah berikut

[user@tambora]$ module load Python

untuk memuat modul versi tertentu, jalankan perintah berikut

[user@tambora]$ module load Python/2.7.9

Membongkar/Menghapus Module

Untuk membongkar modul, gunakan perintah berikut

[user@tambora]$ module unload Python

Modul yang Sedang Digunakan

Untuk mengetahui modul yang telah dimuat, jalankan perintah berikut

[user@tambora]$ module list

Memeriksa Modul

Untuk mengetahui variabel yang digunakan oleh modul dan informasi lainnya, jalankan perintah berikut

[user@tambora]$ module display Python
 
-------------------------------------------------------------------
 
/pub/Modules/3.2.10/modulefiles/Python/2.7.9:
 
module-whatis Python is a programming language that lets you work more quickly and integrate your systems more effectively.
 
setenv MODULESHOME /pub/app/Python-2.7.9
 
prepend-path PATH /pub/app/Python-2.7.9/venv/bin
 
prepend-path CPATH /pub/app/Python-2.7.9/include
 
prepend-path LD_LIBRARY_PATH /pub/app/Python-2.7.9/lib
 
prepend-path LD_RUN_PATH /pub/app/Python-2.7.9/lib
 
prepend-path MANPATH /pub/app/Python-2.7.9/share/man
 
prepend-path PKG_CONFIG_PATH /pub/app/Python-2.7.9/lib/pkgconfig
 
prepend-path VIRTUAL_ENV /pub/app/Python-2.7.9/venv
 
-------------------------------------------------------------------

PBS


Untuk menggunakan grid/klaster dan aplikasi yang tersedia di klaster, anda harus membuat skrip tugas (job script) PBS.

Membuat Skrip Tugas

Skrip PBS merupakan skrip shell dengan tambahan beberapa baris yang diawali dengam #PBS di awal skrip yang merupakan perintah dan opsi untuk grid/klaster. Berikut adalah contoh skrip PBS

my_job.qsub
#!/bin/bash
## Dua tagar adalah baris komentar
## Perintah untuk skrip PBS diawali dengan #PBS
## nama job anda
#PBS -N nama_job_anda
## Nama antrian yang ingin anda gunakan, opsi yang tersedia besar, kecil dan xmeru.
## Opsi ini bersifat opsional. Anda dapat tidak menggunakannya.
## Jika anda tidak menggunakannya, maka akan menggunakan antrian default
#PBS -q xmeru
## sumber daya yang anda butuhkan, dalam hal ini 1 node, 1 prosesor per node, 
##  dan waktu kalkulasi maksimum 10jam
#PBS -l nodes=1:ppn=1,walltime=10:00:00
## kirimkan pemberitahuan ke email untuk a(bort), b(egin), dan e(nd)
#PBS -m abe
## kirimkan email ke email_anda@bppt.go.id
#PBS -M email_anda@bppt.go.id
 
# cd ke working directory
cd $PBS_O_WORKDIR
# muat modul yang dinginkan
module load Python/3.4.2
 
# jalankan aplikasi
python app1.py && python app2.py

Berikut adalah contoh skrip PBS untuk menjalankan aplikasi paralel di 4 node

squabbly
#!/bin/bash
#PBS -N nama_job_anda
## Jalankan aplikasi di 4 node, dan setiap node 2 prosesor, 
## sehingga total 8 prosesor
#PBS -l nodes=4:ppn=2,walltime=00:10:00
#PBS -m abe
#PBS -M email_anda@bppt.go.id
 
# cd ke working directory
cd $PBS_O_WORKDIR
# muat modul yang dinginkan
module load openmpi/1.8.3
 
# jalankan mpirun dengan total 8 prosesor
mpirun -np 8 -machinefile $PBS_NODEFILE /bin/hostname

Mengirim Skrip Tugas

Jalankan perintah berikut untuk mengirim tugas anda ke grid

[user@tambora]$ qsub my_job.qsub

Monitor Tugas

Untuk memonitor tugas anda, jalankan perintah berikut

[user@tambora]$ qstat -u username
 
tambora.grid.bppt.go.id:
 
                                                                         Req'd  Req'd   Elap
 
Job ID               Username Queue    Jobname          SessID NDS   TSK Memory Time  S Time
 
-------------------- -------- -------- ---------------- ------ ----- --- ------ ----- - -----
 
137.tambora.grid     user      default    nama_job_anda      --      4  2    --   10:0 R   --
138.tambora.grid     user      default    nama_job_anda      --      4  2    --   10:0 Q   --

Kolom pertama dari perintah diatas akan menampilkan informasi 'Job ID'. Nomor ID ini digunakan oleh klaster sebagai identifikasi tugas yang anda jalankan.

Harap perhatikan kolom S (Status). Status R berarti aplikasi anda sedang dijalankan di klaster. Status Q berarti aplikasi anda sedang berada di dalam antrian, menunggu sumberdaya tersedia untuk menjalankan aplikasi anda.

Membatalkan Tugas

Untuk membatalkan tugas, sebagai contoh membatalkan tugas dengan 'Job ID' 137, jalankan perintah berikut

[user@tambora]$ qdel 137

Akses GUI

Anda dapat menjalankan aplikasi GUI di klaster. Namun saat ini hanya satu node yang dialokasikan untuk aplikasi berbasis GUI.

Untuk dapat menggunakan aplikasi GUI, anda harus menginstruksikan klaster agar menggunakan GUI. Tahap yang harus dilakukan:

  1. SSH ke node induk tambora.grid.bppt.go.id dengan X forwarding (opsi -X atau -Y di MacOS)
    [user@tambora]$ ssh -X username@tambora.grid.bppt.go.id 


    atau

    [user@tambora]$ ssh -Y username@tambora.grid.bppt.go.id
  2. Tambahkan baris berikut di skrip PBS untuk memberitahukan klaster bahwa anda akan menggunakan aplikasi GUI
    6514558732
    #PBS -q xmeru 
  3. Kirim tugas anda
    [user@tambora]$ qsub -V my_job_gui.qsub 

Harap diperhatikan, anda harus tetap membuat SSH tetap terkoneksi selama anda menjalankan skrip anda. Hal ini berbeda ketika anda menjalankan aplikasi non GUI dimana anda dapat memutuskan koneksi SSH anda.

Alternatif lain adalah anda dapat menggunakan perintah screen, dan mengirimkan skrip anda dari dalam screen. Setelah anda SSH dengan X forwarding ke node induk klaster, jalankan perintah ini <code bash>[user@tambora]$ screen</code> Setelah itu, anda dapat mengirimkan skrip PBS anda dengan perintah qsub. Anda dapat keluar dari screen dengan menekan tombol CTR+a+d. Dengan cara ini anda tidak perlu menjaga koneksi SSH anda tetap terhubung. Anda dapat masuk kembali ke screen tersebut dengan menjalankan perintah screen dengan opsi -x berikut <code bash>[user@tambora]$ screen -ls There is a screen on: 671.ttys000.tambora (Detached) 1 Socket in /var/folders/5m/ynkrhvpx6vg1jz19qd6l173h0000gn/T/.screen. [user@tambora]$ screen -x 671 </code> Silahkan baca manual (321) 430-5690 untuk informasi lebih lanjut.

Penghargaan dan Publikasi


Jika anda menggunakan fasilitas ini, mohon beritahukan 780-781-7804 mengenai publikasi anda sebagai catatan kami.

Bantuan


Silahkan hubungi admin di imam [titik] cartealy [di] bppt atau bergabung di milis linux bppt milis-linux [di] bppt.

start.txt · Terakhir diubah: 2018/11/15 20:31 oleh admin

Alat Halaman