You are on page 1of 15



Winarno  UltimaComputing

Studi Kinerja Parallel Virtual Machines pada Jaringan


Komputer Berbasis Linux

WINARNO
Universitas Multimedia Nusantara
e-mail: pmwinarno@unimedia.ac.id

Abstract
PVM (Parallel Virtual Machines) is a software that able to utilize computer network as parallel multicomputer.
This study is aimed to reveal the performance of PVM in computer network, especially data communication
performance and computation performance. This studi used matrix multiplication to provide computational
loads to the PVM system, with varied matrix sizes, i.e. 12x12, 40x40, 80x80, 120x120, 240x240 and 360x360.
The study found that PVM could use the Ethernet network bandwidth until 720KB per second or 58% out of the
bandwidth capacity 10Mbps. Latency time counted 3846 microsecond, multicast data transfer rate was 227.575
byte per second, cross communication data transfer rate was 155.253 byte per second, simultaneous data
transfer rate was 10.095 byte per second. Meanwhile, the performance test with matrix multiplication yielded
speedup when the matrix size was 200x200 and up. With 4 PCs paralleled, the best speedup was 3.55 times for
matrix size 360x360. This speedup was 88.9 percent compared to ideal speedup (4 times). This happend due to
a portion of the time used for inter PCs communications. The C/C ratio was reduced (better) for matrix size
200x200 and up.

Keywords: parallel virtual machines, multiprocessor, communication to computation ratio.

1. PENDAHULUAN mengganggu, sehingga perancangan komputer besar


terpaksa beralih ke seni merancang sistem
Meskipun dari waktu ke waktu kinerja pendingin yang kompleks. Ada lagi hal yang ironis,
komputer semakin tinggi, namun umat manusia yaitu bahwa semetara kita ingin meningkatkan
ternyata memiliki gudang permasalahan yang kinerja sistem, ternyata sebagian besar komponen
menuntut kinerja komputer yang lebih tinggi lagi, sistem itu justru dalam kondisi menganggur (idle).
sehingga komputer berkinerja tertinggi yang Hal ini berarti pemborosan sumber daya komputasi
berhasil diciptakan pada saat ini pun masih belum yang ada.
mencukupi untuk memecahkan masalah kompleks Berbagai penelitian telah dilakukan untuk
yang ada. Beberapa contoh aplikasi riil yang mengatasi masalah tersebut, mulai dari penggantian
membutuhkan komputer berkinerja sangat tinggi bahan semikonduktor dari silikon menjadi GaAs,
antara lain adalah peramalan cuaca, peramalan meningkatkan clock CPU, penurunan voltase
gempa, simulasi real time pada reaktor nuklir, operasional pada CPU sehingga disipasi panas
computer aided design, pengolahan data eksplorasi semakin kecil, pengecilan dimensi pada pembuatan
minyak, dan sebagainya. chip semikonduktor hingga 0,35um, dan upaya
Faktor-faktor yang membatasi peningkatan penggunaan superkonduktor, serta perancangan
kinerja komputer lebih jauh adalah masalah laju ulang arsitektur komputer yang berbeda dengan
sinyal listrik pada rangkaian elektronik komputer arsitektur von Neumann.
yang terbatas pada kecepatan cahaya, masalah Pendekatan untuk menghasilkan komputer
disipasi panas pada rangkaian elektronik juga sangat berkinerja tinggi yang akhir-akhir ini ditempuh

42   StudiKinerjaParallelVirtualMachines

  
UltimaComputing  Winarno

adalah dengan membuat komputer paralel. Pada Untuk mengetahui kemampuan PVM, maka
saat ini telah dipasarkan komputer dengan 65.536 dilakukan penelitian studi kinerja sistem PVM ini,
prosesor, dan diperkirakan dalam waktu dekat ini dengan tujuan (a) memahami perilaku dan kinerja
akan dipasarkan dengan sejuta prosesor. komunikasi data sistem PVM pada jaringan
Perancangan komputer paralel umumnya Ethernet, (b) mengevaluasi kinerja komputasi
mengasumsikan bahwa komputer itu memiliki sistem PVM, melalui pengukuran waktu eksekusi
beberapa unit kontrol, ALU (prosesor) dan modul dan speedup sistem tersebut dari berbagai ukuran
memori yang akan bekerja secara paralel. Dalam hal granularitas dan pertambahan jumlah komputer, dan
ini muncul masalah inter-koneksi dan komunikasi di (c) mengevaluasi dampak rasio komunikasi dan
antara komponen-komponen itu. Ada komputer komputasi (C/C ratio) terhadap kinerja sistem.
paralel yang menggunakan sedikit CPU yang Untuk mencapai tujuan tersebut, maka dibuat
berkinerja tinggi dan terhubung secara longgar, eksperimen dengan program-program untuk
namun ada pula komputer paralel yang mengukur kinerja komunikasi data, dan program
menggunakan sejumlah besar ALU yang terhubung paralel perkalian matriks.
secara ketat dan bekerja sebagai satu kesatuan
dengan dikontrol oleh satu unit kontrol. Dari konsep
ini muncul beberapa macam arsitektur dasar 2. METODE PENELITIAN
komputer paralel, seperti SIMD (single instruction
multiple data stream), MISD (multiple instruction Penelitian ini dilakukan dengan metode
single data stream) dan MIMD (multiple instruction sebagai berikut:
multiple data stream). 1. Studi pustaka tentang sistem komputer paralel
Perkembangan teknologi jaringan akhir-akhir dan PVM.
ini juga telah melahirkan arsitektur komputer 2. Pengembangan program komunikasi data untuk
paralel baru yang disebut sistem multikomputer mengukur kinerja komunikasi, dan
dengan peningkatan kinerja tidak kalah dibanding pengembangan program aplikasi perkalian
sistem multiprosesor. Dengan meluasnya jaringan matriks untuk mengukur kinerja komputasi
komputer di seluruh dunia, khususnya melalui paralel.
internet, maka potensi untuk membentuk sistem 3. Mencatat hasil pengukuran waktu eksekusi
paralel yang berskala besar, namun dengan biaya program, baik untuk komunikasi data maupun
rendah mungkin dicapai. Bahkan sistem paralel perkalian matriks. Khusus untuk aplikasi
multikomputer ini dapat menggunakan berbagai perkalian matriks, waktu eksekusi dipecah lagi
jenis komputer (heterogen), sehingga kita dapat menjadi waktu komunikasi dan waktu
mengakses sumber daya komputasi yang sangat luas komputasi.
secara mudah, dan tidak terikat pada keharusan 4. Menganalisa hasil pengukuran dengan
memakai jenis komputer yang sama (homogen). membandingkan kinerja sistem sekuensial dan
Salah satu alat bantu yang memungkinkan kita paralel pada berbagai jumlah komputer (1 unit,
merealisasi sebuah sistem komputer paralel 2 unit, dan 4 unit).
multikomputer adalah perangkat lunak PVM
(Parallel Virtual Machines). Mengingat relevansi 2.1. PENGUKURAN KINERJA SISTEM
dengan perkembangan situasi komputasi saat ini TANPA BEBAN
yang umumnya berbasis jaringan, maka perangkat
lunak PVM ini tampaknya memiliki prospek yang Untuk mengevaluasi kinerja komunikasi sistem
cerah untuk diimplementasikan secara luas di jaringan k omputer paralel PVM dalam kondisi
kalangan pemakai komputer. Apalagi di tanpa beban, disini akan diukur kinerja rutin-rutin
belakangnya terdapat keuntungan yang besar, yakni komunikasi data yang ada pada PVM, yang
bahwa untuk mendapatkan komputer paralel meliputi:
berskala besar, kita tidak perlu membangun sistem
komputer sendiri yang berskala besar dan mahal a. Pengukuran Kecepatan Pengemasan
harganya. Di sini kita cukup memanfaatkan jaringan (packing) Data
komputer dari jenis apa saja yang telah tersebar
luas. Dalam proses komunikasi data, mekanisme
pertukaran pesan pada PVM terdiri atas beberapa

