Anda di halaman 1dari 10

Kembali

Kembali
kembali Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

KINERJA KOMUNIKASI DATA KOLEKTIF BROADCAST


PADA PC CLUSTER

Ade Jamal *, Pandriya Sistha**

ABSTRAK

KINERJA KOMUNIKASI DATA KOLEKTIF BROADCAST PADA PC CLUSTER.


sejumlah pc yang dihubungkan melalui jaringan dan perangkat lunaknya menjadi sebuah kesatuan sistem
yang dikenal sebagai PC Cluster sering digunakan untuk mendapatkan kemampuan dan kinerja
komputasi yang lebih tinggi dibanding sebuah pc tunggal [1]. Kemampuan komputasi kinerja tinggi dari
PC Cluster yang telah ada bahkan telah sudah bisa mengalahkan kinerja dari mesin komersial kelas
supercomputer yang harganya jauh lebih mahal, sehingga dalam satu dekade terakhir jumlah mesin
komputasi kinerja tinggi (high performance computing - hpc) yang masuk 500 tercepat didunia dari kelas
arsitektur ini bertambah banyak. Faktor biaya yang murah yang manjadi unggulan harus dilihat imbang
dengan faktor kesulitan dan faktor kinerjanya. Hasil pengkajian dan percobaan memperlihatkan bahwa
seringkali komunikasi data menjadi hal yang penting dan menentukan faktor kesulitan dan kinerja tadi.
Kajian ini akan memperlihatkan hasil penelitian sebelumnya[2,3,4] untuk meningkatkan kinerja
komunikasi data dalam rangka meningkatkan kinerja komputasi berbasis PC Cluster ini dengan
memperhatikan faktor-faktor tersebut diatas. Komunikasi data yang dipilih adalah komunikasi data
kolektif broadcast, dimana data dari satu buah pc, yang dalam dunia cluster disebut node, dikirim ke
semua node lainnya.

Kata-kata Kunci: Komputasi Kinerja Tinggi, PC Cluster, Algoritma Komputasi

ABSTRACT

PERFORMANCE OF COLLECTIVE DATA COMMUNICATION – BROADCAST- ON


PC CLUSTER A Number of PC (Personal Computer) connected through networking and related
software is combined into a unified system, well known as PC Cluster, which is frequently built to
provide greater computational power than a single PC. Existing PC Cluster around the world, nowadays
can perform better than much more expensive supercomputer. In TOP 500 the fastest computer in the
world, High Performance Computing (HPC) machines in category Cluster put a side supercomputer in
the last decade. Low cost factor is the most important advantage of PC Cluster, however, we must
consider too two coupled factor, i.e., difficulty- and performance factor of building PC Cluster. Previous
experiments and assessments have shown that data communication between PC in cluster is often a
significant effect on difficulty and overall performance factors. This article will show the results of some
effort to increase the performance of data communication in PC Cluster. We limited ourselves in
collective data communication, more specific in broacast data communication where data form one PC
node sends to all other node in PC Cluster.

Keywords: High Performance Computing (HPC), PC Cluster, Computational Algorithms

*
P3TIE, BPP Teknologi Gd.II. Lt. 4, Jl. MH Thamrin 8 Jakarta 10340, e-mail: adja@cbn.net.id
**
Teknik Informatika, Fakultas Teknik, Universitas Al-Azhar Indonesia

435
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

LATAR BELAKANG

Sistem Komputasi Kinerja Tinggi (HPC systems) menjadi semakin mudah


