Nama : Arrief Firdhaust Shandy (51412169)
Hamka Wiratama (53412270)
Hamli Saadi (53412271)
Imam Maqbullah (53412633)
Kelas : 4IA23
Dosen : Dr. Rina Noviana, SKom,. MMSI
Mata Kuliah : Pengantar Komputasi Modern
Komputasi Paralel
Komputasi paralel 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.
Komputer dikatakan sebagai
mesin komputasi paralel jika memenuhi beberapa syarat berikut ini:
- Data yang diproses dipecah menjadi bagian-bagian terpisah yang bekerja secara independen dan terus-menerus.
- Proses pengeksekusian instruksi ganda. Sehingga dalam sekali waktu, bisa dihasilkan 2 atau lebih suatu output data.
- Dapat menyelesaikan tugas lebih cepat daripada dengan perangkat serial.
Konsep Paralel
Banyak perkembangan-perkembangan
baru dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel.
Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai
pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat
menyebabkan pelaksanaan kejadian-kejadian :
- Dalam interval waktu yang sama.
- Dalam waktu yang bersamaan.
- Dalam rentang waktu yang saling tumpang tindih.
Sekalipun didukung oleh teknologi
prosesor yang berkembang sangat pesat, komputer sekuensial tetap akan mengalami
keterbatasan dalam hal kecepatan pemrosesannya. Hal ini menyebabkan lahirnya
konsep keparalelan (parallelism) untuk menangani masalah dan aplikasi yang
membutuhkan kecepatan pemrosesan yang sangat tinggi, seperti misalnya prakiraan
cuaca, simulasi pada reaksi kimia, perhitungan aerodinamika dan lain-lain.
Konsep keparalelan
itu sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa
pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel.
Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk
menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu
masalah yang memerlukan kecepatan komputasi yang sangat tinggi.
- Hukum Amdahl :
Peningkatan kecepatan secara paralel
akan menjadi linear, melipatgandakan kemampuan proses sebuah komputer dan
mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan
masalah.
- Hukum Gustafon :
Sebuah komputasi paralel berjalan
dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah
dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan
proses tiap-tiap mesin yang digunakan.
Proses Distribusi
Pemrosesan
paralel adalah
pendekatan komputasi untuk meningkatkan tingkat di mana satu set data diolah
dengan pengolahan bagian yang berbeda dari data pada waktu yang sama secara simultan
atau bersamaan pada sebuah komputer dan berfungsi memecah beban besar menjadi
beberapa beban kecil untuk mempercepat proses penyelesaian masalah.
Didistribusikan pengolahan paralel menggunakan
pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah
bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan
mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang
diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk
ini, banyak data dapat diproses dalam jumlah yang sangat singkat.
Tipe lain dari komputasi paralel yang kadang-kadang
disebut "didistribusikan" adalah gagasan dari sebuah komputer paralel
cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi
koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa
pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang
dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung
terhubung ke server, dan satu-satunya tujuan mereka adalah untuk melakukan
perhitungan yang diberikan kepada mereka.
Arsitektur Komputer Paralel
Michael J. Flynn
memperkenalkan suatu skema untuk mengklasifikasikan arsitektur suatu komputer
dengan melihat bagaimana mesinnya menghubungkan instruksi-instruksinya ke data
yang sedang diproses. Berikut
klasifikasinya:
▪
Single
Instruction Single Data (SISD)
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.
▪ Single Instruction Multiple Data
(SIMD)
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 3 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).
▪ Multiple Instruction Single Data
(MISD)
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.
▪ Multiple Instruction Multiple Data
(MIMD)
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.
Implementasi Komputer Paralel
PVM
Perangkat lunak yang memungkinkan
sekumpulan komputer yang heterogen terlihat seperti satu sistem komputer
paralel dan dapat digunakan sebagai sebuah sumber daya komputasi yang koheren. Istilah
virtual machine mengacu pada konfigurasi komputer dengan memori tersebar,
sedangkan istilah host ditujukan untuk komputer yang merupakan anggota dari
virtual machine. Host dapat terdiri dari komputer yang berbeda-beda dan
terpisah lokasinya secara fisik.
PVM daemon
Daemon dari PVM, atau disebut PVM
daemon (pvmd). Daemon merupakan semacam program yang berjalan di “belakang” dan
biasanya menangani program dari klien. Komponen ini berada pada setiap komputer
yang terhubung dalam virtual machine.PVM Berguna untuk membentuk konfigurasi
host dalam PVM dan mengkoordinir komunikasi antar host.
PVM libraries
Komponen ini berisi rutin-rutin
antarmuka pemakai PVM untuk melakukan pengiriman pesan, pembuatan proses,
koordinasi proses dan modifikasi virtual machine.Pustaka PVM ini memungkinkan
adanya interaksi antar task, yang bisa
dilakukan dengan menggunakan fungsi packing dan unpacking pesan.
Secara umum,
langkah implementasi komputasi parallel sebagai berikut :
1. Jalankan PVM daemon pada setiap
mesin dalam cluster
2. Jalankan program master pada master
daemon
3. Master daemon akan menjalankan
proses slave.
Referensi :