Komputasi Modern
Quantum Gates
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 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.
Algoritma Shor bergantung pada hasil dari teori
bilangan. Hasil ini adalah: fungsi periodik. Dalam konteks algoritma Shor, n akan
menjadi bilangan yang akan difaktorkan. Jika dua bilangan tersebut adalah
coprime itu berarti bahwa pembagi umumnya adalah 1. Perhitungan fungsi ini
untuk jumlah eksponensial, dari itu akan mengambil waktu eksponensial pada
komputer klasik. Algoritma Shor memanfaatkan paralelisme kuantum untuk
melakukan jumlah eksponensial operasi dalam satu langkah.
2. Parallelism Concept
Paralelisme (parallelism) lahir dari pendekatan yang biasa
dipergunakan oleh para perancang sistem untuk menerapkan konsep pemrosesan
konkuren. Teknik ini meningkatkan kecepatan proses dengan cara memperbanyak
jumlah modul perangkat keras yang dapat beroperasi secara simultan disertai
dengan membentuk beberapa proses yang bekerja secara simultan pada modul-modul
perangkat keras tersebut. Secara formal, pemrosesan paralel adalah sebuah
bentuk efisien pemrosesan informasi yang menekankan pada eksploitasi dari
konkurensi kejadian-kejadian dalam proses komputasi.Pemrosesan paralel dapat terjadi
pada beberapa tingkatan (level) proses. Tingkatan tertinggi pemrosesan paralel
terjadi pada proses di antara banyak job (pekerjaan) atau pada program yang
menggunakan multiprogramming, time sharing, dan multiprocessing.
Multiprogramming kemampuan eksekusi terhadap beberapa proses perangkat lunak
dalam sebuah system secara serentak, jika dibandingkan dengan sebuah proses
dalam satu waktu, dan timesharing berarti menyediakan pembagian selang waktu
yang tetap atau berubah-ubah untuk banyak program. Multiprocessing adalah
dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan
mengalokasikan tugas kepada prosesor-prosesor tersebut. Multiprocessing sering
diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU
sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak.
Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di
antaranya, atau tidak sama sekali. Pemrosesan paralel dapat juga terjadi pada
proses di antara prosedurprosedur atau perintah perintah (segmen program) pada
sebuah program.
3. 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.
4. Architectural Parallel Computer
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.
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.
5. 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.
Sebagian besar komputer hanya dapat mengeksekusi satu
instruksi program pada satu waktu, tetapi karena mereka beroperasi begitu
cepat, mereka muncul untuk menjalankan berbagai program dan melayani banyak
pengguna secara bersamaan. Sistem operasi komputer memberikan setiap program
“giliran” pada prosesnya, maka itu memerlukan untuk menunggu sementara program
lain mendapat giliran. Masing-masing program dipandang oleh sistem operasi
sebagai suatu tugas dimana sumber daya tertentu diidentifikasi dan terus
berlangsung. Sistem operasi mengelola setiap program aplikasi dalam sistem PC
(spreadsheet, pengolah kata, browser Web) sebagai tugas terpisah dan
memungkinkan melihat dan mengontrol item pada daftar tugas. Jika program
memulai permintaan I / O, seperti membaca file atau menulis ke printer, itu
menciptakan thread. Data disimpan sebagai bagian dari thread yang memungkinkan
program yang akan masuk kembali di tempat yang tepat pada saat operasi I / O
selesai. Sementara itu, penggunaan bersamaan dari program diselenggarakan pada
thread lainnya. Sebagian besar sistem operasi saat ini menyediakan dukungan
untuk kedua multitasking dan multithreading. Mereka juga memungkinkan
multithreading dalam proses program agar sistem tersebut disimpan
dan menciptakan proses baru untuk setiap thread.
6. Pengantar Massage 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.
Sumber :
Dayat Suryana. 2012. Mengenal Komputer. Jakarta: CreateSpace
Independent Publishing Platform
RUMELHART, David E., et al. Parallel distributed
processing. Massachusetts: IEEE, 1988.
MAHLER, Gunter. Quantum Computation and Quantum
Information. Science, 2001, 292.5514: 57-57.
Komentar
Posting Komentar