Monday, March 19, 2012

UJIAN SEMESTER AOK (praktek)

Rancangan Cluster Computer

PENDAHULUAN
Komputasi berkinerja tinggi (high performance computing) dapat dikaitkan dengan sebuah metode untuk meningkatkan kinerja dari sebuah apliksi. Hal ini meliputi pembagian sebuah pekerjaan (program aplikasi)  ke  dalam  beberapa  unit  parallel  yang memungkinkan dan berkerja secara simultan untuk meningkatkan kecepatan dalam penyelesaian
pekerjaan tersebut.

Kebutuhan akan komputer berkinerja tinggi yang sangat erat hubungannya dengan supercomputer dan massively parallel   processors (MPP) telah dapat dipenuhi oleh komputer cluster. Supercomputer  and  MPP  sangat kompleks  untuk dikembangkan dan membutuhkan biaya yang besar sedangkan  komputer cluster  dapat  dibangun  dari commputer-komputer sebagai node dengan harga yang lebih  murah  dengan  jaringan berkecepatan  tinggi. Komputer   cluster   dapat   dibuat   dari   komputer-komputer node yang masing-masing terdiri dari satu atau  lebih  processor,  memory  yang  dibagi  (di-
shared) oleh semua processor di dalam node, dan divais  lainnya  seperti  disk, dan terhubundengan
sebuah jaringan yang mengijinkan perpindahan data antar node-node tersebut [2]. Cluster saat ini telah
menjadi   sebuah   de-facto   buildin bloc untuk
komputasi berkinerja tinggi

Dalam   pengembangan   infrastruktu cluster, sistem operasi mempunyai peranan yang tidak bisa
diabaikan. Sistem operasi harus bersifat scalable dan
cluster   friendly Sistem   operasi   haru bersifat
scalable  dan  cluster  friendly  [2].  Sistem  operasi harus mendukung berbagai macam platform dan devais. Selain itu sistem operasi yang dipilih juga harus mendukung virtualisasi sumberdaya dan fitur keamanan yang tangguh

Dalam  tulisan  ini  akan  dijelaskan  langkah- langka da kebutuha yandiperlukan  dalam pembangunan komputer cluster dengan menggunakan IGOS Nusantara 2008 (Dwi Warna).
IGN  2008  (Dwi  Warna)  merupakan  linux  distro
berbasis  fedora  yang  dikembangkan  oleh  Pusat
Penelitian Informatika - LIPI.

TINJAUAN TEORITIS

Membuat Cluster dengan Dua node 
Konfigurasi dasar yang dibutuhkan untuk membangucluster yanberisi dua  nodes (lihat gambar 1) dibutuhkan hal-hal sebagai berikut:

•    Replikasi  sistem  dan  penanganan  kesalahan
(fail over)
•    Lingkungan dua lapisan (aplikasi dan sistem)
•    Aplikasi dan data bergerak bersama
•      Operasi yang berkelanjutan pada setiap cluster resource group
•      Penggunaan  backup  untuk  pengolahan  data secara offline

 
Berdasarkan gambar 1, Node L adalah primary node yang sedang beroperasi untuk kelompok sumberdaya dari dua cluter tersebut yang berisi aplikasi CRG dan Data CRG. Dinisi juga berisi peer CRG  yang  menyediakan  ‘continous operation’ untuk node lainnya. Dua program yang eksis akan dijalanka secara   periodik   pada   Node   L   yaitu aplikasi CRG. Alasan mengapa dua program yang dijalankan dalam waktu bersamaan adalah jika kita memanggil ‘Start CRP API’, maka exit program dimulai dan dijalankan secara terus menerus ketika aplikasi CRG ini aktif. Jika kita harus memanggil


‘End CRG API’ untuk  aplikasi CRGm exit program yang lain akan dimulai. Node R adalah yang pertama diaktifkan, dimana backup node menunjuk recovery
domain di setiap cluster resource group. Data akan
dihubungkan  melalui  data  CRG  dengan  informasi 
Membuat Cluster dengan empat node 
Konfigurasi yang dibutuhkan untuk membangun cluster yang lebih kompleks yaitu dengan menghubungkan empat node (lihat gambar2) menjadi suatu cluster adalah:
 Lingkungan tiga lapisan
 Replikasi sistem dan penanganan kesalahan
 Aplikasi dan data berpindah masing-masing
 Backup digunakan untuk produksi normal dari pekerjaan yang berbeda


Pada gambar 2 merupakan contoh empat node dengan penambahan yang fleksibel pada System i™ cluster. Ada dua aplikasi cluster resource groups (A1 and A2) and du data cluster resource groups (D1 and D2). Data dihubungkan dengan D1 yang merupakan kritikal data untuk aplikasi yang dihubungkan degan A1. Data yang dihubungkan dengan D2 adalah kritikal data untuk aplikasi yang dihubungkan dengan A2. Karena ini tiga tingkatan/ deretan aplikasi yang ada dimana tingkatan kedua (Node L2 dan Node R2) dan data dibagi menjadi tiga tingkatan (Node L3 and Node R3).

 
Proses Pembangunan Cluster Node
Tahapan  pembangunan  cluster  dengan  empat node ini terdiri dari 
Menginstal sistem operasi IGOS Dwi Warna disetiap node

