Link Jurnal :
ajuarna.staff.gunadarma.ac.id/Downloads/files/9254/ArtikelEpilog.pdf
Judul Jurnal :
Komputasi Paralel Sebagai Alternatif
Solusi Peningkatan Kinerja Komputasi
Penulis
Thomas Anung Basuki
Latar Belakang
Saat
ini penggunaan komputer untuk menyelesaikan masalah sudah merasuk ke segala
bidang. Hal ini karena komputasi dianggap lebih cepat dibandingkan dengan
penyelesaian masalah secara manual. Seiring dengan hal tersebut, semakin
dituntut proses komputasi yang semakin cepat. Untuk meningkatkan kecepatan
proses komputasi, dapat ditempuh dua cara : !"peningkatan kecepatan
perangkat keras, !"peningkatan kecepatan perangkat lunak. Komponen utama
perangkat keras komputer adalah processor. Saat ini, peningkatan kecepatan
processor benarbenar luar biasa. Processor Pentium 4 yang dikeluarkan Intel
kecepatannya sudah mencapai 1.8 GHz. Meskipun kecepatan processor dapat
ditingkatkan terus, namun karena keterbatasan materi pembuatnya, tentu ada
suatu batas kecepatan yang tak mungkin lagi dapat dilewati. Karena itu timbul
ide pembuatan komputer multiprocessor. Dengan adanya banyak processor dalam
satu komputer, pekerjaan bisa dibagi-bagi kepada masing-masing processor.
Dengan demikian lebih banyak proses dapat dikerjakan dalam satu saat.
Perubahan
arsitektur komputer menjadi multiprocessor memang bisa membuat lebih banyak
proses bisa dikerjakan sekaligus, namun tetap tidak bisa meningkatkan kecepatan
masing-masing proses. Peningkatan kecepatan setiap proses bisa dicapai melalui
peningkatan kecepatan perangkat lunak. Kecepatan perangkat lunak sangat
ditentukan oleh algoritmanya. Usaha untuk mencari algoritma yang lebih cepat
tidaklah mudah, namun dengan adanya komputer multiprocessor, dapatlah dirancang algoritma yang lebih cepat, yaitu
dengan memparalelkan proses komputasinya. Saat ini komputer multiprocessor
masih jarang dan mahal harganya. Hal ini menyebabkan algoritma paralel yang ada
sukar diimplementasikan. Untuk mengatasinya dirancanglah mesin paralel semu.
Mesin paralel semu ini sebenarnya adalah jaringan komputer yang dikendalikan
oleh sebuah perangkat lunak yang mampu mengatur pengalokasian proses-proses
komputasi kepada processor-processor yang tersebar dalam jaringan tersebut.
Pada
makalah ini dibuat dua aplikasi dari komputasi paralel. Tujuan dari pembuatan
aplikasi ini hanyalah untuk menunjukkan peningkatan kecepatan yang diperoleh
dari paralelisasi algoritma sekuensial, sehingga sengaja dipilih aplikasi yang
sederhana. Karena ketiadaan perangkat keras komputer paralel, maka kedua
aplikasi tersebut dibuat dengan menggunakan PVM (Parallel Virtual Machine),
suatu sistem perangkat lunak yang bekerja pada jaringan komputer dan mampu
mensimulasikan kerja komputer paralel. Program dibuat dengan bahasa pemroraman
C pada sistem operasi Red Hat Linux.
Terdapat
dua aplikasi sederhana yang dipilih untuk diimplementasikan, yaitu penjumlahan
n bilangan secara paralel dan pengurutan n bilangan dengan menggunakan suatu
sorting network yang disebut Bitonic Sort. Untuk masing-masing aplikasi akan
dibandingkan dengan algoritma sekuensialnya.
Definisi
dan Konsep Arsitektur Pararel
Para
perancang komputer selalu berudsaha untuk meningkatkan kinerja mesin-mesin yang
dirancangnya.Satu cara yang dilakukan adalah membuat chip-chip agar bekerja
lebih cepat dengan menambah kecepatan detaknya, namun untuk semua desain baru,
cara tersebut masih suli untuk dilakukan. Oleh karena itu, sebagian besar arsitektur
komputer beralih ke paralelisme (melakukan dua hal atau lebih secara sekaligus)
sebagai suatu cara untuk mencapai kinerja yang lebih tinggi pada suatu
kecepatan detak tertentu.
Idealnya, parallel
processing membuat program berjalan lebih cepat karena semakin banyak CPU
yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga
dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
Konsep
keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa
pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel.
Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk
menyelesaikan masalah numerik karena masalah numerik merupakan salah satu
masalah yang memerlukan kecepatan komputasi yang sangat tinggi.
Sebagian
besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai
lebih dari satu. Bahkan juga ada komputer buan CPU.
Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya
dengan komputer lain pada jaringan. Namun, parallel
processing ini memerlukan software canggih yang disebut distributed
processing software.
Arsitektur
Komputer Pararel
Pengelompokan
Komputer
Berdasarkan
jumlah aliran instruksi dan aliran datanya, Michael J. Flynn pada tahun 1966
mengelompokkan komputer digital menjadi empat golongan besar [Hwa85]. Aliran
instruksi (instruction stream)adalah urutan instruksi yang dieksekusi oleh
sistem komputer, sedangkan aliran data (data stream) adalah urutan
data yang diolah termasuk data masukan, bagian dari data, maupun data sementara
yang dipanggil atau digunakan oleh aliran instruksi.
Keempat
kelompok komputer tersebut adalah :
1.
Komputer SISD (Single Instruction stream-Single Data stream)
Pada
komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi
juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian
instruksi (pipelining). Pada umumnya komputer SISD berupa komputer yang terdiri
atas satu buah pemroses (single processor). Namun komputer SISD juga mungkin
memiliki lebih dari satu unit fungsional (modul memori, unit pemroses, dan
lain-lain), selama seluruh unit fungsional tersebut berada dalam kendali sebuah
unit pengendali. Skema arsitektur global komputer SISD.
2.
Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada
komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh
sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan
menjalankan instruksi yang sama yang dikirimkan unit pengendali, namun
melakukan operasi terhadap himpunan data yang berbeda yang berasal dari aliran
data yang berbeda pula.
3.
Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer
jenis ini memiliki n unit pemroses yang masing-masing menerima
danmengoperasikan instruksi yang berbeda terhadap aliran data yang sama,
dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda.
Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada
perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk
penelitian.
4.
Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada
sistem komputer MIMD murni terdapat interaksi di antara npemroses. Hal ini
disebabkan seluruh aliran dari dan ke memori berasal dari space data
yang sama bagi semua pemroses. Komputer MIMD bersifat tightly
coupled jika tingkat interaksi antara pemroses tinggi dan
disebut loosely coupled jika tingkat interaksi antara pemroses rendah.
Referensi
[1] Cormen, T.H., Leiserson, C. dan Rivest, R.E.
Introduction to Algorithms. MIT Press, 1990
[2] Kernighan, B.W. dan Ritchie, D.M. The C
Programmming Language. Prentice-Hall, 1989.
[3] Geist, A., Beguelin, A., Dongarra, J., Jiang,
W., Manchek, R., Sunderam, V. PVM : Parallel Virtual Machine, A Users’ Guide
And Tutorial For Networked Parallel Computing. MIT Press, 1994.
Analisa Jurnal Komputasi Pararel