Disusun oleh :
Alvin Putra
[12.111.0839]
Fausta Leonardo
[12.111.0502]
Roberto
[12.111.0502]
Prosesor dan memori ini di dalam mesin paralel dapat dihubungkan (interkoneksi) secara statis
maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system.
Sambungan langsung peer to peer digunakan untuk menghubungkan semua prosesor.
Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dan
memori.
Gbr 1. Contoh struktur pengiriman, permintaan dan jawaban dari parallel processing
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa
program sekaligus. Parallel processing disebut juga parallel computing. Walaupun beberapa
orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa
melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang diberlakukan pada
sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan
komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan
beberapa prosesor atau komputer. Selain itu, komputasi paralel tidak menggunakan arsitektur
Von Neumann.
Beberapa alasan lain yang menjadikan suatu program menggunakan komputasi paralel antara
lain:
1. Untuk komputasi yang sangat kompleks, terkadang sumber daya (resource) yang ada sekarang
belum cukup mampu untuk mendukung penyelesaian terhadap permasalahan secara cepat.
2. Adanya keterbatasan memori pada mesin untuk komputasi serial
3. Adanya sumber daya non-lokal yang dapat digunakan melalui jaringan lokal atau internet.
4. Penghematan biaya pengadaan perangkat keras. Dengan menggunakan beberapa mesin yang
murah (P-Processor / Multicore) sebagai alternatif penggunaan satu mesin yang bagus tetapi
mahal.
3. Hambatan yang terkait dengan beban waktu untuk inisialisasi task, terminasi task, dan
sinkronisasi.
1. SISD (Single Instruction, Single Data) hanya menggunakan satu buah prosesor. Oleh karena
itu, model ini bisa dikatakan sebagai model untuk komputasi tunggal (Uni processor).
Sedangkan, ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa
prosesor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1,
IBM 360, CDC 7600, Cray 1 dan PDP 1.
Berdasarkan konfigurasi memori, MIMD dapat dibagi ke dalam 2 jenis yaitu shared memory
(tightly coupled) dan distributed memory (loosely coupled).
Shared memory adalah memori tunggal yang diakses oleh satu atau lebih prosesor untuk
menjalankan instruksi sedangkan distributed memory adalah setiap prosesor memiliki memori
sendiri untuk menjalankan instruksi.
Shared Memory (Tightly Coupled)
1. SMP (Symentric Multi Processing)
Sistem multiprosesor dengan masing-masing prosesor bekerja secara sendiri (tidak saling
bergantung). Pada sistem ini, sebuah CPU bisa jadi sedang menangani suatu proses. Misalkan,
sedang mengolah lembar kerja dan CPU lain sedang melakukan proses grafis.
2. NUMA (Non Uniform Memory Access)
Memori komputer rancangan yang digunakan dalam multiprocessor, dimana waktu akses
memori tergantung pada lokasi memori relatif terhadap prosesor.
Distributed Memory (Loosely Coupled)
Cluster adalah sekumpulan komputer (umumnya, server jaringan) independen yang beroperasi
serta bekerja secara erat dan terlihat oleh klien jaringan seolah-olah komputer-komputer tersebut
adalah satu buah unit komputer.
Proses menghubungkan beberapa komputer agar dapat bekerja seperti itu dinamakan clustering.
Komponen cluster biasanya saling terhubung dengan cepat melalui sebuah interkoneksi yang
sangat cepat atau bisa juga melalui jaringan LAN.
Cluster terbagi menjadi beberapa kategori, yakni :
1. Kluster untuk ketersediaan yang tinggi (High-availability clusters). Disebut juga failover
cluster pada umumnya, diimplementasikan untuk tujuan meningkatkan ketersediaan layanan
yang disediakan oleh kluster.
2. Kluster untuk pemerataan beban komputasi (Load-balancing clusters). Kluster kategori ini
beroperasi dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node
yang bekerja di belakang (back-end node).
3. Kluster hanya untuk komputasi (Compute clusters). Seringnya, penggunaan utama kluster
komputer adalah untuk tujuan komputasi, ketimbang penanganan operasi yang berorientasi
I/O seperti layanan web atau basis data.
4. Grid computing. Grid pada umumnya adalah compute cluster, tapi difokuskan pada
throughput seperti utitlitas perhitungan ketimbang menjalankan pekerjaan-pekerjaan yang
sangat erat yang biasanya dilakukan oleh supercomputer.
Implementasi
Daftar semi-tahunan organisasi TOP500, yang mencantumkan 500 komputer di dunia umumnya
mencakup banyak cluster. TOP500 adalah sebuah kolabarosi antara universitas Mannheim,
Universitas Tennesseee dan National Energy Research Scientific Computing Center di Lawrence
Berkeley National Laboratory.
Beberapa kluster yang ada di Indonesia adalah :
1. LPI Public Cluster (http://www.cluster.lipi.go.id)
2. Kluster Rekayasa Komputasional ITB (http://computational.engineering.or.id)
3. NL Grid UGM (http://grid.te.ugm.ac.id/docs/)
4. Grid UI (http://grid.ui.ac.id/)
Perbedaan antara arsitektur shared memory dan distributed memory sebagai berikut :
1. Pada shared memory, beberapa CPU menggunakan satu resource memory secara bersaamaan,
dimana antara CPU dengan memori tersebut dihubungkan dengan bus. Sedangkan, pada
arsitektur distributed memory, masing-masing CPU mempunyai sendiri (dalam satu
komputer) yag tersebar dan terintegrasi dalam satu jaringan komputer.
2. Pada shared memory, setiap CPU memiliki hak akses yang sama pada suatu memory
sedangkan pada distributed memory, penggunaan memori pada satu CPU sifatnya adalah
private. Maksudnya, suatu CPU tidak akan bisa mengakses alamat memori dari CPU yang
lain.
Komputasi paralel digunakan untuk menyelesaikan permasalahan komputasi yang besar atau
kompleks. Program paralel dibuat khusus atau dimodifikasi dari program serial. Algoritma
paralel digunakan untuk menggantikan algoritma serial menyesuaikan arsitektur komputer yang
digunakan. Berdasarkan klasifikasi arsitektur komputer paralel di atas komputer paralel shared
memory dan distributed memory tentu saja menggunakan algoritma paralel yang berbeda.
Algortima paralel menjelaskan langkah-langkah yang ditempuh oleh komputer paralel dalam
menyelesaikan permasalahan. Hal-hal yang ada dalam algoritma paralel meliputi :
1. Identifikasi terhadap beban permasalahaDan yang akan dikerjakan secara paralel.
2. Pemetaan porsi pekerjaan yang dibebankan kepada tiap-tiap proses.
3. Distribusi data input, output dan perantara yang terkait dengan program.
4. Pengaturan data yang diakses bersamaan oleh beberapa prosesor.
5. Menyelaraskan fungsi prosesor pada setiap langkah pekerjaan.
Ada beberapa model algoritma paralel, diantaranya : data parallel, task graph, work pool,
master-slave (message passing) dan pipeline. Algoritma paralel yang digunakan untuk arsitektur
cluster PC umumnya menggunakan message passing, dimana data dari memori sebuah PC
dikirimkan ke memori PC lain melalui suatu jaringan. Beberapa konsep penting terkait dengan
hal di atas adalah dekomposisi, mapping, dan granulatis.
Dekomposisi
Pembagian beban pekerjaan adalah hal utama dalam algoritma paralel, karena tujuan utama
komputasi paralel adalah mempercepat proses dengan mengerjakan permasalahan menggunakan
sumber daya yang dimiliki secara bersamaan. Berdasarkan objek yang dibagi, dekomposisi
dibedakan menjadi dekomposisi data (domain) dan dekomposisi fungsi.
Dekomposisi menyesuaikan permasalahan yang dikerjakan, misalnya untuk permasalahan yang
melibatkan perulangan (iterasi) input data yang besar dimana fungsi yang digunakan sulit untuk
diparalelkan maka dekomposisi data lebih baik digunakan. Untuk permasalahan lain dengan
fungsi yang beragam bisa menggunakan dekomposisi fungsi. Pemilihan dekomposisi ini sangat
berpengaruh pada performansi komputer paralel.
REFERENSI
http://akhmadilman46.blogspot.com/2013/05/komputasi-paralel.html
http://mahadisuta.blogspot.com/2012/12/implementasi-komputasi-paralel-dalam.html
https://ceerfullvhye.wordpress.com/
http://www.scribd.com/doc/244885180/MAKALAH-Komputasi-Paralel
http://puskaradim.blogspot.com/2010/06/universitas-baiturrahmah.html
http://mahar.staff.umm.ac.id/2013/01/14/parallelisme-dengan-shared-memory/
http://seto.citravision.com/berita-48-parallel-computation--architectural-parallel-computer.html
http://fiveriel.blogspot.com/2012/01/perbedaan-antara-multiprocessor-dan.html