Paralellism Concept
Teknologi komputasi parallel sudah
berkembang lebih dari dua dekade, penggunaannya semakin beragam mulai dari kebutuhan
perhitungan di laboratorium fisika nuklir,simulasi pesawat luar angkasa, hingga
prakiraan cuaca. Komputasi parallel didefinisikan sebagai penggunaan sekumpulan
sumber daya computer secara simultan untuk menyelesaikan permasalahan komputasi.
Secara prinsip computer parallel membagi
permasalahan sehingga menjadi lebih kecil untuk dikerjakan oleh setiap prosesor
(CPU) dalam waktu yang bersamaan / simultan (concurrent). Prinsip ini disebut paralelisme.
Paralelisme dalam komputasi parallel
merupakan hal yang diciptakan dan dimanfaatkan. Sebenarnya prinsip paralelisme juga
sudah diterapkan dalam computer serial missal dengan pipelining dan superscalar-nya
namun demikian tidak memberikan solusi terbaik dalam hal meningkatkan performansi
dikarenakan terbatasnya kemampuan untuk menambah kecepatan prosesor dan fenomena
memory bottleneck.
Ada beberapa tingkatan paralelisme
dalam komputasi khususnya pada prosesor, diantaranya : 1)Paralelisme bit-level.
Contoh: prosesor 32bit dan prosesor64bit.
2)Paralelisme instructionset-level.
Contoh: CISC dan RISC.
3)Paralelisme thread-level.
Contoh: Intel hyperthreading
Paralelisme lain yang juga berkembang
dalam komputasi parallel adalah paralelisme data dan paralelisme fungsi (task).
Perkembangan teknologi prosesor memberikan
pengaruh yang besar pada komputasi paralel. Mulai dari prosesor single core super
scalar, chip multi processor, prosesor multicore, hingga prosesor cell memberikan
kontribusi terhadap peningkatan performa si computer paralel. Supercomputer seperti
Roadrunner misalnya menggunakan teknologi multiprosesor, prosesor cell, atau
gabungan dari keduanya (hybridsystem). Jumlah prosesor yang dipakai HPC juga semakin
tidak terbatas sehingga arsitekturnya disebut Massively Parallel Processing (MPP).
Namun demikian penggunaan cluster PC menjadi tren dalam komputasi parallel karena
factor biaya dan skalabilitas.
1) SISD
4) 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.
Distributed Processing
Didistribusikan pengolahan
paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh
dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk
mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa
data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna
mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat
singkat.
Tipe lain dari komputasi paralel
yang kadang-kadang disebut "didistribusikan" adalah gagasan dari
sebuah komputer paralel cluster. Sebuah cluster akan banyak CPU terhubung
melalui kecepatan tinggi koneksi ethernet ke hub sentral (Server) yang memberi
masing-masing beberapa pekerjaan yang harus dilakukan. Metode cluster mirip
dengan metode yang dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU
secara langsung terhubung ke server, dan satu-satunya tujuan mereka adalah
untuk melakukan perhitungan yang diberikan kepada mereka.
Parallel distributed computing
dapat dibentuk dari :
- Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
- PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
- MPI (Message-Passing Interface) programming GUI untuk parallel computers.
Architectural Parallel Computer
Berdasarkan jumlah dan prinsip kerja prosesor pada computer paralel, A.J. Vander Steen dan J.Donggara menyebutkan terdapa tempat arsitektur utama computer parallel menurut Flynn (1972) yaitu :1) SISD
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. Klasifikasi
ini sekedar untuk melengkapi definisi komputer paralel. Beberapa contoh
komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1
dan PDP 1.
2) 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).
3) MISD
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. Sampai
saat ini belum ada komputer yang menggunakan model MISD.
4) 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. Adapun 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.
Reffrensi :
http://docplayer.info/38365452-Bab-ii-landasan-teori.html
http://djuneardy.blogspot.co.id/2015/05/konsep-arsitektur-paralel-pemrosesan.html