1. Buat artikel tentang komputasi dan tentang pararel prosessing
2.
Jelaskan hubungan antara komputasi modern dengan pararel processing
3.
Referensi
PARALLEL PROCESSING
Pengertian Pemrosesan paralel (parallel
processing) adalah penggunakan 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 denganmemanfaatkan beberapa
komputer secara bersamaan. Biasanyadiperlukan saat kapasitas yangdiperlukan
sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun
karenatuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis
komputasi paralel inidiperlukan infrastruktur mesin paralel yang terdiri dari
banyak komputer yang dihubungkandengan jaringan dan mampu bekerja secara
paralel untuk menyelesaikan satu masalah. Untuk itudiperlukan 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.
Perusahaan
yang menggunakan komputasi parallel processing ialah PT AXA Mandiri dan ini
link website Home AXA Mandiri https://axa-mandiri.co.id/
website Profil Perusahaan AXA Indonesia https://axa.co.id/in/about/profile
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 paraleladalah 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:
· algoritma
· bahasa pemrograman
· compiler
Komputasi paralel membutuhkan:
· algoritma
· bahasa pemrograman
· compiler
Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang
mempunyai lebih darisatu. Bahkan juga ada komputer dengan ribuan CPU. Komputer
dengan satu CPU dapatmelakukan 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.
Contoh struktur pengiriman permintaan dan jawaban dari parallel
processing
Aristektur Komputer Parallel
Taksonomi Flynn dan model pemrosesan parallel
Keempat kelompok komputer tersebut adalah :
1. Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi
satu, tetapi jugadimungkinkan adanya
overlapping
dalam eksekusi setiap bagian instruksi (
pipelining
). Padaumumnya komputer SISD berupa komputer yang terdiri atas satu buah
pemroses (
single processor
). Namun komputer SISD juga mungkin memiliki lebih dari satu unit
fungsional(modul memori, unit pemroses, dan lain-lain), selama seluruh unit
fungsional tersebut beradadalam kendali sebuah unit pengendali. Skema
arsitektur global komputer SISD dapat dilihat padagambar .1 (a).
2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang
dikendalikan oleh sebuahunit pengendali yang
sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksiyang
sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan
datayang berbeda yang berasal dari aliran data yang berbeda pula. Skema arsitektur
global komputer SIMD dapat dilihat pada gambar .1 (b).
3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki
n
unit pemroses yang masing-masing menerima danmengoperasikan instruksi
yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses
memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi
masukan bagi pemroses berikutnya. Belum
ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe
untuk penelitian. Skema arsitektur global komputer MISD dapat dilihat padagambar
.1 (c).
4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara
n
pemroses. Hal ini disebabkanseluruh
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 dandisebut
loosely coupled
jika tingkat interaksi antara pemroses rendah.
Paralel prosessing komputasi adalah
proses atau pekerjaan komputasi di komputer denganmemakai suatu bahasa
pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara
umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi
biladibandingkan dengan pemakaian komputasi pada komputer tunggal.Berikut ini
adalah gambar perbedaan antara komputasi tunggal dengan parallel komputasi :
a)Komputasi Tunggal / serial b)Komputasi Paralel
Message Passing Interface (MPI).
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk
membuatsebuah aplikasi yang dapat dijalankan secara paralel. Proses yang
dijalankan oleh sebuah aplikasidapat dibagi
untuk dikirimkan ke masing - masing compute node yang kemudian masing -masing compute node tersebut mengolah dan
mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel
tentu membutuhkan banyak pertimbangan - pertimbangandiantaranya adalah
latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor
MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi
pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah
proses, dimana masing-masing bekerjapada
beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada
mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain.
Pembagian data antar proses dilakukan dengan message passing, yaitu dengan
mengirim dan menerima pesan antar proses.MPI menyediakan
fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah1.
menulis kode paralel secara portable,2. mendapatkan performa yang tinggi dalam
pemrograman paralel, dan3. menghadapi permasalahan yang melibatkan hubungan data
irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
PVM (Parallel Virtual Machine)
Adalah paket software yang mendukung
pengiriman pesan untuk komputasi parallel antarkomputer. PVM dapat berjalan
diberbagai macam variasi UNIX atau pun windows dan telahportable untuk banyak
arsitektur seperti PC, workstation, multiprocessor dan superkomputer.Sistem PVM terbagi menjadi dua. Pertama adalah
daemon, pvmd, yang berjalan pada mesinvirtual masing-masing komputer.
Mesin virtual akan dibuat, ketika User mengeksekusi aplikasiPVM. PVM dapat dieksekusi melalui prompt UNIX
disemua host. Bagian kedua adalah libraryinterface rutin yang mempunyai banyak fungsi untuk komunikasi antar task
. Library ini berisikan rutin
yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasitask
dan konfigurasi mesin virtual.Salah aturan
main yang penting dalam PVM adalah adanya mekanisme program master
danslave/worker. Programmer harus membuat Kode master yang menjadi koordinator
proses danKode slave yang menerima, menjalankan, dan mengembalikan hasil
proses ke komputer master.Kode master
dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master.Masing-masing
program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masingkomputer. Jika arsitektur komputer untuk komputasi
paralel semua sama,
(misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasididistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses kefilesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan diunix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset padakomputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bilanama user di masing-masing komputer berbeda.2. Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan/etc/hosts/hosts.equiv.3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM.Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dankemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satuatau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutinawalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TIDini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yangmengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem.
(misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasididistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses kefilesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan diunix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset padakomputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bilanama user di masing-masing komputer berbeda.2. Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan/etc/hosts/hosts.equiv.3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM.Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dankemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satuatau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutinawalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TIDini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yangmengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem.
Secara umum, langkah implementasi komputasi parallel sebagai berikut :1.
Jalankan PVM daemon pada setiap mesin dalam cluster 2. Jalankan program master
pada master daemon3. Master daemon akan menjalankan proses slave.