Sabtu, 13 April 2019

Tugas ke-2. Komputasi Paralel


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

Tugas ke-2. Komputasi Awan

Cloud Computation (Komputasi Awan) Pengertian Komputasi Awan Komputasi Awan adalah sebuah layanan penyimpanan data secara  onlin...