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 terhubung
dengan
sebuah jaringan yang mengijinkan perpindahan data antar node-node tersebut [2]. Cluster saat ini telah
menjadi sebuah de-facto
building block untuk
komputasi berkinerja tinggi
Dalam pengembangan infrastruktur cluster, sistem operasi mempunyai peranan yang tidak bisa
diabaikan. Sistem operasi harus bersifat scalable dan
cluster friendly. Sistem
operasi
harus 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-
langkah dan kebutuhan yang diperlukan 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 membangun cluster yang berisi 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
dijalankan 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
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 dua 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:
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:
• 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
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
Analisis Pengembangan
Sistem Cluster
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
Sistem komputer kluster
yang
kami kembangkan
menggunakan 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 kami bangun menghadapi
kendala
karena keterbatasan sumber daya tersebut.



No comments:
Post a Comment