Jumat, 29 Juni 2018

PARALEL COMPUTING (CUDA)


Nama : Rizky Riyadi Hidayat
Kelas : 4IA21
Mata Kuliah : Pengantar Komputasi Modern
Dosen : Indra Adi Permana




1


Teknologi CUDA sebenarnya barawal dari riset yang dilakukan NVIDIA mengenai GPGPU (General-Purpose Computing on Graphics processing Unit). Riset tersebut akhirnya melahirkan CUDA (Compute Unified Device Architecture) suatu arsitektur pemrosesan paralel yang diimplementasikan ke dalam GPU buatan NVIDIA, baik untuk seri GeForce, Quadro, maupun Tesla.

Sejak awal kemunculannya sampai saat ini, CUDA mengalami perkembangan yang cukup pesat. Hal ini bisa dilihat dari perbandingan banyaknya riset berbasis CUDA yang dilakukan dan juga banyaknya CUDA SDK yang didownload dalam dua tahun terakhir. Tahun lalu, hanya ada 67 riset mengenai CUDA dan juga 293.000 CUDA SDK yang didownload. Jumlah itu meningkat jauh untuk tahun ini menjadi 334 riset mengenai CUDA dan juga 668.000 CUDA SDK yang didownload.

Selain itu, perkembangan CUDA juga ditandai dengan meningkatnya dukungan aplikasi dan juga berbagai perusahaan terhadap penggunaan CUDA, diantaranya:
Hadirnya compiler CUDA-x86 hasil kerja sama NVIDIA dengan Portland Group. Compiler CUDA-x86 memungkinkan developer untuk membuat aplikasi dengan memanfaatkan CUDA untuk beragam platform yang tersedia.
Simulator biologis, AMBER, pada versi terbarunya, AMBER 11, sudah mendukung pemanfaatan multi GPU dan mendukung CUDA. NVIDIA mengumumkan bahwa dengan menggunakan IBM Cluster yang dilengkapi dengan 8 GPU Fermi yang sudah mendukung CUDA, simulator bisa menghasilkan perhitungan 52nanosecond dalam sehari, lebih tinggi bila dibandingkan dengan cluster terkuat AMBER saat ini, KRAKEN, hanya bisa menghasilkan 46nanosecond dalam sehari. Sebagai informasi tambahan, satu simulasi langkah manusia membutuhkan jutaan nanosecond.
ANSYS, perusahaan yang memiliki spesialisasi di bidang desain dan simulasi produk yang memiliki beberapa klien ternama seperti Boeing dan P&G, juga memanfaatkan CUDA untuk melakukan simulasi. Satu proses simulasi, misalnya simulasi kemungkinan masalah yang terjadi pada roda pesawat terbang, membutuhkan kemampuan proses yang tinggi. Dengan menggunakan GPU yang dilengkapi dengan CUDA, proses panjang tersebut dapat diselesaikan dalam waktu setengah dari waktu normal yang diperoleh dengan menggunakan CPU termutakhir.
Cara kerja GPU

Kenapa kartu grafis dibutuhkan? Karena di dalamnya ada GPU (Graphical Processing Unit). Semacam prosesor yang ada di dalam kartu grafis.

Bedanya dengan CPU (prosesor yang ada di motherboard), GPU didesain khusus untuk mengolah data gambar/grafis agar bisa tampil ke monitor dengan cepat dan tepat. Karena GPU mempunyai kemampuan khusus, yaitu melakukan perhitungan matematika yang kompleks untuk membentuk gambar (geometri) dalam ruang 3-D, yang tidak mungkin ditangani oleh CPU.

Contoh saja dalam game. Ketika kamu memainkan karakter game dari satu titik ke titik lain, atau melakukan sebuah aksi.. bukankah ruangnya, tata cahayanya, warnanya, dan objek-objek di dalamnya harus berubah? Di belakangnya ada rumus-rumus matematika yang sangat kompleks yang memperhitungkan sistem koordinat, vektor, jarak, dan hukum-hukum fisika agar terbangun sebuah realitas tiga dimensi. Dan semuanya harus berjalan secara realtime.

Begitupun dalam software editing, compositing, dan 3D. Juga dibutuhkan formulasi yang sangat kompleks.

Ini semua hanya bisa dilakukan oleh GPU. Kenapa?

