Konsep Paralel
Perkembangan
baru dalam arsitektur komputer yang didasarkan oleh konep pemrosesan parallel.
Pemrosesan parallel dalam komputer dijelaskan sebagai pelaksanaan instruksi
waktu secara bersamaan. Hal tersebut dapat menyebabkan kejadian dalam interval
waktu yang sama, waktu yang bersamaan atau rentang waktu yang saling tumpah
tindih. Oleh karena itu dibuatlah konsep parallelism untuk menangani masalah
dan aplikasi yang membutuhkan kecepatan pemrosesan yang cepat.
Pemrosesan Distribusi
Merupakan
ungkapan yang digunakan untuk merujuk kepada pembagian sistem komputer yang
menggunakan lebih dari satu komputer (prosesor) untuk menjalankan sebuah
aplikasi. Ini termasuk pemrosesan parallel dimana satu komputer menggunakan
lebih dari satu CPU untuk mengeksekulsi program.
Pemrosesan
terdistribusi mengacu pada jaringan local (LAN), dirancang agar satu program
dapat berjalan secara bersamaan diberbagai situs.
Arsitektur Komputer
Paralel
Terdapat dua sistem komputer konvensional, yaitu Prosesor
dan Memory. Berikut penjelasan gambarnya:
Dua arsitektur komputer parallel yang sering digunakan,
yaitu SIMD dan MIMD.
SIMD (Single Instruction Stream, Multiple Data Stream),
peningkatan kecepatan SIMD proporsional dengan jumlah proses unit yang ada.
Struktur umum dari 16 elemen pemrosesan dan unit control
tunggal dapat dilihat pada gambar dibawah ini:
MISD (Multiple Instruction Stream, Single Data Stream), berdasarkan prinsip pipelining. Proses ini
dibagi menjadi beberapa tahap dan beberapa proses (secara simultan).
MIMD (Multiple Instruction Stream, Multiple Data Stream), merupakan sistem multiprosesing atau
multicomputer. MIMD terdiri dari sistem tightly coupled (global memori) dan
loosely coupled (local memori).
Pengantar Thread Programming
Sebuah
thread merupakan informasi yang berhubungan dengan penggunaan sebuah program
tunggal yang dapat menangani beberapa pengguna secara bersamaan. Thread
memungkinkan program untuk mengetahui user sedang masuk didalam program secara
bergantian dan akan kembali masuk atas nama user yang berbeda.
Terdapat
dua teknik yang digunakan pada thread:
-
Static Threading, biasa digunakan untuk komputer
dengan chip multiprosesor dan jenis komputer shared-memory lain. Teknik ini
membolehkan berbagi memori yang tersedia, menggunakan program counter dan
mengeksekusi program secara independen. Mekanisme ini bisa dibilang lambat
karena berjalan secara static.
-
Dynamic Multithreading, merupakan pengembangan
dari static threading yang digunakan untuk memudahkan programmer untuk
berkomunikasi, load balancing dan kerumitan lainnya. Platformnya masih daam
pengembangan dan secara umum mendukung dua fitur nested parallelism dan
parallel loops.
Pengantar Message Passing, Open MP
Message
passing merupakan sebuah teknik cara mengatur suatu alur komunikasi messaging
terhadap proses pada sistem. Message passing dalam ilmu komputer adalah bentuk
komunikasi digunakan dalam komputasi parallel, pemrograman berorientasi objek
dan komunikasi interproses,
Paradigma
Message Passing:
1.
Banyak contoh dari paradima sekuensial
dipertimbangkan bersama-sama
2.
Programmer membayangkan beberapa prosesor,
masing-masing dengan memori dan menulis sebuah program untuk berjalan pada
setiap prosesor.
3.
Proses berkomunikasi dengan mengirimkan prsan
satu sama lain.
OpenMP merupakan API yang
mendukung multi-platform berbagai memori multiprosesing pemrograman C, C++ dan
Fortran, kebanyakan arsitektur prosesor dan sistem operasi seperti Linux, Mac,
Solaris, AIX, HP-UX. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP
Arsitektur Review Board (ARB/OpenMP).
Pengantar Pemrograman CUDA, GPU
CUDA
(Compute Unified Device Architecture) merupakan framework dari bahsa
pemrigraman yang mendukung bahasa C, dimana mampu berkomunikasi langsung dengan
GPU dan sangat mudah bekerjasama untuk segala multi-threading parallel
execution hampir diseluruh prosesor GPU. CUDA menggunakan konsep nvcc sebagai
ORM dalam objek programmingnya. CUDA merupakan produk dari NVDIA.
GPU
(Graphics Processing Unit) merupakan prosesor yang didedikasikan untuk ender
ceprat dalam pemrosesan polygon baik itu texturing dan shading. Terdiri dari
banyak core namun menggunakan arsitektur sederhana, sehingga harganya relative
murah dan diproduksi secara masal.
Source:
http://www.academia.edu/7424831/Parallel_PROCESSING_Pemrosesan_paralel
http://www.webopedia.com/TERM/D/distributed_processing.html
http://seto.citravision.com/berita-49-parallel-computation---pengantar-thread-programming.html
http://seto.citravision.com/berita-50-parallel-computation--pengantar-message-passing-openmp.html
http://seto.citravision.com/berita-51-parallel-computation--pengantarpemrograman-cuda-gpu.html
PDF Dosen Algoritma dan Pengolahan Paralel