Parallel Computation (Komputasi Paralel)
Pengertian
Komputasi Paralel
Komputasi paralel merupakan suatu
teknik yang berfungsi melakukan komputasi secara bersamaan dengan memanfaatkan
sejumlah komputer 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.
Tujuan Komputasi Paralel
Didalam Pengunaan Komputasi Parlel
ini mempunyai Tujuan utama yait untuk
mempersingkat waktu eksekusi program yang menggunakan komputasi serial. Inilah
Beberapa alasan lain yang menjadikan suatu program menggunakan komputasi
paralel antara lain :
1. Untuk memecahkan suatu permasalahan
yang besar, terkadang ada beberapa sumber daya komputasi yang sekarang belum cukup mampu untuk mendukung
penyelesaian terhadap permasalahan tersebut.
2. Adanya sumber daya non-lokal yang
dapat digunakan melalui jaringan atau internet
3. Penghematan biaya pengadaan
perangkat keras, dengan menggunakan beberapa mesin yang murah sebagai
alternatif penggunaan satu mesin yang bagus tapi mahal, walaupun menggunakan n
buah prosesor
4. Adanya keterbatasan kapasitas memori
pada mesin untuk komputasi serial, inilah salah satu penghambat untuk pengguna.
Hambatan Komputasi Paralel
Didalam Penggunaan komputasi parallel
yang digunakan sebagai solusi untuk mempersingkat waktu yang dibutuhkan untuk
eksekusi program mempunyai beberapa hambatan. Hambatan-hambatan tersebut antara
lain adalah :
1.
Hukum Amdahl : sebuah peningkatan percepatan
waktu yang akan mengeksekusi sebuah program dengan menggunakan komputasi
paralel akan menjadi linear dan tidak akan pernah mencapai kesempurnaan karena
selalu ada bagian program yang harus dieksekusi secara serial. Karena melipatgandakan
kemampuan proses sebuah komputer dan mengurangi separuh dari waktu proses yang
diperlukan untuk menyelesaikan sebuah masalah
2.
Hambatan yang diakibatkan karena
beban jaringan : didalam eksekusi program secara parallel ini, prosesor yang berada
di mesin yang berbeda memerlukan pengiriman dan penerimaan data (atau
instruksi) melalui jaringan. Untuk sebuah program yang dibagi menjadi task-task yang
sering membutuhkan sinkronisasi, network latency menjadi masalah utama.
Permasalahan ini muncul karena ketika suatu task membutuhkan data dari task
yang lain, state ini dikirimkan melalui jaringan di mana kecepatan transfer
data kurang dari kecepatan prosesor yang mengeksekusi instruksi
task Hal ini adalah salah satu yang menyebabkan task tersebut harus
menunggu sampai data sampai terlebih dahulu, sebelum mengeksekusi instruksi
selanjutnya. Jumlah waktu yang dibutuhkan untuk berkomunikasi melalui jaringan
antar dua titik adalah jumlah dari startup time, per-hop time, dan per-word
transfer time.
3.
Sebuah Hambatan yang terkait dengan
beban waktu untuk inisiasi task, terminasi task, dan sinkronisasi.
Arsitektur
Komputasi Paralel
Taksonomi Flynn membagi arsitektur
komputer paralel dengan menggunakan sudut pandang instruksi dan data, sehingga
terdapat empat jenis arsitektur komputer paralel :
1.
SISD (Single Instruction, Single
Data) : arsitektur ini adalah arsitektur yang mempunyai sebuah prosesor
tunggal, yang bukan paralel.
2.
SIMD (Single Instruction, Multiple
Data) : pada arsitektur ini, eksekusi sebuah instruksi akan dilakukan secara
bersamaan oleh beberapa prosesor, di mana suatu prosesor dapat menggunakan data
yang berbeda dengan prosesor lain. alur
instruksi yang sama dijalankan terhadap banyak alur data yang berbeda. Alur
instruksi di sini kalau tidak salah maksudnya ya program komputer itu. trus
datapath itu paling ya inputnya, jadi inputnya lain-lain tapi program yang
digunakan sama.
3.
MISD (Multiple Instruction, Single
Data) : pada arsitektur ini, , alur instruksinya banyak, alur datanya juga
banyak, tapi masing-masing bisa berinteraksi. Arsitektur ini kurang populer
karena hanya sedikit permasalahan yang membutuhkan solusi dengan menggunakan
karakteristik arsitektur ini.
4.
MIMD (Multiple Instruction, Multiple
Data) : pada arsitektur ini, alur instruksinya banyak tapi beroperasi pada data
yang sama. Selain itu, arsitektur ini dapat melakukan pekerjaan sesuai dengan
karakteristik dari ketiga asitektur sebelumnya.
Arsitektur
Memori pada Komputasi Paralel
Pada umumnya, ada dua buah
arsitektur memori pada komputer paralel, yaitu shared memory dan distributed
memory
1.
Shared memory : arsitektur ini
menyediakan global addressing sehingga berbagai prosesor mempunyai cara
pengaksesan memori yang seragam. Setiap perubahan pada suatu lokasi memori oleh
suatu prosesor akan selalu terlihat oleh prosesor lain. Kelebihan dari
arsitektur ini antara lain adalah pengaksesan memori yang user
friendly dan performansi yang baik dalam penggunaan data bersama antar
task. Sedangkan kekurangannya antara lain adalah kurangnya skalabilitas ketika
terjadi penambahan prosesor, di mana akan terjadi peningkatan
traffic antara prosesor ke shared memory dan antara cache coherent
system dengan memori sebenarnya.
·
Berdasarkan frekuensi akses, ada dua
jenis shared memory :Uniform Memory Access (UMA) : setiap prosesor memiliki hak
pengaksesan yang seragam dengan prosesor lain
·
Non Uniform Memory Access (NUMA) :
tidak semua prosesor memiliki hak yang sama dalam mengakses memori
2.
Distributed memory : arsitektur
ini mempunyai karakteristik di mana setiap prosesor memiliki memorinya
masing-masing, sehingga eksekusi instruksi dapat berjalan secara independen
antara satu prosesor dengan yang lain. Prosesor akan menggunakan jaringan
ketika membutuhkan akses ke memori non lokal. Akses ini sepenuhnya menjadi
tanggung jawab penulis program. Kelebihan dari arsitektur ini adalah
terjaganya skalabilitas ketika terjadi penambahan prosesor. Sedangkan
kekurangannya adalah penulis program harus berurusan dengan detail komunikasi
data antara prosesor dan memori non lokal.
Referensi
:
Tidak ada komentar:
Posting Komentar