Parallel computing adalah
penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara
simultan. Idealnya, parallel processing membuat programberjalan 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, Maksudnya program dijalankan dengan banyak CPU secara
bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat
diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing
berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau
mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga
dengan istilah parallel computing.
Sejarah mencatat Konferensi
internasional tentang ParCo97 komputasi paralel (Parallel Computing 97)
diadakan di Bonn, Jerman 19-22 September 1997. Konferensi pertama dalam seri
ini dua tahunan diadakan pada tahun 1983 di Berlin. Selanjutnya konferensi
diadakan di Leiden (Belanda), London (Inggris), Grenoble (Prancis) dan Gent
(Belgia).
Sejak awal tujuan dengan
(Komputasi Paralel) konferensi parco adalah untuk mempromosikan penerapan
komputer paralel untuk memecahkan masalah kehidupan nyata. Dalam kasus ParCo97
tonggak baru dicapai dalam bahwa lebih dari setengah dari makalah dan poster
yang disajikan prihatin dengan aspek aplikasi. Fakta ini mencerminkan
kedatangan usia komputasi paralel.
Sekitar 200 makalah yang
disampaikan kepada Komite Program oleh penulis dari seluruh dunia. Program
akhir terdiri dari empat makalah diundang, 71 kontribusi ilmiah / industri
kertas dan 45 poster. Selain diskusi panel tentang Komputasi Paralel dan
Evolusi Cyberspace diadakan.
A.
Parallelism concept
Komputasi
paralel merupakan salah satu teknik komputasi, dimana proses komputasinya
dilakukan oleh beberapa resources ( komputer ) yang independen,
secara bersamaan. Komputasi paralel biasanya diperlukan pada saat terjadinya
pengolahan data dalam jumlah besar ( di industri keuangan, bioinformatika, dll
) atau dalam memenuhi proses komputasi yang sangat banyak. Selanjutnya,
komputasi paralel ini juga dapat ditemui dalam kasus kalkulasi numerik dalam
penyelesaian persamaan matematis di bidang fisika ( fisika komputasi ), kimia (
kimia komputasi ), dll. Dalam menyelesaikan suatu masalah, komputasi paralel
memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang
dihubungkan dengan jaringan dan mampu bekerja secara paralel.
Untuk
itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai
middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam
satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang
dijalankan diatasnya otomatis akan diolah secara paralel. Pemrograman paralel
adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah /
operasi secara bersamaan ( komputasi paralel ), baik dalam komputer dengan satu
( prosesor tunggal ) ataupun banyak ( prosesor ganda dengan mesin paralel )
CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh
komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih
sering istilah yang digunakan adalah sistem terdistribusi ( distributed
computing ). Tujuan utama dari pemrograman paralel adalah untuk meningkatkan
performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (
dalam waktu yang sama ), semakin banyak pekerjaan yang bisa diselesaikan.
B.
Distributed Processing
Definisi
umum dari pemrosesan terdistribusi (distributed processing) yaitu cara untuk
mempercepat pengolahan data atau informasi dengan mendistribusikan pekerjaan
atau intruksi ke banyak komputer yang telah dipilih untuk memberi kekuatan
pemrosesan yang lebih cepat. Pemrosesan terdistribusi biasa disebut juga dengan
komputasi terdistribusi. Tujuan dari komputasi terdistribusi adalah menyatukan
kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang
terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan
kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.
Tujuan
lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi.
Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi
berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna
tersebut. Transparansi ini memungkinkan pengguna sistem terdistribusi untuk
melihat sumber daya yang terpisah tersebut seolah-olah sebagai satu sistem
komputer tunggal, seperti yang biasa digunakannya. Dalam prosesnya setiap
komputer berinteraksi satu sama lain untuk mencapai tujuan bersama.
Definisi
lain dari distributed processing adalah mengerjakan semua proses pengolahan
data secara bersama antara komputer pusat dengan beberapa komputer yang lebih
kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut
memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara
terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian
total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan
mengambil alih tugasnya.
Dengan
kemajuan teknologi telekomunikasi dan teknologi informasi atau lebih dikenal
dikenal dengan istilah Telematika atau dalam istilah asingnya ICT (Information
and Communication Technology) menawarkan sesuatu yang pada awal perkembangan
komputer sangatlah mahal yaitu mini komputer, workstation dan personal komputer
yang memiliki kemampuan setara mainframe dengan harga yang jauh lebih murah.
Hal
itu mendorong munculnya paradigma baru dalam pemrosesan data yaitu apa yang
disebut distributed processing dimana sejumlah komputer mini komputer,
workstation atau personal komputer menangani semua proses yang didistribusikan
secara phisik melalui jalur jaringan komunikasi. Salah satu bentuk dari
distributed processing adalah arsitektur client-server. Menurut Wikipedia,
klien-server atau client-server merupakan sebuah paradigma dalam teknologi
informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua
pihak: pihak klien dan pihak server. Dalam model klien/server, sebuah aplikasi
dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan
yakni komponen klien dan komponen server.
Komponen
client juga sering disebut sebagai front-end, sementara komponen server disebut
sebagai back-end. Komponen client dari aplikasi tersebut dijalankan dalam
sebuah workstation dan menerima masukan data dari pengguna. Komponen client
tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan
teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang
dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa
layanan yang dimiliki oleh server. Komponen server akan menerima request dari
client, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut
kepada client. Client pun menerima informasi hasil pemrosesan data yang
dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan
aplikasi yang berinteraksi dengan pengguna.
Pemrosesan
paralel adalah pendekatan komputasi untuk meningkatkan tingkat di mana
satu set data diolah dengan pengolahan bagian yang berbeda dari data pada waktu
yang sama secara simultan atau bersamaan pada sebuah komputer dan berfungsi
memecah beban besar menjadi beberapa beban kecil untuk mempercepat proses
penyelesaian masalah.
Didistribusikan
pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah
satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan
pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk
memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika
ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah
yang sangat singkat.
Tipe
lain dari komputasi paralel yang kadang-kadang disebut
"didistribusikan" adalah gagasan dari sebuah komputer paralel
cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi
koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa
pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang dijelaskan
dalam paragraf di atas, kecuali bahwa semua CPU secara langsung terhubung ke
server, dan satu-satunya tujuan mereka adalah untuk melakukan perhitungan yang
diberikan kepada mereka.
Parallel
distributed computing dapat dibentuk dari :
1. Ada
: digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
2. PVM
(Parallel Virtual Machine) untuk mendukung workstation clusters
3. MPI
(Message-Passing Interface) programming GUI untuk parallel computers.
C. Architectural Parallel Computer
1. SISD
Yang merupakan
singkatan dari Single Instruction, Single Data adalah satu-satunya yang
menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya
digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai
model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan
komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer
yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP
1.
2. SIMD
Yang merupakan
singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak
processor dengan instruksi yang sama, namun setiap processor mengolah data yang
berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang
terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor
kita menggunakan algoritma atau perintah yang sama, namun data yang diproses
berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama
hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40,
begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang
menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP,
Thingking Machine CM-2 dan Cell Processor (GPU).
3. MISD
Yang merupakan
singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak
processor dengan setiap processor menggunakan instruksi yang berbeda namun
mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk
contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara
penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga,
keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma
yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai
saat ini belum ada komputer yang menggunakan model MISD.
4. MIMD
Yang merupakan
singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak
processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah
data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga
memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model
MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray
XT3 dan IBM BG/L.
Singkatnya untuk
perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan
pada gambar di bawah ini:
Gambar 1 Penyelesaian Sebuah Masalah
pada Komputasi Tunggal
Gambar 2 Penyelesaian Sebuah Masalah
pada Komputasi Paralel
Dari
perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi
paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang
banyak daripada komputasi tunggal.
Dari
penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan
kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi
paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus
mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika
kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah
kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
Sumber :
No comments:
Post a Comment