Perihal :
Quantum Gates dan Algoritma Shor, Parallelism Concept, Distributed Processing, Architectural Parallel Computer, Pengantar Thread Programming, Pengantar Massage Passing
Quantum Gates
Dalam model sirkuit,
ilmuwan komputer menganggap perhitungan apapun setara dengan aksi dari sirkuit
yang dibangun dari beberapa jenis gerbang logika Boolean bekerja pada beberapa
biner (yaitu, bit string) masukan. Setiap gerbang logika mengubah bit masukan
ke dalam satu atau lebih bit keluaran dalam beberapa mode deterministik menurut
definisi dari gerbang. dengan menyusun gerbang dalam grafik sedemikian rupa
sehingga output dari gerbang awal akan menjadi input gerbang kemudian, ilmuwan
komputer dapat membuktikan bahwa setiap perhitungan layak dapat dilakukan.
Quantum Logic Gates,
Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel
yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat penghematan
yang besar dalam jumlah ancillae yang digunakan.
·
Pertama mensimulasikan
gerbang di babak pertama tingkat.
·
Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
·
Bersihkan bit ancillae.
·
Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
·
Setelah menghitung output, membersihkan bit ancillae.
·
Bersihkan hasil tingkat d / 2.
Sekarang kita telah melihat gerbang reversibel
ireversibel klasik dan klasik, memiliki konteks yang lebih baik untuk
menghargai fungsi dari gerbang kuantum. Sama seperti setiap perhitungan klasik
dapat dipecah menjadi urutan klasik gerbang logika yang bertindak hanya pada
bit klasik pada satu waktu, sehingga juga bisa setiap kuantum perhitungan dapat
dipecah menjadi urutan gerbang logika kuantum yang bekerja pada hanya beberapa
qubit pada suatu waktu.
Perbedaan utama adalah bahwa gerbang logika klasik
memanipulasi nilai bit klasik, 0 atau 1, gerbang kuantum dapat sewenang-wenang
memanipulasi nilai kuantum multi-partite termasuk superposisi dari komputasi
dasar yang juga dilibatkan. Jadi gerbang logika kuantum perhitungannya jauh
lebih bervariasi daripada gerbang logika perhitungan klasik.
Algoritma Shor
Algoritma Shor, dinamai oleh matematikawan Peter Shor, adalah algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat. Algoritma Shor dirumuskan pada tahun 1994. Inti dari algoritma ini merupakan bagaimana cara menyelesaikan faktorisasi terhadap bilangan integer atau bulat yang besar.
Efisiensi algoritma
Shor adalah karena efisiensi kuantum Transformasi Fourier, dan modular
eksponensial. Jika sebuah komputer kuantum dengan jumlah yang memadai qubit
dapat beroperasi tanpa mengalami kebisingan dan fenomena interferensi kuantum
lainnya, algoritma Shor dapat digunakan untuk memecahkan kriptografi kunci
publik skema seperti banyak digunakan skema RSA. Algoritma Shor terdiri dari
dua bagian:
- Penurunan yang bisa
dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban
-temuan.
- Sebuah algoritma kuantum
untuk memecahkan masalah order-temuan.
Hambatan runtime dari
algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat
dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing
klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit
untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan
paling praktis adalah dengan menggunakan meniru sirkuit aritmatika konvensional
dengan gerbang reversibel, dimulai dengan penambah ripple-carry. Sirkuit
Reversible biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n qubit.
Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan
kuantum transformasi Fourier, tetapi tidak kompetitif dengan kurang dari 600
qubit karena konstanta tinggi.
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.
2. 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)
3. Prosesor vektor :
beberapa prosesor yang disusun seperti pipeline.
4. Multiprosesor, yaitu
sebuah sistem yang memiliki 2 prosesor atau lebih yang saling berbagi memori.
5. Multikomputer, yaitu
sebuah sistem yang memiliki 2 prosesor atau lebih yang masing-masing prosesor
memiliki memori sendiri.
Distributed Processing
Distributed Data
Processing System yang dalam bahasa indonesianya Sistem pengolahan
data terdistribusi. Merupakan Sekumpulan komputer yang saling berkoneksi untuk
memenuhi kebutuhan pengolahan informasi dari satu entity perusahaan atau
organisasi modern. Didukung oleh komputer dan komunikasi, sistem pengolahan
data terdistribusi merupakan media pelayanan data.
Sistem pengolahan data
terdistribusi dalam arti lain yaitu meletakan sumber daya komputer pada tempat
dimana user berada, dimana sumber daya tersebut secara geografis
terpisah dan saling interkoneksi secara on-line atau secara langsung.
Contoh Sistem
Pengolahan Data terdistribusi
1. Internet
Jaringan komputer dan aplikasi yang heterogen.
Mengimplementasikan protokol internet.
2. Intranet
Jaringan yang teradminitrasi secara lokal.
Terhubung ke internet melalui feriwall.
Menyediakan layanan internet dan eksternal.
3. Mobile Computing ( Sistem Komunikasi telepon seluler)
Menggunakan frekuensi radio sebagai media transmisi
Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya
Dapat menghandle/dihububngkan dengan perangkat lain
4. Sistem Telepon
ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).
PSTN jaringan telepon/telekomunikasi yang semuanya digital.
5. Network File System (NTFS)
WWW
6. Arsitektur client server yang diterpakan dalam infrastruktur internet
Architectural Parallel Computer
Arsitektur komputer
paralel ada beberapa versi pengertian. Di sini saya akan menjelaskan sedikit
tentang arsitektur komputer menurut Flynn. Sesuai taksonomi Flynn,
seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :
SISD
Single Instruction –
Single Data. Komputer ini memiliki hanya satu prosesor dan satu instruksi yang
dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional.
Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360,
CDC 7600, Cray 1 dan PDP 1.
SIMD
Single Instruction –
Multiple Data. Komputer ini memiliki lebih dari satu prosesor, tetapi hanya
mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level
lock-step. Komputer vektor adalah salah satu komputer paralel yang menggunakan
arsitektur ini. Beberapa contoh komputer yang menggunakan model SIMD adalah
ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell
Processor (GPU).
MISD
Multiple Instructions –
Single Data. Teorinya komputer ini memiliki satu prosesor dan mengeksekusi
beberapa instruksi secara paralel. Sampai saat ini belum ada komputer yang
menggunakan model MISD karena sistemnya tidak mudah.
MIMD
Multiple Instructions –
Multiple Data. Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi
lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak
digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang
menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah
IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM
BG/L.
Sistem komputer paralel dibedakan dari cara kerja
memorinya menjadi shared memory dan distributed memory. Shared memory berarti
memori tunggal diakses oleh satu atau lebih prosesor untuk menjalankan
instruksi sedangkan distributed memory berarti setiap prosesor memiliki memori
sendiri untuk menjalankan instruksi. Komponen-komponen utama dari arsitektur
komputer paralel cluster PC antara lain:
·
Prosesor (CPU). Bagian paling penting
dalam sistem, untuk multicore terdapat lebih dari satu core yang mengakses
sebuah memori (shared memory).
·
Memori. Bagian ini dapat diperinci lagi
menjadi beberapa bagian penyusunnya seperti RAM, cache memory dan memori
eksternal.
·
Sistem Operasi. Software dasar untuk
menjalankan sistem komputer.
·
Cluster Middleware. Antarmuka antara
hardware dan software.
·
Programming Environment dan Software
Tools. Software yang digunakan untuk pemrograman paralel termasuk software
pendukungnya.
·
User Interface. Software yang menjadi
perantara hardware dengan user.
·
Aplikasi. Software berisi program
permasalahan yang akan diselesaikan.
·
Jaringan. Penghubung satu PC (prosesor)
dengan PC yang lain sehingga memungkinkan pemanfaatan sumberdaya secara
simultan.
Thread Programming
Thread adalah bentuk
kecil dari program yang akan dieksekusi oleh processor. Pada
sebuahsingle processor multi-threading biasanya terjadi dengan pengaturan waktu
pemrosesan thread.Jadi processor berganti-ganti dan membagi waktu untuk
menyelesaikan thread tetapi tidak
pada paralel computing. Dengan multi-processor atau multi-core, multi-threading bisa berlangsungsecara
bersamaan, maka di situ lah tantangan untuk para programmer agar dapat
membuat program yang dapat di proses secara paralel.
Threading dibagi menjadi 2 :
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.
Mekanisme ini terhitung
lambat karena disebut dengan statis. Selain itu teknik ini tidak mudah
diterapkan dan rentan kesalahannya
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. Concurrency
platform ini menyediakan scheduler yang melakukan load balacing secara
otomatis. Walaupun platformnya masih dalam pengembangan namun secara umum
mendukung dua fitur : nested parallelism dan parallel loops.
Massage Passing
Massage Passing merupkan suatu teknik bagaimana mengatur suatu alur komunikasi messagingterhadap proses pada system. Message passing dalam ilmu komputer adalah suatu bentukkomunikasi yang digunakan dalam komputasi paralel, pemrograman-berorientasi objek , dankomunikasi 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 segmenkode ke proses lainnya dan dapat melakukan sinkronisasi.
Referensi :
https://zarapintar.wordpress.com/2015/06/04/pengantar-quantum-computation/
https://fikrinm93.wordpress.com/2016/06/17/242/
Tidak ada komentar:
Posting Komentar