Parallel Processing
Pengertian
Parallel Processing (pemrosesan
parallel) adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah
program secara simultan. 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 berbeda-beda
tanpa berkaitan diantaranya.
Paradigma Pengolahan Paralel
1. Michael
J. Flynn
Sebagian besar, yang sering
dipakai adalah taksonomi dari Michael J. Flynn atau yang lebih seing dikenal
Flynn. Taksonomi ini dikenalankan di tahun 1966 oleh Flynn. Klasifikasi ini
dibuat berdasarkan jumlah instruksi yang berjalan simultan dan konkuren, dan
juga aliran data yang diprosesnya Dalam taksonomi Flynn, computer dibagi
menjadi 4 kelas, yaitu :
a. Single
Instruction Single Data Stream (SISD)
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. Pada computer jenis ini semua instruksi
dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping
(tumpang tindih fungsi yang digunakan) dalam eksekusi setiap bagian instruksi
(pipelining). Pada umumnya computer SISD berupa computer yang terdiri atas satu
buah pemroses (single processor). Namun computer 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. Contoh mesin SISD adalah PC tradisional atau mainframe yang tua.
b. Multiple
Instruction Single Data Stream (MISD)
Komputer jenis
ini memiliki n unit pemroses yang masing-masing menerima dan mengoperasikan
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 computer
jenis ini kecuali dalam bentuk prototype untuk penelitian dan tidak pernah
dirilis secara massal.
c. Single
Instruction Multiple Data Stream (SIMD)
Pada computer 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. Contoh dari SIMD adalah prosesor larik (array processor), atau GPU
d. Multiple
Instruction Multiple Data Stream (MIMD)
Pada sistem computer
MIMD murni terdapat interaksi di antara n pemroses. Hal ini disebabkan seluruh
aliran data dari dank e memori berasal dari space data yang sama bagi semua
pemroses. Komputer MIMD bersifat tightly coupled (global memory) jika tingkat
interaksi antara pemroses tinggi dan disebut loosely couple jika tingkat
interaksi antara pemroses rendah. Komputer ini memiliki beberapa prosesor yang
bersifat otonomus yang mampu melakukan instruksi yang berbeda pada data yang
berbeda. Sistem terdistribusi umumnya dikenal sebagi MIMD, entah itu
menggunakan satu ruangan memori secara bersama-sama atau sebuah ruangan memori
yang terdistribusi.
2. T.G.
Lewis
Membedakan computer parallel ke
dalam dua kelas, berdasarkan ada atau tidak adanya common global clock, sebagi
synchronous dan asynchronous.
a.
Synchronous:
·
Pada computer parallel yang termasuk dalam
kategori ini terdapat koordinasi yang mentaur beberapa operasi untuk dapat
berjalan bersamaan sedemikian hingga tidak ada ketergantungan antar operasi.
·
Parallelism yang termasuk dalam kategori ini
adalah vector/array parallelism, SIMD dan systolic parallelism.
·
Systolic parallel computer adalah multiprocessor
dimana data didistribusikan dan dipompa dair memory ke suatu array prosesor
sebelum kembali ke memory.
b.
Asynchronous:
·
Pada computer parallel yang termasuk dalam
kategori asynchronous, masing-masing prosesor dapat diberi tugas atau
menjalankan operasi berbeda dan masing-masing prosesor melaksanakan operasi
tersebut secara sendiri-sendiri tanpa perlu koordinasi.
·
Paradigma yang juga termasuk dalam kategori ini
adalah MIMD dan reduksi.
·
Paradigma reduksi adalah paradigm yang berpijak
pada konsep graph reduksi. Program dengan model reduksi diekspresikan sebagai
graph alur data. Komputasi berlangsung dengan cara mereduksi graph dan program
berhenti jika graph akhirnya hanya mempunyai satu simpul.
3. Michael
J. Quinn
Quinn membedakan paralelisma ke
dalam dua jenis : Data Parallelism dan Control Paralleslism.
a.
Data Parallelism :
Penerapan operasi yang sama secara simultan terhadap
elemen-elemen dari kumpulan data.
b.
Control Parallelism :
Penerapan operasi-operasi berbeda terhadap elemen-elemen
data yang berbeda secara bersamaan. Pada control parallelism dapat terjadi
aliran data antar proses-proses dan kemungkinan terjadi aliran data yang
kompleks/rumit. Pipeline merupakan satu kasus khusus dari control parallelism
dimana aliran data membentuk jalur yang sederhana.
Tujuan dari Parallel Processing
1.) Bentuk
efisien pemrosesan informasi yang menekankan eksploitas peristiwa bersamaan
dalam proses komputasi.
2.) Mempercepat
kemampuan computer pada saat melakukan proses.
3.) Meningkatkan
performa, contohnya lebih cepat pada melakukan eksekusi
4.) Memaksimalkan
keluaran.
Hubungan antara Komputasi
Modern dengan Paralel Processing
Hubungan antara komputasi modern dan parallel processing sangat
berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih
cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu
peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu
caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen
utama dalam perangkat keras komputer adalah processor. Sedangkan parallel
processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur
komputer dengan banyak processor) agar kinerja computer semakin cepat. Kinerja
komputasi dengan menggunakan paralel processing itu menggunakan dan
memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah
dari masalah yangada. Sehingga dapat diselesaikan dengan cepat daripada
menggunakan satu komputer saja.Komputasi dengan paralel processing akan
menggabungkan beberapa CPU, dan membagi-bagitugas untuk masing-masing CPU
tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya.Tetapi ini untuk
masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan
satu CPU saja.
Referensi :
Oleh : (4IA14)
Anders Sula 50412737
Bayu Nugraha
51412392
Mario J.T. 54412441