Darwin tarain blog keren

Pengantar Quantum Computation


Pendahuluan
Quantum Computation atau Komputasi kuantum adalah bidang studi difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat. Pengembangan komputer kuantum , jika praktis, akan menandai lompatan maju dalam kemampuan komputasi jauh lebih besar daripada yang dari sempoa ke modern superkomputer , dengan keuntungan kinerja di alam miliar kali lipat dan seterusnya. Komputer kuantum, mengikuti hukum fisika kuantum, akan memperoleh kekuatan pengolahan yang besar melalui kemampuan untuk berada di beberapa negara, dan untuk melakukan tugas-tugas menggunakan semua kemungkinan permutasi secara bersamaan. kini pusat penelitian di komputasi kuantum termasuk MIT, IBM, Oxford University, dan Los Alamos National Laboratory.

Unsur-unsur penting dari komputasi kuantum berasal dengan Paul Benioff, bekerja di Argonne National Labs, pada tahun 1981. Dia berteori sebuah operasi komputer klasik dengan beberapa prinsip kuantum mekanik. Tapi secara umum diterima bahwa David Deutsch dari Universitas Oxford memberikan dorongan penting untuk penelitian komputasi kuantum. Pada tahun 1984, ia berada di sebuah konferensi teori komputasi dan mulai bertanya-tanya tentang kemungkinan merancang sebuah komputer yang didasarkan hanya pada aturan kuantum, kemudian diterbitkan kertas terobosan beberapa bulan kemudian. Dengan ini, lomba mulai mengeksploitasi ide-idenya. Namun, sebelum kita menggali ke dalam apa yang dia mulai, itu bermanfaat untuk melihat pada latar belakang dunia kuantum.

Teori Quantum 
Perkembangan teori kuantum mulai tahun 1900 dengan presentasi oleh Max Planck ke Himpunan Fisika Jerman, di mana ia memperkenalkan ide bahwa energi ada dalam unit individu (yang disebut "kuanta"), seperti halnya masalah. Selanjutnya perkembangan oleh sejumlah ilmuwan selama tiga puluh tahun berikutnya menyebabkan pemahaman modern tentang teori kuantum. 

Entanglement
Entanglement adalah esensi komputasi kuantum karena ini adalah jalinan kualitas yang berhubungan dengan lebih banyak informasi dalam bit kuantum dibanding dengan bit komputing klasik,” demikian Andrew Berkley, salah satu peneliti. Temuan terbaru ini mendekatkan jalan menuju komputer kuantum dan mengindikasikan bahwa persimpangan Josephson pada akhirnya dapat digunakan untuk membangun komputer supercanggih.

Pengoperasian Data Qubit 
Qubit adalah objek quantum ideal yang diabstraksi dari prinsip-prinsip mekanika quantum. Bit bisa direpresentasikan dengan kawasan-magnetik pada cakram, voltase pada sirkuit, atau tanda grafit yang dibuat pensil pada kertas. Pemfungsian status-status fisikal klasik ini sebagai bit tidak bergantung pada detil bagaimana mereka direalisasikan. Demikian halnya, atribut-atribut qubit adalah independen dari representasi fisikal spesifik sebagai pusingan nukleus atom atau, katakanlah, polarisasi photon cahaya.
Bit digambarkan oleh statusnya, 0 atau 1. Begitu pula, qubit digambarkan oleh status quantumnya. Dua status quantum potensial untuk qubit ekuivalen dengan 0 dan 1 bit klasik. Namun dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial lain, disebut superposisi, yang menjerat kedua status hingga derajat bermacam-macam. Status-status qubit yang diperkenankan persisnya merupakan semua status yang harus bisa dicapai, secara prinsip, oleh bit klasik yang ditransplantasikan ke dalam dunia quantum. Status-status qubit ekuivalen dengan titik-titik di permukaan bola, di mana 0 dan 1 sebagai kutub selatan dan utara [lihat boks di bawah]. Kontinum status antara 0 dan 1 membantu perkembangan banyak atribut luar biasa informasi quantum.

Algoritma Shor
Sebuah komputer kuantum tidaklah sama dengan komputer klasik. Hal ini tidak dalam hal kecepatan saja, namun juga dalam hal pemrosesan informasi. Sebuah komputer kuantum dapat mensimulasikan sebuah proses yang tidak dapat dilakukan oleh komputer klasik. Hal ini membuat para ilmuwan harus memiliki paradigma baru dalam hal permrosesan informasi.

Selama ini, sebuah komputer bekerja didasarkan hukum-hukum fisika klasik. Informasi didefinisikan secara positif, direpresentasikan secara material dan diproses berdasarkan hukum-hukum fisika klasik. Ketika para fisikawan masuk ke dalam teori kuantum dalam pemrosesan informasi, mereka diharuskan untuk mengubah pandangan mereka mengenai pemrosesan informasi. Lebih jauh lagi, mereka harus mengembangkan sebuah sistem logika baru yang mengikuti hukum-hukum fisika kuantum. Sistem logika baru ini disebut dengan logika kuantum. Sistem logika kuantum berbeda sama sekali dengan sistem logika yang selama ini dipakai, yaitu sistem logika yang dikembangkan oleh Aristoteles.

Dengan sistem logika yang baru, para ilmuwan harus memikirkan sebuah algoritma yang berbeda untuk memproses informasi. Inilah yang sebenarnya merupakan inti dari komputer kuantum. Beberapa algoritma telah dikembangkan dan yang di antaranya telah berhasil ditemukan adalah algoritma Shor yang ditemukan oleh Peter Shor pada tahun 1995. Lewat algoritma Shor ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode ini disebut kode RSA. Jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.

