Saturday 7 May 2016

Parallel Computation


Parallelism Concept.
komputasi paralel menjanjikan beberapa pesanan kenaikan besar dalam kemampuan kita untuk memecahkan masalah komputasi - intensif realistis, tetapi bergantung pada efisien merekapemetaan dan eksekusi pada arsitektur multiprosesor skala besar . Sayangnya, banyak aplikasi penting yang tidak teratur dan dinamis di alam , membuat merekaparalel pelaksanaan yang efektif tugas yang menakutkan . aplikasi tidak teratur ditandaioleh pola akses data non - seragam yang secara inheren bertentangan dengan sistem berbasis Cache yang mencoba untuk menyembunyikan latency memori dengan menyalin dan menggunakan kembali blok bersebelahan data. aplikasi tidak teratur dinamis bahkan lebih menantang karena mereka memiliki beban kerja komputasi yang tumbuh atau menyusut saat runtime , dan memerlukan load balancing dinamis untuk mencapai skala algoritmik pada mesin paralel


DISTRIBUSI PROCESSING
Definisi umum dari pemrosesan terdistribusi merupakan cara untuk mempercepat pengolahan data atau informasi dengan mendistribusikan pekerjaan atau intruksi ke banyak komputer yang telah dipilih untuk memberi kekuatan pemrosesan yang lebih cepat. Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.
Tujuan lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi. Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna tersebut. Transparansi ini memungkinkan pengguna sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut seolah-olah sebagai satu sistem komputer tunggal, seperti yang biasa digunakannya. Dalam prosesnya setiap komputer berinteraksi satu sama lain untuk mencapai tujuan bersama.

ARSITEKTUR KOMPUTER PARALEL
Karakteristik umum dari architectural parallel komputer adalah sebagai berikut:
Pertama dalam hal pembagian memori pada komputer parallel yang sangat bervariasi, namun pada umumnya memiliki kesamaan kemampuan untuk semua prosesor dalam mengakses semua memori sebagai ruang alamat global.
Kedua beberapa prosesor dapat beroperasi secara independen akan tetapi harus didukung oleh berbagai sumber daya memori yang sama.
Ketiga yaitu karakteristik yang terletak pada perubahan lokasi memori yang dipengaruhi oleh satu prosesor yang terlihat oleh proses – prosesor lainnya.
Keempat, karakteristiknya terlihat pada mesin memori bersama dapat dibagi menjadi dua kelas utama berdasarkan waktu akses memori: UMA dan NUMA.
Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :

SISD (Single Instruction Single Data Stream)
Single Instruction – Single Data. Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe pun tidak lagi menggunakan satu prosesor.

SIMD (Single Instruction Multiple Data Stream)
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.

MISD (Multiple Instruction Single Data Stream)
Multiple Instructions – Single Data. Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami.

MIMD (Multiple Instruction Multiple Data Stream)
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.

THREAD PROGRAMMING
Secara umum model pemrograman ini adalah jenis pemrograman memori yang digunakan secara bersamaan. Dalam Thread Programming Paralel, sebuah proses tunggal dapat memiliki beberapa jalur eksekusi yang konkuren. Implementasi thread bukanlah hal baru dalam teknik komputasi, Secara historis, perusahaan hardware menerapkan thread versi mereka sendiri. Implementasi tersebut berada secara substansial dari satu sama lain sehingga sulit bagi programmer untuk mengembangkan aplikasi yang thread portabel.

