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
Posting Komentar