Pada 1980-an itu kinerja komputer diyakini telah meningkat dengan baik, terciptanya prosessor yang lebih cepat dan lebih efisien. Ide ini ditantang oleh pemrosesan paralel, yang intinya berarti menghubungkan bersama dua atau lebih komputer untuk bersama-sama memecahkan masalah komputasi.
Model Pemrograman paralel dan Alat
Bagian ini menyajikan gambaran singkat di bidang
pemrograman paralel dan de-scribes the main approaches dan model, termasuk
parallelizing kompiler, bahasa paralel, message-passing, virtual shared memoryl, pemrograman berorientasi objek, dan kerangka pemrograman.
1. Parallelizing Kompiler
Ada beberapa penelitian di parallelizing compiler dan
bahasa paralel tetapi fungsi mereka masih sangat terbatas. compiler
parallelizing masih terbatas pada aplikasi yang menunjukkan paralelisme biasa,
seperti perhitungan dalam loop. kompiler Par-allelizing / vectorizing telah
terbukti relatif sukses untuk beberapa aplikasi multiprocessors
shared-memori dan prosesor vektor dengan shared memory, tapi sebagian besar
belum terbukti untuk distributed-memory machines. kesulitannya adalah
karena waktu akses serentak non memori dalam sistem yang terakhir. Teknologi
compiler yang ada saat ini untuk paralelisasi otomatis masih terbatas dalam
lingkup dan jarang memberikan speedup yang memadai.
2. Bahasa Paralel
Beberapa bahasa paralel,
seperti sisal dan PCN telah menemukan sedikit bantuan dengan bantuan
programmer aplikasi. Hal ini karena pengguna tidak mau belajar bahasa yang sama
sekali baru untuk pemrograman paralel. Mereka benar-benar lebih memilih untuk
menggunakan bahasa tingkat tinggi tradisional mereka (seperti C dan Fortran)
dan mencoba untuk mendaur ulang perangkat lunak sekuensial mereka sudah
tersedia. Untuk programmer, ekstensi untuk bahasa yang ada atau perpustakaan
run-time adalah alternatif.
3. Message-passing
Pesan lewat Library
memungkinkan efisiensi program paralel yang akan ditulis untuk sistem distributed-memory. Library ini menyediakan rutinitas untuk memulai. Sekarang,
dua sistem message-passing-tingkat tinggi yang paling populer untuk ilmiah dan
aplikasi rekayasa adalah PVM (Virtual Machine Paralel) dari Oak Ridge National
Laboratory dan MPI (Message Passing Interface) de ned oleh MPI Forum.
cara lain untuk memberikan model
alternatif-pemrograman didasarkan pada Virtual Bersama Memori/Virtual Shared Memory (VSM) dan
pemrograman berorientasi paralel. Cara lain adalah untuk menyediakan satu set
kerangka pemrograman dalam bentuk run-time Library yang sudah mendukung
beberapa tugas dari paralelisasi dan dapat diimplementasikan di atas sistem message-passing portable seperti PVM atau MPI.
4. Virtual Shared Memory
VSM menerapkan model pemrograman Shared-memory dalam
lingkungan distributed-memori. Linda adalah contoh dari gaya pemrograman.
Hal ini didasarkan pada gagasan model komunikasi generatif dan pada virtual associative memory, disebut ruang tuple, yang dapat diakses oleh semua
proses dengan using in dan out operations.
5. Parallel Object-Oriented Programming
Ide di balik pemrograman berorientasi objek paralel
adalah metode rekayasa perangkat lunak
untuk desain aplikasi terstruktur. Seperti pada model objek tradisional, objek
didefinisikan sebagai tipe data abstrak, yang merangkum keadaan internal
melalui antarmuka(interfaces) didefinisikan dengan baik dan dengan demikian
mewakili kontainer data yang pasif. Jika kita memperlakukan model ini sebagai
koleksi benda-benda bersama, kita dapat menemukan kemiripan menarik dengan model shared data.
6. Kerangka pemrograman (Programming Skeletons)
kerangka dari pengguna yang spesifik sampai implementasi dan memungkinkan pengguna untuk menentukan perhitungan dalam hal interface disesuaikan dengan paradigma. Hal ini menyebabkan gaya berorientasi kerangka pemrograman/Skeletone Oriented Programming (SOP) yang telah diidentifikasi sebagai solusi yang sangat menjanjikan untuk komputasi paralel.