StudiKinerjaParallelVirtualMachines  43


Winarno  UltimaComputing
tahap, dimulai dengan pengemasan data ke dalam 
buffer kirim. Oleh sebab itu kita perlu mengetahui Terima
waktu yang dibutuhkan untuk mengemas berbagai
 Kirim
nbyte
ukuran data. Dalam hal ini kecepatan pengemasan   
data penting diketahui, untuk memperkirakan Node2
kontribusi pengemasan data pada pengiriman data.  Node1
Di sini kita mengukur kinerja rutin pvm_pk*()   
dalam mengemas data yang akan dikirim dengan
  nbyte 
berbagai ukuran data (100 sampai 1.000.000 byte).
Gambaran algoritma untuk mengukur kinerja  Terima Kirim
instruksi pengemasa tersebut adalah sebagai
berikut: 
start_packing Gambar 1. Pengukuran bandwidth komunikasi
pvm_initsend(ENCODING);
antaraduasimpul.
pvm_pkint(iarray, numin, 1);
end_packing 
Sedangkan untuk mengukur besarnya latensi
b. Pengukuran Bandwidth dan Latensi
jaringan, di sini dicobakan untuk mengirim data
Komunikasi Dua Simpul
sebesar satu byte bolak-balik antara dua simpul.
Dengan demikian kita dapat mengetahui faktor
Bandwidth dan latensi merupakan faktor-
latensi PVM dalam mengirim data. Algoritma untuk
faktor yang menentukan kecepatan transfer data.
pengukuran latensi (round trip data sebesar 1 byte)
Bandwidth berkaitan dengan besarnya data yang
sama seperti di atas.
dapat dikirim per satuan waktu. Sedangkan latensi
Selain itu, dari data pengukuran bandwidth
dalam komunikasi data berkaitan dengan waktu
pun kita dapat menghitung besarnya latensi sistem
tetap yang terpakai untuk setiap kali pengiriman
jaringan. Jadi kita dapat membandingkan besarnya
data, tidak peduli berapapun ukuran datanya. Jadi
latensi hasil perhitungan dan hasil pengukuran
latensi ini berkaitan dengan frekuensi pengiriman
langsung.
data. Apabila aplikasi paralel kita sering mengirim
data antar-proses, maka waktu eksekusi program
tersebut akan banyak terserap oleh unsur latensi ini.
c. Pengukuran Kinerja Komunikasi Multicast
Walaupun kita telah mengetahui bahwa
bandwidth jaringan Ethernet adalah 10Mbps,
Komunikasi multicast berarti satu simpul
namun kita perlu memastikan berapa besar
mengirim data ke beberapa simpul lain secara
bandwidth yang termanfaatkan (utilisasi) apabila
sekaligus. Komunikasi seperti ini seringkali
digunakan oleh PVM. Hal ini karena utilisasi
dibutuhkan oleh suatu program aplikasi, dimana
bandwidth tersebut sangat penting sebagai bahan
satu proses mengirim data ke beberapa proses lain
pertimbangan kita dalam menentukan strategi
untuk diproses lebih lanjut. Model komunikasi
pertukaran pesan dalam aplikasi paralel pada PVM.
multicast inipun akan dipakai dalam program
Demikian pula kita perlu mengetahui berapa besar
perkalian matriks yang akan digunakan untuk
latensi jaringan pada sistem PVM tersebut, sehingga
mengukur kinerja komputasi paralel sistem PVM
dapat dipertimbangkan dalam strategi pertukaran
ini. Oleh sebab itu kita perlu mengetahui kinerja
pesan dalam program aplikasi kita di PVM.
komunikasi multicast, agar dapat mengantisipasi
Dalam mengukur utilisasi bandwidth yang
penerapannya pada program paralel nantinya.
dicapai oleh PVM, dilakukan eksperimen dengan
Kinerja yang diukur di sini meliputi
cara sebagai berikut: satu simpul mengirim paket
kecepatan transfer data dan latensi komunikasi
data dari berbagai ukuran (100 sampai 1.000.000
multicast, karena faktor-faktor tersebut sangat
byte). Simpul lainnya menerima data tersebut dan
menentukan kinerja komunikasi multicast.
memberi tanda bahwa data telah diterima. Lihat
Dalam mengukur kecepatan transfer data
Gambar 1.
pada komunikasi multicast, dilakukan eksperimen
transfer data dari simpul master ke tiga simpul
slave, dengan berbagai ukuran data (100 sampai

44   StudiKinerjaParallelVirtualMachines

  
UltimaComputing  Winarno

1.000.000 byte). Simpul-simpul slave tersebut a. Pengukuran Kinerja Komunikasi


menerima data dari simpul master, dan kemudian Saling-silang
memberi tanda (ACK) bahwa data telah diterima.
Sedangkan untuk mengukur latensi Yang dimaksud dengan komunikasi saling-
komunikasi multicast dari simpul master ke tiga silang adalah komunikasi antara dua simpul dimana
simpul slave, dilakukan eksperimen dengan kedua simpul tersebut sama-sama berada pada
mengirim data sebesar satu byte (bolak-balik). status akan mengirim data, dan kemudian sama-
Dengan demikian kita dapat mengetahui besarnya sama akan menerima data.
latensi pengiriman data secara multicast. Gambaran Model komunikasi saling-silang ini sangat
eksperimen tersebut dapat dilihat pada Gambar 2. sering terjadi pada sistem jaringan. Maka kita perlu
mengetahui kinerja jaringan pada saat terjadi
 komunikasi saling-silang. Hal ini dimaksudkan
supaya kita dapat mengantisipasi kinerja sistem
 apabila aplikasi kita mengalami komunikasi saling-

 silang. PVM yang mampu mendukung komunikasi
Node point-to-point maupun broadcast seringkali
 membuat pemakai PVM melupakan medium
Slave1
 komunikasi yang digunakan. Misalnya apabila kita
 menggunakan jaringan Ethernet yang bersifat
 nbyte
shared media, maka lalu lintas komunikasi terjadi
 secara bergantian. Ini berarti apabila terjadi
  komunikasi saling-silang maka akan terjadi
 tubrukan, sehingga akan ada satu simpul yang
Node nbyte Node diprioritaskan, dan simpul lainnya dinomorduakan.

Master Slave2 Apabila hal ini terjadi pada eksekusi program
 aplikasi, maka akibatnya bisa fatal, misalnya suatu
 nbyte proses terpaksa harus saling menunggu data,
sehingga mengalami kemacetan atau menjadi sangat
 tidak efisien.
 Untuk mengukur kinerja komunikasi saling-

silang, digunakan berbagai ukuran data (100 sampai
 Node 1.000.000 byte). Pengukuran kinerja komunikasi
Slave3 saling-silang dari satu simpul ke simpul lain (simpul

pengirim maupun penerima) tampak seperti Gambar
 3.
 

Gambar 2. Pengukuran kecepatan transfer data 


nbyte
multicast.  Kirim Kirim
   
2.2. PENGUKURAN KINERJA SISTEM  Node1 Node2
DENGAN BEBAN
  
