Konsep Parallel Computation
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
·
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
Pengantar Pemograman CUDA GPU
Sebelum kita membahas tentang CUDA, kita 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.
Tidak ada komentar:
Posting Komentar