Quantum Gates

 

Quantum Gates

Quantum Gates adalah sebuah gerbang kuantum yang dimana berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 menjadi qubits. dengan demikian Quantum gates mempercepat banyaknya perhitungan bit pada waktu bersamaan. Quantum Gates adalah blok bangunan sirkuit kuantum, seperti klasik gerbang logika yang untuk sirkuit digital konvensional.

 

Quantum Gates / Gerbang Quantum merupakan sebuah aturan logika / gerbang logika yang berlaku pada quantum computing. Prinsip kerja dari quantum gates hampir sama dengan gerbang logika pada komputer digital. Jika pada komputer digital terdapat beberapa operasi logika seperti AND, OR, NOT, pada quantum computing gerbang quantum terdiri dari beberapa bilangan qubits, sehingga quantum gates lebih susah untuk dihitung daripada gerang logika pada komputer digital.

 

Algoritma Shor

Algoritma Shor adalah algoritma untuk kuantum komputer yang berguna mencari faktor suatu bilangan yang sangat besar. Proses ini dapat memecahkan RSA, public-key cryptosystem yang paling umum digunakan. Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, 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.

 

Parallelism Concept

 

Komputasi paralel didefinisikan sebagai penggunaan sekumpulan sumberdaya komputer secara simultan untuk menyelesaikan permasalahan komputasi. Secara prinsip komputer paralel membagi permasalahan sehingga menjadi lebih kecil untuk dikerjakan oleh setiap prosesor / CPU dalam waktu yang bersamaan/simultan / concurrent dan prinsip ini disebut paralelisme. Konsep program parallel :

 

  Memerintahkan set instruksi (pandangan programmer).

 

  File executable (pandangan sistem operasi)

 

Pada dasarnya, konsep parallel system merupakan suatu bentuk penawaran solusi dari proses computing yang terlalu berat, sehingga dapat dipecah sedemikian hingga tidak memberatkan system kerja komputer itu sendiri

 

Berdasarkan tingkat paralelismenya prosesor paralel dapat dibagi menjadi beberapa tingkat(level) sebagai berikut :

 

1. Komputer Array :

 

a. Prosesor array : beberapa prosesor yang bekerja sama untuk mengolah set instruksi yang sama dan data yang berbeda – beda atau biasa disebut SIMD (Single Instruction-stream Multiple Data)

 

b. Prosesor vektor : beberapa prosesor yang disusun seperti pipeline.

 

2. Multiprosesor, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang saling berbagi memori.

 

3. Multikomputer, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang masing-masing prosesor memiliki memori sendiri.

 

Jenis-Jenis Pemrosesan Paralel

 

Pemrosesan paralel dapat dibagi ke dalam beberapa klasifikasi, sebagai berikut :

 

1. Berdasarkan simetri penjadwalannya, pemrosesan parallel dapat dibagi dalam beberapa jenis:

 

a) Asymmetric Multiprocessing (ASMP)

 

b) Symmetric Multiprocessing (SMP)

 

c) ClusteringPoliteknik Telkom Sistem Komputer

 

2. Berdasarkan aliran instruksi dan datanya, pemrosesan parallel dapat dibagi dalam beberapa jenis:

 

a) SISD (Single Instruction on Single Data Stream)

 

b) SIMD (Single Instruction on Multiple Data Stream)

 

c) MISD (Multiple Instruction on Single Data Stream)

 

d) MIMD (Multiple Instruction on Multiple Data Stream)

 

3. Berdasarkan kedekatan antar prosesor, pemrosesan parallel dapat dibagi dalam beberapa jenis:

 

a) Multikomputer (Loosely Coupled/ local memory) dengan memori yang terdistribusi

 

b) Multiprosesor (Tightly Coupled/ global memory) dengan memori yang dapat digunakan bersama (shared memory)

 

Distributed Processing

Mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih tugasnya.

 

Architectural parallel computer

                Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan komputer dan program berdasarkan banyaknya set instruksi yang dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut.

 1. SISD (Single Instruction stream, Single Data stream) Komputer tunggal yang mempunyai satu unit kontrol, satu unit prosesor dan satu unit memori Instruksi dilaksanakan secara berurut tetapi boleh juga overlap dalam tahapan eksekusi (overlap) Satu alur instruksi didecode untuk alur data tunggal.

 

 2. SIMD (Single Instruction stream, Multiple Data stream) Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.

 

 3. MISD (Multiple Instruction stream, Single Data stream) Sampai saat ini struktur ini masih merupakan struktur teoritis dan belum ada komputer dengan model ini.

 

 4. MIMD (Multiple Instruction stream, Multiple Data stream) Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam kategori ini.

 

               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.

               Sejarah OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun berikutnya OpenMP Architecture Review Board (ARB) merilis standart C / C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun 2002 dirilis versi 2.0 untuk C / C++. Pada tahun 2005 dirilis versi 2.5 yang merupakan pengabungan fotran, C, dan C++/ pada mei 2008 versi 3.0 yang terdapat didalmnya konsept tasks dan task construct.                      OpenMP mengimplementasi multithreading. Bagian kode yang akan dijalankan secara parallel ditandai sesuai dengan Preprocessor directif sehingga akan membuat thread-thread sebelum dijalnkan. Setiap thread memiliki id yang di buat mengunakan fungsi ( omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fortran). Secara default, setiap thread mengeksekusi kode secara parallel dan independent. "Work-sharing constructs" dapat dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi OpenMP berada pada file header yang berlabel “omp.h” di C / C++

 

 

 

Pengantar Thread Programming

 

Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah (instruksi) yang dapatdilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir sebenarnya mirip dengan  roses, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat  dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing  (sama dengan time-division multipleks), di manasebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu. Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi denganthread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.

 

Karakteristik Thread

 

Proses merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya. Thread-thread di satu proses memakai bersama sumber daya yang dimiliki proses, yaitu :

 

• Ruang alamat.

 

• Himpunan berkas yang dibuka.

 

• Proses-proses anak.

 

• Timer-timer.

 

• Snyal-sinyal.

 

• Sumber daya-sumber daya lain milik proses.

 

 

 

Pengantar Message Passing

 

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 :

1.  Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.

2. Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada setiap prosesor.

3. Proses berkomunikasi dengan mengirimkan pesan satu sama lain.

 

 

Referensi :

https://mamat.co/quantum-komputer/ diakses pada tanggal 20 Juni 2021

https://id.quora.com/Apa-itu-Algoritma-Shor diakses pada tanggal 20 Juni 2021

https://helmifadhiel.wordpress.com/2018/04/17/quantum-computation-entanglement-pengoperasian-data-qubit-quantum-gates-dan-algoritma-shor/ diakses pada tanggal 20 Juni 2021

https://kamuslengkap.com/kamus/komputer/arti-kata/distributed-processing diakses pada tanggal 20 Juni 2021

http://debelist.blogspot.com/2016/05/parallel-computation-pengantar-message.html diakses pada tanggal 20 Juni 2021

http://sweetesthonney.blogspot.com/2014/07/architecture-parallel-computing.html diakses pada tanggal 20 Juni 2021

http://aliciaos.blogspot.com/2018/04/parallelism-concept.html diakses pada tanggal 20 Juni 2021

Komentar

Postingan Populer