Parallel Processing
Parallel
processing adalah salah satu teknik melakukan beberapa proses secara bersamaan.
Hal ini dapat dilihat dalam 2 konteks,yaitu proses yang terjadi pada manusia
yaitu penggunaan otak yang memproses rangsangan secara bersamaan dan konteks
pada komputasi parallel pada mesin. Komputasi parallel merupakan bentuk
komputasi dimana banyak proses yang dilakukan secara bersamaan dengan
memanfaatkan beberapa komputer secara bersamaan.
Biasanya
diperlukan saat kapasitas yang iperlukan 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.
Hampir
seluruh perusahaan besar pasti menggunakan parallel processing ini, terutama
perusahaan yang membutuhkan kinerja prosesor yang cepat dan besar.
Hubungan Antara
Komputasi Modern dengan Paralel Processing
Kinerja
komputasi dengan menggunakan paralel processing itu menggunakan dan
memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah
dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada
menggunakan satu komputer saja. Komputasi dengan paralel processing akan
menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU
tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk
masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan
satu CPU saja.
Perusahaan yang
Menggunakan Parallel Processing dan Komputasi Modern
Mari
kita bahas lagi sedikit mengenao komputasi modern. Masih ingatkan jenis-jenis
dari komputasi modern? Silahkan “Baca” pada artikel yang pernah saya tulis
sebelumnya. Saya pernah menuliskan contoh” implementasi pada cloud computing”.
Kali ini, saya akan mengambil pengimplementasian dari Grid Computing. Kenapa
Grid computing? Komputasi grid atau grid computing adalah penggunaan sumber
daya komputer secara bersama-sama dimana komputer tersebut terpisah secara
geografis. Komputasi grid ini biasanya digunakan untuk memecahkan suatu
permasalahan berskala besar.
Grid Computing
Memiliki Persamaan dengan Parallel Processing
Salah
satu perusahaan yang menggunakan grid computing adalah aplikasi yang dibuat
oleh perusahaan Oracle. Beberapa aplikasi yang telah menggunakan system grid
computing antara lain adalah PipeLine (untuk mendeteksi kerusakan pipa),
NeuroGrid, Molecular Docking,
ABCGrid(Application of Bioinformatics Computing Grid), Oracle 10g,
dll. Namun dalam tulisan kali ini akan
dibahas mengenai software Oracle 10g dan apa hubungannya dengan grid computing.
Oracleversi baru ini diberi nama Oracle 10g dan digunakan huruf “g” pada nama versinya. Penggunaan huruf
“g” padaOracle 10g berasal dari singkatan grid.
Versi
baru dari Oracle ini akan lebih mempermudah perusahaan dalam membangun system
komputasi grid diluar kerangka kerja komputasi
akademik, teknik, riset, dan saintifik.Seperti yang telah kita ketahui
bahwa Oracle 10g itu terdiri dari OracleDatabase 10g, Oracle Application 10g, dan Oracle Enterprise
Manager 10g. Penggunaan teknik grid pada ketiga produk oracle tersebut biasa
diimplementasikan dengan virtualisasi dan provisioning.
Kinerja Komputasi
dengan Parallel Processing
Pada
artikel sebelumnya kita telah memahami apa itu komputasi modern. Kali ini saya
akan mengulas lebih lanjut mengenai kinerja komputasi tersebut dengan parallel
processing. Terlebih dahulu kita mengerti konsep dari pemrosesan paralel
(parallel processing), yaitu penggunaan lebih dari satu CPU untuk menjalankan sebuah
program secara simultan. Idealnya, parallel processing membuat program berjalan
lebih cepat karena semakin banyak CPU yang digunakan.
Sedangkan
komputasi paralel adalah salah satu teknik untuk 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.
Komputasi
Paralel merupakan salah satu teknologi paling menarik sejak ditemukannya
komputer pada tahun 1940-an. Terobosan dalam pemorosesan parallel selalu
berkembang dan mendapatkan tempat disamping teknologi-teknologi lainnya sejak
Era Kebangkitan (1950-an), Era Mainframe (1960-an), Era Minis (1970-an), Era PC
(1980-an), dan Era Komputer Paralel (1990-an). Dengan berbagai pengaruh atas
perkembangan teknologi lainnya, dan bagaimana teknologi ini mengubah persepsi
terhadap komputer, dapat dimengerti betapa pentingnya komputasi parallel itu.
Inti
dari komputasi parallel yaitu hardware, software, dan aplikasinya. Paralel
prosesing merupakan suatu pemrosesan informasi yang lebih mendekatkan pada
manipulasi rata-rata dari elemen data terhadap satu atau lebih penyelesaian
proses dari sebuah masalah. Dengan kata lain komputasi parallel adalah komputer
dengan banyak processor dapat melakukan parallel processing dengan cara
membagi-bagi proses ke source-source yang dimiliki.
Paradigma
pemrosesan parallel bergantung pada model SIMD (single instruction multiple
data), dan paradigma functional dataflow yang memperkenalkan konsep model MIMD
(Multiple Instrution Multiple Data). Suatu program parallel memerlukan
koordinasi ketika sebuah tugas bergantung pada tugas lainnya. Ada dua macam
bentuk koordinasi pada komputer parallel : asynchronous dan synchronous. Bentuk
synchronous merupakan koordinasi pada hardware yang memaksa semua tugas agar
dilaksanakan pada waktu yang bersamaan dengan mengesampingkan adanya
ketergantungan tugas yang satu dengan yang lainnya. Sementara bentuk
asynchronous mengandalkan mekanisme pengunci untuk mengkoordinasikan processor
tanpa harus berjalan bersamaan.
Sumber :