Paralel Processing
Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan suatu permasalahan dari data input dengan suatu algoritma. Pemrosesan paralel (parallel processing) adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan maka akan semakin cepat. Tetapi pada saat dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan di antaranya.
Kebanyakan sebagian besar komputer hanya mempunyai satu CPU, namun ada juga yang mempunyai lebih dari satu CPU. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Tetapi, parallel processing ini memerlukan software yang canggih, software yang digunakan disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu hanya satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga dengan parallel computing.
Kebanyakan sebagian besar komputer hanya mempunyai satu CPU, namun ada juga yang mempunyai lebih dari satu CPU. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Tetapi, parallel processing ini memerlukan software yang canggih, software yang digunakan disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu hanya satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga dengan parallel computing.
Komputasi paralel adalah salah satu teknik yang melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dengan jumlah yang 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 biasanya disebut sebagai middleware yang berperan sebagai 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 lebih/banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari dibuatnya pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa cepat diselesaikan.
Komputansi parallel membutuhkan diantaranya adalah:
• algoritma
• bahasa pemrograman
• compiler
Arsitektur Komputer Parallel berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam :
1. Asymmetric Multiproce ssing (ASMP)
2. Symmetric Multiprocessing (SMP)
3. Non-uniform memory access (NUMA)multi processing
Perbandingan antara serial komputasi dengan parallel komputasi.
Pada sistem komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. Berdasarkan cara untuk mengorganisasikan memori ini komputer paralel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.
Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system (sistem memori terdistribusi). Sambungan langsung peer to peer yang digunakan untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dengan memori. Komunikasi data pada sistem paralel memori terdistribusi, juga memerlukan alat bantu komunikasi. Alat bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat ini adalah standar MPI (Message Passing Interface) atau standar PVM (Parallel Virtual Machine) yang keduanya bekerja diatas TCP/IP communication layer. Kedua standar ini MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine) memerlukan fungsi remote access agar dapat menjalankan program pada masing -masing unit prosesor.
Salah satu protocol yang dipergunakan dalam komputasi parallel adalah Network File System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui jaringan. NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis protokol transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC. NFS memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada diremote host seperti mengakses suatu file yang berada di lokal. Protokol yang digunakannya adalah protokol mount yang menentukan host remote dan jenis file sistem yang akan diakses dan menempatkan di suatu direktori, protokol NFS melakukan I/O pada remote file system. Protokol mount dan protokol NFS bekerja dengan menggunakan RPC dengan protokol TCP dan UDP. Kegunaan dari NFS pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap node slave dapat mengakses program yang sama pada node master. Software yang sangat diperlukan untuk mendukung Parallel komputasi adalah PGI CDK, dimana aplikasi ini telah dilengkapi dengan Cluster Development Kit dimana software ini telah memiliki feature yang sangat lengkap bila ingin melakukan komputasi dengan parallel prosessing karena software ini telah mensupport MPI (Message Passing Interface) untuk melakukan suatu perhitungan komputasi.
Hubungan Paralel Processing pada Komputasi Modern
Pada materi kali ini, hubungan yang dapat saya tarik adalah efisiensi dan ketepatan waktu untuk komputasi (prosesor) dalam pemecahan masalah pada komputer. Penggunaan komputer saat ini / komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Oleh sebab itu, peningkatan kinerja atau proses komputasi semakin diterapkan, salah satunya adalah dengan cara meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.