MESSAGING PASSING, OPEN MP
Jenis model ini menunjukkan karakteristik sebagai berikut:
Tugas pertukaran data melalui komunikasi dengan mengirim dan menerima pesan.
Transfer data biasanya memerlukan kerjasama operasi yang akan dilakukan oleh masing-masing proses.
(Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel  dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.

PEMROGRAMAN CUDA (GRAPHICAL PROCESSING UNIT)
Sebagaimana telah kita ketahui bahwa Cuda adalah platform komputasi paralel dan model pemrograman yang diciptakan oleh perusahaan perangkat keras dunia yaitu NVIDIA. hal ini memungkinkan peningkatan dramatis dalam kinerja komputasi dengan memanfaatkan kekuatan dari 

Graphics Processing Unit(GPU).
Sebuah GPU (Graphical Processing Unit) pada awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime /sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya (CPU), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
Penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.
CUDA merupakan singkatan dari Compute Unified Device Architecture,didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. VGA – VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile (VGA notebook).
Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia.  Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.
Keuntungan dengan CUDA sebenarnya tidak luput dari teknologi aplikasi yang ada. CUDA akan mempercepat proses aplikasi tertentu, tetapi tidak semua aplikasi yang ada akan lebih cepat walaupun sudah mengunakan fitur CUDA.

Sumber :
https://www.elsevier.com/journals/journal-of-parallel-and-distributed-computing/0743-7315?generatepdf=true

http://www-psych.stanford.edu/~jlm/papers/McCRogers03.pdf

http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20020090950.pdf

Pengantar Quantum Computation

A. Pendahuluan
Peran teknologi dalam pengembangan teknologi informasi (IT, information technology), sudah tidak diragukan lagi. Bertambahnya kecepatan komputer dari waktu ke waktu, meningkatnya kapasitas hardisk dan memori, semakin kecil dan bertambahnya fungsi telepon genggam, adalah contohcontoh
kongkrit produk teknologi di bidang IT. Teknologi komputer merupakan salah satu teknologi yang paling cepat mengalami perkembangan dan kemajuan. Komputer-komputer yang ada saat ini sudah mencapai kemampuan yang sangat mengagumkan. Tetapi kedahsyatan komputer tercanggih yang ada saat ini pun masih belum bisa memuaskan keinginan manusia yang bermimpi untuk membuat sebuah superkomputer yang benar-benar memiliki kecepatan super. Komputer yang nantinya layak untuk benar-benar disebut sebagai Komputer Super ini adalah Komputer Kuantum.

Teori tentang komputer kuantum ini pertama kali dicetuskan oleh fisikawan dari Argonne National Laboratory sekitar 20 mengaplikasikan teori fisika kuantum pada dunia komputer di tahun 1981. Komputer yang biasa kita gunakan sehari-hari merupakan komputer digital. Komputer digital sangat berbeda dengan komputer kuantum yang super itu. Komputer digital bekerja dengan bantuan microprocessor yang berbentuk chip kecil yang tersusun dari banyak transistor. Microprocessor biasanya lebih dikenal dengan istilah Central Processing Unit (CPU) dan merupakan ‘jantung’nya komputer. Microprocessor yang pertama adalah Intel 4004 yang diperkenalkan pada tahun 1971. Komputer pertama ini cuma bisa melakukan perhitungan penjumlahan dan pengurangan saja. Adapun permasalahannya adalah ketidakpuasan manusia terhadap kecepatan pada komputer konvensional yang ada sekarang. Kajian ini ditulis dengan tujuan untuk mengkaji sejauh mana teori-teori yang berkembang tentang komputer kuantum yang berkembang akhir-akhir ini. Sedangkan manfaat dari penelitian ini adalah untuk memperluas pengetahuan tentang teknologi komputer kuantum, khususnya bagi penulis dan pembaca.

B. Entanglement
 Quantum Computer atau komputer kuantum memanfaatkan fenomena ‘aneh’ yang disebut sebagai superposisi. Dalam mekanika kuantum, suatu partikel bisa berada dalam dua keadaan sekaligus. Inilah yang disebut keadaan superposisi. Dalam komputer kuantum, selain 0 dan 1 dikenal pula superposisi dari keduanya. Ini berarti keadaannya bisa berupa 0 dan 1, bukan hanya 0 atau 1 seperti di komputer digital biasa. Komputer kuantum tidak menggunakan Bits tetapi QUBITS (Quantum Bits). Karena kemampuannya untuk berada di bermacam keadaan (multiple states), komputer kuantum memiliki potensi untuk melaksanakan berbagai perhitungan secara simultan sehingga jauh lebih cepat dari komputer digital. Komputer kuantum menggunakan partikel yang bisa berada dalam dua keadaan sekaligus, misalnya atomatom yang pada saat yang sama berada dalam keadaan tereksitasi dan tidak tereksitasi, atau foton (partikel cahaya)yang berada di dua tempat berbeda pada saat bersamaan. Atom memiliki konfigurasi spin. Spin atom bisa ke atas (up), bisa pula ke bawah (down). Misalnya saat spin atom mengarah ke atas (up) kita beri lambang 1, sedangkan spindown adalah 0 (seperti dalam sistem binary di komputer digital). Atom-atom berada dalam keadaan superposisi (memiliki spin up dan down secara bersamaan) sampai kita melakukan pengukuran. Tindakan pengukuran memaksa atom untuk ‘memilih’ salah satu dari kedua kemungkinan itu. Ini berarti sesudah kita melakukan pengukuran, atom tidak lagi berada dalam keadaan superposisi. Atom yang sudah mengalami pengukuran memiliki spin yang tetap: up atau down.

Saat konsep ini diterapkan dalam komputer kuantum, keadaan superposisi terjadi pada saat proses perhitungan sedang berlangsung. Sistem perhitungan pada komputer kuantum ini berbeda dengan komputer digital. Komputer digital melakukan perhitungan secara linier, sedangkan komputer kuantum melakukan semua perhitungan secara bersamaan (karena ada multiple states semua perhitungan dapat berlangsung secara simultan di semua state). Ini berarti ada banyak kemungkinan hasil perhitungan. Untuk mengetahui jawabannya (hasil perhitungannya) kita harus melakukan pengukuran qubit. Tindakan pengukuran qubit ini menghentikan proses perhitungan dan memaksa sistem untuk ‘memilih’ salah satu dari semua kemungkinan jawaban yang ada Dengan sistem paralelisme perhitungan ini, kita bisa membayangkan betapa cepatnya komputer kuantum. 

Komputer digital yang paling canggih saat ini (setara dengan komputer kuantum 40 qubit) memiliki kemampuan untuk mengolah semua data dalam buku telepon di seluruh dunia (untuk menemukan satu nomor telepon tertentu) dalam waktu satu bulan. Jika menggunakan komputer kuantum proses ini hanya memerlukan waktu 27 menit. Ada satu fenomena ‘aneh’ lain dari mekanika kuantum yang juga dimanfaatkan dalam teknologi komputer kuantum: Entanglement. Jika dua atom mendapatkan gaya tertentu (outside force) kedua atom tersebut bisa masuk pada keadaan ‘entangled’. Atom-atom yang saling terhubungkan dalam entanglement ini akan tetap terhubungkan walaupun jaraknya berjauhan. Analoginya adalah atom-atom tersebut seperti sepasang manusia yang punya ‘telepati’. Jika yang satu dicubit, maka pasangannya (di mana pun ia berada) akan merasa sakit. Perlakuan terhadap salah satu atom mempengaruhi keadaan atom pasangannya. Jika yang satu memiliki spin up (kita baru bisa mengetahuinya setelah melakukan pengukuran) maka kita langsung mengetahui bahwa pasangannya pasti memiliki spin down tanpa kita perlu mengukurnya kembali. Ini
melambangkan sistem komunikasi yang super cepat. Komunikasi menggunakan komputer kuantum bisa mencapai kecepatan yang begitu luar biasa karena informasi dari satu tempat ke tempat lain dapat ditransfer secara instant. Begitu cepatnya sehingga terlihat seakan-akan mengalahkan kecepatan cahaya


C.  QUBIT
Perhatikan dua contoh binary berikut ini: 011 dan 111. Binary pertama adalah 3 dan binary ke dua adalah 7. Secara umum, tiga digit angka tersebut ditulis dengan 23 = 8 dalam konfigurasi yang berbeda yang mewakili integer 0 sampai 7. Namun, tiga digit angka yang tersimpan tersebut hanya mampu menyimpan satu angka pada suatu keadaan waktu. Qubit pada sistem quantum yang ditulis Boolen dengan angka 0 dan 1 diwakili oleh suatu ketetapan kuantum normal dan orthogonal mutual yang dinyatakan dengan {|0>,|1>}. Kedua bentuk tersebut membentuk sebuah basis komputasional dan yang lain ditulis sebagai superposisi yaitu α|0> + β|1> dimana _ dan _ dalam hal itu adalah | _ | 2 + | _ | 2 = 1. Qubit adalah tipikal sistem mikroskopik, misalnya : atom, nuclear spin dan polarisasi photon. Kumpulan dari qubit dinamakan sebuah register quantum yang berukuran nKita asumsikan bahwa informasi disimpan dalam bentuk binary register. Sebagai contoh angka 6 diwakili oleh |1> ⨂ |1>  |0>. Pada bentuk notasi yang rapi, |a> merupakan produk tensor |an-1>  |an-2> ....|a1>  |a0 dimana ai {0,1} dan mewakili sebuah register kuantum yang dengan nilai a= 20 a0 + 21 a1 + ......2n-1 an-1. Ada 2n macam keadaan, yang mewakili semua binary dari panjang atau angka dari 0 sampai 2n-1, dan kesemuanya membentuk basis komputatisional yang baik.

D. GATE PADA KOMPUTERKUANTUM
Pengolahan di atas, dan manipulasi qubit lainnya harus dilakukan oleh operasi gabungan (unitary operations). Gate logika kuantum merupakan alat yang melakukan operasi gabungan yang benar pada qubit yang terpilih dan pada waktu yang juga tepat. Jaringan kuantum adalah sebuah alat yang
terdiri dari gate logika kuantum yang langka  komputasionalnya disingkronisasikan dengan waktu. Output dari sejumlah gate dihubungkan oleh sejumlah kabel mengarah ke input lainnya. Ukuran jaringan adalah jumlah gate didalamnya.

Hadamard Gate
Gate kuantum yang paling umum adalah Gate Hadamardyaitu gate qubit tunggal melakukan transformasi gabunganyang dikenal dengan istilah Transformasi Hadamard,

Fase Shift Gate
Gate qubit tunggal lainnya – shift gate  diartikan sebagai |0>  |0> dan |1>  ei, atau, dalam notasi matriks, Gate Hadamard dan gate shift bisa digabungkan untuk membangun jaringan berikutnya (dengan ukuran 4) yang menghasilkan keadaan nyata yang paling umum dari qubit tunggal (sampai ke fase global), konsekuensinya, gate Hadamard dan gate shift sudah cukup untuk membangun operasi gabungan apapun pada qubit tunggal.

Note Gate
Supaya bisa melibatkan dua (atau lebih qubit) kita harus memperpanjang daftar gate kuantum menjadi gate dua qubit. Gate dua qubit yang paling terkenal adalah NOT kontrol (CNOT), juga dikenal sebagai XOR atau gate pengukuran. Gate tersebut meloncat ke target kedua jika qubit kontrol pertama adalah |1> dan tidak bisa melakukan apa-apa jika qubit kontrol nya adalah |0>. Gate tersebut diwakili oleh matriks gabungan.

Control-U Gate
Secara umum, dua jenis qubit gate control secara keseluruhan membentuk control U, untuk sejumlah tranformasi gabungan qubit tunggal U. Control U gate mengaplikasikan identitas transformasi ke qubit yang lebih rendah ketika qubit control berada dalam keadaan |1>. Peta gate |0>|y> ke |0>|y>. Gate Hadamard, semua shift gate, dan C-NOT, membentuk sebuah set universal gate, yaitu jika C-NOT dan Hadamard dan semua shift gate lainnya tersedia lalu operasi gabungan gate apapun bisa disimulasikan dengan O(4nn) seperti gate BBC95.

Sebuah komputer kuantum bisa dilihat sebagai jaringan kuantum (atau keluarga jaringan kuantum) dan komputasi kuantum didefinisikan sebagai sebuah evolusi gabungajaringan yang mengambil keadaan awal “input” kedalam keadaan akhir “output”. Kita telah memilih model jaringan komputasi, daripada mesin Turing, karena lebih sederhana, lebih mudah dijalankan dan lebih relevan ketika mengarah pada implementasi fisik dari komputasi kuantum.

E. Algoritma pada Quantum Computing

Para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

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 Grover
Algoritma Grover adalah sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut. Algoritma Grover menggambarkan bahwa dengan menggunakan pencarian model kuantum, pencarian dapat dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. Algoritma Grover juga dapat digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan masalah Collision.

Sumber : journal.portalgaruda.org/index.php/generic/.../46

Implementasi Ilmu Fisika pada Dunia Komputasi Modern



Komputasi Paralel merupakan teknik untuk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer yang independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan data yang sangat besar (lingkungan industri, bioinformatika dll) atau karena tuntutan komputasi yang banyak. Pada kasus yang kedua biasanya ditemukannya kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimai komputasi) dll. Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang nantinya dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan suatu masalah. Untuk itu maka digunakannya perangkat lunak pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.
Komputasi paralel berbeda dengan multitasking. Multitasking itu sendiri adalah komputer dengan processor tunggal yang dapat mengeksekusi beberapa tugas secara bersamaan. Sedangkan komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann. Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui 4 model komputasi yang digunakan, yaitu:

SISD
Merupakan singkatan dari Single Instruction, Single Data yaitu satu-satunya yang menggunakan arsitektur Von Neumann, karena pada model ini hanya menggunakan 1 processor saja. Oleh karena itu model ini dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

SIMD
Merupakan singkatan dari Single Instruction, Multiple Data. Model ini menggunakan banyak processor dengan instruksi yang sama, namun dengan data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. 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
Merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Sebagai contoh, dengan menggunakan kasus yang sama pada contoh model SIMD namun cara untuk menyelesaikannya yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.

MIMD
Pada Multiple Instruction, Multiple Data biasanya menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar. Dari perbedaan kedua gambar di atas, dapat kita simpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal.


Sumber : Artikel http://cluster.teori.fisika.lipi.go.id/