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.
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.
ARCHITECTURAL PARALLEL COMPUTER
1. SISD
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
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
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
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 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.
mantap artikelnya sangat membantu , lanjutkan bikin artikelnya .
ReplyDelete