terjangkau untuk dunia riset maupun industri karena dua alasan. Yang pertama karena
semakin banyak diterimanya konsep Open Source untuk piranti lunak. Alasan kedua
adalah diperkenalnya teknologi cluster di awal tahun 90-an, dan cepatnya
perkembangan teknologi ini dalam dua dekade ini. Dua alasan ini menyebabkan HPC
yang sebelumnya hanya didominasi oleh produsen supercomputer, dapat dibuat
dengan teknologi clustering dan open source software dengan harga yang jauh lebih
murah dari supercomputer[5]. Teknologi tersebut di artikel ini disebut sebagai PC
Cluster.
PC Cluster termasuk dalam kategori arsitektur Massively Paralel Processor
(MPP), yaitu tipe mesin HPC yang terdiri dari sejumlah besar bahkan sangat besar
(bisa mecapai 1000-an processor) dimana setiap processor, yang biasanya disebut
computing node, memiliki sendiri CPU, memory, sistem operasi dan Input/Output
system, dan bisa berkomunikasi antar node melalui sebuah sistem message passing.
Yang membedakan PC Cluster dengan mesin supercomputer tipe MPP adalah node
yang digunakan PC Cluster harus dari barang komputer yang tersedia mudah
dipasaran atau barang komoditas atau istilah yang sering dipakai COTS system
(Commodity Off The Shelf) dan menggunakan open source software seperti Linux[1].
Definisi Cluster dalam dunia Teknologi Informasi dapat memiliki beberapa
pengertian. Secara umum definisi Cluster adalah sejumlah komputer (PC ataupun
workstation) yang digabungkan sebagai satu kesatuan dengan bantuan piranti lunak
dan jaringan computer.
Kegunaan dari PC Cluster dapat dibedakan dalam tiga jenis. Pertama digunakan
untuk meningkatkan ketersediaan dari sistem yang handal (reliable) atau dikenal
dengan High Availability (HA). Hal ini diperlukan untuk sistem yang menjalankan
mission-critical dimana kontinuitas dari fungsi sangat kritis.
Yang kedua adalah Load Balancing Clusters, yang umumnya digunakan pada
web-server yang sangat sibuk seperti search engine Google. Disini beberapa
computer node menjadi host dari website yang sama, dan jika ada permintaan untuk
mengkakses ke halaman web ini, maka akan diarahkan ke computer node yang
bebannya lebih rendah.
Yang ketiga adalah untuk komputasi kinerja tinggi atau High Performance
Cluster (HPC), yang merupakan tujuan dari pengguna tradional dari PC Cluster,
seperti peneliti, industri riset dan pengembangan. Dalam hal ini Cluster digunakan
dengan cara menjalankan program secara paralel untuk aplikasi yang sangat banyak
memakan waktu (time consuming).
Sebuah project bernama Beowolf [1] pada tahun1993 diakui sebagai HPC
Cluster pertama yang berhasil membuat sebuah alternatif murah dari supercomputer
besar yang dibangun dari COTS (commodity of the self) computer. Beowolf cluster

436
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

pada waktu itu terdiri dari 16 buah PC-DX4 digabungkan dengan channel bonded
Ethernet. Dewasa ini istilah Beowolf Cluster digunakan untuk PC Cluster berbasis
computer komoditas yaitu yang mudah didapat dipasaran setempat, menggunakan
open source software seperti Linux, dan memiliki kemampuan skalabilitas yang tinggi
untuk mendapatkan komputasi kinerja tinggi.
HPC Cluster dibutuhkan oleh hampir semua industri yang memerlukan sistem
komputer dengan kemampuan kinerja tinggi. Beberapa contoh pengguna intensif dari
HPC Cluster adalah Life science research untuk simulasi molekul protein untuk
penelitian penyakit Alzheimer; Eksplorasi Minyak dan Gas untuk analisa data
seismogram yang sangat besar jumlah datanya (terabytes) untuk menentukan lokasi
sumber minyak; simulasi untuk predikisi gempa bumi; Graphical rendering untuk
pekerjaan rekayasa untuk memanipulasi grafik beresolusi tinggi; simulasi astrofisis,
simulasi cuaca dan iklim, analisa model financial, special effects dalam dunia film;
dan juga di bidang teknologi nuklir sperti untuk simulasi reaktor fusi nuklir.

PEGOLAHAN DATA PARALEL

HPC Cluster untuk komputasi kinerja tinggi menggunakan prinsip dasar


pengolahaan data secara paralel dimana sebuah tugas dipecah menjadi beberapa tugas
atau proses yang lebih kecil yang kemudian dijalankan secara paralel[6]. Hasil dari
proses yang lebih kecil ini digabungkan kembali sehingga menjadi hasil tugas besar
yang aslinya. Dengan diolahnya data secara paralel, maka sebuah pekerjaan secara
teoretis dapat diselesaikan dengan kecepatan diharapkan sebanding dengan jumlah
mesin (node) dalam mesin paralelnya.
Tidak semua permasalahan dapat dipecah dan dijalankan secara paralel karena
adanya ketergantungan hasil antara tugas-tugas kecil tersebut. Dalam hal ini,
permasalahan tidak mudah dijalankan secara optimal pada HPC Cluster karena selain
sebuah proses yang memerlukan data dari proses lainnya, sehingga harus menunggu
proses asal data tersebut selesai, juga data hasil antara tugas-tugas kecil tersebut harus
ditransfer antara proses dengan menggunakan jalur komunikasi data. Komunikasi data
ini adalah salah satu biaya yang harus dibayar oleh pengolahan data secara paralel,
sehingga kelipatan percepatan (dikenal dalam teknologi komputasi paralel dengan
speed-up) tidak dapat berbanding lurus dengan jumlah node.
Untuk permasalahan yang dapat diolah secara paralel dengan mudah, seperti
pengolahan grafik (rendering) dan permasalahan probabilitas, biasanya tidak banyak
membutuhkan komunikasi data. Karena itu masalah ini sering dikategorikan sebagai
embrassingly parallel problem.
Pada kenyataanya kebanyakan permasalahan fisis, yang mencari penyelesaian
persamaan diferensial[10] dan integral, tidak masuk dalam kategori yang disebut di
atas. Sistem ini disebut coupled problem, mulai dari loosely coupled problem sampai