Dalam eksperimen ini ingin dilihat bagaimana  Terima nbyte Terima
kinerja jaringan komputer PVM apabila terdapat

beban. Untuk itu di sini dibuat suatu model
komunikasi yang dapat menimbulkan beban bagi Gambar 3. pengukuran kecepatan komunikasi
jaringan, yaitu komunikasi overlap dan komunikasi
salingsilang.
simultan. Model komunikasi overlap dan simultan
ini sangat sering dijumpai dalam trafik komunikasi
jaringan.

StudiKinerjaParallelVirtualMachines  45


Winarno  UltimaComputing
b. Pengukuran Kinerja Komunikasi Simultan dest = me + 1;
pvm_send(dest)
Yang dimaksud dengan komunikasi simultan pvm_recv(dest)
adalah simulasi komunikasi di dalam PVM yang else if(mytid == 1\\3) {
melibatkan dua pasang simpul (empat simpul) yang dest = me -1;
secara bersamaan melakukan pengiriman dan pvm_recv(dest);
penerimaan data antara pasangan masing-masing. pvm_send(dest);


2.3. PENGUKURAN KINERJA KOMPUTASI
 Kirim nbyte Kirim
 Setelah mengukur kinerja sistem jaringan
 
PVM, maka selanjutnya dicoba diukur kinerja
 Node1 Node2 sistem tersebut apabila digunakan untuk
 melaksanakan komputasi paralel.
 
Aspek-aspek kinerja komputasi yang akan
 Terima Terima diamati di sini meliputi: Waktu Eksekusi dan
 nbyte Kirim speedup, serta C/C (communication-to-compution)
Ratio dan pengaruh granularitas. Untuk mengukur
 Kirim  kinerja komputasi paralel pada PVM,
  Node4 dikembangkan program aplikasi perkalian matriks
metode Canon [GEI94]. Dan untuk dapat
 Node3  membandingkan kinerja komputasi paralel dengan
  Terima sekuensial (speedup), maka program perkalian
matriks tersebut dijalankan pada kondisi sebagai
 Terima berikut:
 a. Sekuensial pada 1 PC
Gambar 4. Pengukuran kecepatan komunikasi b. Paralel pada 2 PC
c. Paralel pada 4 PC
simultan. Untuk mengetahui pengaruh granularitas
terhadap kinerja komputasi maka digunakan
Model komunikasi simultan ini dapat beberapa ukuran matriks, yaitu 12x12, 40x40,
dipastikan sering terjadi di dalam jaringan, misalnya 80x80, 120x120, 200x200, 240x240 dan 360x360.
karena beban jaringan yang besar, dimana banyak
pemakai sedang menggunakan jaringan tersebut. 2.4. Waktu Eksekusi dan Speedup
Oleh sebab itu, kita perlu mengukur kinerja
komunikasi simultan ini untuk mengantisipasi Waktu eksekusi berkaitan langsung dengan
kinerja jaringan ketika terjadi komunikasi simultan. kinerja sistem. Dalam eksperimen ini kita mengukur
Perbedaan dampak komunikasi simultan dengan waktu eksekusi sekuensial dan paralel pada
komunikasi saling-silang adalah bahwa pada berbagai ukuran matriks. Dengan membandingkan
komunikasi simultan tidak terdapat saling waktu eksekusi sekuensial dan waktu eksekusi
ketergantungan data antara kedua pasang simpul paralel, maka diperoleh speedup. Dari nilai
tersebut. Diperkirakan komunikasinya akan terjadi speedup ini kita bisa mengetahui bagaimana kinerja
secara bergantian (tanpa prioritas). sistem PVM ini. Dengan menggunakan beberapa
Untuk mengukur kinerja komunikasi simultan ukuran matriks, maka disini kita dapat mengetahui
digunakan simulasi dengan berbagai ukuran data pengaruh granularitas terhadap pencapaian speedup
antara 100 sampai 1.000.000 byte. Pengukuran dalam sistem PVM. Apabila nilai speedup ini sesuai
kinerja komunikasi simultan dari dua pasang simpul dengan banyaknya PC yang digunakan untuk
tampak pada Gambar 4. eksekusi paralel, berarti sistem PVM dapat
Algoritma pengukuran kinerja komunikasi dipertimbankan sebagai alternatif komputer paralel
simultan adalah sebagai berikut: yang baik.
if(mytid == 0\\2)

46   StudiKinerjaParallelVirtualMachines

  
UltimaComputing  Winarno

2.5. C/C Ratio proses-proses pada posisi diagonal Tij dimana


i=j mengirim blok Aii ke semua proses di baris
C/C (communication-to-computation) ratio i, sehingga setiap proses berisi blok matriks Aii.
merupakan indikator efisiensi dari eksekusi 4. Setelah pengiriman Aii, seluruh proses
program paralel. C/C ratio adalah perbandingan menghitung Aii x Bij dan menambah hasilnya
antara waktu komunikasi dan waktu komputasi. menjadi Cij.
Apabila nilai C/C ratio ini kecil, berarti program 5. Selanjutnya blok-blok kolom B dirotasi ke atas.
paralel tersebut efisien, karena waktu yang terpakai Proses Tij mengirim blok-blok B ke t(i-1)j .
untuk komunikasi relatif kecil dibanding waktu 6. Setelah itu proses Ai(i+1) mengirim (multicast)
untuk komputasi. ke proses-proses di baris i.
Untuk mengetahui C/C ratio, maka dalam 7. Kemudian matriks baru hasil rotasi dan
eksperimen ini pencatatan waktu eksekusi program multicast tersebut dikalikan lagi, mengkasilkan
paralel dipecah menjadi waktu komputasi, waktu Cij akhir.
overhead sistem dan waktu komunikasi. Kemudian 8. Matriks B kemudian dirotasi kembali seperti
dihitung C/C ratio dengan membagi waktu semula.
komunikasi oleh waktu komputasi. Dengan
menggunakan berbagai ukuran matriks, maka disini
kita juga dapat melihat pengaruh granularitas
terhadap C/C ratio.
3. HASIL DAN PEMBAHASAN
Dalam perkalian matriks bujur sangkar C = A
3.1. KINERJA SISTEM TANPA BEBAN
x B berdasarkan algoritma Canon yang
diimplementasikan pada PVM, diasumsikan kita
Dalam mengevaluasi kinerja primitif
akan menggunakan sebanyak m x m proses (task).
komunikasi data pada sistem komputer paralel
Setiap proses akan menghitung blok-blok dari
PVM, kita mengukur kinerja primitif-primitif
matriks C yang dihasilkan. Ukuran blok dan nilai m
komunikasi data yang ada pada PVM, yang
akan diberikan sebagai input dalam program.
meliputi: (a) kecepatan pengemasan (packing) data;
Matriks-matriks A dan B juga disimpan sebagai
(b) bandwidth dan latensi komunikasi dua simpul;
blok-blok yang tersebar pada m2 proses. Gambaran
(c) kecepatan transfer dan latensi komunikasi
perkalian matriks metode Canon secara sederhana
multicast.
dapat dilihat pada Langkah-langkah sebagai berikut:

3.1.1. Kecepatan Pengemasan (packing) Data


Langkah 1: A00 dikirim ke A01 dan A11 dikirim ke
A10.
Dari hasil pengukuran waktu pengemasan
Langkah 2: Matriks T x B
pada Tabel 1. kita dapat menghitung waktu
Langkah 3: Baris matriks B digeser ke atas, baris
pengemasan data dan waktu latensi pengemasan
teratas ke terbawah.
data. Dengan teknik regresi linier, maka dari data
Langkah 4: A01 dikirim ke A00, dan A10 dikirim
tersebut didapatkan waktu latensi pengemasan
ke A11, lalu kembali ke Langkah 2.
adalah sebesar 151,4 mikrodetik, dan kecepatan
Penjelasan langkah-langkah di atas adalah sebagai
pengemasan adalah 0,056 mikrodetik per byte.
berikut:
Dengan demikian kita dapat memprediksi fungsi
1. Matriks bujur sangkar A, B dan C masing-
masing dipecah menjadi mxm blok. Dalam
Tabel 1. Kecepatan pengemasan data.
kasus ini nilai m adalah 2, sehingga matriks-
matriks tersebut dipecah menjadi 4 blok.
2. Setiap proses akan berisi satu blok dari matriks Ukuran Data Waktu Pack Kecepatan
A, B dan C. Jadi setiap proses Tij berisi blok- (byte) (usec) (byte/sec)
blok Cij, Aij dan Bij. Selanjutnya setiap proses 100 157 636973
akan menghitung matriks Cij dari perkalian 1000 210 4761905
matriks Aij dan Bij. 10000 692 14450867
3. Cara perkalian matriks Aij dan Bij menjadi Cij 100000 6899 14494854
adalah sebagai berikut: 1000000 45957 21759470

StudiKinerjaParallelVirtualMachines  47


Winarno  UltimaComputing
Waktu pengemasan terhadap ukuran datanya Tabel 2. Bandwidth komunikasi dua simpul
sebagai berikut:
Tpack = 151,4 + 0,056 x B (mikrodetik) Ukuran Data Waktu kirim Bandwidth
Dimana Tpack = prediksi waktu pengemasan (byte) (usec) (byte/sec)
(mikrodetik) dan B = ukuran data yang akan 100 4002 24988
dikemas. Demikian pula kecepatan pengemasan 1000 5548 180228
data dapat dirumuskan fungsinya menjadi sebagai 10000 16947 590075
berikut: 100000 140493 711779
Vpack = 1.000.000 x B/ Tpack 1000000 1358741 735975

Temuan yang kita peroleh di sini adalah Tsend = 3859 + 1,43 x B mikrodetik
bahwa waktu pengemasan data dalam proses Dimana Tsend adalah waktu kirim, dan B adalah
pertukaran pesan PVM merupakan komponen ukuran data. Sedangkan fungsi hubungan antara
waktu komunikasi yang harus diperhitungkan dalam bandwidth dengan ukuran data adalah:
implementasi program paralel. Apabila program Bandwidth = 1.000.000 x B/ Tsend byte/detik
paralel kita membutuhkan banyak operasi
pengiriman data, maka dapat dipastikan bahwa Waktu latensi hasil perhitungan tersebut tidak
program tersebut akan banyak memakan waktu berbeda jauh dengan waktu latensi hasil pengukuran
untuk proses pengemasan. langsung yang besarnya 3846 mikrodetik. Latensi
Semakin kecil ukuran data, maka troughput pengiriman data sebesar 3846 mikrodetik tersebut
pengemasan data terlihat semakin kecil pula. Hal ini setara dengan waktu yang digunakan untuk
karena terdapat faktor latensi pengemasan data, mengirim data sebesar 2869 byte.
yang besarnya 151,4 mikrodetik. Padahal kecepatan Angka ini merupakan biaya (waktu tetap)
pengemasan datanya 0,056 mikrodetik per byte. Ini untuk setiap pengiriman pesan, tidak peduli
berarti waktu latensi pengemasan tersebut senilai berapapun ukuran pesannya. Dengan demikian
dengan waktu yang digunakan untuk mengemas dapat diduga bahwa pengiriman data pada sistem
data sebesar 2703 byte. Apabila kita mengemas data PVM mengandung unsur latensi yang dominan
berukuran 100 byte, maka 96,4% waktunya untuk data yang berukuran kecil (di bawah 2869
marupakan waktu latensi. Hal in tentunya tidak byte). Hal ini dapat dimaklumi karena pada sistem
efisien. Sedangkan untuk data berukuran 1.000.000 PVM, transfer data harus melalui beberapa lapis
byte, maka waktu latensinya hanya 0,3%. protokol, misalnya dari PVM ke Sistem Operasi dan
Kecepatan pengemasan ini dipengaruhi Ethernet.
oleh faktor-faktor seperti overhead prosesor untuk Dari eksperimen ini dapat disimpulkan bahwa
menjalankan instruksi pvm_pk*() dan latensi dalam implementasi program paralel pada PVM,
memori pada penyiapan buffer kirim. Pada data yang berukuran kecil tidak dapat
eksperimen ini kecepatan clock prosesor AMD memanfaatkan bandwidth yang tersedia, dan kita
DX4 adalah sebesar 100MHz dan latensi memori di akan menghadapi latensi yang cukup besar. Oleh
cache memori SRAM 20ns serta DRAM 80ns. sebab itu seandainya memungkinkan, sebaiknya
data yang ditransfer berukuran cukup besar.
3.1.2. Bandwidth dan Latensi Komunikasi Dari data dan grafik pengukuran bandwidth
Antara Dua Simpul antara dua simpul, diperoleh kesimpulan bahwa
semakin kecil ukuran data, maka semakin kecil juga
Dari hasil pengukuran bandwidth seperti troughput komunikasi datanya. Hal ini karena
tampak pada Tabel 2, kita dapat menghitung adanya faktor latensi yang dominan.
biaya waktu untuk mentransfer data per byte dan Sedangkan untuk data berukuran 1 MB,
waktu latensi pengiriman data. Dengan teknik ternyata bandwidth menunjukkan titik yang optimal.
regresi linier, maka didapatkan waktu latensi Ini berarti bahwa ukuran data yang optimal untuk
sebesar 3859 mikrodetik dan waktu transfer rata- ditransfer melalui PVM dan Ethernet adalah sekitar
rata per byte sebesar 1,43 mikrodetik. Sehingga kita 1MB, dengan bandwidth mencapai 735975 byte per
dapat merumuskan fungsi hubungan antara waktu detik. Dengan demikian tingkat utilitas bandwidth
pengiriman data dengan ukuran datanya sebagai oleh PVM pada Ethernet mencapai sekitar 58
berikut: persen.

48   StudiKinerjaParallelVirtualMachines

  
UltimaComputing  Winarno

Dari pengukuran kinerja komunikasi data seperempat sampai sepertiga kinerja komunikasi
antara dua simpul, dapat dirumuskan suatu model simpul-ke-simpul. Hal ini tampaknya karena
sederhana sebagai berikut: pengaruh dari mekanisme broadcast PVM yang
Ttotal = Tpack + Tsend mengasumsikan menangani jaringan yang luas
Dimana dengan kelompok IP-address yang berbeda untuk
Tpack = 151,4 + 0,056 x B (mikrodetik) setiap simpul. Akibatnya komunikasi multicast
Tsend = 3859 + 1,43 x B (mikrodetik) dilaksanakan secara bergantian, yaitu mirip
Jadi Ttotal = 4010,4 + 1,486 x B (mikrodetik) komunikasi simpul-ke-simpul yang dilaksanakan
sebanyak n kali (jumlah simpul slave). Dengan
Disini Ttotal = prediksi waktu total per demikian efisiensi yang diharapkan dari mekanisme
pengiriman (mikrodetik) dan B = ukuran data yang multicast atau broadcast ini tidak tercapai.
akan dikirim. Sedangkan total waktu latensi Demikian pula ukuran data yang ditransfer
pengemasan dan latensi pengiriman data adalah turut berpengaruh terhadap troughput komunikasi
4010,4 mikrodetik, dan kecepatan pengemasan dan data. Namun untuk data berukuran 100.000 byte ke
pengiriman data adalah 1,486 mikrodetik per byte. atas, tampak bahwa kecepatan transfer data
cenderung stabil pada tingkat 220KB per detik.
3.1.3. Kecepatan dan Latensi Multicast Sedangkan dari eksperimen pengukuran
latensi komunikasi multicast diperoleh nilai latensi
Dari data hasil pengukuran kecepatan transfer sebesar 14.167 mikrodetik. Angka latensi
data secara multicast seperti tampak pada Tabel 3, komunikasi multicast ini tidak berbeda jauh
kita dapat menghitung biaya waktu untuk dibandingkan dengan hasil perhitungan seperti
mentransfer data per byte. Dengan teknik regresi tersebut diatas, yaitu sebesar 16.111 mikrodetik.
linier, maka kita mendapatkan bahwa waktu transfer Namun dibandingkan dengan latensi komunikasi
multicast = 4,09 mikrodetik/byte dan waktu latensi simpul-ke-simpul, latensi multicast tampak jauh
komunikasi multicast = 16111 mikrodetik. lebih besar (3846 vs 14167 mikrodetik). Akan tetapi
Dari hasil perhitungan waktu latensi dan waktu karena komunikasi multicast tersebut ditujukan
transfer rata-rata per byte tersebut di atas, maka kita kepada tiga simpul, maka sebenarnya besar latensi
dapat merumuskan fungsi hubungan antara waktu tersebut tidak terlalu berbeda dengan latensi simpul-
transfer multicast dengan ukuran datanya sebagai ke-simpul.
berikut: Dibandingkan dengan latensi simpul-ke-
Tmcast = 16111 + 4,09 x B (mikrodetik) simpul yang besarnya 3846 mikrodetik, maka
Dimana Tmcast adalah waktu transfer multicast, latensi multicast ke tiga simpul mencapai tiga kali
dan B adalah ukuran data. Sedangkan fungsi lipat lebih. Dengan demikian jelas bahwa
hubungan antara kecepatan transfer multicast komunikasi multicast akan lebih lambat dibanding
dengan ukuran data adalah: komunikasi simpul-ke-simpul akibat besarnya
Vmcast = 1.000.000 x B/ Tmcast byte/detik latensi multicast tersebut. Dan akibat lebih lanjut,
latensi komunikasi multicast ini akan
Tabel 3. Kecepatan transfer data komunikasi mempengaruhi troughput komunikasi multicast,
multicast. khususnya untuk data yang berukuran kecil.

Ukuran Data Waktu kirim Kecepatan


(byte) (usec) (byte/sec) 3.2. KINERJA SISTEM DENGAN BEBAN
100 16520 6053
1000 19846 50388 Di sini kita mengevaluasi kinerja
10000 55105 181472 komunikasi data pada sistem komputer paralel PVM
100000 448089 223170 bilamana pada sistem tersebut terdapat beban.
1000000 4394154 227575 Untuk itu kita membuat model komunikasi yang
sering terjadi dalam jaringan, yaitu komunikasi
Kecepatan transfer data pada komunikasi saling-silang dan komunikasi simultan. Hasil
multicast tampak lebih rendah dibandingkan dengan pengukuran eksperimen tersebut adalah sebagai
komunikasi simpul-ke-simpul. Dari segi troughput, berikut:
kinerja komunikasi multicast berkisar antara

StudiKinerjaParallelVirtualMachines  49


Winarno  UltimaComputing
3.2.1. Kinerja Komunikasi Saling-silang kinerja yang jauh lebih buruk dibandingkan dengan
(Overlap) komunikasi simpul-ke-simpul biasa (kirim-terima,
kirim-terima). Namun fenomena ini memberikan
Yang dimaksud komunikasi saling-silang di informasi kepada kita, bahwa sistem PVM akan
sini adalah komunikasi antara dua simpul dimana memberikan kinerja yang buruk apabila terdapat
kedua simpul tersebut sama-sama bermaksud beberapa proses dari simpul yang berbeda yang
mengirim data, kemudian sama-sama menerima sama-sama mengirim data. Situasi tersebut terjadi
data. apabila terjadi pada program aplikasi kita akan
menimbulkan perlambatan proses eksekusi, karena
Tabel 4. Kinerja komunikasi saling-silang kedua simpul saling menunggu data dari simpul
yang lain. Ini berarti sedapat mungkin program
Ukuran Waktu Waktu Kecepatan Kecepat paralel yang kita buat tidak akan berperilaku
Data Kirim Kirim Kirim an Kirim demikian. Kesimpulan yang dapat kita ambil dari
(byte) (usec) (usec) (byte/sec) (byte/sec)
Node 1 Node 2 Node 1 Node 2
eksperimen komunikasi saling-silang ini adalah
100 3754 56606 26638 1766 bahwa model komunikasi saling-silang ternyata
1000 6603 438156 151446 2283 memberikan beban yang cukup besar bagi jaringan,
10000 64411 719165 155253 13905 sehingga menghasilkan kinerja yang buruk. Apabila
100000 769710 4291034 129919 23304
aplikasi paralel kita mengandung model komunikasi
1000000 139365955 166486317 7175 6006
demikian, maka kinerja aplikasi tersebut akan buruk
pula.
Dari data pada Tabel 4 dan dibandingkan
dengan data Tabel 2 mengenai bandwidth
3.2.2. Kinerja Komunikasi Simultan
komunikasi antara dua simpul, ternyata model
komunikasi saling-silang, menampilkan kinerja
Komunikasi simultan, yakni dua pasang
yang jauh berbeda. Komunikasi saling-silang
simpul berkomunikasi bersama dengan pasangan
menghasilkan kinerja yang jauh lebih buruk,
masing-masing. Komunikasi ini juga memberikan
dimana terjadi satu simpul diprioritaskan
kinerja transfer data yang buruk, dan sangat lambat
dibandingkan dengan simpul yang lain.
dibandingkan komunikasi simpul-ke-simpul biasa.
Untuk data berukuran kecil, kecepatan Simpul
Waktu yang dibutuhkan untuk mentransfer data
1 memang tidak berbeda jauh dengan kecepatan
yang sama bisa mencapai 25 kali lipat. Kenyataan
transfer komunikasi simpul-ke-simpul atau send-
ini tampaknya disebabkan oleh faktor antrian atau
receive (26638 dan 24988 byte/detik). Sedangkan
kepadatan lalu lintas komunikasi data (contention).
Simpul 2 kecepatannya rendah sekali (1766
Pasangan simpul yang mendapat prioritas transfer
byte/detik). Namun dengan meningkatnya ukuran
data menampakkan kinerja yang lebih baik,
data, kecepatan komunikasi saling-silang jauh di
sedangkan pasangan simpul lainnya tampak
bawah komunikasi simpul-ke-simpul. Bahkan untuk
memberikan kinerja kurang baik, karena harus
data berukuran 1.000.000 byte, kecepatan
menunggu. Dari situasi ini terlihat bahwa sistem
komunikasi saling-silang dibanding komunikasi dua
PVM pada jaringan Ethernet sangat sensitif
simpul hanya 1:100 (7175:735975).
terhadap beban komunikasi dalam jaringan.
Hal ini tampaknya akibat dari mekanisme
komunikasi pada PVM dan Ehternet. Pada PVM
Tabel 5.5. Kecepatan komunikasi konkuren.
proses pengiriman data dianggap selesai begitu data
dikirim dari buffer memori. Dan pada Ethernet,
Ukuran Node 0 & 1 Node 2 & 3
mengingat Ethernet merupakan shared medium
Data Waktu Kecepat Waktu Kecepatan
maka lalu lintas data terjadi secara bergantian.
(byte) RT an RT (bytes/s)
Jadi meskipun kedua simpul sama-sama
(usec) (bytes/s) (usec)
bermaksud mengirim, namun Ehternet akan
menentukan siapa yang lebih dahulu menyelesaikan 100 52847 1892 24405 4097
proses pengirimannya. Dengan demikian akan 200 75001 2666 42381 4719
terjadi ada satu simpul yang mendapat prioritas dan 500 142460 3509 78601 6361
simpul lain tidak mendapat prioritas. 1000 150075 6663 99052 10095
Mengingat adanya proses arbitrase ini, maka
pengiriman data secara saling-silang menghasilkan

50   StudiKinerjaParallelVirtualMachines

  
UltimaComputing  Winarno

Dengan demikian implementasi program 3.3.1. Pengukuran Waktu Eksekusi


paralel pada sistem PVM sebaiknya tidak dilakukan
pada jaringan yang berbeban tinggi atau dipakai Hasil pengukuran waktu eksekusi program
banyak orang. Sebab adanya beban yang tinggi paralel perkalian matriks pada berbagai jumlah PC
tersebut akan langsung mempengaruhi kinerja dapat dilihat pada Tabel 6.
jaringan, dan juga kinerja sistem secara Dari data perhitungan waktu eksekusi
keseluruhan, mengingat kinerja sistem sangat perkalian matriks secara sekuensial maupun paralel
tergantung pada kinerja komunikasi dalam jaringan. terlihat bahwa untuk matriks berukuran kecil (di
bawah 120x120) ternyata waktu eksekusi paralel
3.3. KINERJA KOMPUTASI (PERKALIAN lebih besar dibanding waktu eksekusi sekuensial.
MATRIKS) Ini berarti bahwa perkalian matriks paralel untuk
matriks berukuran kecil tidak efisien. Waktu
eksekusi perkalian matriks paralel mulai lebih kecil
Dengan mengimplementasikan program dibanding sekuensial pada matriks berukuran di atas
paralel perkalian matriks, maka diperoleh gambaran 200x200
kinerja sistem PVM berbasis jaringan PC, sebagai
berikut:

Tabel 6 Waktu eksekusi perkalian matriks (detik)

Ukuran Matriks
12 40 80 120 200 240 360
Sekuensial 0,328532 0,839865 1,292338 2,423750 8,387753 15,379778 54,194677
2 Paralel 1,1205845 1,311260 1,735147 2,565533 6,519577 13,135889 28,018724
4 Paralel 1,572974 1,652600 1,753119 2,5444362 4,992554 6,290320 15,239201

3.3.2. Pengukuran Speedup untuk 4 PC mencapai 3,55 kali lipat. Pencapaian


speedup tersebut cukup memadai.
Dari data waktu eksekusi di atas, diperoleh
faktor speedup seperti pada Tabel 7. 3.3.3. Profil C/C Ratio

Tabel 7. Perhitungan speedup Profil C/C ratio (communication-ke-


computation) merupakan indikator yang baik untuk
Speed Ukuran Matriks melihat apakah suatu program paralel bekerja
up dengan efisien. Perhitungan C/C ratio adalah
12 40 80 120 200 240 360
0,27 0,64 0,74 0,94 1,29 1,17 1,93
dengan membagi porsi waktu komunikasi dan
Seq-
2Par waktu komputasi.
Seq- 0,21 0,51 0,74 0,95 1,68 2,44 3,55 Apabila C/C ratio besar, berarti sebagian besar
4Par waktu eksekusi program tersebut banyak digunakan
untuk komunikasi, dan waktu komputasi semakin
Dari data perhitungan speedup tersebut di atas, kecil porsinya. Dengan demikian program tersebut
diperoleh kenyataan bahwa untuk data berukuran kurang efisien. Karena dalam eksekusi suatu
kecil, speedup yang dihasilkan umumnya buruk program, idealnya waktu eksekusi tersebut sebagian
(lebih kecil dari 1). Ini berarti bahwa justru kinerja besar digunakan untuk komputasi.
sistem paralel itu lebih rendah dibanding kinerja Dengan menggunakan fasilitas yang terdapat
sistem sekuensial. Namun untuk data berukuran di dalam utiliti XPVM, kita dapat memisahkan
besar (360x360), kinerja eksekusi paralel waktu eksekusi menjadi walti komunikasi dan
menampakkan keunggulannya dibanding eksekusi waktu komputasi. Selanjutnya dari data tersebut
sekuensial. Sebagai contoh, untuk sistem paralel 2 dapat dihitung C/C ratio.
PC, speedup mencapai 1,93 kali. Dan speedup

StudiKinerjaParallelVirtualMachines  51


Winarno  UltimaComputing
Tabel 8 Komposisi waktu eksekusi paralel 2 PC 120x120 ke bawah menghasilkan C/C ratio sekitar
50%. Ini berarti bahwa selama eksekusi tersebut
Matri % Kom % Over %Kom C/C proporsi waktu komunikasi kira-kira setengah
ks putasi head unikasi Ratio waktu komputasi. Tentu saja hal ini menunjukkan
12 44,32 30,11 25,57 57,69 kinerja yang tidak efisien. Dari perhitungan speedup
40 50,21 24,05 25,74 51,26 pun diperoleh nilai speedup kurang dari 100%, yang
80 43,23 35,30 21,46 49,64 berarti tidak melebihi eksekusi sekuensial pada satu
120 55,28 23,40 21,32 38,57 PC.
200 68,17 13,25 18,58 27,26 Profil C/C ratio semakin membaik pada matriks
240 75,34 8,07 16,60 22,03 berukuran 200x200 ke atas, dengan nilai sekitar
360 76,95 8,78 14,27 18,54 25%. Demikian pula pada kondisi ini telah dicapai
perbaikan speedup, dengan nilai di atas 100%.
Bahkan untuk matriks berukuran 360x360, dicapai
Tabel 9. Komposisi waktu eksekusi paralel 4 PC. speedup 3,55 kali, dengan C/C ratio sebesar
18,56%.
Matri % Kom % Over % Kom C/C Kondisi yang ideal untuk eksekusi paralel
ks putasi head unikasi Ratio dengan 4 PC tentunya menghasilkan speedup 4 kali
(%) lipat. Namun hal ini tampaknya tidak mungkin,
karena adanya waktu yang teralokasikan untuk
12 43,54 30,30 26,16 60,07
komunikasi. Speedup yang tercapai dibanding
40 47,54 25,63 26,83 56,43
speedup ideal adalah (3,55/4) x (100%) = 88,9%.
80 54,29 16,89 28,82 53,08
Kondisi tersebut dipandang sudah cukup baik,
120 54,20 22,70 23,10 42,62
karena dalam kenyataannya sebagian waktu
200 60,28 17,61 22,10 36,66
eksekusi terpakai untuk berkomunikasi, dengan
240 67,26 14,76 17,98 26,73
porsi antara 14% hingga 26%.
360 77,42 8,21 14,37 18,56
Hasil pengukuran di atas sesuai dengan
eksperimen yang dilaporkan di dalam [Mar92], dan
Dari perhitungan C/C ratio seperti yang
di situ disimpulkan bahwa C/C ratio dapat
terdapat pada Tabel 8 dan 9 diperoleh
digunakan untuk memperkirakan kinerja sistem
kecenderungan sebagai berikut:
paralel secara akurat.
x Nilai C/C ratio semakin kecil dengan semakin
besarnya ukuran matriks. Atau nilai C/C ratio
semakin besar dengan semakin kecilnya ukuran
matriks. Hal ini dapat dipahami, karena untuk 4. KESIMPULAN DAN SARAN
ukuran data yang lebih kecil, maka latensi
komunikasi menjadi relatif besar dibanding 4.1. KESIMPULAN
waktu eksekusi.
x Nilai C/C ratio semakin besar dengan semakin Dari hasil pengukuran dan pembahasan, maka
banyaknya PC yang terlibat dalam eksekusi dapat ditarik kesimpulan sebagai berikut:
program paralel tersebut.
4.1.1. Kinerja Komunikasi Tanpa Beban

Secara teoritis, komputasi paralel yang efisien a. Kinerja komunikasi data pada PVM antara lain
sebenarnya menuntut C/C ratio yang sekecil- terpengaruh oleh adanya faktor overhead dan
kecilnya, karena adanya waktu komunikasi berarti latensi. Overhead adalah waktu yang digunakan
menambah waktu eksekusi. Apalagi kalau basis prosesor untuk menyiapkan perngiriman dan
komunikasinya menggunakan jaringan lokal penerimaan data pada memori buffer, sedangkan
Ethernet yang tergolong lambat. Maka waktu latensi adalah waktu yang terbuang dalam
eksekusi program paralel pada sistem PVM berbasis perangkat keras jaringan. Sebagai contoh faktor
jaringan Ethernet akan menghadapi kendala waktu overhead adalah waktu yang diperlukan untuk
komunikasi dalam jaringan. mengemas (packing) data ke dalam memori
Dari data profil C/C ratio yang diperoleh, buffer yang mencapai 151,4 mikrodetik.
ternyata eksekusi paralel untuk matriks berukuran Sedangkan faktor latensi ditunjukkan dengan

52   StudiKinerjaParallelVirtualMachines

  
UltimaComputing  Winarno

waktu round trip sebesar 3859 mikrodetik. Dari berbasis jaringan Ethernet sebaiknya dilakukan
data tersebut jelaslah bahwa faktor latensi jauh pada kondisi jaringan yang tidak berbeban berat.
lebih besar dibanding faktor overhead.
Tkom = Toh + 0,056 B + Tlat + 1,43 B Dari kesimpulan di atas, ternyata bahwa
Tkom = 151,4 + 0,056 B + 3859 + 1,43 B adanya beban dalam jaringan menyebabkan kinerja
Tkom = 4010,4 + 1,486 B komunikasi turun secara nyata (signifikan). Hal ini
karena adanya waktu yang digunakan untuk
b. Bandwidth yang tersedia pada Ethernet ternyata menangani collision.
tidak mungkin dimanfaatkan sepenuhnya oleh
PVM. Hal ini terbukti dari fakta bahwa
bandwidth PVM hanya mencapai 720KB per 4.1.3. Kinerja Komputasi
detik atau hanya 58 persen dari bandwidth
Ehternet (10MBps). a. Waktu Eksekusi. Dari pengukuran kinerja
c. Pengiriman data dalam paket-paket kecil ternyata komputasi paralel (4 proses) perkalian matriks
memakan waktu yang sangat besar akibat yang dibandingkan dengan komputansi
adanya dominasi faktor latensi, sehingga sekuensial dapat disimpulkan bahwa untuk
throughput sistem menjadi sangat kecil. Hal ini matriks berukuran kecil (120x120 ke bawah),
tampak pada pengukuran bandwidth untuk data ternyata waktu eksekusinya cenderung lebih
berukuran kecil. buruk dibanding waktu eksekusi sekuensial.
d. Dari model komunikasi multicast, kita dapat Komputasi paralel mulai menunjukkan
mengetahui bahwa pada PVM yang berbasis keunggulan dibanding komputasi sekuensial
jaringan Ehternet, mekanisme multicast tidak untuk matriks berukuran 200x200 ke atas. Hal
memberikan kinerja yang lebih baik dibanding ini menunjukkan bahwa granularitas sangat
komunikasi simpul-ke-simpul. Hal ini karena berpengaruh terhadap kinerja komputasi.
mekanisme komunikasi multicast PVM pada Semakin kecil granularitas, maka semakin
Ethernet yang bersifat shared media dilakukan lambat waktu eksekusi paralelnya, karena
secara sekuensial (tidak serempak). Ini berarti sebagia besar waktu digunakan untuk
mirip dengan komunikasi simpul-ke-simpul. berkomunikasi. Demikian sebaliknya, semakin
besar granularitas (ukuran matriks), maka waktu
4.1.2. Kinerja Komunikasi Dengan Beban eksekusi paralel semakin cepat.
b. Speedup. Komputasi paralel pada PVM ternyata
a. Pada model komunikasi saling-silang, dimana tidak menjamin adanya speedup yang baik untuk
terdapat dua simpul yang akan mengirim data semua kondisi. Sebagaimana terbukti bahwa
secara bersamaan, ternyata satu simpul speedup ternyata baru tampak untuk matriks
mendapat prioritas pengiriman data, sedangkan berukuran 200x200 ke atas. Sedangkan di bawah
simpul lain dinomorduakan. Akibatnya kinerja ukuran tersebut, komputasi paralel justru lebih
komunikasi salah satu simpul lebih tinggi lambat dibanding komputasi sekuensial.
dibanding simpul lain. Apabila kedua simpul c. Profil C/C ratio. Dengan mengamati proporsi
tersebut saling tergantung data untuk waktu komunikasi dibanding waktu komputasi,
pemrosesan tugasnya, maka kondisi ini dapat maka ternyat abahwa untuk matriks berukuran
menyebabkan kelambatan eksekusi program, 120x120 ke bawah, nilai c/c ratio adalah sekitar
atau bahkan kemacetan. 50%. Ini berarti bahwa porsi waktu komunikasi
b. Pada model komunikasi simultan, dimana dua mencapai 50% terhadap waktu komputasi. Hal
pasang simpul saling berkirim data secara ini menunjukkan bahwa waktu eksekusi program
bersamaan, kita dapat melihat bahwa apabila paralel tersebut banyak dihabiskan untuk
beban jaringan tinggi, maka komunikasi data di berkomunikasi. Jadi eksekusi program paralel
dalam jaringan menjadi lambat. Lambatnya tersebut tidak efisien. Namun untuk matriks
komunikasi data ini tentunya akan berukuran 200x200 ke atas, nilai c/c ratio
mempengaruhi eksekusi program paralel, karena semakin kecil (kurang dari 25%), sehingga
proses-prosesnya mengunggu data yang dikirim eksekusi program paralel pun semakin efisien.
melalui jaringan. Dengan demikian
implementasi program paralel pada PVM yang

StudiKinerjaParallelVirtualMachines  53


Winarno  UltimaComputing
Secara umum dapat disimpulkan bahwa sebaiknya jaringan tersebut memang
sistem PVM (Parallel Virtual Machines) dedicated sebagai sistem komputer paralel,
memiliki kemampuan yang cukup baik, dan dan tidak dipakai untuk aplikasi lain. Sebab
berpotensi menjadi sarana untuk menciptakan beban komunikasi data yang berat di dalam
sistem komputer paralel alternatif, yang jaringan otomatis akan menurunkan troughput
memanfaatkan jaringan stasiun kerja yang ada. komunikasi, sehingga menganggu kinerja
Dengan demikian sistem PVM akan dapat komputasi paralel. Namun apabila kebutuhan
menghindarkan kita dari membeli sistem komputasi paralel kita tidak terlalu besar, maka
komputer paralel khusus yang harganya tidak kita dapat menarik keuntungan dari sistem
murah. paralel PVM yang berbasis jaringan Ethernet,
Namun karena untuk menghasilkan kinerja yaitu memanfaatkan jaringan yang ada untuk
yang tinggi PVM menuntut beban jaringan yang aplikasi paralel, sehingga kita tidak perlu
tidak tinggi, maka berarti bahwa PVM pun membeli komputer paralel khusus yang mahal
memerlukan jaringan yang dedicated apabila harganya.
memang dikehendaki sebagai sistem komputer
paralel yang dedicated. Kecuali apabila DAFTAR PUSTAKA
kebutuhan aplikasi paralel kita tidak terlalu
besar, maka kita dapat menggunakan jaringan Akl, Selim G. 1989. The Design and Analysis of
yang ada untuk merangkap menjadi sistem Parallel Algoritms, London: Prentice-Hall.
komputer paralel yang berbasis PVM.
Anderson, Thomas E. et al., A Case for NOW
4.2. SARAN-SARAN (Networks of Workstations), IEEE Micro,
February 1995, Hlm. 54-64.
Dari kesimpulan tersebut di atas, maka
untuk mengimplementasikan program paralel pada Anindo, Bagchi and Hakimi, Louis S. 1992. Data
PVM yang berbasis jaringan Ehternet, disarankan Transfers in Broadcast Networks, IEEE
agar: Transaction on Computers, Vol. 41 No.7, July.
a. Untuk menghindari waktu latensi, maka
sebaiknya komunikasi antar-proses sesedikit
mungkin. Sedangkan untuk memanfaatkan Beguelin, Adam et al. 1991. A Users Guide to
bandwidth semaksimal mungkin, maka PVM (Parallel Virtual Machines), Oak Ridge:
pengiriman data menggunakan ukuran data Oak Ridge National Laboratory.
yang sebesar mungkin. Hal ini karena dapat
mengurangi waktu komunikasi dan trafik Bhatt, Sandeep N., et al. 1993. Scattering and
komunikasi dalam jaringan, sehingga eksekusi Gathering Messages in Networks of
program paralel kita dapat lebih efisien. Processors, IEEE Transaction on
Dengan semakin sedikit komunikasi, berarti Computers, Vol. 42 No.8, August 1993.
kita menghindari waktu yang terbuang dalam
komunikasi akibat adanya latensi sistem. Celenk, Mehmet and Wang, Yang. 1994.
Ukuran data minimal adalah 2869 byte. Performance of the Networks of Workstations
b. Diupayakan agar digunakan granularitas yang for Parallel Processing Applications, IEEE
cukup besar, sehingg efisiensi komunikasi lebih 0-8186-5320-5/94.
baik. Sebagaimana diketahui, dengan
granularitas yang besar, maka kita dapat Crovella et al. 1992. Using Communication-to-
memanfaatkan bandwidth semaksimal Computation Ratio in Parallel Program
mungkin. Design and Performance Prediction,
c. Digunakan jaringan yang memilliki bandwidth Proceeding of the 4th IEEE Symposium on
lebih besar, agar kecepatan komunikasi data Parallel and distributed Processing 1992,
lebih tinggi. Sebagai contoh adalah FDDI dan Hlm. 238-245.
ATM.
d. Apabila kita ingin memiliki komputer paralel Crovella, Mark, et al. 1992. Using
PVM yang berbasis jaringan Ethernet, maka Communication-to-Computation Ratio in

54   StudiKinerjaParallelVirtualMachines

  
UltimaComputing  Winarno

Parallel Program Design and Performance INMOS Limited. 1990. ANSI C Toolset User
Prediction, IEEE. Manual, INMOS Limited.

Freeman L.T & Phillips C. 1992. Parallel INMOS Limited. 1990. ANSI C Toolset Reference
Numerical Algoritms, New York: Prentice- Manual, INMOS Limited.
Hall.
Khokhar, Ashfaq A., et al. Heterogenous
Geist, A.G & Sunderam S.V. 1991. Network Based Computing: Challenges and Opportunities,
Concurrent Computating on the PVM IEEE Computer, June 1993.
System, Paper, Atlanta: Emory University.
Lewis, G.T., et al. 1992. Introduction to Parallel
Geist, Al, et al. 1994. PVM: Parallel Virtual Computing, New Jersey: Prentice-Hall.
Machines a Users Guide and Tutorial for
Networked Parallel Computing,
Massachusetts: The MIT Press. Quinn, Michael J. 1987. Designing Efficient
Algorithm for Parallel Computers, London:
Gross, Thomas et al. 1994. Communication Styles McGraw-Hill.
for Parallel Systems, IEEE Computer,
December 1994. Rochkind, Marc J. 1985. Advance Unix
Programming, Englewood Cliffs, New Jersey:
Hayes, John P. 1988. Computer Architecture and Prentice-Hall.
Organization, 2nd ed, New York: McGraw-
Hill. Stone, Harold S. 1987. High-Performance
Computer Architecture, Massachusetts:
Hennessy, John L. & Patterson D.A. 1990. Addison-Wesley Publishing Company.
Computer-Architecture a Quantitive
Approach, San Mateo-California: Morgan Tabak, Daniel. 1991. Advanced Mircroposessor,
Kaufman Publishers Inc. New York: McGraw-Hill,.

Hennessy, John L. and Jouppi Norman P., Tanenbaum, Andrew S. 1992. Modern Operating
Computer Technology and Architecture: An Systems, Englewood Cliffs, New York:
Evolving Interaction, IEEE Computer, Prentice-Hall.
September 1991.
Tsay, Jong-Chuang and Chang, Pen-Yuang,
Hesham, El-Rewini (ed) et al, Parallel Distributed Design of Efficient Regular Arrays for Matrix
Systems From Theory to Practice, IEEE Multiplication by Two-Step Regularization,
Parallel & Distributed Technology, August IEEE Transaction on Parallel and Distributed
1993. Systems, Vol. 6 No.2, February 1995.

Himawan B. 1993. Evaluasi Kinerja Sistem Varvarigos, Emmanouel A. and Bertsekas, Dimitri
Komputer Paralel Berbasis Pertukaran Pesan P., Dynamic Broadcasting in Parallel
TransPAU, Skripsi, Prosilkom UI, Jakarta. Computing, IEEE Transaction on Parallel
and Distributed Systems, Vol.6 No.2, February
Horowitz E. & Sahni S. 1990. Fundamental of Data 1995.
Structures in Pascal, 3rd ed., New York: W.H
Freeman and Company. Wilson, Gregory V., A Glossary of Parallel
Computing Technology, IEEE Parallel &
Hwang, K & Briggs, A.F. 1985. Computer Distributed Technology, February 1993.
Architecture and Parallel Processing,
Singapore: McGraw-Hill. Yung, C.W and Yung, Edward K.N. 1992. Design
of a Distributed Programming Platform for

StudiKinerjaParallelVirtualMachines  55


Winarno  UltimaComputing
Parallel Computation in a Network of
Workstations, IEEE 0-7803-0849-2/92.

Vokerding, Patrick, et al. 1995. Linux Configuration


and Installation, 1st ed., New York: MIS Press.

Xu, Zhiwei. Spring 1996. Modeling


Communication Overhead: MPI and MPL
Performance on the IBM PS/2, IEEE Parallel
& Distributed Technology.

56   StudiKinerjaParallelVirtualMachines


You might also like