Parallel Processing
Pemrosesan paralel
(parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan
sebuah program secara simultan. Idealnya, parallel processing membuat program
berjalan lebih cepat karena semakin banyak CPU yang digunakan.
Tujuan Parallel Processing
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.
Komputasi Parallel
Komputasi parallel 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.
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.
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, IBM 360, 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, 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
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.
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.
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 paralel lebih
efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada
komputasi tunggal. Dari
penjelasan-penjelasan di atas, 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.
Komputasi
paralel membutuhkan :
- algoritma
- bahasa pemrograman
- compiler
Pemrograman paralel
adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi
secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun
banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari
pemrograman paralel adalah untuk meningkatkan performa komputasi.
* Message Passing
Interface (MPI)
MPI adalah sebuah
standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah
aplikasi yang dapat dijalankan secara paralel. MPI menyediakan
fungsi-fungsi untuk menukarkan
antar pesan. Kegunaan MPI
yang lain adalah
1. menulis kode paralel
secara portable
2. mendapatkan performa
yang tinggi dalam pemrograman paralel, dan
3. menghadapi
permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model
data paralel.
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-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.
Referensi :
Tidak ada komentar:
Posting Komentar