Secara arsitektur, perbedaan CPU dan GPU adalah:

CPU hanya memiliki beberapa inti prosesor (dual-core, quad-core, octa-core) yang bekerja secara serial. Sedangkan GPU terdiri atas RIBUAN core kecil-kecil yang bekerja secara paralel.

Inilah yang membuat GPU bisa menyelesaikan soal matematika tadi dengan cepat.

(Ini seperti mengerjakan tugas dari guru matematika yang sangat banyak. Cara cepatnya adalah dengan kerja kelompok, masing-masing mengerjakan satu soal)





Sumber:

http://www.jagatreview.com/2010/09/mengenal-teknologi-cuda-lebih-dekat/

http://rumaheditor.com/apa-itu-cuda-gpu-acceleration-dan-mercury-playback-engine/

Jumat, 01 Juni 2018

Quantum Computation


Nama : Rizky Riyadi Hidayat
Kelas : 4IA21
Mata Kuliah : Pengantar Komputasi Modern
Dosen : Indra Adi Permana




Apa itu Komputer Quantum?






Mesin Turing, yang dikembangkan oleh Alan Turing pada tahun 1930an, adalah perangkat teoretis yang terdiri dari pita rekaman dengan panjang tak terbatas yang terbagi menjadi kotak-kotak kecil. Setiap persegi bisa memiliki sebuah simbol (1 atau 0) atau dibiarkan kosong. Perangkat baca-tulis yang ada saat itu akan membaca simbol-simbol dan kekosongan ini, yang memberi mesin instruksi untuk melakukan program tertentu.

Nah, dalam mesin Turing kuantum, perbedaannya adalah pita rekaman itu ada dalam keadaan kuantum, seperti halnya kepala perangkat baca-tulis. Ini berarti bahwa simbol pada pita itu bisa berupa 0 atau 1, atau superposisi 0 dan 1; dengan kata lain simbol-simbolnya adalah 0 dan 1 (dan semua titik di antaranya) pada saat bersamaan. Sementara mesin Turing biasa hanya bisa melakukan satu perhitungan sekaligus, mesin Turing kuantum bisa melakukan banyak perhitungan sekaligus.

Komputer modern yang ada saat ini, seperti mesin Turing, bekerja dengan memanipulasi bit yang ada di salah satu dari dua keadaan ini: 0 atau 1. Komputer kuantum tidak terbatas pada dua keadaan. Komputer kuantum mengkodekan informasi sebagai quantum bits, atau qubit, yang biasa ditemukan dalam superposisi. Qubit mewakili atom, ion, foton atau elektron dan perangkat kontrol yang bekerja bersama sebagai memori komputer dan prosesor. Karena komputer kuantum dapat menampung banyak keadaan dan perhitungan ini secara bersamaan, komputer kuantum memiliki berpotensi untuk jadi jutaan kali lebih kuat daripada superkomputer paling kuat yang ada saat ini.


Bagaimana Cara Kerja Komputer Quantum?

Sampai saat ini, dua kegunaan yang paling menjanjikan untuk perangkat komputer kuantum itu adalah untuk melakukan pencarian kuantum dan anjak kuantum. Untuk memahami bagaimana pencarian kuantum bekerja, bayangkan jika Anda mencari nama dan nomor telepon tertentu pada Yellow Pages atau buku telepon dengan cara konvensional. Jika buku telepon tersebut memiliki 10.000 entri, rata-rata Anda perlu melihat sekitar setengah dari jumlah itu, yakni 5.000 entri, sebelum Anda berpotensi menemukan nama dan nomor yang dicari. Algoritma pencarian kuantum hanya perlu menebak 100 kali. Dengan 5.000 tebakan, sebuah komputer kuantum mampu menemukan 25 juta nama pada buku telepon tersebut.


Komputer Quantum Yang Ada Saat Ini

Suatu hari, para ahli percaya bahwa komputer kuantum akan menggantikan chip silikon, sama seperti transistor yang telah menggantikan tabung hampa udara. Tapi untuk saat ini, teknologi yang dibutuhkan untuk mengembangkan komputer kuantum semacam itu berada di luar jangkauan kita. Sebagian besar penelitian dalam komputasi kuantum masih sangat teoritis.