Sebagai contoh, seorang pemecah kode akan membutuhkan waktu 8 bulan dan 1.600 pengguna internet jika ia akan memecahkan kode RSA yang disandikan dalam 129 digit. Jika hal ini mungkin, pengirim data hanya perlu menambahkan digit pada kode RSA-nya agar para pemecah kode membutuhkan waktu yang lebih lama lagi untuk memecahkan kuncinya. Sebagai gambaran, pemecahan kode RSA 140 (140 digit) akan membutuhkan waktu yang lebih lama dari umur alam semesta (15 miliar tahun). Namun, jika pemecah kode menggunakan komputer kuantum, mereka dapat memecahkan kode RSA 140 hanya dalam waktu beberapa detik. Hal inilah yang membuat waswas para pengguna channel komunikasi rahasia saat ini untuk melakukan pengiriman data secara aman.

Sumber :
http://my.opera.com/nduwun/blog/2011/05/27/komputasi-quantum 
http://sainstory.wordpress.com/2012/08/11/aturan-sederhana-untuk-dunia-quantum-yang-kompleks/ 
http://nangalitmajakarta.wordpress.com/teknologi-informasi/ 

Parallel Computation     

Parallelism Concept

Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.

Komputasi paralel adalah salah satu teknik 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 ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (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 satu masalah. Maka diperlukan perangkat lunak pendukung yang disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.

Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah kecil, membuat kinerja menjadi cepat.


Distributed Processing

Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

Parallel distributed computing dapat dibentuk dari :
         Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
         PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
         MPI (Message-Passing Interface) programming GUI untuk parallel computers.


Architectural Parallel Computer

1    1. Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining).

2    2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali.

3    3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda.

4    4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.



Pengantar Thread Programming

Dalam pemrograman komputer, sebuah thread adalah informasi terkait dengan penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan. Dari program point-of-view, sebuah thread adalah informasi yang dibutuhkan untuk melayani satu pengguna individu atau permintaan layanan tertentu. Jika beberapa pengguna menggunakan program atau permintaan bersamaan dari program lain yang sedang terjadi, thread yang dibuat dan dipelihara untuk masing-masing proses. Thread memungkinkan program untuk mengetahui user sedang masuk didalam program secara bergantian dan akan kembali masuk atas nama pengguna yang berbeda. Salah satu informasi thread disimpan dengan cara menyimpannya di daerah data khusus dan menempatkan alamat dari daerah data dalam register. Sistem operasi selalu menyimpan isi register saat program interrupted dan restores ketika memberikan program kontrol lagi. 

Terdapat 2 buah teknik pada thread, yaitu :
1    1. Static Threading
Teknik ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori yang tersedia, menggunakan program counter dan mengeksekusi program secara independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya dengan thread lain yang hendak menggunakan prosesor itu.

2    2. Dynamic Multithreading
Teknik ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk kemudahan karena dengannya programmer tidak harus pusing dengan protokol komunikasi, load balancing dan kerumitan lain yang ada pada static threading.


Pengantar Massage Passing, OpenMP

Massage Passing merupkan suatu teknik bagaimana mengatur suatu alur komunikasi messaging terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel , pemrograman-berorientasi objek , dan komunikasi interprocess . Dalam model ini, proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.
Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada setiap prosesor. 
Proses berkomunikasi dengan mengirimkan pesan satu sama lain.

OpenMP merupakan API yang mendukung multi-platform berbagi memori multiprocessing pemrograman C , C + + , dan Fortran , pada kebanyakan arsitektur prosesor dan system operasi , termasuk Solaris , AIX , HP-UX , GNU / Linux , Mac OS X , dan Windows platform. Ini terdiri dari satu set perintah kompiler, rutinitas library, dan variable lingkungan yang mempengaruhi perilaku run-time. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP Arsitektur Review Board (ARB atau OpenMP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD , IBM , Intel , Cray , HP , Fujitsu , Nvidia , NEC , Microsoft , Texas Instruments , Oracle Corporation , dan banyak lagi.



PengantarPemrograman CUDA GPU

CUDA (Compute Unified Device Architecture) merupakan suatu framework dari bahasa pemrograman yang mendukung bahas C , dimana mampu berkomunikasi langsung dengan GPU dan sangat mudah bekerjasama untuk segala multi-threading  parallel execution hampir diseluruh prosesor pada GPU. CUDA menggukan konsep nvcc sebagai ORM dalam object programmingnya. CUDA merupakan produk dari NVIDIA sebagai produsen graphic komputer ternama.

GPU (Graphics Processing Unit) merupakan prosesor yang didedikasikan untuk render cepat dalam pemrosesan polygon baik itu texturing dan shading. Terdiri atas banyak core namun masih menggunakan arsitektur yang sederhana, sehingga harganya relative murah dan di produksi secara masal untuk berbagai keperluan misalnya peneilitian/ilmuah.

Dalam permainan komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan). CUDA juga telah digunakan untuk mempercepat aplikasi non-grafis dalam biologi komputasi , kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.



Referensi 




Pengikut

My Blog darwin tarain

About this blog

Powered By Blogger

Cari Blog Ini

Tarain

Foto saya
heeh anak yang gokil and keren dhe

Total Tayangan Halaman

Entri Populer

.