Langsung ke konten utama

Pengenalan Komputasi Paralel


Parallel computing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan. Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
1. Komputasi Seri
Secara tradisional, perangkat lunak telah ditulis untuk perhitungan serial : 
o            Masalah dipecah menjadi serangkaian instruksi yang terpisah
o            Instruksi dieksekusi secara berurutan satu demi satu
o            Dieksekusi pada satu prosesor
o            Hanya satu instruksi yang dapat dijalankan kapan saja
      2. Komputasi Paralel:
Dalam pengertian yang paling sederhana, komputasi paralel adalah penggunaan simultan sumber daya komputasi ganda untuk memecahkan masalah komputasi: 
o            Masalah dipecah menjadi bagian-bagian terpisah yang dapat dipecahkan secara bersamaan
o            Setiap bagian selanjutnya dipecah menjadi serangkaian instruksi
o            Instruksi dari setiap bagian dijalankan secara bersamaan pada prosesor yang berbeda
o            Keseluruhan mekanisme kontrol / koordinasi digunakan
Mengapa Menggunakan Komputasi Paralel?
Dunia Nyata secara Paralel Masif:
Di dunia alami, banyak peristiwa kompleks dan saling terkait terjadi pada saat yang sama, namun dalam urutan temporal. Dibandingkan dengan komputasi serial, komputasi paralel jauh lebih cocok untuk pemodelan, simulasi, dan pemahaman fenomena dunia nyata yang kompleks. Sebagai contoh, bayangkan pemodelan ini secara seri:
Dimasa depan, selama 20+ tahun terakhir, tren yang ditunjukkan oleh jaringan yang semakin cepat, sistem terdistribusi, dan arsitektur komputer multi-prosesor (bahkan pada tingkat desktop) jelas menunjukkan bahwa paralelisme adalah masa depan komputasi . Dalam periode waktu yang sama ini, ada peningkatan lebih dari 500.000x dalam kinerja superkomputer, tanpa akhir yang terlihat.  Perlombaan sudah berjalan untuk Exascale Computing!
o            Exaflop = 10 18 perhitungan per detik
Siapa yang menggunakan komputasi paralel?
Sains dan Teknik:
Secara historis, komputasi paralel telah dianggap sebagai "ujung komputasi yang tinggi", dan telah digunakan untuk memodelkan masalah-masalah sulit di banyak bidang sains dan teknik:
o            Atmosfer, Bumi, Lingkungan
o            Fisika - diterapkan, nuklir, partikel, materi terkondensasi, tekanan tinggi, fusi, fotonik
o            Biosains, Bioteknologi, Genetika
o            Kimia, Ilmu Molekuler
o            Geologi, Seismologi
o            Teknik Mesin - dari prosthetics ke pesawat ruang angkasa
o            Teknik Listrik, Desain Sirkuit, Mikroelektronika
o            Ilmu Komputer, Matematika
o            Pertahanan, Senjata
Industri dan komersial:
Saat ini, aplikasi komersial memberikan kekuatan pendorong yang sama atau lebih besar dalam pengembangan komputer yang lebih cepat. Aplikasi ini membutuhkan pemrosesan data dalam jumlah besar dengan cara yang canggih. Sebagai contoh:
o            "Big Data", basis data, penggalian data
o            Kecerdasan Buatan (AI)
o            Mesin pencari web, layanan bisnis berbasis web
o            Pencitraan dan diagnosis medis
o            Desain farmasi
o            Pemodelan keuangan dan ekonomi
o            Manajemen perusahaan nasional dan multi-nasional
o            Grafis canggih dan realitas virtual, khususnya di industri hiburan
o            Video jaringan dan teknologi multi-media
o            Eksplorasi minyak
Taksonomi Klasik Flynn
Salah satu klasifikasi yang lebih banyak digunakan, digunakan sejak 1966, disebut Flynn's Taxonomy. Taksonomi Flynn membedakan arsitektur komputer multi-prosesor berdasarkan bagaimana mereka dapat diklasifikasikan di sepanjang dua dimensi independen dari Instruction Stream dan Data Stream . Masing-masing dimensi ini hanya dapat memiliki satu dari dua status yang mungkin: Tunggal atau Banyak. Matriks di bawah ini mendefinisikan 4 klasifikasi yang mungkin menurut Flynn:

1. Instruksi Tunggal, Data Tunggal (SISD):
•            Komputer serial (non-paralel)
•            Instruksi Tunggal: Hanya satu aliran instruksi yang dijalankan oleh CPU selama satu siklus satu jam
•            Data Tunggal: Hanya satu aliran data yang digunakan sebagai input selama satu siklus satu jam
•            Eksekusi deterministik
•            Ini adalah tipe komputer tertua
•            Contoh: mainframe generasi lama, minicomputer, workstation dan prosesor tunggal / PC inti.

