Dalam arti yang paling
sederhana, komputasi paralel adalah penggunaan simultan dari berbagai sumber
daya komputasi untuk memecahkan masalah komputasi:
- Suatu masalah dipecah menjadi bagian-bagian terpisah yang dapat diselesaikan secara bersamaan
- Setiap bagian selanjutnya dipecah menjadi serangkaian instruksi
- Instruksi dari setiap bagian dilakukan secara bersamaan pada prosesor yang berbeda
- Mekanisme kontrol / koordinasi keseluruhan digunakan
Sebagai contoh :
Masalah komputasi harus dapat:
- Dipisahkan menjadi bagian-bagian terpisah dari pekerjaan yang dapat diselesaikan secara bersamaan;
- Jalankan beberapa instruksi program kapan saja pada waktunya;
- Dipecahkan dalam waktu yang lebih singkat dengan beberapa sumber daya komputasi dibandingkan dengan sumber daya komputasi tunggal.
Sumber daya komputasi biasanya:
- Satu komputer dengan beberapa prosesor / inti
- Sejumlah komputer seperti itu yang terhubung oleh jaringan
Hampir semua komputer yang berdiri sendiri saat ini
paralel dari perspektif perangkat keras:
- Beberapa unit fungsional (L1 cache, L2 cache, cabang, prefetch, decode, floating-point, pemrosesan grafis (GPU), integer, dll.)
- Beberapa unit eksekusi / inti
- Beberapa utas perangkat keras
IBM BG / Q Compute Chip
dengan 18 core (PU) dan 16 L2 Cache units (L2)
Jaringan menghubungkan beberapa komputer yang berdiri
sendiri (node) untuk membuat kelompok komputer paralel yang lebih besar.
Sebagai contoh, skema di bawah ini menunjukkan klaster komputer paralel
LLNL khas:
- Setiap node komputasi adalah komputer paralel multi-prosesor itu sendiri
- Beberapa node komputasi terhubung dengan jaringan Infiniband
- Node tujuan khusus, juga multi-prosesor, digunakan untuk tujuan lain
Pemrosesan paralel
umumnya diimplementasikan dalam lingkungan operasional / skenario yang
memerlukan perhitungan besar atau kekuatan pemrosesan. Tujuan utama dari
komputasi paralel adalah untuk meningkatkan daya komputasi yang tersedia untuk
pemrosesan aplikasi atau resolusi tugas yang lebih cepat.
Biasanya, infrastruktur
komputasi paralel ditempatkan dalam satu fasilitas di mana banyak prosesor
dipasang di rak server atau server terpisah yang terhubung bersama. Server
aplikasi mengirim permintaan komputasi atau pemrosesan yang didistribusikan
dalam potongan kecil atau komponen, yang secara bersamaan dijalankan pada
setiap prosesor / server. Komputasi paralel dapat diklasifikasikan sebagai
tingkat-bit, level instruksional, data dan paralelisme tugas.asi. Komputasi paralel juga dikenal
sebagai pemrosesan paralel.
CUDA (Compute Unified Device
Arcitecture)
CUDA adalah mekanisme komputasi paralel sekaligus
platform API yang dibuat oleh Nvidia. CUDA hampir sama dengan OpenCL dimana
tujuannya untuk mendapatkan komputasi seefisien mungkin, bedanya CUDA hanya
untuk vendor Nvidia sedangkan OpenCL sudah dipakai banyak vendor. CUDA bekerja
lebih cepat 30% dibanding OpenCL.
CUDA ini memberikan
kemampuan sebuah dalam 2 hardware untuk melakukan komputasi secara bersamaan
dan bersatu yaitu pada bagian CPU dan GPU. Hal ini menyebabkan kemampuan
komputer menjadi luar biasa. Sebagai contoh sebuah prose perhitungan yang
dilakukan oleh CPU bisa di selesaikan dalam beberapa detik, tapi dengan bantuan
GPU hal ini dipersingkat hanya menjadi *millisecond*.
Dan CUDA ini lah yang
menjembatani proses ini. Selain itu, GPU yang dilengkapi CUDA dengan mampu melakukan
simulasi grafis dengan baik daripada hanya menggunakan CPU. Karena itu GPU yang
dilengkapi dengan CUDA, biasanya di lakukan untuk melakukan proses grafis yang
tinggi dan perhitungan yang membutuhkan memori tinggi. Dan hal ini menjadi
pilihan para konsumen, karena mereka bisa menggunakan hardware mereka dengan
lebih maksimal dan optimal. Nvidia sebagai produsen hardware grafis sudah
sangat memikirkan bahwa disaat nanti, GPU sendiri akan menjadi bagian penting
dari sebuah komputasi. Karena itu Nvidia mengeluarkan sebuah frame work CUDA
untuk menjembati para developer untuk menggunakan GPU buatan mereka dengan
optimal.
CUDA sendiri berdiri
sebagai sebuah framework yang bertugas untuk menjembatani antara proses di
sebuah CPU dan GPU sehingga keduanya bisa bekerja secara bersamaan. Sistem ini
disebut parallel processing, di mana 2 buah hardware bekerja secara bersamaan
untuk melakukan sebuah process. Biasanya hal ini dilakukan untuk melakukan
sebuah process yang rumit dan membutuhkan memori banyak, sehingga pengolahan
proses bisa lebih cepat.
Seri pertama dari CUDA
dikeluarkan oleh Nvidia pada tahun 2006, tapi saat itu masih pengembangan. Tapi
sejak itu, Nvidia sudah melakukan pengembangan pada CUDA, sehingga CUDA bisa
digunakan secara lebih baik. Sampai saat ini CUDA sudah rilis pada versi ke-4.
Dan ini merupakan pengembangan yang baik karena dengan CUDA, kita melakukan
programming tanpa mengetahui bahasa Assembly, kita cukup mengetahui C++, atau
Fortran untuk melakukannya. CUDA merupakan sistem propierty buatan Nvidia,yang
di sebarkan secara gratis. Tapi hal ini tidak menjadi halangan bagi para
developer untuk menggunakannya. Karena sistem CUDA memberikan kemudahan dalam
melakukan penyebaran driver mereka.
Saat ini Sistem CUDA
sudah banyak digunakan untuk membangun sisem komputer cepat, karena hal ini
lebih murah, dibandingkan kita harus lebih membeli processor tambahan. Selain
itu itu menjad lebih energi, karena biaya untuk tambahan energi dapat dikurangi
melalui sistem GPU CUDA. Saat ini GPU CUDA mendapat tantangan dari AMD dengan
AMD Fusion mereka. Hal ini akan menjadi sangat menarik, karena mereka berdua
memiliki teknologi di bidang grafis yang cukup kuat.
Sumber :





Tidak ada komentar:
Posting Komentar