437
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

ke kategory tightly coupled problem yang tidak bisa diparalelkan. Untuk coupled
problem yang diparalelkan, komunikasi data menjadi sangat penting dan dapat
menurunkan kinerja komputasi dari PC Cluster.
Jalur komunikasi data ini terdiri sistem jaringan interkoneksi antara node dan
sistem pengiriman data (message passing). Dua buah sistem pengiriman data yang
populer adalah MPI (Message Passing Interface) [8] dan PVM (Parallel Virtual
Machine)[9]. Baik MPI maupun PVM, pengiriman data yang paling dasar dan primitif
adalah komunikasi data antara dua buah node tertentu, dimana sebuah node mengirim
sejumlah data ke node tertentu lainnya, sementara node penerima siap menunggu data
yang sedang dikirim oleh node pengirim tersebut. Contohnya dalam MPI proses
pengirim memanggil fungsi MPI_Send sementara proses penerima memanggil
MPI_Receive seperti terlihat digambar bawah ini.

KOMUNIKASI DATA KOLEKTIF

Komunikasi data tersebut di atas disebut Point-to-Point Communication. Selain


jenis komunikasi ini sistem seperti MPI menyediakan juga fungsi komunikasi data
koleketif dimana semua proses terlibat dalam proses komunikasi data ini. Fungsi
komunikasi data kolektif ini dapat dibedakan menjadi tiga kelas sebagai berikut:
 Synchronization – dimana semua proses menunggu sampai semua proses
sampai ke titik sinkronisasi.
 Transfer data kolektif- diantaranya broadcast (data yang sama dikirim oleh
sebuah proses pengirim ke semua proses lainnya sebagi penerima), scatter
(data yang berbeda dikirim oleh sebuah proses pengirim kemasing-masing
proses lainnya sebagi penerima data ), gather (sebuah proses mengumpulkan
data yang berbeda dari semua proses lainnya sebagi pengirim data)
 Komputasi kolektif (reduce): sebuah proses mengumpulkan data dari semua
proses lainnya dan melakukan proses komputasi pada data yang sedang
dikumpulkan seperti pencarian nilai maksimum/minimum, pejumlahan,
perkalian dan sebagainya.

438
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

Kajian yang dilakuan pada artikel ini adalah kinerja dari transfer data kolektif
jenis kedua khususnya broadcast. Artikel [2, 3] memperlihatkan bahwa tiga transfer
data kolektif ini (broadcast, scatter dan gather) diperlukan untuk algoritma perkalian
secara paralel, dan fungsi broadcast yang digunakan untuk mentransfer (copy) data
salah satu matriks dari proses utama ke semua proses lainnya memerlukan waktu yang
paling banyak dibanding dua transfer data kolektif lainnya.

ARSITEKTUR JARINGAN INTERKONEKSI PADA PC CLUSTER

Dalam dunia teknologi jaringan dikenal beberapa jenis arsitektur jaringan


seperti koneksi garis/linear, ring, 2D dan 3 D mesh, cube, torus dan koneksi
bintang[2]. Jaringan interkoneksi ini bisa statis, yaitu koneksi antara dua node
dihubungkan langsung secara fisis oleh kabel komunikasi, dan bisa juga dinamis, yaitu
diantara node-node terdapat switch yang mengatur koneksi secara otomastis dan
dinamis seperti terlihat digambar ini.

Proses implementasi PC Cluster menggunakan switch lebih sederhana


