Posted by : tessarishak Sabtu, 29 Juni 2019

Assalammu’alaikum…
Saya ingin berbagi informasi tentang Parallel Computation atau bahasa Indonesianya adalah komputasi (pemrosesan) paralel. Hmm bicara soal komputasi paralel, jadi teringat dengan materi APP tentang pemrosesan paralel yang dilakukan prosesor, apakah ada kaitannya dengan hal tersebut ya? yuk, simak.
Komputasi paralel adalah pemrosesan dua atau lebih tugas di waktu bersamaan dengan menggunakan dua atau lebih cpu independen untuk menjalankan sebuah program. Komputasi paralel berbeda dengan multitasking. Seperti yang kita tahu bahwa multitasking adalah komputer dengan prosessor tunggal mengeksekusi beberapa tugas secara bersamaan, sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer.
Tujuan komputasi paralel adalah untuk mempersingkat waktu penyelesaian tugas-tugas tersebut dengan cara memaksimalkan sumberdaya yang ada untuk mencapai tujuan yang sama. Hal ini tentunya akan mempersingkat waktu pengerjaan eksekusi program karena membagi suatu program jadi bagian-bagian kecil yang kemudian dikerjakan prosesor-prosesor. Selain itu juga dapat memaksimalkan komputasi karena semakin banyak tugas yang bisa dilakukan bersamaan, maka semakin banyak yang dapat diselesaikan. Saya analogikan komputasi paalel ini dengan proses merebus sayuran sup. Bayangkan jika wortel, jagung, lobak tidak dipotong kecil-kecil, maka proses perebusannya hingga menjadi matang butuh waktu lama dibanding dipotong kecil-kecil.
Performa dalam pemrosesan paralel diukur dari berapa banyak speed up yang diperoleh dalam menggunakan teknik paralel. Secara informal, bila kita memotong jagung sebanyak 10 kg sendirian butuh waktu 1 jam, kemudian bila dengan bantuan teman kita bisa melakukannya dalam 1/2 jam maka  kita memperoleh peningkatan kecepatan sebanyak 2 kali.
Komputasi paralel berbeda dengan komputasi tunggal. Ada 4 model komputasi yaitu SISD, SIMD, MISD, MIMD. Dari keempat model komputasi tersebut, SISD adalah model komputasi tunggal, sehingga saya akan jelaskan  3 model lainnya saja ya.
SIMD (Single Instruction Multiple Data): Banyak prosesor dengan dengan instruksi sama namun setiap prosesor mengolah data yang berbeda.
MISD (Multiple Instruction Single Data): Banyak prosesor dengan instruksi berbeda namun mengolah data yang sama.
MIMD (Multiple Instruction Multiple Data): Banyak prosesor dengan instruksi dan data yang berbeda.

Konsep komputasi Parallel 

Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.

Terdapat dua hukum yang berlaku dalam sebuah parallel processing. yaitu:

Hukum Amdahl
Amdahl berpendapat, “Peningkatan kecepatan secara paralel akan menjadi linear, melipatgandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah masalah.”
Hukum Gustafson
Pendapat yang dikemukakan Gustafson hampir sama dengan Amdahl, tetapi dalam pemikiran Gustafson, 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.

Message Passing 
Message Passing adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. Kegunaan Message Passing :

Shared-memory pada multiprocessor
Shared-memory pada uniprocessor
Sistem terdistribusi
Karakteristik perancangan message passing:

A. Synchronization

a. Send

blocking
nonblocking
b. Receive

blocking
nonblocking
test for arrival
B. Addressing

Direct :

a. Send

b. Receive

explicit
implicit
Indirect :

static
dynamic
ownership
C. Format

a. Content

b. Length

fixed
variable
D. Queuing Discipline

a. FIFO

b. Priority


OpenMP (Open Multiprocessing)

OpenMP adalah Application Programming Interface (API) yang mendukung pemrograman multiprocessing shared memory dalam bahasa C/C++ dan fortran pada berbagai arsitektur dan sistem operasi diantaranya: Solaris, AIX, HP-UX,GNU/Linux, Mac OS X, dan Windows.
OpenMP adalah model portabel dan skalabel yang memberikan interface sederhana dan fleksibel bagi programer shared memory dalam membangun aplikasi paralel. Program multithread dapat ditulis dalam berbagai cara. Beberapa diantaranya memungkinkan untuk melakukan interaksi yang kompleks antar thread. OpenMP mencoba untuk memberikan kemudahan pemrograman serta membantu dalam menghindari kesalahan program, melalui pendekatan terstruktur. Pendekatan ini dikenal sebagai model pemrograman fork-join.
OpenMP bekerja berdasarkan model shared memory, maka secara default data dibagi diantara thread-thread dan dapat terlihat dari setiap thread. Terkadang program akan membutuhkan variabel dengan nilai thread spesifik. Jika setiap thread memiliki variabel duplikat akan sangat berpotensi memiliki nilai yang berbeda-beda pada setiap variabel duplikat tersebut.
Sinkronisasi (pengkoordinasian) aksi dari thread adalah sesuatu yang sangat penting untuk menjamin data yang harus dibagi dan untuk mencegah terjadinya data race condition. Secara default OpenMP telah menyediakan mekanisme untuk menunggu thread dalam suatu tim thread sehingga semua thread menyelesaikan tugasnya dalam region, kemudian dapat melanjutkan ke proses selanjutnya. Mekanisme ini dikenal sebagai barrier.

Pengantar pemrograman CUDA GPU

CUDA (Compute Unified Device Architecture) adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum. Jadi, dengan CUDA, kita dapat memanfaatkan cukup banyak processor yang dimiliki oleh NVIDIA untuk berbagai perhitungan. GPU yang ada saat ini seperti ATI pun sudah memiliki banyak processor di dalamnya. Pada ATI, skema yang mereka bangun disebut ATI Stream. Saat ini pemrograman paralel menjadi sangat penting karena kebutuhan kemampuan komputasi komputer yang terus meningkat seperti kemampuan multitasking dan pengolahan grafis yang andal. Metode saat ini dalam peningkatan peforma komputer juga berbeda dengan masa lampau dimana peningkatan clock dari processor yang diutamakan.
Peningkatan clock juga dibatasi oleh kemampuan fisik dari perangkat digital yaitu persoalan daya dan panas. Pada 2005 berbagai industri komputer mulai menawakan komputer dengan beberapa core mulai dari 2, 3, 4, 6, dst. Pada awal perkembangan GPU dengan banyak core, pemanfaatan GPU hanya dapat dilakukan dengan antarmuka seperti OpenGL dan DirectX dimana antarmuka tersebut dikhususkan hanya untuk pengolahan grafis.


Sumber:
http://xditx32.blogspot.co.id/2012/09/pengertian-multiprocessingmultitasking.html

https://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/

http://www.academia.edu/7424831/Parallel_PROCESSING_Pemrosesan_paralel

https://www.scribd.com/doc/305577778/APA-ITU-SISD-SIMD-MISD-MIMD

http://mahadisuta.blogspot.co.id/2012/12/implementasi-komputasi-paralel-dalam.html

##4ia20
##muhammad Tessar ishak
##54415809
##Paralel computation

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Learn IT - Blogger Templates - Powered by Blogger - Designed by Johanes Djogan -