Pemrosesan paralel (parallel processing) adalah penggunaaan lebih dari satu
CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel
processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.
Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat
dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
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.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan
eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu
(prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa
komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu
yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel
membutuhkan:
1.
algoritma
2.
bahasa pemrograman
3.
compiler
Sebagaian besar komputer hanya mempunyai satu CPU, namun ada yang
mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer
dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya
dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan
software canggih yang disebut distributed processing software. Parallel
processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa
program sekaligus. Parallel processing disebut juga parallel computing. Yang
terdiri dari empat kelompok komputer.
TUJUAN
PARALLEL PROCESSING
Tujuan utama dari pemrosesan paralel adalah
untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan
secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa
diselesaikan.
PARALLEL PROCESSING
Komputasi paralel 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.
Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang
memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang
digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah
yang terhubung dalam satu jaringan komputer, biasanya.
A. Jaringan Interkoneksi
Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan
suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul
memori sangat penting dalam lingkungan komputer. Menggunakan arsitektur
bertopologi bus bukan merupakan solusi yang praktis karena bus hanya sebuah
pilihan yang baik ketika digunakan untuk menghubungkan komponen-komponen dengan
jumlah yang sedikit. Jumlah komponen dalam sebuah modul IC bertambah
seiring waktu. Oleh karena itu, topologi bus bukan topologi yang cocok untuk
kebutuhan interkoneksi komponenkomponen di dalam modul IC.
Komputer yang terhubung dengan komputer yang lain
melalui jaringan dapat melakukan koneksi dengan konfigurasi jaringan. Koneksi
ini memerlukan sebuah Port Koneksi pada kartu jaringan (NIC = Network Interface
Card) yang berfungsi sebagai jembatan dari komputer ke sebuah jaringan.
Peralatan yang dibutuhkan untuk koneksi antara jaringan diantaranya adalah :
1. NIC (Network Interface Card)
Fungsi NIC
selain itu adalah untuk mengubah data paralel dalam sebuah bus komputer ke
dalam bentuk data serial. Untuk koneksi ini NIC membutuhkan sebuah penghubung
yang berupa kabel, kabel ini dapat berupa kabel UTP atau Fiber Optic.
2. HUB
Hub ini ada
dua jenis, yaitu passive hub dan active hub. Fungsi hub adalah sebagai terminal
penghubunga antara dua koneksi atau lebih. Dimana hub ini sebagai terminal
persinggahan dan menambah node didalam sebuah LAN (Local Area Network).
3. Repeater
Repeater ini
berfungsi memperluas cakupan suatu jaringan tanpa melakukan filter terhadap
sinyal yang masuk dan keluar. Tugas utamanya mensikronisasikan dan
mentransmisikan ulang sinyal dari suatu segmen ke segmen yang lain didalam
sebuah jaringan.
4. Bridge
Fungsi
Bridge kurang lebih sama dengan repeater namun Bridge melakukan filter terhadap
sinyal, sehingga setiap segmen tidak dipengaruhi oleh segmen yang lain. Selain
itu Bridge juga dapat menghubungkan jaringan yang berbeda segmen protokol
aksesnya, namun dengan syarat protokol komunikasinya sama.
5. Router
Fungsi
router adalah menentukan jalur routing dan mengirimkan paket-paket informasi
pada internet yang bekerja pada layer 3 OSI.
B.
Mesin SIMD dan MIMD
1. SIMD
Komputer yang mempunyai beberapa
unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor
menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data
yang berbeda.
SIMD adalah
singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah
dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk
menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti
yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali
dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan
pada komputer pribadi.
2. MIMD
Organisasi komputer yang memiliki
kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya
multiprosesor dan multikomputer termasuk dalam kategori ini.
MIMD
(Multiple Instruction stream-Multiple Data stream), pada sistem komputer MIMD
murni terdapat interaksi di antara n pemroses. Hal ini disebabkan seluruh
aliran dari dan ke memori berasal dari space data yang sama bagi semua
pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara
pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara
pemroses rendah.
MIMD
(Multiple Instruction stream-Multiple Data stream), pada sistem komputer MIMD
murni terdapat interaksi di antara n pemroses. Hal ini disebabkan seluruh
aliran dari dan ke memori berasal dari space data yang sama bagi semua
pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara
pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara
pemroses rendah.
Running Time
Running time
adalah waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah
pada sebuah komputer paralel dihitung mulai dari saat algoritma mulai hingga
saat algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada
saat yang bersamaan, maka running time dihitung mulai saat komputasi pada
prosesor pertama dimulai hingga pada saat komputasi pada prosesor terakhir
selesai.
Counting Steps
Untuk
menentukan running time, secara teoritis dilakukan analisa untuk menentukan
waktu yang dibutuhkan sebuah algoritma dalam mencari solusi dari sebuah
masalah. Hal ini dilakukan dengan cara menghitung banyaknya operasi dasar, atau
step (langkah), yang dilakukan oleh algoritma untuk keadaan terburuknya (worst
case).
Langkah-langkah
yang diambil oleh sebuah algoritma dibedakan ke dalam dua jenis yaitu :
·
Computational step
Sebuah
computational step adalah sebuah operasi aritmetika atau operasi logika yang
dilakukan terhadap sebuah data dalam sebuah prosesor.
· Routing
step.
Pada routing
step, sebuah data akan melakukan perjalanan dari satu prosesor ke prosesor lain
melalui shared memory atau melalui jaringan komunikasi.
Speedup
· Pengukuran
speedup sebuah algoritma paralel adalah salah satu cara untuk mengevaluasi
kinerja algoritma tersebut.
· Speedup
adalah perbandingan antara waktu yang diperlukan algoritma sekuensial yang
paling efisien untuk melakukan komputasi dengan waktu yang dibutuhkan untuk melakukan
komputasi yang sama pada sebuah mesin pipeline atau paralel.
C. Arsitek Pengganti
Dalam bidang teknik komputer,
arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian
dasar dalam komputer atau bisa dikatakan rencana cetak biru dan deskripsi
fungsional kebutuhan dari perangkat keras yang didesain. implementasi
perencanaan dari masing-masing bagian seperti CPU, RAM, ROM, Memory Cache, dll
Referensi :
https://id.wikipedia.org/wiki/Interkoneksi
http://organkomputer.blogspot.co.id/2013/04/prosesor-paralel.html
http://www.academia.edu/7424831/Parallel_PROCESSING_Pemrosesan_paralel
http://organkomputer.blogspot.co.id/2013/04/prosesor-paralel.html
http://www.academia.edu/7424831/Parallel_PROCESSING_Pemrosesan_paralel
Tidak ada komentar:
Posting Komentar