dibandingkan implementasi interkoneksi statis yang paling mudah sekalipun misalnya
koneksi linear. Kesederhanaan ini sayangnya terkadang diikuti oleh beban komunikasi
yang berat, karena jalur komunikasi dalam switch, walaupun dirancang seolah-olah
setiap port dihubungkan kesetiap port lainnya secara kontinu, kapasitas bandwith
switch tidak bisa tidak ada batasan karena pemakaian jalur secara bersama-sama oleh
node-node yang terhubungkan.
Interkoneksi statis seperti ring dan torus memberikan alternatif jalur komunikasi
yang lebih banyak untuk menghindari pemakaian kapasitas penuh jalur komunikasi
secara bersamaan, khususnya untuk fungsi komunikasi data kolektif.

439
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

ALGORITMA BROADCAST PARALEL RING

Algoritma broadcast yang paling sederhana adalah dengan cara serial yaitu data
dikirim dari proses sumber ke masing-masing proses lainnya secara bergantian.seperti
terlihat digambar bawah ini untuk arsitektur interkoneksi ring. Algortima ini kita sebut
algortima naif[3], dan terbukti sangat tidak efisien dalam hal waktu pengiriman.
Kelemahan dari algoritma ini adalah kemungkinan terjadinya komunikasi bottleneck
dan congestion sangat tinggi dan juga jalur komunikasi tidak digunakan optimal
karena pada saat bersamaan hanya satu jalur yang digunakan.

7 6 5 4

0 1 2 3
1
2
3
4
5
6
7

Lingkaran dengan nomor pada gambar di atas merepresentasikan proses dengan


nomor urutnya, dan tanda panah putus-putus merepresentasikan langkah komunikasi
point-to-point dengan nomor urutnya.
Perbaikan algoritma naif ini adalah dengan membuat komunikasi berjalan
secara paralel, dalam hal ini kami namakan double ring seperti terlihat digambar di
bawah ini.

4
3
7 6 5 4
2 4

0 1 2 3
1
2
3

440
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

Algoritma ini dapat diimplementasikan dengan mekanisme sederhana “store-


and-forward” yaitu data akan disimpan atau diterima sepenuhnya dulu oleh proses
antara sebelum diteruskan ke proses lainnya. Mekanisme ini akan berkurang
efisiensinya jika data yang harus dikirim besar jumlahnya dan/atau jika jumlah
prosesnya banyak.
Perbaikan dari mekanisme tadi adalah mekanisme “cut-and-through” dimana
data dipecah menjadi paket lebih kecil, sehingga ketika paket lebih kecil sudah
diterima, dapat langsung diteruskan ke proses lain walaupun belum keseluruhan data
sudah diterima proses penerima. Dengan mekanisme ini jalur komunikasi lebih merata
digunakan secara paralel.

PEMBAHASAN HASIL

Algoritma double ring ini tidak harus diimplementasikan pada PC Cluster


berbasis interkoneksi Ring. Pada [4] memperlihatkan algoritma ini dapat secara efisien
diterapkan pada interkoneksi torus dengan catatan pemilihan urutan ring yang
optimum.
Pada kajian kali ini kita implementasikan algoritma broadcast ini pada PC
Cluster sederhana yang menggunakan sebuah switch dan dibandingkan dengan
algoritma standar MPI_Bcast yang diberikan oleh paket pustaka MPICH. Grafik
berikut memperlihatkan waktu yang dibutuhkan oleh 8 node PC Cluster dengan
switch dan dibandingkan dengan menggunakan interkoneksi Tourus 3x3[4].

12
10 MPICH on Torus[4]
Broadcast time
(seconds)

8
6 DOUBLE RING on
Torus [4]
4
MPICH (using Switch)
2
0
DOUBLE RING
0 2000000 4000000
(using Switch)
Number of Element

Dari grafik tampak algoritma broadcast menggunakan teknik double ring lebih
baik kinerjanya dibandingkan dengan standar MPICH. Yang menarik disini adalah
standar MPI_Bcast dari MPICH kinerjanya hampir tidak tergantung pada arsitektur
menggunakan switch maupun interkoneksi statik torus.

441
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

Di bawah ini hasil kajian diperlihatkan kembali dalam tabel.

Broadcast time in seconds


Parallel Total number broadcasted (Double precision)
Algorithm Machine 160000 640000 1440000 2560000 4000000
Switch 0.42 1.70 4.01 7.02 10.98
MPICH
Torus[4] 0.43 1.62 3.69 6.72 10.93
Switch 0.53 1.44 3.18 5.27 8.18
Double RING
Torus[4] 0.41 1.23 2.59 4.37 6.73

KESIMPULAN

