Parallel Processing merupakan salah satu teknik yang
digunakan dalam komputasi, yaitu teknik yang menggunakan dua atau lebih
processor dalam melakukan komputasi dan dilakukan secara bersamaan. Komputasi adalah
suatu aktifitas penghitungan atau pemecahan masalah, lalu bagaimana dengan
processor. Processor merupakan sumber semua perintah, jika diibaratkan dalam
makhluk hidup, prosessor merupakan otaknya. Idealnya satu komputer hanya
memiliki satu prosesor saja, namun dengan berkembangnya teknologi, muncullah
multi prosesor dimana dalam satu komputer terdapat dua prosessor yang digabung
menjadi satu, contohnya dual core, core 2 duo, quad core, dan lain-lain.
Untuk melakukan berbagai jenis komputasi paralel diperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang
dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang
biasa disebut middleware yang berperan mengatur distribusi antar titik dalam
satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi. Salah satu middleware yang asli dikembangkan
di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan
diimplementasikan di LIPI Public Center.
Pemrograman Paralel sendiri adalah teknik
pemrograman komputer yang memungkinkan eksekusi perintah/operasi
secara bersamaan. Bila komputer yang digunakan secara bersamaan
tersebut dilakukan oleh komputer-komputer terpisah yang terhubung
dalam satu jaringan komputer, biasanya disebut sistem terdistribusi.
Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI
(Message Passing Interface) dan PVM (Parallel Virtual Machine).
Komputasi paralel adalah salah satu teknik
melakukan komputasi secara bersamaan dengan memanfaatkan
beberapa komputer independen secara bersamaan. Ini umumnya diperlukan
saat 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 di bidang fisika (fisika komputasi), kimia (kimia
komputasi) dll.
Untuk melakukan berbagai jenis komputasi paralel diperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang
dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang
biasa disebut middleware yang berperan mengatur distribusi antar titik dalam
satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi. Salah satu middleware yang asli dikembangkan
di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan
diimplementasikan di LIPI Public Center.
Pemrograman Paralel sendiri adalah teknik
pemrograman komputer yang memungkinkan eksekusi perintah/operasi
secara bersamaan. Bila komputer yang digunakan secara bersamaan
tersebut dilakukan oleh komputer-komputer terpisah yang terhubung
dalam satu jaringan komputer, biasanya disebut sistem terdistribusi.
Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI
(Message Passing Interface) dan PVM (Parallel Virtual Machine).
Yang perlu diingat adalah komputasi paralel berbeda dengan
multitasking. Pengertian multitasking adalah komputer dengan processor tunggal
mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang
bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa
melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang
berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas
secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya,
bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain
itu komputasi paralel tidak menggunakan arsitektur Von Neumann
A. Tujuan
Pemrosesan Parallel
Tujuan utama dari pemrosesan 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 mudah untuk diingat adalah, bila kamu dapat merebus air
dalam sebelum memotong motong bawang saat kamu akan masak, waktu yang kamu
butuhkan akan lebih sedikit dibandingkan bila kamu mengerjakan hal tersebut
secara berurutan (serial). Atau waktu yang kamu butuhkan pada saat memotong
bawang akan lebih sedikit jika kamu kerjakan berdua.
B. Perbedaan Komputasi
Tunggal & Paralel
Perbedaan komputasi tunggal (menggunakan 1 processor) dengan
komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui
terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi
yang digunakan, yaitu:
dengan komputasi paralel (menggunakan beberapa processor),
maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari
komputasi. Ada 4 model komputasi yang digunakan, yaitu:
1.
Komputer SISD (Single Instruction stream-Single Data stream)
2.
Komputer SIMD (Single Instruction stream-Multiple Data stream)
3.
Komputer MISD (Multiple Instruction stream-Single Data stream)
4.
Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
C. 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.
D. 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).
E. 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.
F. 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.
Pada gambar komputasi paralel, instruksi akan dibagi menjadi
beberapa instruksi sesuai dengan banyaknya processor. Hal ini tentunya akan
mempercepat kerja komputer dan mempercepat waktu untuk mendapatkan hasil.
G. Hubungan Antara
Komputasi Modern Dan Parallel Processing
Pemrosesan paralel juga disebut komputasi paralel. Dalam
upaya lebih murah pengolahan komputasi paralel menyediakan alternatif pilihan
yang layak. Waktu idle siklus prosesor di seluruh jaringan dapat digunakan
secara efektif oleh perangkat lunak komputasi terdistribusi yang canggih.
Pengolahan paralel istilah digunakan untuk mewakili kelas besar teknik yang
digunakan untuk memberikan tugas pengolahan simultan data untuk tujuan
meningkatkan kecepatan komputasi dari sistem komputer.
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 yang ada. Sehingga dapat diselesaikan dengan
cepat daripada menggunakan satu komputer saja. Komputasi dengan paralel
processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas 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.
Sumber:
http://blog.rian.web.id/komputasi_dengan_parallel_processing.html
http://qodel.blogspot.com/2011/04/parallel-processing.html
http://rivanipai.blogspot.com/2012/04/processing-parallel-dan-komputasi.html
http://rivanipai.blogspot.com/2012/04/processing-parallel-dan-komputasi.html