Anda di halaman 1dari 7

I.

Pendahuluan Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan data yang sangat besar (lingkungan industri, bioinformatika, dll) atau karena tuntutan komputasi yang banyak. Kasus kedua biasanya ditemukan di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi), dll. Untuk melakukan berbagai jenis komputasi paralel 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 middleware yang berperan mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Pemrograman paralel sendiri 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. Inti dari komputasi paralel yaitu hardware, software, dan aplikasinya. Parallel processing 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 paralel adalah komputer dengan banyak processor dapat melakukan parallel processing dengan cara membagi-bagi proses ke source-source yang dimiliki. Pengklasifikasian oleh Flynn, dikenal sebagai Taksonomi Flynn, membedakan komputer paralel ke dalam empat kelas berdasarkan konsep aliran data (data stream) dan aliran instruksi (instruction stream), yakni sebagai : SISD, SIMD, MISD, MIMD. Pada pembahasan selanjutnya akan lebih menekankan kepada klasifikasi komputer MIMD (Multi Instruction Stream, Multiple Data Stream).

II. Pembahasan

MIMD (Multi Instruction Stream, Multiple Data Stream) adalah arsitektur komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. MIMD menggunakan banyak prosesor dengan setiap prosesor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L. Pada sistem komputer MIMD terdapat interaksi diantara pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupled (global memory) jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled (local memory) jika tingkat interaksi antara pemroses rendah.

Beberapa karakteristik dari komputer MIMD adalah: 1. Mendistribusikan pemrosesan ke sejumlah prosesor independen 2. Membagikan sumber, termasuk memori utama ke prosesor independen 3. Setiap prosesor menjalankan programnya sendiri 4. Setiap prosesor berfungsi secara independen dan bersama-sama Sistem MIMD merupakan sistem multiprocessor atau multicomputer dimana tiap prosesor mempunyai unit kontrol dan program sendiri. Pada multiprocessor, sebuah sistem komputer paralel didasarkan pada pemakaian memori tunggal secara bersama-sama. Model ini menggunakan bersama sebuah ruang alamat virtual tunggal yang dipetakan pada memori bersama. Untuk membaca atau menulis sebuah word memori yaitu dengan menjalankan instruksi LOAD dan STORE. Multiprocessor sulit untuk dikembangkan, namun mudah

untuk diprogram. Contoh dari multiprocessing yakni Sun Enterprise 10000, Sequent NUMAQ, SGI Origin 2000 dan HP/ Convex Exemplar. Sedangkan pada multicomputer, yakni pada setiap CPU memiliki memorinya sendiri dan independen. Sistem multicomputer disebut juga dengan system memori terdistribusi. Setiap CPU memori local sendiri yang bias diakses dengan hanya menjalankan instruksi LOAD dan STORE, tetapi tidak bias diakses oleh CPU lain. Model ini memiliki satu ruang alamat fisik per CPU. Multicomputer mudah untuk dikembangkan, tetapi sulit untuk diprogram. Contoh dari multicomputer adalah SP2 IBM, Option Red Intel/Sandina dan COW Wisconsin. MIMD dapat dibedakan berdasarkan pada konfigurasi memori yang dimilikinya, yaitu dengan sistem shared memory dan distributed memory. Sistem dengan shared memory akan memiliki sebuah memori fisik yang dalam penggunaannya akan saling berbagi dengan elemen proses lain pada komputer tersebut. Sistem ini akan melakukan komunikasi antar proses pada memori utama melalui metode pemrograman shared variable. Contoh dari sistem ini adalah symmetric multi processor. Sedangkan sistem dengan distributed memory akan memiliki memori yang secara fisik terdistribusi dan terpisah, serta melakukan komunikasi antar proses melalui sebuah jaringan interkoneksi dengan menggunakan metoda pemrograman message passing. Komputer cluster merupakan contoh dari sistem ini. Kedua sistem MIMD seperti disebutkan diatas memiliki kelebihannya masingmasing, dimana sistem shared memory memiliki kelebihan pada komunikasi antar proses dengan menggunakan shared variable yang relatif lebih mudah dibandingkan dengan message passing yang digunakan pada sistem distributed memory. Sedangkan sistem distributed memory memiliki keunggulan dari sisi skalabilitas dan keandalan sistem. Usaha untuk menggabungkan keunggulan dari kedua sistem ini memunculkan teknologi distributed shared memory pada sistem komputer cluster. Sebuah sistem distributed shared memory akan memberikan pandangan logika shared memory pada sistem komputer dengan distributed memory seperti gambar berikut ini.

Distributed Shared Memory dirancang untuk memberikan fasilitas shared memory pada sistem komputer dengan memori yang secara fisik terdistribusi. Hal ini memberikan sistem dengan memori yang terdistribusi kemampuan pemrograman dengan shared memory pada sistem distributed memory. Seperti telah diketahui, pemrograman pada sistem distributed memory menggunakan metode message passing untuk komunikasi antar proses. Metode ini pada umumnya lebih rumit dibandingkan dengan metode shared memory, karena message passing

mengharuskan pengembang aplikasi untuk mengatur aliran data antar proses secara eksplisit. Komunikasi dan sinkronisasi antar proses dilakukan dengan pengiriman dan

penerimaan pesan secara jelas dan teratur. Pada sistem shared memory komunikasi antar proses dilakukan pada shared memory melalui shared variable yang dapat diakses oleh semua proses yang ada, pemrograman yang dilakukan relatif tidak jauh berbeda dengan pemrograman seperti pada uniprosesor. Pada dasarnya konfigurasi sistem distributed shared memory adalah penggunaan bagian dari memori lokal dari node penyusun cluster untuk dijadikan shared memory yang dalam penggunaanya dapat berbagi dan dapat diakses oleh proses dari node yang lain. Bagian memori lokal yang tidak digunakan sebagai shared memory akan menjadi memori lokal bagi tiap node yang digunakan untuk operasi lokal node itu sendiri.

Prinsip

kerja sistem distributed shared memory sendiri adalah dengan melakukan

migrasi dan replikasi data antar bagian shared memory dari tiap node.

Pada gambar diatas terlihat, apabila suatu proses pada prosesor 1 membutuhkan data yang ternyata tidak berada pada memori lokalnya maka terjadi kesalahan baca. Sistem distributed shared memory kemudian akan mencari letak dari data yang dibutuhkan oleh proses pada prosesor 1 tersebut. Apabila data yang dicari telah ditemukan dalam gambar pada memori 2 maka sistem distributed shared memory akan mereplikasi data tersebut dan memigrasikannya ke memori lokal prosesor 1.

III. Penutup

DAFTAR RUJUKAN

Grama, Ananth, Anshul Gupta, George, Karypis and Vipin Kumar. 2003. Introduction to Parallel Computing, Second Edition. England: The Benjamin/Cummings Publishing Company, Inc. http://id.wikipedia.org/wiki/Taksonomi_Flynn/ (diakses pada tanggal 8 Desember 2011, pukul 10:05 WIB) http://id.wikipedia.org/wiki/Komputasi_paralel/ (diakses pada tanggal 8 Desember 2011, pukul 10:15 WIB) http://www.gudangmateri.com/2009/12/pemrosesan-paralel.html/ (diakses pada tanggal 8 Desember 2011, pukul 10:19 WIB) https://computing.llnl.gov/tutorials/parallel_comp/ (diakses pada tanggal 8 Desember 2011, pukul 10:25 WIB) http://pareto.uab.es/mcreel/Parallel Knoppix/ (diakses pada tanggal 8 Desember 2011, pukul 10:34 WIB)

Anda mungkin juga menyukai