Saat ini, komputer kuantum paling maju kemampuannya tidak melampaui memanipulasi lebih dari 16 qubit. Artinya, kemampuannya jauh berbeda dengan aplikasi praktis. Namun, potensi komputer kuantum suatu hari bisa bekerja lebih cepat dan mudah untuk melakukan perhitungan yang sangat menyita waktu pada komputer konvensional tetap ada. Beberapa kemajuan penting telah dilakukan dalam komputasi kuantum dalam beberapa tahun terakhir.


Sumber:


https://www.labana.id/view/apa-itu-komputer-kuantum-dan-bagaimana-cara-kerjanya/2017/05/04/?fullview

Jumat, 20 April 2018

CLOUD COMPUTING dan GRID COMPUTING

Nama : Rizky Riyadi Hidayat
NPM : 59414719
Kelas : 4IA21
Mata Kuliah : Pengantar Komputasi Modern
Dosen : Indra Adi Permana



Pengertian / Definisi Cloud Computing.

Cloud computing mungkin masih samar terdengar bagi orang awam. Tetapi keberadaan cloud computing di era digital kini sebenarnya telah terasa di tengah masyarakat dalam kehidupan sehari hari seperti penggunaan email dan juga media sosial.

Secara umum, definisi cloud computing (komputasi awan) merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud computing.


Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.

Manfaat Cloud Computing Serta Penerapan Dalam Kehidupan Sehari – hari

Setelah penjabaran definisi singkat diatas tentu penggunaan teknologi dengan sistem cloud cukup memudahkan pengguna selain dalam hal efisiensi data, juga penghematan biaya. Berikut manfaat manfaat yang dapat dipetik lewat teknologi berbasis sistem cloud.
Semua Data Tersimpan di Server Secara Terpusat

Salah satu keunggulan teknologi cloud adalah memungkinkan pengguna untuk menyimpan data secara terpusat di satu server berdasarkan layanan yang disediakan oleh penyedia layanan Cloud Computing itu sendiri. Selain itu, pengguna juga tak perlu repot repot lagi menyediakan infrastruktur seperti data center, media penyimpanan/storage dll karena semua telah tersedia secara virtual.
Keamanan Data

Keamanan data pengguna dapat disimpan dengan aman lewat server yang disediakan oleh penyedia layanan Cloud Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi, dll.
Fleksibilitas dan Skalabilitas yang Tinggi

Teknologi Cloud menawarkan fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada dengan catatan bahwa pengguna (user) terkoneksi dengan internet. Selain itu, pengguna dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan data tanpa perlu membeli peralatan tambahan seperti hardisk. Bahkan salah satu praktisi IT kenamaan dunia, mendiang Steve Jobs mengatakan bahwa membeli memori fisik untuk menyimpan data seperti hardisk merupakan hal yang percuma jika kita dapat menyimpan nya secara virtual/melalui internet.
Investasi Jangka Panjang
Penghematan biaya akan pembelian inventaris seperti infrastruktur, hardisk, dll akan berkurang dikarenakan pengguna akan dikenakan biaya kompensasi rutin per bulan sesuai dengan paket layanan yang telah disepakati dengan penyedia layanan Cloud Computing. Biaya royalti atas lisensi software juga bisa dikurangi karena semua telah dijalankan lewat komputasi berbasis Cloud.

Penerapan Cloud Computing telah dilakukan oleh beberapa perusahaan IT ternama dunia seperti Google lewat aplikasi Google Drive, IBM lewat Blue Cord Initiative, Microsoft melalui sistem operasi nya yang berbasis Cloud Computing, Windows Azure dsb. Di kancah nasional sendiri penerapan teknologi Cloud juga dapat dilihat melalui penggunaan Point of Sale/program kasir.

Salah satu perusahaan yang mengembangkan produknya berbasis dengan sistem Cloud adalah DealPOS. Metode kerja Point of Sale (POS) ini adalah dengan mendistribusikan data penjualan toko retail yang telah diinput oleh kasir ke pemilik toko retail melalui internet dimanapun pemilik toko berada. Selain itu, perusahaan telekomunikasi ternama nasional, Telkom juga turut mengembangkan sistem komputasi berbasis Cloud ini melalui Telkom Cloud dengan program Telkom VPS dan Telkom Collaboration yang diarahkan untuk pelanggan UKM (Usaha Kecil-Menengah).

