Prosesor Paralel
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.
A. Jaringan
Interkoneksi
Ada
5 komponen
1. CPU
2. Memori
3. Interface
: peralatan yang yangnmembawa pesanmasuk dan keluar dari CPU danMemori
4. Penghubung
: saluran fisik yang dilalui bit-bituntuk berpindah tempat
5. Switch
: peralatan yang memiliki banyak portinput dan port output
Komunikasi
diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu
media tertentu. Interkoneksi yang efektif antara prosesor dan modul
memorisangat penting dalam lingkungan komputer. Menggunakan arsitektur
bertopologi busbukan 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. Selain itu juga tidak dapat
diskalakan, diuji, dan kurang dapat disesuaikan, serta menghasilkan kinerja
toleransi kesalahan yang kecil. Di sisi lain, sebuah crossbar menyediakan interkoneksi penuh
diantara semua terminal dari suatu sistem
tetapi dianggap sangat kompleks,
mahal untuk membuatnya, dan sulit untuk dikendalikan. Untuk alasan ini jaringan
interkoneksi merupakan solusi media komunikasi yang baik untuk sistem komputer
dan telekomunikasi. Jaringan ini membatasi jalur-jalur diantara terminal
komunikasi yang berbeda untuk mengurangi kerumitan dalam menyusun elemen
switching .
B. Mesin
SIMD & Mesin MMID
Ø Mesin
SIMD
SIMD
adalah singkatan dari “Single Instruction, Multiple Data”, merupakan tentang
sebuah istilah dalam komputasi yang akan 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
super komputer skala besar, meski sekarang telah ditemukan pada komputer
pribadi. Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah
aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data
(data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh
operasinya adalah mengubah brightness dari sebuah gambar. Setiap dari sebuah gambar 24-bit berisi tiga buah
nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green),
dan biru (blue). Untuk melakukan perubahan brightness, nilai R, G, dan B akan
dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan)
terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan
(ditulis kembali) ke memori.
Prosesor
yang memiliki SIMD menawarkan dua keunggulan, yakni:
Data
langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa
data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data,
prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada
melakukan beberapa instruksi “ambil pixel ini, lalu ambil pixel itu, dst”,
sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu “ambil
semua pixel itu!” (istilah “semua” adalah nilai yang berbeda dari satu desain
ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan
(akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika
dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang
memberikan satu instruksi untuk satu data saja). Sistem SIMD umumnya hanya
mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam
satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat
beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data
secara sekaligus.
Ø Mesin
MMID
MIMD
adalah sebuah singkatan dari, “Multiple Instruction Stream-Multiple Data
Stream” yaitu sebuah komputer yang memiliki beberapa prosesor yang bersifat
otonomus yang mampu melakukan instruksi yang berbeda pada data yang berbeda.
Sistem terdistribusi umumnya dikenal sebagai MIMD, entah itu menggunakan satu
ruangan memori secara bersama-sama atau sebuah ruangan memori yang
terdistribusi. Pada sistem komputer MIMD murni terdapat interaksi di antara
pemrosesan. 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.
C. Arsitektur
Pengganti
Dalam
bidang teknik computer, arsitektur pengganti merupakan konsep perencanaan atau
struktur pengoperasian dasar dalam computer atau bisa dikatakan rencana cetak
biru dari deskripsi fungsional kebutuhan dari perangkat keras yang didesain,
implementasi perencanaan dari masing-masing bagian seperti CPU, RAM, ROM,
Memory Cache, dll.
SUMBER
: