Prosesor paralel adalah salah satu
jenis komputasi banyak komputasi atau eksekusi dari proses yag dijalankan
secara simultan. Sebuah instruksi yang besar dapat dipecah menjadi beberapa
instruksi kecil dan dijalankan secara bersamaan. Ada beberapa bentuk parallel
computing diantaranya bit-level paralellism, instruction level paralellism, dan
data paralellism.
Kinerja dari sistem
komputer paralel dapat dilihat pada faktor Speedup dan scaleup dari suatu
program. Speedup diindikasikan dengan seberapa banyak waktu yang diperlukan
untuk menyelesaikan beberapa masalah yang sama oleh N prosesor. Sedangkan
scaleup didindikasikan oleh seberapa banyak permasalahan besar dapat
diselesaikan oleh N prosesor.
Operasi seperti
ini hanya dapat dilakukan oleh komputer yang memiliki dua atau lebih unit
prosesor (CPU) yang terhubung melalui beberapa jaringan koneksitas. Kita dapat
menganalogikan paralel komputer sebagai suatu Bank dimana teler merupakan
prosesor paralel dan transaksi dengan konsumen sebagai task yang akan diproses.
Rancangan
prosesor paralel merupakan pengembangan terakhir dari ilmu pengetahuan komputer
yang didasari oleh kebutuhan menyelesaikan beberapa instruksi secara paralel
dalam waktu yang bersamaan dengan mengurangi masalah ketergantungan data,
prosedural, unit fungsional, output dan anti ketergantungan yang menyebabkan
suatu instruksi terhenti atau harus menunggu instruksi lainnya selesai untuk
dapat diproses. Operasi seperti ini hanya dapat dilakukan oleh komputer yang
memiliki dua atau lebih unit prosesor (CPU) yang terhubung melalui beberapa
jaringan koneksitas. Dalam beberapa kasus, kita dapat menganalogikan paralel
komputer sebagai suatu Bank dimana teler merupakan prosesor paralel dan
transaksi dengan konsumen sebagai task yang akan diproses. Berdasarkan struktur
prosesor-nya, Flynn (Flynn 72) mengklasifikasikan komputer menjadi empat kelas
yaitu : SISD (single instruction and single data), MISD (multiple instruction
and single data), SIMD (single instruction and multiple data), dan MIMD
(multiple instruction and multiple data). Dalam konteks paralel prosesor, SIMD
dan MIMD merupakan kelas yang paling sesuai dan menarik untuk dibahas. Pada
akhirnya MIMD adalah bentuk yang paling umum digunakan dalam komputer paralel
namun demikian terdapat keuntungan dan keunggulan pada bentuk lainnya yang
tidak ada pada MIMD.
Paradigma SISD (single
instruction and single data)
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.
Paradigma SIMD (single
instruction and multiple data)
SIMD merupakan
salah satu bentuk dari paralel sinkron yang memproses satu instruksi dengan
banyak prosesor elemen pada waktu yang sama. Di dalam paradigma SIMD yang
paling penting bukanlah kontrol prosesor melainkan data. Data diproses oleh
masing-masing elemen pemroses yang berbeda dari satu prosesor ke prosesor
lainnya. Sehingga satu program dan satu kontrol unit bekerja secara bersamaan
pada kumpulan data yang berbeda. Untuk memproses data secara efisien, SIMD
membuat pengaturan proses menjadi dua phase, yaitu : pertama memilah dan
mendistribusikan data (data partitioning and distribution) dan yang kedua
memproses data secara paralel (data paralel prosesing). Jadi efisiensi akan
tergantung kepada banyaknya permasalahan yang harus diselesaikan secara
paralel. Cara terbaik dalam menggunakan SIMD adalah dengan mencocokan banyaknya
permasalahan dengan banyaknya prosesor paralel. Banyaknya permasalahan berarti
seberapa banyak jumlah data yang akan di perbaharui dan banyaknya prosesor
paralel berarti jumlah prosesor yang tersedia. Jadi jika permasalahanya
sebanding dengan prosesor paralel maka kecepatan tertinggi dapat terjadi,
sebaliknya apabila permasalahan hanya satu dengan prosesor paralel yang banyak
menyebabkan sistem SIMD menjadi tidak efektif. SIMD sering diidentikan sebagai
permasalahan paralel yang sederhana, padahal tidaklah benar karena paradigma
SIMD sangat berguna dalam menyelesaikan permasalahan yang memiliki beberapa
data yang perlu diperbaharui secara serempak. Khususnya sangat berguna untuk
perhitungan numerik biasa seperti perhitungan matrix dan vektor.
Paradigma MISD (multiple
instruction and single data)
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.
Paradigma MIMD (multiple
instruction and multiple data)
MIMD berarti
banyak prosesor yang dapat mengeksekusi instruksi dan data yang berbeda-beda
secara bersamaan. Lebih lanjut sebagai bagian dari komputer, prosesor memiliki
otonom yang besar dalam melakukan operasinya. Secara umum MIMD digunakan ketika
banyak permasalahan heterogen yang harus diselesaikan pada waktu yang sama.
MIMD sangat baik digunkan untuk meneyelesaikan permasalahan yang besar, sebab
melebihi data dan kontrol yang harus dilewatkan dari task ke task. Sebagai
contoh dalam analogi sebuah Bank, MIMD akan menampilkan kerja terbaiknya ketika
masing-masing teller memiliki
beberapa transaksi yang harus
diselesaikan satu persatu tanpa ada pembuangan waktu dan penghentian dari
beberapa bagian transaksi. Tetapi pada sistem MIMD akan dibingungkan oleh
aliran data (dataflow) paralel, karena aliran data tersebut harus dikerjakan
oleh mesin MIMD secara terus menerus.
Pertama bahwa
tiap-tiap prosesor bekerja secara independen kecuali untuk sistem sinkoron
tertentu harus menunggu. Prosesor menjalankan task yang pendek sebagai contoh
selesainya mengevaluasi vektor satu elemen sebelum prosesor memproses task
lebih jauh. Tentu saja prosesor dalam waktu yang singkat dapat melakukan
beberapa pekerjaan yang berbeda, seperti waiting, comparing dan sending data.
Kedua, bahwa pada
program paralel untuk menyelesaikan suatu task baik jumlahnya diketahui ataupun
tidak, menggunakan prosesor yang jumlahnya tidak diketahui pula. Hal tersebut
menggambarkan dua ciri mendasar dari sistem MIMD, yaitu :
1. Kelamahan pada
sentralisasi dan mekanisme sistem sinkron secara umum, dan
2. Penggeneralisasian task yang heterogen yang dioperasikan secara
bersamaan, contohnya dalam memproses operasi yang berbeda dengan data berbeda
dan dalam jangka waktu yang berbeda pula.
Secara umum MIMD meliputi paradigma
reduksi/dataflow. Pada kenyataannya juga secara umum meliputi SIMD, sebab kita
dapat menemui sifat SIMD pada sebagian sifat MIMD. Sehingga menghasilkan
Kinerja akhir dari simulasi satu bentuk mesin dengan bentuk lainnya. Untuk
menggabungkannya, mesin MIMD mengubah SIMD prosesor dimana masing-masing
prosesornya mampu mengerjakan banyak task dari aplikasi yang berbeda pada waktu
yang sama.
Model Pemrosesan Paralel :
·
Komputer SISD (Single Instruction Stream- Single
Data Stream)
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. Pada
komputer jenis ini, semua instruksi dikerjakan terurut satu demi satu, tetapi
juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining). 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.
·
Komputer SIMD (Single Instruction
Stream-Multiple Data Stream)
SIMD adalah
singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah
dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk
menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti
yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali
dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan
pada komputer pribadi.
Contoh aplikasi
yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai
yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi
dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness
dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah
nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green),
dan biru (blue). Untuk melakukan perubahan brightness, nilai R, G, dan B akan
dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan)
terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan
(ditulis kembali) ke memori.
Prosesor yang
memiliki SIMD menawarkan dua keunggulan, yakni:
ü Data langsung dapat dipahami dalam bentuk
blok data, dibandingkan dengan beberapa data yang terpisah secara
sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data
secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa instruksi
"ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD
akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel
itu!" (istilah "semua" adalah nilai yang berbeda dari satu
desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu
pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan
data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki
SIMD (yang memberikan satu instruksi untuk satu data saja).
ü Sistem SIMD umumnya hanya mencakup
instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu
operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa
titik data secara sekaligus, dan melakukan operasi terhadap titik data secara
sekaligus.
SUMBER : http://hokaao.blogspot.co.id/2011/12/prosesor-paralel.html
http://deltawenbiz.blogspot.co.id/2016/12/prosesor-paralel.html