1.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.
2. 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.
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.
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
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.
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.
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.
Referensi
MAHLER,
Gunter. Quantum Computation and Quantum Information. Science, 2001,
292.5514: 57-57.
KELLER,
Robert M. Parallel program schemata and maximal parallelism I. Fundamental
results. Journal of the ACM (JACM), 1973, 20.3: 514-537.
RUMELHART,
David E., et al. Parallel distributed processing. Massachusetts: IEEE,
1988.
CHAWAN,
Mrs PM, et al. Parallel Computer Architectural Schemes. International
Journal of Engineering Research and Technology, 2012, 1.9.
NEGRI,
A., et al. Multi thread programming. 2001.
GILMER,
Justin, et al. Neural message passing for quantum chemistry. In: International
Conference on Machine Learning. PMLR, 2017. p. 1263-1272.