· Parallel Concept
Parallel
computation adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan
eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun banyak
prosesor di dalam sebuah CPU. Parallel computation sendiri berguna untuk
meningkatkan performa komputer karena semakin banyak proses yang bisa
dikerjakan secara bersamaan maka akan makin cepat.
Konsep
paralel adalah sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun
banyak tugas secara simultan ataupun bersamaan, dengan kata lain prosesor mampu
melakukan satu ataupun banyak tugas dalam satu waktu.
· Distributed Processing
Pemrosesan
terdistribusi merupakan proses pendistribusian pengolahan paralel dalam
pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan
dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan
suatu masalah dengan proses yang cepat.
Menurut
Gustafson proses terdistribusi adalah 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.
Contoh dari
proses terdistribusi adalah ketika terdapat macam masalah diberikan pada satu
master, maka dengan menggunakan komputer paralel masalah terseut akan terpecah
menjadi beberapa bagian secara terdistribusi.
· Architectural Parallel Computer
Menurut
seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi
4 baguan, yaitu :
SISD (Single Instruction, Single Data) adalah
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.
SIMD(Single Instruction, Multiple Data) 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 5 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).
MISD(Multiple Instruction, Single Data) 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.
MIMD( Multiple Instruction, Multiple Data) 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.
· Pengantar Thread Programming
Sebuah
thread di dalam pemrograman komputer adalah sebuah informasi terkait tentang
penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara
bersamaan.Thread ini memungkinkan program untuk mengetahui bagaimana user masuk
ke dalam program secara bergantian dan user akan masuk kembali menggunakan user
yang berbeda. Multiple thread dapat berjalan bersamaan dengan proses lainnya
membagi sumberdaya menjadi memori, disaat proses lain tidak membaginya.
· Pengantar Massage Passing, Open MP
Message Passing merupakan sebuah bentuk dari komunikasi yang
digunakan di komputasi paralel, OOT (Object Oriented Programming) atau
Pemrograman Berbasis Objek dan komunikasi interproses.
MPI adalah sebuah standard pemrograman yang memungkinkan
pemrogram untuk membuatsebuah aplikasi yang dapat dijalankan secara paralel.
Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke
masing – masing compute node yang kemudian masing – masing compute node
tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk
merancang aplikasi paralel tentu membutuhkan banyak pertimbangan -
pertimbangandiantaranya adalah latensi dari jaringan dan lama sebuah tugas
dieksekusi oleh prosesor
OpenMP (Open Multi-Processing) adalah sebuah antarmuka
pemrograman aplikasi (API) yang mendukung multi processing shared memory
pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix
dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler,
perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time.
Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel dapat
dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing
Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP
non-shared memory systems.
· Pengantar Pemograman CUDA GPU
Sebelum saya
membahas tentang CUDA, saya akan membahas GPU terlebih dahulu. GPU dalah sebuah
processor khusus untuk memepercepat dan mengubah memori untuk mempercepat
pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic card
komputer ataupun laptop
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 adanya
CUDA kita dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses
perhitungan ataunpun komputasi yang banyak.
Sumber :
Tidak ada komentar:
Posting Komentar