Cara Kerja Sistem Cloud Computing

Sistem Cloud bekerja menggunakan internet sebagai server dalam mengolah data. Sistem ini memungkinkan pengguna untuk login ke internet yang tersambung ke program untuk menjalankan aplikasi yang dibutuhkan tanpa melakukan instalasi. Infrastruktur seperti media penyimpanan data dan juga instruksi/perintah dari pengguna disimpan secara virtual melalui jaringan internet kemudian perintah – perintah tersebut dilanjutkan ke server aplikasi. Setelah perintah diterima di server aplikasi kemudian data diproses dan pada proses final pengguna akan disajikan dengan halaman yang telah diperbaharui sesuai dengan instruksi yang diterima sebelumnya sehingga konsumen dapat merasakan manfaatnya.

Contohnya lewat penggunaan email seperti Yahoo ataupun Gmail. Data di beberapa server diintegrasikan secara global tanpa harus mendownload software untuk menggunakannya. Pengguna hanya memerlukan koneksi internet dan semua data dikelola langsung oleh Yahoo dan juga Google. Software dan juga memori atas data pengguna tidak berada di komputer tetapi terintegrasi secara langsung melalui sistem Cloud menggunakan komputer yang terhubung ke internet.

Grid Computing

Pada kasus tertentu, ada kalanya sebuah organisasi menjalankan proses komputasi yang sangat kompleks yang menggunakan dan atau menghasilkan informasi dalam jumlah yang sangat besar. Dengan teknologi yang ada saat ini, pemrosesan dan penyimpanan informasi seperti ini “tidak mungkin” dilakukan oleh satu mesin. Coba bayangkan, berapa prosesor dan storage yang dibutuhkan?? Karena itulah muncul Grid sebagai solusinya.

Inti dari Grid computing adalah untuk mencapai performa dan hasil yang lebih baik dengan cara memanfaatkan sumber daya komputasi dari berbagai organisasi yang berbeda secara bersama-sama. Ian Foster memberikan sebuah definisi tentang sistem Grid, “A grid is a system that coordinates resources that are not subject to centralized control.. using standard, open, general-purpose protocols and interfaces.. to deliver nontrivial qualities of service“.

Berdasarkan definisi Ian Foster, sebuah sistem dapat disebut sebagai Grid jika sumber daya komputasi (resources) yang ada di dalamnya “tidak” dikelola secara terpusat. Sederhananya, terdapat beberapa organisasi berbeda yang masing-masing mengelola resource miliknya. Nantinya, resources dari beberapa organisasi tersebut secara dinamis akan dikelompokkan dalam sebuah Virtual Organizations (VO), untuk menyelesaikan suatu permasalahan tertentu. Dalam implementasinya, resources yang digunakan di dalam sebuah sistem Grid tidaklah sedikit dan sifatnya pun heterogen. Karena itu, dibutuhkan interface dan protokol standar yang bersifat terbuka. Dengan cara inilah, resources yang ada tersebut dapat saling berkolaborasi untuk menyelesaikan proses komputasi tertentu.



Tentu saja, Grid tidak sesederhana seperti yang mungkin kita bayangkan. Misalnya, bagaimana cara untuk memastikan bahwa resources yang ada hanya dapat diakses oleh user yang sah? Sistem Grid juga memerlukan banyak sekali service agar resources yang ada dapat saling berkoordinasi, seperti job schedulers, resource managers, information services, dll. Hal-hal inilah yang menjadi cakupan pembahasan dari Grid Computing.

Sebuah sistem Grid dapat dikembangkan dengan menggunakan berbagai macam sistem operasi yang ada saat ini. Sebagai contoh, dengan menggunakan salah satu distro Linux yang memang dikhususkan untuk clustering, yaitu Rocksclusters (http://www.rocksclusters.org). Pada distro ini, sudah dilengkapi dengan paket-paket yang dibutuhkan untuk keperluan Grid, seperti PBS, MPI dan juga Globus Toolkit (http://www.globus.org). NIS (Network Information System) serta NFS (Network File System) juga bisa langsung digunakan.



Sumber :

http://pusatteknologi.com/pengertian-manfaat-cara-kerja-dan-contoh-cloud-computing.html

http://alfarisi.web.id/articles/berkenalan-dengan-grid-computing/