Parallel Computing
Assalamualaikum Wr Wb
Halo teman-teman aku
mau nugas lagi hehe, tugas kali ini membahas “Parallel Computing”. Semoga bermanfaat
yah hehe.
Parallel
Computing
Parallel
computing adalah penggunaan lebih dari satu komputer untuk melakukan komputasi
secara bersamaan. Ini umumnya diperlukansaat kapasitas yang diperlukan sangat
besar, baik karena harus mengolah data dalam jumlah besar(di industri keuangan,
bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak.Kasus
kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis
dibidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Untuk
melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin
paralelyang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan
mampu bekerja secaraparalel untuk menyelesaikan satu masalah. Untuk itu
diperlukan aneka perangkat lunak pendukungyang biasa disebut sebagai
middleware yang berperan untuk mengatur distribusi pekerjaan antarnode dalam
satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel
untukmerealisasikan komputasi. Tidak berarti dengan mesin paralel semua program
yang dijalankandiatasnya otomatis akan diolah secara parallel.
Di
dalam komputasi parallel ada yang dinamakan dengan pemrograman
parallel.Pemrograman paralel adalah teknik pemrograman komputer yang
memungkinkan eksekusiperintah/operasi secara bersamaan (komputasi paralel),
baik dalam komputer dengan satu(prosesor tunggal) ataupun banyak (prosesor
ganda dengan mesin paralel) CPU. Bila komputeryang digunakan secara bersamaan
tersebut dilakukan oleh komputer-komputer terpisah yangterhubung dalam suatu
jaringan komputer lebih sering istilah yang digunakan adalah sistemterdistribusi
(distributed computing).
Tujuan
utama dari pemrograman paralel adalah untuk meningkatkan performa
komputasi.Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu
yang sama), semakinbanyak pekerjaan yang bisa diselesaikan. Analogi yang paling
gampang adalah, bila anda dapatmerebus air sambil memotong-motong bawang saat
anda akan memasak, waktu yang andabutuhkan akan lebih sedikit dibandingkan bila
anda mengerjakan hal tersebut secara berurutan(serial). Atau waktu yg 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
andamemotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman,
berdua andabisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan
kecepatan sebanyak 2 kali.
Parallel
processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi
beberapaprogram sekaligus. Parallel processing disebut juga parallel computing.
Pada system komputasiparallel terdiri dari beberapa unit prosesor dan beberapa
unit memori. Ada dua teknik yang berbedauntuk mengakses data di unit memori,
yaitu shared memory address dan message passing.Berdasarkan cara
mengorganisasikan memori ini computer parallel dibedakan menjadi sharedmemory
parallel machine dan distributed memory parallel machine.
Arsitektur
Parallel Computing
SISD (Single
Instruction stream-Single Data stream)
Yang
merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya
yangmenggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya
digunakan 1processor saja. Oleh karena itu model ini bisa dikatakan sebagai
model untuk komputasi tunggal.Sedangkan ketiga model lainnya merupakan komputasi
paralel yang menggunakan beberapaprocessor. Beberapa contoh komputer yang
menggunakan model SISD adalah UNIVAC1, IBM360, CDC 7600, Cray 1 dan PDP 1.
SIMD (Single
Instruction stream-Multiple Data stream)
Yang
merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan
banyakprocessor 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, dankita menggunakan 5 processor. Pada setiap
processor kita menggunakan algoritma atau perintahyang 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 menggunakanmodel SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray
Y-MP, Thingking Machine CM-2dan Cell Processor (GPU).
MISD (Multiple
Instruction stream-Single Data stream)
Yang
merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan
banyakprocessor dengan setiap processor menggunakan instruksi yang berbeda
namun mengolah datayang sama. Hal ini merupakan kebalikan dari model SIMD.
Untuk contoh, kita bisa menggunakankasus 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 dariurutan 1-100, namun algoritma
yang digunakan untuk teknik pencariannya berbeda di setiapprocessor. Sampai
saat ini belum ada komputer yang menggunakan model MISD.
MIMD (Multiple
Instruction stream-Multiple Data stream)
Yang
merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan
banyakprocessor dengan setiap processor memiliki instruksi yang berbeda dan
mengolah data yangberbeda. Namun banyak komputer yang menggunakan model MIMD
juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan
model MIMD adalah IBMPOWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron,
Cray XT3 dan IBM BG/L.
Keuntungan
Parallel Computing
Keuntungan
utama parallel computing adalah program dapat melakukan eksekusi secara lebih
cepat. Jika hardware komputer yang mengeksekusi sebuah program yang menggunakan
parallel computing memiliki arsitekturnya, seperti pada processor (CPU /
Central Processing Unit), parallel computing dapat menjadi sebuah teknik yang
efisien. Sebagai sebuah analogi, jika satu orang membawa satu boks dan orang
tersebut adalah processor, program yang mengeksekusi secara berurutan hanya
dapat membawa satu boks dalam satu waktu. Ketika mengeksekusi dalam paralel,
program yang sama dapat terbagi ke dalam dua task berbeda, dan jika terdapat
dua processor yang tersedia, maka dapat membawa dua boks dalam waktu yang sama.
Dengan melakukan hal ini, orang tersebut dapat membawa boks dan menyelesaikan
tugasnya secara lebih cepat.
Komentar
Posting Komentar