Tahap ini merupakan hal yang sangat mutlak, karena perangkat keras tanpa adanya sistem operasi tidak akan berfungsi apa-apa.
Langkah-langkah yang harus dilakukan dalam menginstal Sistem operasi adalah:
Konfigurasi host name, perintahnya adalah:

# /etc/sysconfig/network

Konfigurasi IP address, perintahnya adalah:
# Vi /etc/sysconfig/network- scripts/ifcfg-eth0

Update data: TYPE = Ethernet
IPADDR= (“ip address yg dimiliki komputer”)
NETMASK = GATEWAY = BOOTPROTO = none ONBOOT = yes

•      Mengupdate sistem operasi
Tahap selanjutnya adalah mengupadate sistem operasi dengan perintah:

# /etc/yum.repos.d

      Menginstal paket aplikasi yang dibutuhkan Setelah sistem operasi terinstal di seluruh node, maka selanjutnya adalah menginstal paket yang dibutuhkan.
Perintah yang digunakan adalah:
# yum install [packages] Paket yang harus diisntal:
- openssh-server
- rsh-server, rsh
- gcc, gcc-c++,
- openmpi, openmpi-devel
- make
- nfs-utils

•      Configure ssh authentication:
Konfigurasi ssh authentication terdiri dari dua
tahap yaitu:
Configure ssh di master, dengan perintah:

# ssh-keygen -t rsa > use no passphrase
# copy ~/.ssh/id_rsa.pub to authorized_keys2

Configure ssh di slave/client, dengan perintah:

# copy ~/.ssh/authorized_keys2 to all slave/client
# scp /root/.ssh/authorized_keys2 root@ip_slave:/root/.ssh/

•      Create user
Tahap ini adalah membuat user dengan nama:
public  &  home  directory  /public  di  folder
/share

# useradd -d /cluster/public public


Untuk mengecek adanya jaringan antar komputer dibuat suatu file yang dapat diakses bersama-sama:
# su public
# echo “nama komputer” >> test

Pengujian Cluster 
Semua  tahapan  harus  dilakukan  pada  setiap
node. Setelah itu, setiap node dapat diuji untuk melihat fungsi masing-masing node berjalan atau tidak.  Pengujian  dilakukan  dengan  membuat program parallel sederhana dengan menggunakan library OpenMPI.

#include "mpi.h"
#include "stdio.h"

int main(int argc, char** argv) { int numprocs, rank, namelen; char
processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Get_processor_name(processor_name,
&namelen);
printf("Process %d on %s out of %d\n", rank, processor_name, numprocs); 
MPI_Finalize();

return 0; }
Program sederhana ini mengirimkan perintah untuk setiap node pada cluster untuk membuat string salam dan mengirimkan ke node master (yang memberi perintah). 
Kompilasi dan eksekusi dilakukan dengan menggunakan perintah estándar kompilasi dan eksekusi pada program yang menggunakan library
OpenMPI.

$ mpicc -o mpihello mpihello.c
$ mpirun -np 4 -hostfile node.lst mpihello
Hasil dari eksekusi akan menghasilkan:
Process 0 on c1n1.cluster.p2i.org out of 4
Process 1 on c1n2.cluster.p2i.org out of 4
Process 2 on c1n3.cluster.p2i.org out of 4
Process 3 on c1n4.cluster.p2i.org out of 4

Analisis Pengembangan Sistem Cluster 
Sistem  komputer  kluster  yang  kami kembangkan   menggunaka spesifikasi   perangkat
keras:
 Processor Intel pentium III, 800 MHz
 RAM 256 MB
 Harddisk 20 GB
 Ethernet card 10/100 Mbps
 Switch 10/100 Mbps

Pengembangan sistem komputer cluster sederhana yang kami lakukan di Pusat Penelitian Informatika, LIPI menunjukkan bahwa penggunakan sistem operasi IGOS Dwi Warna memungkinkan pengembang  membuat  sistem  cluster  yang  dapat mendukung sistem komputer berkinerja tinggi. Akan tetapi karena sistem operasi IGOS Dwi Warna hanya menyertakan paket-paket pendukung standar yang dibutukan untuk sistem operasi pada komputer desktop, maka diperlukan akses ke repositori IGOS Dwi  Warna  atau  Fedora sebagai  basis pengembangan IGOS Dwi Warna.

Untuk pengembangan sistem komputer berkinerja  tinggi,  diperlukan  perangkan  komputer dan  jaringan  yang  berkinerja  tinggi  juga.  Unjuk kerja sistem cluster yang kami kembangkan menunjukkan bahwa untuk program yang membutuhkan banyak komputasi dan komunikasi, sistem   yang   kam bangun   menghadapi   kendala karena keterbatasan sumber daya tersebut.


No comments:

Post a Comment