Kesimpulan utama dari kajian ini adalah kinerja broadcast pada PC Cluster
dapat ditingkatkan dengan cara memperbaiki sistem interkoneksi nodenya dari sistem
interkoneksi sederhana menggunakan switch diubah dengan statis koneksi torus
bersaamaan dengan perbaikan algoritma komunikasi datanya.

DAFTAR PUSTAKA

1. ANONYMOUS, Beowolf Project Overview, http://www.beowolf.org/


overview/index.htm

2. JAMAL ADE, SISTHA PANDRIYA, “Interkoneksi Statis pada “PC Jaringan”


serta Aplikasi Komputasi Paralel Matriks”, Proceeding of Semiloka Simulasi dan
Komputasi serta Aplikasi 2005 (In Indonesian), November, BPPT, Jakarta,
Indonesia, (2005) p.B-1

3. JAMAL ADE, SISTHA PANDRIYA, “Tuning of One-To-All Broadcast on Ring


Based PC Cluster for Simple Block Matrix Multiplication”, in Proc. The 7th
Seminar on Intelligent Technology and Its Applications, 3rd Conf. Information
Technology Applications in Biomedicine, SITIA, ITS, Surabaya, (2006)
pp. I-F-18

4. JAMAL ADE, SISTHA PANDRIYA , “Evaluation of One-To-All Broadcast Ring


Based Algorithm on Torus PC Cluster”, akan dipresentasikan pada The 2nd
Indonesia Japan Joint Scientific Symposium 2006 (IJJSS), UI, Depok, 2006.

442
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

5. G. C. MAI, C.A.F. DE ROSE, ”Low Cost Cluster Architectures for Parallel and
Distributed Processing”, CLEI Electronic Journal (3) 1 (2000).

6. GRAMA A., A.L GUPTA, G. KARYPIS, V. KUMAR, Introduction to Parallel


Computing, Addison Wesley, 2003.

7. GROPP W., DOSS N., MPICH Model MPI Implementation Reference Manual,
Argonne National Laboratory ,ANL-00, August 2004.

8. GROPP W., et.al., MPI-The Complete Reference, Vol. 1, The MPI Core,The MIT
Press , 1998.

9. ANONYMOUS , http://www.csm.ornl.gov/pvm/pvm_home.html PVM Parallel


Virtual Machine.

10. JAMAL ADE, SAINJATI A., SUWARJONO A., “Parallel Algorithm for Solving
a block-tridiagonal system”, Jurnal Ilmu Pengetahuan, Teknologi dan Budaya Al-
Azhar Indonesia, (2) 1 (2003).

DISKUSI

RULIYANTI PARDEWI

1. Apakah program aplikasi maupun OS Yang dipergunakan di PC Cluster bisa


menggunakan sistem lain selain OSS ?
2. Baik computer code maupun data yang dapat disetor di masing-masing PC atau
hanya datanya saja, atau computer codenya saja yang disimpan disalah satu PC
yang difungsikan sebagai server ?

ADE JAMAL

1. Ya, ada versi MSWindows untuk message passing system


2. Dua-duanya (Program dan data) bisa disebar tergantung tujuannya. Misal untuk:
 Cluster, bertujuan reliabilitas maka data yang disebar dan program client
server
 Komputasi Kinerja Tinggi, program dan data disebar ke masing-masing mode.

443
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir XVII, Agustus 2006 (435-444)

DAFTAR RIWAYAT HIDUP

1. Nama : Ade Jamal


2. Tempat/Tanggal Lahir : Jakarta, 15 Desember 1965
3. Instansi : BPPT/ Univ. Al Azhar
4. Pekerjaan / Jabatan : Peneliti/Kajur. T.Informatika
5. Riwayat Pendidikan : (setelah SMA sampai sekarang)
• S1 Fac Of Aerospace Engineering, Delft University of Technology,
Belanda, 1992
• S3 Computational Mechanics, Delft University of Technology, Belanda,
1998
6. Pengalaman Kerja :
• Asisten Peneliti/Dosen, Fac Of Aerospace Engineering, Delft University of
Technology, Belanda, 1992-1997
• Pusat Rekayasa Rancang Bangun, BPPT, (1997-1999)
• Pusat Pengkajian & Penerapan Teknologi Informasi dan Elektronik, BPPT,
1999
• Peneliti di Pusat Teknologi Informasi dan Komunikasi, BPPT
• Ka. Jurusan Univ. Al Azhar, Indonesia
• Consultant PT. Tijara Pratama
7. Publikasi(Makalah) :
• IJJSS 2006,
• SITIA 2006, ITS Surabaya

444

Anda mungkin juga menyukai