Paralel computing
Paralel computing
Bahasa
Unduh PDF
Menonton
Sunting
"Paralelisasi" dialihkan ke sini. Untuk paralelisasi manifold, lihat Paralelisasi (matematika).
Komputasi paralel adalah jenis komputasi di mana banyak perhitungan atau proses dilakukan secara bersamaan.[1] Masalah besar sering dapat dibagi menjadi yang lebih kecil, yang kemudian dapat diselesaikan pada saat yang sama. 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, [3] komputasi paralel telah menjadi paradigma dominan dalam arsitektur komputer, terutama dalam bentuk prosesor multi-core.[4]
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 pembagian waktu pada CPU inti tunggal).[5][6] Dalam komputasi paralel, tugas komputasi biasanya dipecah menjadi beberapa, seringkali banyak, sub-tugas yang sangat mirip yang dapat diproses secara independen dan yang hasilnya digabungkan setelahnya, setelah selesai. Sebaliknya, dalam komputasi bersamaan, berbagai proses sering kali tidak menangani tugas terkait; ketika mereka melakukannya, seperti tipikal dalam komputasi terdistribusi, tugas-tugas 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, [7] 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