Tugas M10 Komputasi Modern
Tugas M10 Komputasi Modern
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.
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.
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 :
- Komputer
Array.
- 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)
- Prosesor
vektor : beberapa prosesor yang disusun seperti pipeline.
- Multiprosesor,
yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang saling
berbagi memori.
- Multikomputer,
yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang masing-masing
prosesor memiliki memori sendiri.
Distributed Processing
Yang dimaksud Distribusi Processing adalah 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.
Contoh dari Distributed Data Processing
System adalah: ATM, komputer yang dirancang untuk tugas-tugas melaksanakan
proyek, analisis finansial, penjadwalan waktu dan akuntansi. Contoh lainnya,
pengolahan data pada server yahoo yang tersebar hampir di seluruh dunia secara
distribusi, setiap wilayah mempunyai server masing-masing. Seperti di indonesia
mempunyai server tersendiri sehingga pengolahan data tidak di pusat melainkan
di wilayah masing-masing.
Distributed data processing / pemrosesan data
terdistribusi
Merupakan sekumpulan peralatan pemrosesan yang saling
terhubung melalui jaringan yang mengerjakan tugas-tugas tertentu.
Pemrosesan terdistribusi dapat dikelompokan berdasarkan
beberapa kriteria yaitu :
- Struktur
antar hubungan
- Kesaling
tergantungan komponen-komponen.
- Keselarasan
antar komponen.
Architectural Parallel Computer
Arsitektur Komputer Paralel adalah sekumpulan elemen pemroses (Processing
Elements) yang bekerjasama dalam menyelesaikan sebuah masalah besar. Komputasi
paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat
kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam
jumlah besar ataupun karena tuntutan proses komputasi yang banyak.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur
mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan
jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah.
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. Untuk melakukan berbagai jenis komputasi paralel
diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang
dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang
biasa disebut middleware yang berperan mengatur distribusi antar titik dalam
satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi.
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.
Jenis-jenis Thread Berdasarkan Waktu Penciptaannya
1. Static threads
Jumlah thread yang akan dibuat ditentukan saat penulisan dan kompilasi program.
Tiap thread langsung dialokasikan stack tetap.
• Keunggulan = sederhana.
• Kelemahan = tidak fleksibel.
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.
Terdapat beberapa metode dalam pengiriman pesan yaitu :
· Synchronous Message Passing
Pengirim menunggu untuk mengirim pesan sampai penerima siap untuk menerima
pesan. Oleh karena itu tidak ada buffering. Selain itu Pengirim tidak bisa
mengirim pesan untuk dirinya sendiri.
· Ansynchronous Message Passing
Pengirim akan mengirim pesan kapanpun dia mau. Pengirim tidak peduli ketika
penerima belum siap untuk menerima pesan. Oleh karena itu diperlukan buffering
untuk menampung pesan sementara sampai penerima siap menerima pesan. Selain itu
pengirim dapat pesan untuk dirinya sendiri.
Komentar
Posting Komentar