Parallel Computation
Komputasi
paralel adalah
jenis perhitungan dimana banyak perhitungan atau pelaksanaan proses dilakukan secara bersamaan. Masalah
besar seringkali dapat dibagi menjadi yang lebih kecil, yang kemudian dapat
dipecahkan pada saat bersamaan. Ada beberapa bentuk komputasi paralel yang
berbeda: tingkat bit , instruksi tingkat , data , dan paralelisme tugas . Paralelisme telah
digunakan selama bertahun-tahun, terutama pada komputasi berperforma tinggi , namun
minat terhadapnya telah berkembang akhir-akhir
ini karena kendala fisik yang mencegah penskalaan frekuensi . Sebagai konsumsi daya
(dan akibatnya pembangkit panas) oleh komputer telah menjadi perhatian dalam
beberapa tahun terakhir, komputasi paralel telah menjadi paradigma dominan
dalam arsitektur komputer , terutama dalam
bentuk prosesor multi-core.
PARALLELISM
CONCEPT
Banyak perkembangan-perkembangan baru
dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel. Pemrosesan
paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan
instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan
pelaksanaan kejadian-kejadian (1) dalam interval waktu yang sama, (2) dalam
waktu yang bersamaan atau (3) dalam rentang waktu yang saling tumpang tindih.
Sekalipun didukung oleh teknologi
prosesor yang berkembang sangat pesat, komputer sekuensial tetap akan mengalami
keterbatasan dalam hal kecepatan pemrosesannya. Hal ini menyebabkan lahirnya
konsep keparalelan (parallelism) untuk menangani masalah dan aplikasi yang
membutuhkan kecepatan pemrosesan yang sangat tinggi, seperti misalnya prakiraan
cuaca, simulasi pada reaksi kimia, perhitungan aerodinamika dan lain-lain.
Konsep keparalelan itu sendiri dapat
ditinjau dari aspek design mesin paralel, perkembangan bahasa pemrograman
paralel atau dari aspek pembangunan dan analisis algoritma paralel. Algoritma
paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk
menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu
masalah yang memerlukan kecepatan komputasi yang sangat tinggi.
DISTRIBUTED
PROCESSING
Pemrosesan paralel adalah pendekatan
komputasi untuk meningkatkan tingkat di mana satu set data diolah dengan
pengolahan bagian yang berbeda dari data pada waktu yang sama secara simultan
atau bersamaan pada sebuah komputer dan berfungsi memecah beban besar menjadi
beberapa beban kecil untuk mempercepat proses penyelesaian masalah.
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
Arsitektur
paralel komputer menurut Klasifikasi Flynn’s:
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.
Thanks to:
0 comments