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.
Analogi yang paling gampang adalah,
bila anda dapat merebus air sambil memotong-motong bawang saat anda akan
memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda
mengerjakan hal tersebut secara berurutan ( serial ). Atau waktu yang anda
butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua. Performa
dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (
speed up ) yang diperoleh dalam menggunakan tehnik paralel. Secara informal,
bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan
teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh
peningkatan kecepatan sebanyak 2 kali.
B. DISTRIBUTED PROCESSING
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 :
– Ada : digunakan konsep pertemuan
yang menggabungkan fitur RPC dan monitor.
– PVM (Parallel Virtual Machine)
untuk mendukung workstation clusters
– MPI (Message-Passing
Interface) programming GUI untuk parallel computers.
C. ARCHITECTURAL PARALLEL
COMPUTER
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.
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).
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.
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.
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.
Tidak ada komentar:
Posting Komentar