Model Pemrograman Paralel dan Paradigma


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.

Model pemrograman berorientasi objek sekarang dikenal mapan sebagai state-of-the-art metodologi rekayasa perangkat lunak untuk pemrograman sekuensial, dan perkembangan terakhir juga muncul untuk membangun objek-orientasi dalam bidang pemrograman paralel. Kurangnya penerimaan model ini di kalangan masyarakat ilmiah dapat dijelaskan oleh fakta bahwa para ilmuwan komputasi masih lebih suka untuk menulis program mereka menggunakan bahasa tradisional seperti Fortran. Ini adalah kesulitan utama yang telah dihadapi oleh lingkungan berorientasi objek, meskipun dianggap sebagai teknik yang menjanjikan untuk pemrograman paralel. Beberapa orientasi environment yang menarik seperti CC ++ dan Mentat telah disajikan dalam literatur.

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.

Kerangka metode pemrograman yang lebih umum dapat diimplementasikan di atas message-passing, object-oriented, shared-memory atau sistem distributed-memory, dan memberikan dukungan peningkatan untuk pemrograman paralel.

Untuk meringkas, pada dasarnya ada dua cara untuk melihat sistem pemrograman paralel eksplisit. Pertama, sistem menyediakan beberapa primitif untuk digunakan oleh programmer. Penataan dan pelaksanaan sebagian besar kontrol paralel dan komunikasi merupakan tanggung jawab programmer. Alternatifnya adalah dengan menyediakan beberapa dukungan ditingkatkan untuk struktur-struktur kontrol yang umum untuk paradigma pemrograman paralel. Tugas utama dari programmer akan memberikan beberapa rutinitas yang unik untuk aplikasi, seperti perhitungan dan pembuatan data. Banyak lingkungan pemrograman paralel yang tersedia, dan banyak dari mereka yang mencoba untuk mengeksploitasi karakteristik paradigma paralel.




 

You Might Also Like

0 komentar

Diberdayakan oleh Blogger.