Introduction to Parallel Computing
Artikel ini akan memberi Anda pengenalan dasar dan nantinya akan menjelaskan secara rinci tentang komputasi paralel. Sebelum lanjut ke topik utama mari kita pahami dulu apa itu Komputasi Paralel. What is Parallel Computing? Eksekusi banyak tugas atau proses secara bersamaan dengan memanfaatkan berbagai sumber daya komputasi, seperti beberapa prosesor atau node komputer, untuk menyelesaikan masalah komputasi disebut sebagai komputasi paralel. Ini adalah teknik untuk meningkatkan kinerja dan efisiensi komputasi dengan membagi operasi yang sulit menjadi sub-tugas yang lebih kecil yang dapat diselesaikan secara bersamaan. Tugas dipecah menjadi komponen-komponen yang lebih kecil dalam komputasi paralel, dengan masing-masing komponen berjalan secara bersamaan pada sumber daya komputer yang berbeda. Sumber daya ini dapat terdiri dari inti pemrosesan terpisah dalam satu komputer, jaringan komputer, atau platform komputasi berkinerja tinggi khusus. Various Methods to Enable Parallel Computing Kerangka kerja dan model pemrograman yang berbeda telah dibuat untuk mendukung komputasi paralel. Desain dan implementasi algoritma paralel menjadi lebih mudah dengan abstraksi dan alat model ini. Model pemrograman yang sering digunakan antara lain: Applications of Parallel Computing 1. Paralelisme tingkat bit: Eksekusi operasi secara simultan pada beberapa bit atau digit biner dari suatu elemen data disebut sebagai paralelisme tingkat bit dalam komputasi paralel. Ini adalah jenis paralelisme yang menggunakan kemampuan pemrosesan paralel arsitektur perangkat keras untuk beroperasi pada banyak bit secara bersamaan. Paralelisme tingkat bit sangat efektif untuk operasi pada data biner seperti penjumlahan, pengurangan, perkalian, dan operasi logika. Waktu eksekusi dapat dikurangi secara signifikan dengan mengeksekusi tindakan ini pada beberapa bit secara bersamaan, sehingga menghasilkan peningkatan kinerja. Misalnya, pertimbangkan penambahan dua bilangan biner: 1101 dan 1010. Sebagai bagian dari pemrosesan sekuensial, penambahan akan dilakukan sedikit demi sedikit, dimulai dengan bit paling tidak signifikan (LSB) dan memindahkan bit bawaan ke bit berikutnya. Penambahan dapat dilakukan secara bersamaan untuk setiap pasangan bit terkait ketika paralelisme tingkat bit digunakan, dengan memanfaatkan kemampuan pemrosesan paralel. Hasilnya, eksekusi lebih cepat dapat dilakukan, dan kinerja ditingkatkan secara keseluruhan. Elemen perangkat keras khusus yang dapat beroperasi pada beberapa bit sekaligus, seperti penambah paralel, pengganda, atau gerbang logika, sering kali digunakan untuk mengimplementasikan paralelisme tingkat bit. Prosesor modern mungkin juga memiliki instruksi SIMD (Instruksi Tunggal, Banyak Data) atau unit pemrosesan vektor, yang memungkinkan operasi pada beberapa komponen data, termasuk beberapa bit, dijalankan secara paralel. 2. Paralelisme tingkat instruksi: ILP, atau paralelisme tingkat instruksi, adalah konsep komputasi paralel yang berfokus pada menjalankan beberapa instruksi secara bersamaan pada satu prosesor. Daripada mengandalkan banyak prosesor atau sumber daya komputasi, ia berupaya memanfaatkan paralelisme alami yang ada dalam program pada tingkat instruksi. Instruksi dilakukan secara berurutan oleh prosesor tradisional, satu demi satu. Namun demikian, banyak program berisi instruksi independen yang dapat dijalankan secara bersamaan tanpa mengganggu keluaran satu sama lain. Untuk meningkatkan kinerja, paralelisme tingkat instruksi berupaya mengenali dan memanfaatkan instruksi terpisah ini. Paralelisme tingkat instruksi dapat dicapai melalui berbagai metode: 3. Task Parallelism Gagasan paralelisme tugas dalam komputasi paralel mengacu pada pembagian suatu program atau komputasi menjadi banyak tugas yang dapat dilakukan secara bersamaan. Setiap tugas bersifat otonom dan dapat dijalankan pada unit pemrosesan yang berbeda, seperti beberapa inti dalam CPU multiinti atau node dalam sistem komputasi terdistribusi. Pembagian pekerjaan menjadi tugas-tugas terpisah daripada pembagian data adalah fokus utama paralelisme tugas. Ketika dilakukan secara bersamaan, pekerjaan dapat memanfaatkan kemampuan pemrosesan paralel yang tersedia dan sering kali beroperasi pada berbagai subset data masukan. Strategi ini sangat membantu ketika tugas-tugas bersifat otonom atau hanya bergantung satu sama lain. Tujuan utama paralelisme tugas adalah untuk memaksimalkan penggunaan sumber daya komputasi yang tersedia dan meningkatkan kinerja program atau komputasi secara keseluruhan. Dibandingkan dengan eksekusi sekuensial, waktu eksekusi dapat dikurangi secara signifikan dengan menjalankan banyak proses secara bersamaan. Paralelisme tugas dapat dilakukan dengan berbagai cara, beberapa di antaranya dijelaskan di bawah Advantages of Parallel Computing Disadvantages of Parallel Computing //AZS referensi : [1][2]