2. Instruksi Tunggal, Banyak Data (SIMD):
•            Suatu jenis komputer paralel
•            Instruksi Tunggal: Semua unit pemrosesan menjalankan instruksi yang sama pada setiap siklus clock yang diberikan
•            Banyak Data: Setiap unit pemrosesan dapat beroperasi pada elemen data yang berbeda
•            Paling cocok untuk masalah khusus yang ditandai dengan tingkat keteraturan yang tinggi, seperti pemrosesan gambar / gambar.
•            Sinkronisasi (lockstep) dan eksekusi deterministik
•            Dua varietas: Susunan Prosesor dan Saluran Pipa Vektor
•            Sebagian besar komputer modern, terutama yang memiliki unit prosesor grafis (GPU) menggunakan instruksi dan unit eksekusi SIMD.

3. Instruksi Berganda, Data Tunggal (MISD):
•            Suatu jenis komputer paralel
•            Instruksi Berganda: Setiap unit pemrosesan beroperasi pada data secara independen melalui aliran instruksi terpisah.
•            Data Tunggal: Aliran data tunggal dimasukkan ke dalam beberapa unit pemrosesan.
•            Beberapa (jika ada) contoh nyata dari kelas komputer paralel ini pernah ada.

4. Banyak Instruksi, Banyak Data (MIMD):
•            Suatu jenis komputer paralel
•            Instruksi Berganda: Setiap prosesor dapat menjalankan aliran instruksi yang berbeda
•            Banyak Data: Setiap prosesor dapat bekerja dengan aliran data yang berbeda
•            Eksekusi dapat sinkron atau asinkron, deterministik atau non-deterministik
•            Saat ini, jenis komputer paralel yang paling umum - kebanyakan superkomputer modern termasuk dalam kategori ini.
•            Contoh: sebagian besar komputer super saat ini, jaringan komputer paralel dan "grid", komputer SMP multi-prosesor, PC multi-core.
•            Catatan: banyak arsitektur MIMD juga menyertakan sub-komponen eksekusi SIMD

Komentar

Postingan populer dari blog ini

Kelebihan dan Kekurangan Instagram beserta solusinya

Kelebihan dan Kekurangan Instagram Beserta Solusinya Kali ini saya akan membahas sosial media yang memilki user atau pengguna terbanyak, siapa sangka Instagram sangat digemari banyak orang , aplikasi posting foto dan video ini sampai sekarang Instagram memiliki 1 miliar pengunduh dan ini bisa anda lihat sendiri di playstore dan ini membuktikan bahwa pengunduh tersebut juga memakai instagram dan terbukti memang instagram memiliki banyak sekali pengguna di seluruh dunia maka dari itu kita ketahui bahwa instagram menjadi aplikasi sosial media favorit. Jika dilihat dari waktu ke waktu Instagram selalu menambahkan fitur terbaru untuk menarik perhatian pengguna seperti Direct Message , Insta Story , Live , sorotan , Promote atau Bisinis dan sebagainya . Tentu dibalik itu semua kita tidak tahu apa saja kelebihan dan kekurangan dari Instagram itu sendiri . Berikut adalah kelebihan dan kekurangan Instagram. KELEBIHAN 1. Sebagai media utama berupa Foto dan Video Menjadi media sosia...

Pengenalan CouchDB NoSQL

Pengenalan CouchDB NoSQL Membuat dan Menghapus Database Apache CouchDB adalah perangkat lunak basis data sumber terbuka yang berfokus pada kemudahan penggunaan dan memiliki arsitektur yang dapat diskalakan. Ini memiliki arsitektur database NoSQL yang berorientasi dokumen dan diimplementasikan dalam bahasa yang berorientasi konkurensi; menggunakan JSON untuk menyimpan data, JavaScript sebagai bahasa kueri menggunakan MapReduce , dan HTTP untuk API . CouchDB pertama kali dirilis pada 2005 dan kemudian menjadi proyek Yayasan Perangkat Lunak Apache pada 2008. Tidak seperti database relasional , database CouchDB tidak menyimpan data dan hubungan dalam tabel. Sebaliknya, setiap basis data adalah kumpulan dokumen independen. Setiap dokumen menyimpan data sendiri dan skema mandiri. Aplikasi dapat mengakses banyak basis data, seperti yang disimpan di ponsel pengguna dan yang lain di server. Metadata dokumen berisi informasi revisi, sehingga memungkinkan untuk menggabungkan setiap p...