Komputasi
dan Parallel Processing
Komputasi merupakan kata
yang tidak asing kita dengar sehari – hari. Secara garis besar komputasi ialah
suatu istilah yang digunakan untuk segala jenis pemrosesan data/inforrmasi guna
menemukan suatu pemecahan masalah menggunakan algoritma tertentu. Aplikasi dari
komputasi yakni pada PC, tablet, mobile phone, dll.
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).
Untuk lebih memperjelas
lebih dalam mengenai 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:
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, IBM360, CDC 7600, Cray 1 dan PDP 1.
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, 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 menggunakan model
SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan
Cell Processor (GPU).
MISD
Yang merupakan singkatan
dari Multiple Instruction, Single Data. MISD menggunakan banyak processor
dengan setiap processor menggunakan instruksi yang berbeda namun mengolah
datayang 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
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 IBMBG/L.
Singkatnya untuk perbedaan
antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar
di bawah ini :
Penyelesaian Sebuah
Masalah pada Komputasi Tunggal
Penyelesaian Sebuah
Masalah pada Komputasi Paralel
Dari perbedaan kedua
gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi parallel lebih
efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi
tunggal. Dari penjelasan-penjelasan diatas, kita bisa mendapatkan jawaban
mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah
karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika
kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang
ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan
jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
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 yang ada.
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.
Komentar Pribadi
Menurut saya komputasi parallel
lebih efektif dibandingkan dengan komputasi tunggal apabila komputasi parallel digunakan
pada pemrosesan data yang banyak tetapi apabila komputasi parallel hanya
digunakan pada pemrosesan data yang sedikit maka komputasi parallel ini justru
tidak efektif dikarenakan terlalu banyak komponen. Jadi untuk pemrosesan data
yang sedikit lebih efektif komputasi tunggal.
Sumber :