PENGERTIAN
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.
Intinya Adalah :
“Komputasi
paralel merupakan
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) dl”
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.
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.
*
Message Passing Interface (MPI).
MPI
adalah sebuah standard pemrograman yang memungkinkan pemrogram.untuk membuat sebuah aplikasi yang dapat dijalankan
secara parallel 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.
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.
begitu cocok dengan model data paralel.
KONFIGURASI
Terdapat beberapa konfigurasi yang
harus dilakukan dalam penggunaan parallel processing yaitu
·
Perangkat
keras komputer diharuskan melakukan penyetinggan dengan sistem shared memory.
·
Melakukan
penyetinggan processor yang memiliki memory masing-masing.
·
Melakukan
beberapa / banyak processor yang terhubung ke dalam suatu jaringan untuk
melakukan pekerjaan yang sama dengan cara simultan yaitu bersama-sama.
Aspek keamanan merupakan suatu aspek penting dalam sistem
parallel prosessing komputasi ini, karena didalam sistem akan banyak berkaitan
dengan akses data, hak pengguna, keamanan data, keamanan jaringan terhadap
peyerangan sesorang atau bahkan virus sehingga akan menghambat kinerja dari
system komputasi ini. Didalam makalah ini akan memamparkan bagaimana sistem
komputasi parallel ini pada suatu PC Cluster sehingga menjadi suatu
sistem komputasi yang aman sehingga dapat meningkatkan performa dari komputasi.
Implementasi untuk parallel komputasi ini telah dilakukan di
lab dengan PC Clutster dengan menggunakan 1 buah master node dan 7 buah
slave node, dimana system yang digunakan adalah diskless dengan
menggunakan switch hub 1Gbps sebagai konsentrator dan dengan
menerapkan aspek keamanan.
Setelah ditemukannya teknik parallel
processing, komputasi pun berkembang ke sebuah proses komputasi baru yaitu
proses komputasi parallel.
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:
1. 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.
2. 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).
3. 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.
4. 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.
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.
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.
Sumber :
http://rezaaditya.staff.gunadarma.ac.id/Downloads/files/43604/Parallel+Processing+(9).pdf