KOMPUTASI PARALEL
A.
PENGERTIAN
Salah satu teknik melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer independen secara bersamaan. Dimana suatu
bentuk komputasi melakukan
instruksi-instruksi yang dijalankan secara berkesinambungan.
Masalah yang besar dapat dibagi menjadi beberapa masalah yang
lebih kecil(submasalah), untuk kemudian diselesaikan secara serempak. Komputasi
paralel telah digunakan untuk melakukan komputasi yang mensyaratkan unjuk kerja
yang tinggi(high-performance computing).
Di dalam komputasi parallel ada yang dinamakan dengan pemrograman
parallel. Pemrograman paralel adalah teknik pemrograman komputer yang
memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel),
baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor
ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan
tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu
jaringan komputer lebih sering istilah yang digunakan adalah sistem
terdistribusi (distributed computing).
B.
SEJARAH
Di Indonesia, usaha untuk
membangun infrastruktur mesin paralel sudah dimulai sejak era 90-an, meski
belum pada tahap serius dan permanen. Namun untuk pemrograman paralel sudah
sejak awal menjadi satu mata-kuliah wajib di banyak perguruan tinggi terkait.
Baru pada tahun 2005 dimulai pembuatan infrastruktur mesin
paralel permanen, misalnya yang dikembangkan oleh Grup
Fisika Teoritik dan Komputasi di P2 Fisika LIPI.
Didorong oleh perkembangan pemrograman paralel yang
lambat, terutama terkait dengansumber daya manusia (SDM)
yang menguasainya, mesin paralel LIPI ini
kemudian dibuka untuk publik secara cuma-cuma dalam bentuk LIPI Public Cluster (LPC)[3]. Saat ini LPC telah dikembangkan lebih jauh
menjadi gerbang komputasi GRID di Indonesia dengan kerjasama global
menjadi IndoGRID.
Pada tahun berikutnya, dengan dukungan dana dari proyek Inherent Dikti, Fasilkom UI juga
membangun mesin paralel[4]. Sementara itu pada tahun 2009, ITB membuat
kluster hibrid CPU dan GPU yang pertama di Indonesia dengan kemampuan hingga 60
inti CPU dan 1920 inti GPU.
# SEJARAH SINGKAT
Pada tahun 1958, Peneliti IBM, John Cocke dan Daniel Slotnick
membahas tentang pemanfaatan paralelisme di dalam komputasi numerik untuk
pertama kalinya. Burroughs Corporation memperkenalkan D825 pada tahun 1962,
sebuah komputer dengan empat buah prosesor yang mengakses 16 modul memori
dengan bantuan saklar bar-silang(crossbar switch).
C.
TUJUAN UTAMA
Pemrograman paralel untuk meningkatkan performa komputasi. Semakin
banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama),
semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel
membutuhkan :
· algoritma
· bahasa pemrograman
· compiler
· algoritma
· bahasa pemrograman
· compiler
D.
CONTOH KASUS
Analogi yang paling gampang adalah, bila kita dapat merebus air
sambil memotong-motong bawang saat
akan memasak, waktu yang kita butuhkan akan lebih sedikit dibandingkan
bila kita mengerjakan hal tersebut secara berurutan (serial) atau waktu yang kita butuhkan memotong
bawang akan lebih sedikit jika kita kerjakan berdua.
Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan
kecepatan (speed up) yang diperoleh dalam menggunakan tehnik
paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu
1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam
maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.
Ada 4 model komputasi yang digunakan, yaitu:
1.
SISD (prosesor tunggal, yang bukan paralel)
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
KESIMPULAN
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.
PARALEL PROCESSING
A.
PENGERTIAN
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.
B. TUJUAN
B. TUJUAN
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.
SUMBER :
Kelompok:
- Nuroniyah Matsani
- Frizki Sofyanti Putri