Kamis, 09 Juni 2016
Parallel Computation
9:49 AM
No comments
1.
Parallel Concept
Komputasi paralel merupakan salah
satu teknik komputasi, dimana proses komputasinya dilakukan oleh beberapa resources (komputer) yang
independen, secara bersamaan. Komputasi
paralel biasanya diperlukan pada saat terjadinya pengolahan data dalam jumlah
besar (di industri keuangan, bioinformatika, dll) atau dalam memenuhi proses
komputasi yang sangat banyak. Selanjutnya, komputasi paralel ini juga dapat
ditemui dalam kasus kalkulasi numerik dalam penyelesaian persamaan matematis di
bidang fisika (fisika komputasi), kimia (kimia komputasi), dll. Dalam
menyelesaikan suatu masalah, komputasi paralel memerlukan infrastruktur mesin
paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan
mampu bekerja secara paralel.
Untuk itu diperlukan aneka perangkat
lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk
mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya
pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak
berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis
akan diolah secara paralel. Pemrograman paralel adalah teknik pemrograman
komputer yang memungkinkan eksekusi perintah / operasi secara bersamaan (komputasi
paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor
ganda dengan mesin paralel ) CPU. Bila komputer yang digunakan secara bersamaan
tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu
jaringan komputer lebih sering istilah yang digunakan adalah sistem
terdistribusi (distributed computing). Tujuan utama dari pemrograman paralel
adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa
dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan
yang bisa diselesaikan.
Analogi yang paling gampang adalah,
bila anda dapat merebus air sambil memotong-motong bawang saat anda akan
memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda
mengerjakan hal tersebut secara berurutan (serial). Atau waktu yang anda
butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua. Performa
dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed
up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda
memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman,
berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan
kecepatan sebanyak 2 kali.
2.
Distributed Processing
Kemampuan 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
maka prosesor yang lain akan mengambil alih tugasnya.
3.
Architectural Parallel
Computer
Embarasingly Parallel adalah
pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan
tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa
dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi,
lebih banyak peningkatan kecepatan yang bisa dicapai. 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.
Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan
alur data yang digunakan:
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.
Quantum Computation
9:37 AM
No comments
Quantum Computation merupakan alat hitung yang menggunakan mekanika
kuantum seperti superposisi dan keterkaitan, yang digunakan untuk
peng-operasi-an data. Perhitungan jumlah data pada komputasi klasik dihitung
dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan
dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari
partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa
mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam
hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu
logika baru yang sesuai dengan prinsip kuantum.
1.
Entanglement
Entanglement adalah efek
mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga
sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan
mereka. Quantum entanglement adalah bagian dari fenomena quantum mechanical
yang menyatakan bahwa dua atau lebih objek dapat digambarkan mempunyai hubungan
dengan objek lainnya walaupun objek tersebut berdiri sendiri dan terpisah
dengan objek lainnya. Quantum entanglement merupakan salah satu konsep yang
membuat Einstein mengkritisi teori Quantum mechanical. Einstein menunjukkan
kelemahan teori Quantum Mechanical yang menggunakan entanglement merupakan sesuatu
yang “spooky action at a distance” karena Einstein tidak mempercayai bahwa
Quantum particles dapat mempengaruhi partikel lainnya melebihi kecepatan
cahaya. Namun, beberapa tahun kemudian, ilmuwan John Bell membuktikan bahwa
“spooky action at a distance” dapat dibuktikan bahwa entanglement dapat terjadi
pada partikel-partikel yang sangat kecil.
2.
Pengoperasian Data Qubit
Komputer kuantum memelihara urutan
qubit. Sebuah qubit tunggal dapat mewakili satu, nol, atau, penting, setiap
superposisi quantum ini, apalagi sepasang qubit dapat dalam superposisi kuantum
dari 4 negara, dan tiga qubit dalam superposisi dari 8. Secara umum komputer
kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara
bagian yang berbeda secara bersamaan (ini dibandingkan dengan komputer normal
yang hanya dapat di salah satu negara n 2 pada satu waktu). Komputer kuantum
yang beroperasi dengan memanipulasi qubit dengan urutan tetap gerbang logika
quantum. Urutan gerbang untuk diterapkan disebut algoritma quantum.
Sebuah contoh dari implementasi
qubit untuk komputer kuantum bisa mulai dengan menggunakan partikel dengan dua
putaran menyatakan: “down” dan “up”. Namun pada kenyataannya sistem yang
memiliki suatu diamati dalam jumlah yang akan kekal dalam waktu evolusi dan
seperti bahwa A memiliki setidaknya dua diskrit dan cukup spasi berturut-turut
eigen nilai , adalah kandidat yang cocok untuk menerapkan sebuah qubit. Hal ini
benar karena setiap sistem tersebut dapat dipetakan ke yang efektif spin -1/2
sistem.
3.
Quantum Gates
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.
1. Pertama
mensimulasikan gerbang di babak pertama tingkat.
2. Jauhkan
hasil gerbang di tingkat d / 2 secara terpisah.
3. Bersihkan
bit ancillae.
4. Gunakan
mereka untuk mensimulasikan gerbang di babak kedua tingkat.
5. Setelah
menghitung output, membersihkan bit ancillae.
6. Bersihkan
hasil tingkat d / 2.
4.
Algoritma Shor
Algoritma Shor, dinamai
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 terhaadap
bilanga interger 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
mengalah kebisingan dan fenomena interferensi kuantum lainnya, algoritma Shor
dapat digunakan untuk memecahkan kriptografi kunci publik skema seperti banyak
digunakan skema RSA.
Langganan:
Postingan (Atom)