2. Ardiansyah, S.Kom., M.Kom
S2 Teknik Informatika Universitas Hasanuddin
● Jobs : Network dan SysAdmin di Universitas Hasanuddin
● Interests: Networking, Server, Cloud Computing, Cyber Security dan Machine Learning
● Certified: MikroTik, Rad Hat, Web Programming dan Network Security
● Email: ardi.zainal@gmail.com
● WA: 081272121145
3. Komputasi Paralel
Komputasi paralel adalah salah satu teknik komputasi dalam
pengolahan data dan eksekusi tugas yang melibatkan pemecahan tugas
besar menjadi beberapa tugas kecil yang dapat dijalankan secara
bersamaan (paralel) dengan tujuan meningkatkan kinerja dan efisiensi
pemrosesan. Teknik komputasi ini memanfaatkan sumber daya
komputer yang ada, seperti CPU, memori, dan perangkat keras lainnya.
6. Sistem Terdistribusi Vs Komputasi Paralel
Sistem terdistribusi merupakan suatu sistem yang terdiri dari beberapa komputer yang
terhubung dan bekerja sama untuk menyelesaikan suatu tugas yang besar.
9. Google Search: Mesin pencari Google menggunakan infrastruktur komputasi paralel yang kuat untuk
memproses miliaran permintaan pencarian setiap hari yang memberikan hasil secara cepat.
Google Maps: Penghitungan rute, visualisasi peta interaktif, dan layanan lainnya dalam Google Maps
memanfaatkan komputasi paralel untuk memungkinkan pengguna mengakses informasi lokasi dengan
cepat dan akurat.
Google Drive: Layanan penyimpanan berbasis awan ini memungkinkan pengguna menyimpan,
mengakses, dan berbagi file mereka. Dengan komputasi paralel, Google Drive dapat mengelola akses dan
penyimpanan file yang aman dan efisien.
YouTube: Situs berbagi video ini juga menggunakan komputasi paralel untuk mengelola miliaran video
yang diunggah oleh pengguna dan menyajikannya kepada jutaan penonton di seluruh dunia. Dll
10. Jenis Komputasi Paralel sering digunakan*
Komputasi Paralel pada Jaringan (Network-Level Parallelism):
Hadoop HDFS
(Big Data)
Sangfor & Nutanix HCI
(Datacenter)
Komputer Cluster
11. Jenis Komputasi Paralel sering digunakan
Komputasi Paralel pada Tingkat Data (Data-Level Parallelism):
Standalone Komputer
12. Mengapa menggunakan Komputasi Paralel ?
Peningkatan Kinerja: Dengan menjalankan tugas-tugas secara bersamaan, waktu yang
dibutuhkan untuk menyelesaikan tugas dapat berkurang drastis.
Pengolahan Data Besar: Komputasi paralel memungkinkan pemrosesan dan analisis data
besar (big data) dalam waktu yang lebih singkat.
Efisiensi Energi: komputasi paralel dapat menghasilkan efisiensi energi dengan
mengoptimalkan penggunaan sumber daya.
Penyelesaian Tugas yang Rumit: Komputasi paralel memungkinkan penyelesaian tugas
yang kompleks dan rumit dalam waktu yang lebih singkat.
13. Kapan Menggunakan Komputasi Paralel ?
● Simulasi dan Perhitugan yang kompleks
● Pengelolah data yang besar dan bertumbuh (Big Data)
14. Arsitektur Komputer Paralel
Flynn Taxonomy (1966)
4 Prinsip Kerja Untuk mengklasifikasikan jumlah instruksi yang berjalan simultan Pada
Komputer
15. Single Instruction, Single Data (SISD)
● Komputer serial (non-paralel)
● Single Instruction: Hanya satu aliran instruksi yang sedang ditindaklanjuti oleh CPU
selama satu siklus clock.
● Data Tunggal: Hanya satu aliran data yang digunakan sebagai input selama satu siklus
clock.
● Eksekusi deterministik
● Ini adalah jenis komputer tertua.
● Contoh: mainframe generasi yang lebih tua, komputer mini, workstation dan prosesor
tunggal / PC inti.
17. Single Instruction, Multiple Data (SIMD)
● Jenis komputer paralel
● Single Instruction: Semua unit pemrosesan menjalankan instruksi yang sama pada
setiap siklus clock tertentu
● Multiple 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 grafis / gambar.
● Synchronous (lockstep) and deterministic execution
● Two varieties: Processor Arrays and Vector Pipelines
● Sebagian besar komputer modern, terutama yang memiliki unit prosesor grafis (GPU)
menggunakan instruksi SIMD dan unit eksekusi.
19. Multiple Instruction, Single Data (MISD)
● Jenis komputer paralel
● Beberapa Instruksi: 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 aktual dari kelas komputer paralel ini yang pernah ada.
● Beberapa kegunaan yang mungkin mungkin:
➔ beberapa filter frekuensi yang beroperasi pada satu aliran sinyal
➔ beberapa algoritma kriptografi mencoba memecahkan kekacauan kode
tunggalage.
21. Multiple Instruction, Multiple Data (MIMD)
● Jenis komputer paralel
● Multipe Instruction: Setiap prosesor dapat menjalankan aliran instruksi yang
berbeda.
● Multipel Data: Setiap prosesor mungkin 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: superkomputer terbaru, cluster komputer paralel jaringan dan "grid",
komputer SMP multi-prosesor, PC multi-core. Perhatikan banyak arsitektur MIMD
juga termasuk sub-komponen eksekusi SIMD.
23. Bahasa Pemrograman
● C/C++: menggunakan pustaka seperti OpenMP dan pustaka pthreads
● Fortran: menggunakan pustaka OpenMP dan MPI (Message Passing
Interface)
● Java: menggunakan pustaka java.util.concurrent dan framework Fork/Join
● Python: menggunakan pustaka multiprocessing dan threading.
● C#: menggunakan pustaka Task Parallel Library (TPL)
● R: menggunakan pustaka parallel dan foreach
● MATLAB: melalui Parallel Computing Toolbox
● Ruby: menggunakan pustaka Parallel dan Concurrent
25. Roadmap Belajar Komputasi Paralel*
● Pemahaman Dasar Komputasi Paralel:
○ Pelajari konsep dasar tentang apa itu komputasi paralel, mengapa itu penting, dan bagaimana cara kerjanya.
○ Pahami perbedaan antara komputasi paralel dan komputasi serial.
○ Kenali jenis-jenis komputasi paralel seperti task-level parallelism, data-level parallelism, dan lain-lain.
● Konsep Dasar Sistem Paralel:
○ Pelajari tentang arsitektur sistem paralel, termasuk pengertian tentang multiprosesor, multi-core, dan cluster.
○ Pahami istilah-istilah seperti SIMD (Single Instruction, Multiple Data) dan MIMD (Multiple Instruction, Multiple
Data).
● Konsep Dasar Sistem Paralel:
○ Pelajari tentang arsitektur sistem paralel, termasuk pengertian tentang multiprosesor, multi-core, dan cluster.
○ Pahami istilah-istilah seperti SIMD (Single Instruction, Multiple Data) dan MIMD (Multiple Instruction, Multiple
Data).
● Pemrograman Paralel:
○ Pelajari bahasa pemrograman dan teknik yang digunakan untuk pemrograman paralel, seperti OpenMP, MPI
(Message Passing Interface), CUDA (untuk komputasi GPU), dan lainnya.
○ Praktikkan penulisan kode paralel sederhana menggunakan bahasa dan teknik tersebut.
26. Roadmap Belajar Komputasi Paralel
● Pemahaman tentang Algoritma Paralel:
○ Pelajari bagaimana merancang algoritma yang cocok untuk dieksekusi secara paralel.
○ Kenali algoritma-algoritma yang memungkinkan paralelisasi, seperti algoritma divide and
conquer, algoritma paralel untuk sorting, dan lain-lain.
● Penggunaan Library dan Framework Paralel:
○ Pelajari penggunaan library dan framework yang mendukung komputasi paralel, seperti
Apache Hadoop, Apache Spark, dan TensorFlow.
○ Praktikkan penggunaan library tersebut dalam lingkungan pengembangan.
● Optimasi Kinerja Paralel:
○ Pelajari teknik optimasi kinerja dalam pemrograman paralel, seperti menghindari deadlock,
meminimalkan overhead komunikasi, dan mengoptimalkan alokasi sumber daya.
○ Pahami bagaimana mengukur kinerja aplikasi paralel dan menemukan bottleneck dalam kode.