KOMPUTASI PARALEL
Komputasi paralel adalah salah satu teknikk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umumnya di temui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika komputasi, kimia komputasi dll.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan suatu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang di jalankan di atasnya otomatis akan diolah secara peralel.
Di dalam komputasi paralel ada yang dinamakan dengan pemograman paralel. Pemograman paralel adalah teknik pemograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang di gunnkan secara bersamaan tersebut di lakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).
Tujuan utama dari pemograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa di selesaikan.
Komputasi paralel berbeda dengan komputasi multitasking. Pengertian multitasking adalah komputer dengan prosesor tunggal mengeksekusi beberapa tugas secara bersamaan.
Salah satu protokol yang dipergunakan pada komputasi paralel adalah Network File System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui jaringan. NFS dibuat untuk dapat independent dasari jenis mesin, jenis sistem operasi dan jenis protokol transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC. NFS memperbolehkan user yang telah di izinkan untuk mengakses file-file yang berada di remote host seperti mengakses file yang berada di lokal. Protokol yang digunakan protokol mount menentukan host remote dan jenis file sistem yang akan diakses dan menempatkan di suatu direktotri, protokol NFS melakukan I/O pada remote file sistem. Protokol mount dan protokol NFS bekerja dengan menggunakan RPC dan mengirim dengan protokol TCP dan UDP. kegunaan dari NFS pada komputasi paralel adalah untuk melakukan sharing data sehingga setiap node slave dapat mengakses program yang sama pada node master.
Software yang diperlukan untuk komputasi paralel adalah PGI CDK, aplikasi ini telah dilengkapi dengan Cluster Development Kit , software ini telah memiliki feature yang lengkap bila ingin melakukan komputasi dengan paralel processing karena software ini telah mensupport MPI untuk melakukan perhitungan komputasi.
sumber
http://akhmadilman46.blogspot.co.id/2013/05/komputasi-paralel.html
Senin, 14 Desember 2015
Jumat, 11 Desember 2015
PENGANTAR QUANTUM COMPUTATION
Quantum computation adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum yang menjelaskan, sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat.
Quantum computer adalah alat untuk perhitungan yang menggunakan langsung dari kuantum mekanik fenomena, seperti superposisi dan belitan, untuk melakukan operasi pada data.Cara kerja Quantum computer berbeda dengan komputer biasanya. Dalam komputer klasik , jumlah data di hitung dengan bit dalam komputer kuantum hal ini dilakukan dengan qubit (quantum bit) yang berarti jika di komputer biasa hanya mengenal 0 atau 1, dengan qubit sebuah komputer quantum itu lebih cepat daripada komputer biasa.
Prinsip dasar komputer kuantum adalah sifat kuantum dari partikel dapat digunakan untuk melakukkan operasi dengan data ini. Dalam hal ini, untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.
sumber:
http://mohammadmahareza.blogspot.co.id/2015/06/pengantar-quantum-computation.html
Quantum computation adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum yang menjelaskan, sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat.
Quantum computer adalah alat untuk perhitungan yang menggunakan langsung dari kuantum mekanik fenomena, seperti superposisi dan belitan, untuk melakukan operasi pada data.Cara kerja Quantum computer berbeda dengan komputer biasanya. Dalam komputer klasik , jumlah data di hitung dengan bit dalam komputer kuantum hal ini dilakukan dengan qubit (quantum bit) yang berarti jika di komputer biasa hanya mengenal 0 atau 1, dengan qubit sebuah komputer quantum itu lebih cepat daripada komputer biasa.
Prinsip dasar komputer kuantum adalah sifat kuantum dari partikel dapat digunakan untuk melakukkan operasi dengan data ini. Dalam hal ini, untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.
sumber:
http://mohammadmahareza.blogspot.co.id/2015/06/pengantar-quantum-computation.html
Kamis, 03 Desember 2015
PENGANTAR PEMOGRAMAN CUDA GPU
GPU (Graphical Processing Unit) adalah sebuah prosesor khusus untuk mempercepat dan mengubah memori, untuk mempercepat pemrosesan gambar. GPU ini biasanya berada di dalam graphic card komputer ataupun laptop.
Sebuah GPU pada awalnya adalah sebuah prosessor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering terutama untuk mendekati waktu proses yang realtime / sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor grafik tersebut. Akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya (CPU) dan akhirnya GPU menjadi general purpose, yang artinya tidak hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
Penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu, Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang bisa efektif berjalan pada Multi 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. Dengan adanya CUDA dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataupun komputasi yang banyak.
CUDA didefinisikan sebagai sebuah arsitektur komputasi paralel, dikembangkan oleh NVIDIA. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D dan lain sebagainya. VGA-VGA dari NVIDIA yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260, 9800 GX2, 9800 GTX+, 9800 GTX, 9600 GSO, 9600 GT, 9500 GT, 9400 GT, 9400 mGPU, 9300 mGPU,8800 Ultra, 8800 GTX, 9800 GT, 9800 GT, 9600 GSO, 9600 GT, 8800 GS, 8600 GTS, 8600 GT, 8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU dan seeri sejenis untuk kelas mobile (VGA notebook).
Singkatnya CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA bisa dimanfaatkan untuk aplikasi multimedia. Misalnya mengedit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah menggunakan teknoogi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proses dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.
Platform CUDA dapat diakses oleh pengembang perangkat lunak melalui library CUDA - accelerated, perintah kompiler (seperti OpenACC) dan ekstensi untuk bahasa pemograman standar industri, termasuk C, C++ dan Fotran. C/C++ programer menggunakan CUDA C/C++, yang disusun dengan "nvcc", NVIDIA LLVM berbasis C/C++ compiler dan Fotran programer dapat menggunakan "CUDA Fotran" , yang disusun dengan PGI CUDA Fotran compiler dari The Portland Grup. Selain library, arahan compiler, CUDA C/C++ dan CUDA Fotran , platform CUDA mendukung intrface komputasi lainnya, termasuk Khronos Grup's OpenCL, Microsoft Direct Compute dan C++ AMP. Pemograman pihak ketiga juga tersedia untuk Phyton, Perl, Fortran, Java, Ruby, Lua, Haskell, Matlab, IDL dan dukungan asli di Mathematica.
Dalam pemakaian komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan) contoh termasuk PhysX dan Bullet. CUDA juga telah digunakan untuk mempercepat aplikasi non grafis dalam bidang komputasi, kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.
CUDA memiliki beberapa keunggulan dibandingkan tradisional perhitungan tujuan umum pada GPU (GPGPU) menggunakan API Grafis.
http://uchaaii.blogspot.co.id/2013/07/parallel-computation.html
http://myblogisland.blogspot.co.id/2013/04/parallel-computation.html
GPU (Graphical Processing Unit) adalah sebuah prosesor khusus untuk mempercepat dan mengubah memori, untuk mempercepat pemrosesan gambar. GPU ini biasanya berada di dalam graphic card komputer ataupun laptop.
Sebuah GPU pada awalnya adalah sebuah prosessor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering terutama untuk mendekati waktu proses yang realtime / sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor grafik tersebut. Akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya (CPU) dan akhirnya GPU menjadi general purpose, yang artinya tidak hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
Penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu, Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang bisa efektif berjalan pada Multi 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. Dengan adanya CUDA dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataupun komputasi yang banyak.
CUDA didefinisikan sebagai sebuah arsitektur komputasi paralel, dikembangkan oleh NVIDIA. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D dan lain sebagainya. VGA-VGA dari NVIDIA yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260, 9800 GX2, 9800 GTX+, 9800 GTX, 9600 GSO, 9600 GT, 9500 GT, 9400 GT, 9400 mGPU, 9300 mGPU,8800 Ultra, 8800 GTX, 9800 GT, 9800 GT, 9600 GSO, 9600 GT, 8800 GS, 8600 GTS, 8600 GT, 8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU dan seeri sejenis untuk kelas mobile (VGA notebook).
Singkatnya CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA bisa dimanfaatkan untuk aplikasi multimedia. Misalnya mengedit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah menggunakan teknoogi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proses dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.
Platform CUDA dapat diakses oleh pengembang perangkat lunak melalui library CUDA - accelerated, perintah kompiler (seperti OpenACC) dan ekstensi untuk bahasa pemograman standar industri, termasuk C, C++ dan Fotran. C/C++ programer menggunakan CUDA C/C++, yang disusun dengan "nvcc", NVIDIA LLVM berbasis C/C++ compiler dan Fotran programer dapat menggunakan "CUDA Fotran" , yang disusun dengan PGI CUDA Fotran compiler dari The Portland Grup. Selain library, arahan compiler, CUDA C/C++ dan CUDA Fotran , platform CUDA mendukung intrface komputasi lainnya, termasuk Khronos Grup's OpenCL, Microsoft Direct Compute dan C++ AMP. Pemograman pihak ketiga juga tersedia untuk Phyton, Perl, Fortran, Java, Ruby, Lua, Haskell, Matlab, IDL dan dukungan asli di Mathematica.
Dalam pemakaian komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan) contoh termasuk PhysX dan Bullet. CUDA juga telah digunakan untuk mempercepat aplikasi non grafis dalam bidang komputasi, kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.
CUDA memiliki beberapa keunggulan dibandingkan tradisional perhitungan tujuan umum pada GPU (GPGPU) menggunakan API Grafis.
- Tersebaar membaca kode dapat membaca dari alamat sewenang-wenang dalam memori.
- Memori bersama CUDA memperlihatkan cepat memori bersama wilayah (sampai 48 KB per Multi Prosesor) yang dapat ddibagi antara benang. Ini dapat digunakan sebagai cache dikelola pengguna, memungkinkan Bandwidth yang lebih tinggi daripada yang mungkin menggunakan pencairan tekstur.
- Download lebiih cepat dan readbacks ke dan dari GPU.
- Dukungan penuh untuk integer dan bitwise operasi, termasuk pencairan tekstur bulat.
http://uchaaii.blogspot.co.id/2013/07/parallel-computation.html
http://myblogisland.blogspot.co.id/2013/04/parallel-computation.html
Langganan:
Postingan (Atom)