Komputasi paralel adalah jenis komputasi di mana banyak perhitungan atau proses dilakukan secara bersamaan. Masalah besar seringkali dapat dibagi menjadi yang lebih kecil, yang kemudian dapat diselesaikan pada saat yang bersamaan. Ada beberapa bentuk komputasi paralel yang berbeda: level bit , level instruksi , data , dan paralelisme tugas . Paralelisme telah lama digunakan dalam komputasi kinerja tinggi , tetapi telah mendapatkan minat yang lebih luas karena kendala fisik yang mencegah penskalaan frekuensi . Sebagai konsumsi daya (dan akibatnya panas generasi) oleh komputer telah menjadi perhatian dalam beberapa tahun terakhir, komputasi paralel telah menjadi paradigma dominan dalam arsitektur komputer , terutama dalam bentuk prosesor multi-core .
Superkomputer paralel besar IBM Blue Gene/P
Komputasi paralel terkait erat dengan komputasi bersamaan — mereka sering digunakan bersama, dan sering digabungkan, meskipun keduanya berbeda: dimungkinkan untuk memiliki paralelisme tanpa konkurensi (seperti paralelisme tingkat bit ), dan konkurensi tanpa paralelisme (seperti multitasking dengan time-sharing pada CPU single-core). Dalam komputasi paralel, tugas komputasi biasanya dipecah menjadi beberapa, seringkali banyak, sangat mirip sub-tugas yang dapat diproses secara independen dan yang hasilnya digabungkan setelah itu, setelah selesai. Sebaliknya, dalam komputasi bersamaan, berbagai proses sering kali tidak menangani tugas terkait; ketika mereka melakukannya, seperti biasa dalam komputasi terdistribusi, tugas-tugas yang terpisah mungkin memiliki sifat yang bervariasi dan seringkali memerlukan beberapa komunikasi antar-proses selama eksekusi.
Komputer paralel dapat secara kasar diklasifikasikan menurut tingkat di mana perangkat keras mendukung paralelisme, dengan komputer multi-core dan multi-prosesor memiliki beberapa elemen pemrosesan dalam satu mesin, sementara cluster , MPP , dan grid menggunakan beberapa komputer untuk bekerja pada yang sama. tugas. Arsitektur komputer paralel khusus kadang-kadang digunakan bersama prosesor tradisional, untuk mempercepat tugas-tugas tertentu.
Dalam beberapa kasus paralelisme transparan untuk programmer, seperti di bit-level atau instruksi-tingkat paralelisme, tetapi secara eksplisit algoritma paralel , terutama yang menggunakan konkurensi, lebih sulit untuk menulis daripada yang berurutan , karena konkurensi memperkenalkan beberapa baru kelas bug perangkat lunak potensial , yang kondisi balapannya paling umum. Komunikasi dan sinkronisasi antara subtugas yang berbeda biasanya merupakan beberapa hambatan terbesar untuk mendapatkan kinerja program paralel yang optimal.
Batas atas teoritis pada percepatan satu program sebagai hasil paralelisasi diberikan oleh hukum Amdahl .
Komentar
Posting Komentar