Pengertian
Pemrosesan paralel (parallel processing) adalah penggunaan lebih dari satu
CPU untuk menjalankan sebuah program secara simultan.
Idealnya, parallel processing membuat programberjalan lebih cepat karena
semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit
membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa
berkaitan di antaranya.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara
bersamaan dengan memanfaatkan beberapa
komputer secara bersamaan. Biasanyadiperlukan saat kapasitas yangdiperlukan
sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun
karenatuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis
komputasi paralel inidiperlukan infrastruktur mesin paralel yang terdiri dari
banyak komputer yang dihubungkandengan jaringan dan mampu bekerja secara
paralel untuk menyelesaikan satu masalah. Untuk itudiperlukan aneka perangkat lunak
pendukung yang biasa disebut sebagaimiddleware yangberperan
untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel.
Selanjutnyapemakai harus membuat pemrograman paralel untuk merealisasikan
komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan
eksekusi perintah/operasi secara bersamaan baik dalam
komputer dengan satu (prosesor tunggal) ataupunbanyak (prosesor ganda dengan
mesin paralel) CPU. Tujuan utama dari pemrograman paraleladalah untuk
meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan
secarabersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa
diselesaikan.
Komputasi paralel membutuhkan:
·
algoritma
·
bahasa pemrograman
·
compiler
Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang
mempunyai lebih darisatu. Bahkan juga ada komputer dengan ribuan CPU.
Komputer dengan satu CPU dapat melakukan parallel processing dengan
menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing
ini memerlukan software canggih yang disebut distributed processing software.
Parallel processing berbeda dengan multitasking, yaitu satu CPU
mengeksekusi beberapa program sekaligus. Parallel processing disebut juga
parallel computing.
Contoh struktur dari parallel processing sbb :
Aristektur Komputer Parallel
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)
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 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:
·
SIMD
·
SIMD
·
MISD
·
MIMD
SISD
SISD 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
SIMD 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
MISD 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
MIMD 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.
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.
* 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




Tidak ada komentar:
Posting Komentar