Komputasi Paralel adalah
salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan
beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang
diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun
karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis
komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari
banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara
paralel untuk menyelesaikan satu masalah. 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.
Parallelism Concept
Konsep keparalelan itu
sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa
pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel.
Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk
menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu
masalah yang memerlukan kecepatan komputasi yang sangat tinggi.
Adapun proses kerja ,
pemrosesan paralel membagi beban kerja dan mendistribusikannya pada
komputer-komputer lain yang terdapat dalam sistem untuk menyelesaikan suatu
masalah. Sistem yang akan dibangun akan tidak akan menggunakan komputer yang
didesikasikan secara khusus untuk keperluan pemrosesan paralel melainkan
menggunakan komputer yang telah ada. Artinya, sistem ini nantinya akan terdiri
dari sejumlah komputer dengan spesifikasi berbeda yang akan bekerjasama untuk
menyelesaikan suatu masalah.
Adapun tipe-tipe
Paralelisme adalah sebagai berikut :
Result Paralelisme
Result Paralelisme yang
sering disebut sebagai Embarrassingly Parallel atau Perfect Paralel adalah tipe
paralelisme dimana komputasinya dapat dibagi menjadi beberapa tugas independen
yang mempunyai struktur sama. Data struktur suatu tugas dibagi menjadi beberapa
bagian yang berstruktur sama. Contoh tugas yang bisa diselesaikan dengan Result
Parallelism adalah Simulasi Montecarlo.
Specialist Paralelisme
Cara kerja Specialist
Parallelisme adalah dengan mengerjakan beberapa tugas secara bersamaan pada
prosesor yang berbeda . Setiap komputer mengerjakan tugas tertentu. Contohnya
penggunaanya adalah pada simulasi pabrik kimia, satu prosesor mensimulasikan
proses sebelum reaksi kimia, satu prosesor mensimulasikan reaksi pada tahap
awal, dan prosesor lainnya mensimulasikan proses penyulingan hasil, dan
seterusnya.
Agenda Paralelisme
Tipe paralelisme ini
mempunyai daftar yang harus dikerjakan oleh sistem komputer . Semua komputer
yang terdapat pada sistem dapat mengakses daftar tersebut. Pada Model MW
(Manager Worker) terdapat pengelompokan komputer menjadi dua yaitu :
a) Manager : bertugas
memulai perhitungan, memonitor kemajuan tugas, melayani permintaan worker. User
berkomunikasi dengan sistem komputer melalui komputer yang berfungsi sebagai
manager ini.
b) Worker : mengerjakan
tugas-tugas yang diberikan oleh manager. Kerja komputer ini dimulai setelah ada
perintah dari manager dan diakhiri oleh manager.
Pesan Terdistribusi dan
Lingkungan Pemrograman (Distributed Messaging and Programming Enviroment)
hubungannya dengan pemrosesan paralel ialah pesan sebagai sesuatu ( objek )
pada pemrosesan itu sendiri sehingga kita harus mendeskripsikan pesan ( message
) itu .
Distributed Processing
Pemrosesan terdistribusi
merupakan proses pendistribusian pengolahan paralel dalam pemrosesan paralel
menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu
komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu
masalah dengan proses yang cepat.
Contoh dari proses
terdistribusi adalah ketika terdapat macam masalah diberikan pada satu master,
maka dengan menggunakan komputer paralel masalah terseut akan terpecah menjadi
beberapa bagian secara terdistribusi.
Parallel distributed
computing dapat dibentuk dari :
PVM (Parallel Virtual
Machine)
Untuk mendukung
workstation clusters yang merupakan sebuah perangkat lunak yang mampu
mensimulasikan pemrosesan paralel pada jaringan.
MPI (Message-Passing
Interface) programming GUI
Untuk parallel computers
yang merupakan sebuah mekanisme mengiriman instruksi dan data antara dua proses
komputasi yang berbeda yang berada pada komputer berbeda pada sistem sistem
paralel. Paket-paket yang mempunyai spesifikasi kebutuhan MPI telah banyak
beredar di Internet dan telah dilengkapi dengan LAM/MPI [5] dan MPICH [6].
Paket-paket ini telah dilengkapi dengan fungsi-fungsi yang menggunakan library
C dan Fortran. Kemampuan MPI digunakan untuk menginterpretasikan bahasa
pemrograman matrik kemampuan dynamic linking dari bahasa tersebut. Fungsi
library dari paket MPI dapat digabungkan dengan dynamic extension dengan cara
menghubungkan bahasa pemrograman tersebut dengan bahasa C, C++, atau FORTRAN.
Hal ini telah dilakukan untuk menciptakan toolbox MPI (MPITB) untuk kebutuhan
MATLAB, dan bahasa pemrograman GNU Octave oleh Fernandez Baldomero .
Architectural Parallel
Menurut seorang Designer
Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 bagian, yaitu
:
SISD (Single Instruction, Single Data)
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.
SIMD (Single Instruction,
Multiple Data)
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).
MISD (Multiple
Instruction, Single Data)
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.
MIMD (Multiple
Instruction, Multiple Data)
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.
Sumber :
http://nazaruddin.blog.unigha.ac.id/2013/08/24/pengertian-komputasi-paralel/
http://no21reason.blogspot.co.id/2013/05/parallel-computation.html