Parallel Processing Basic Concepts of Parallel Processing
Dody Ichwana Putra, S.T., M.T. Computer Engineering Department Andalas University Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
1
Pengolahan Paralel • Terminologi • Pemrosesan Serial vs Paralel • Kebutuhan Komputasi • Benefit Pengolahan Paralel
• Aplikasi Pengolahan Paralel
Konsep Pengolahan Paralel Arsitektur Komputer
Taksonomi Flynn Arsitektur Memori Paralel Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
2
Definisi Pengolahan Paralel • Parallel computing: a form of computation in which many calculations are carried outsimultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel") • A parallel computer (or multiple processor system) is a collection of communicating processing elements (processors) that cooperate to solve large computational problems fast by dividing such problems into parallel tasks, exploiting Thread-Level Parallelism (TLP). i.e Parallel Processing Terminology : Task = Computation done on one processor Processor = Programmable computing element that runs stored programs written using pre-defined instruction set Processing Elements = PEs = Processors Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
3
Program • From the programmers perspective a program is an ordered set of instructions. • Point of view of an operating system, program is an executable file stored in thesecondary (auxiliary) memory, typically on a disk.
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
4
Process, Thread, Multi-CPU
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
5
Pengolahan Paralel • Terminologi • Pemrosesan Serial vs Paralel • Kebutuhan Komputasi • Benefit Pengolahan Paralel
• Aplikasi Pengolahan Paralel
Konsep Pengolahan Paralel Arsitektur Komputer
Taksonomi Flynn Arsitektur Memori Paralel Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
6
Pemrosesan Tunggal (Serial) • Dijalankan di komputer tunggal dengan 1 CPU • Problem dipecah dalam instruksi dengan eksekusi berurutan, hanya satu eksekusi dalam satu waktu
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
7
Pemrosesan Paralel Dijalankan menggunakan banyak CPU Problem dipecah menjadi bagian yang dapat dikerjakan secara bersamaan Tiap bagian dipecah menjadi instruksi terurus Instruksi tiap bagian dieksekusi secara simultan di CPU berbeda
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
8
Karakteristik Pengolahan Paralel Mempunyai kemampuan untuk: Memecah problem ke dalam beberapa task yang dapatdikerjakan secara simultan Menjalankan multi instruksi program dalam satu waktu
Menyelesaikan problem lebih cepat di multi sumber daya komputasi
daripada sumber daya tunggal
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
9
Sumber Daya Komputing Paralel
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
10
Pengolahan Paralel • Terminologi • Pemrosesan Serial vs Paralel • Kebutuhan Komputasi • Benefit Pengolahan Paralel
• Aplikasi Pengolahan Paralel
Konsep Pengolahan Paralel Arsitektur Komputer
Taksonomi Flynn Arsitektur Memori Paralel Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
11
Semesta adalah Paralel Semesta bersifat paralel, sehingga
model paralel memberikan hasil terbaik -> pengolahan parallel
proses fisik terjadi paralel: aliran
fluida, pergerakan planet, pola cuaca, galaksi
proses sosial terjadi paralel: koloni
semut, assembly lines, trafik
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
12
Kebutuhan Pemrosesan : Computational Science Application demands: More computing cycles/memory needed Scientific/Engineering computing: CFD, Biology, Chemistry, Physics, ...
General-purpose computing: Video, Graphics, CAD, Databases, Transaction Processing, Gaming… Mainstream multithreaded programs, are similar to parallel programs
Technology Trends:
Number of transistors on chip growing rapidly. Clock rates expected to continue to go up but only slowly. Actual performance
returns diminishing due to deeper pipelines. Increased transistor density allows integrating multiple processor cores per creating Chip-Multiprocessors (CMPs) even for mainstream computing applications (desktop/laptop..).
Architecture Trends: Instruction-level parallelism (ILP) is valuable (superscalar, VLIW) but limited. Increased clock rates require deeper pipelines with longer latencies and higher CPIs. Coarser-level parallelism (at the task or thread level, TLP), utilized in multiprocessor systems is the most viable approach to further
improve performance. Main motivation for development of chip-multiprocessors (CMPs)
Economics: The increased utilization of commodity of-the-shelf (COTS) components in high performance parallel computing systems instead of
costly custom components used in traditional supercomputers leading to much lower parallel system cost. Today’s microprocessors offer high-performance and have multiprocessor support eliminating the need for designing expensive custom Pes. Commercial System Area Networks (SANs) offer an alternative to custom more costly networks Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
13
Why is Parallel Processing Needed?
Challenging Applications in Applied Science/Engineering Astrophysics Atmospheric and Ocean Modeling Bioinformatics
Biomolecular simulation: Protein folding Computational Chemistry Computational Fluid Dynamics (CFD) Computational Physics Computer vision and image understanding
Data Mining and Data-intensive Computing Engineering analysis (CAD/CAM) Global climate modeling and forecasting Material Sciences Military applications Quantum chemistry VLSI design Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
14
Faktor Perubahan Terus meningkatnya daya komputasi secara eksponensial ->
simulasi menjadi pilar ketiga dari science, melengkapi teori dan eksperimen
Terus meningkatnya jumlah data eksperimen secara eksponensial ->
teknik dan teknologi analisis data, visualisasi, jaringan dan kolaraborasi menjadi esensial dalam semua data aplikasi science
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
15
Simulasi: Pilar Ketiga dalam Science Metode scientific dan rekayasa tradisional
(1) Mengerjakan teori atau desain di atas kertas (2) Melakukan eksperimen atau membangun sistem
Kelemahan
Terlalu susah, terlalu mahal, terlalu lambat (menunggu evolusi galaksi), terlalu berbahaya (senjata, cuaca)
Paradigma komputasi:
Menggunakan komputer untuk mensimulasi dan menganalisis fenomena : 1. Menggunakan hukum fisik dan metode numerik yang efisien
2. Menganalisis hasil simulasi dengan perangkat dan metode komputasional
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
16
Data Intensive
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
17
Content-based Image Retrieval (Kurt Keutzer)
Aplikasi teknik computer vision untuk
problem image retrieval: mencari gambar digital dalam database yang besar
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
18
Pengolahan Paralel • Terminologi • Pemrosesan Serial vs Paralel • Kebutuhan Komputasi • Benefit Pengolahan Paralel
• Aplikasi Pengolahan Paralel
Konsep Pengolahan Paralel Arsitektur Komputer
Taksonomi Flynn Arsitektur Memori Paralel Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
19
Alasan Menggunakan Pengolahan Paralel Menghemat waktu dan biaya Penggunaan lebih banyak resource untuk satu task akanmempercepat waktu
pengerjaan, dengan potensi penghematan biaya
Cluster dapat dibangun dengan komponen komoditas dan murah
Mengerjakan problem yang lebih besar Banyak problem tidak bisa dipecahkan dengan komputer
tunggal, memori terbatas: Grand Challenge, web search engine yang memproses jutaan transaksi perdetik
Menyediakan concurrency Sumber daya pararel dapat melakukan banyak hal secara simultan. Contoh:
access grid yang menyediakan jaringan kolaborasi globa Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
20
Alasan Menggunakan Pengolahan Paralel Menggunakan sumber daya non-local Menggunakan sumber daya lewat jaringan/internet: BOINC, SETI@home, Folding@home
Keterbatasan pengolahan serial Kecepatan transmisi. Limit: kecepatan cahaya (30cm/ns), kabel tembaga (9cm/ns)
Batas miniaturisasi: teknologi pemrosesan IC Batas ekonomis: biaya semakin mahal untuk membuat prosesor tunggal semakin cepat
Arsitektur komputer menggunakan paralelisme di level hardware untuk meningkatkan performansi: Unit eksekusi multiple Pipeline instruksi Multi-core
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
21
Daya Listrik Terkontrol Pergeseran paradigm Old:Mempercepat frekuensi merupakan metode utama untuk meningkatkan performansi prosesor New: Menambah paralellisme yang menjadi metode utama
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
22
Pengolahan Paralel • Terminologi
• Pemrosesan Serial vs Paralel • Kebutuhan Komputasi
• Benefit Pengolahan Paralel • Aplikasi Pengolahan Paralel
Konsep Pengolahan Paralel Arsitektur Komputer Taksonomi Flynn Arsitektur Memori Paralel Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
23
BOINC: Voluntary Computing Berkeley Open Infrastructure for Network
Computing (BOINC)
Active: 323,676 volunteers, 524,265
computers
24-hour average: 5,744.07 TeraFLOPS
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
24
Folding@Home Menganalisa data dari protein
folding, misfolding, dan related diseases
Active: Lebih dari 400rb CPU 8,045 TeraFLOPS
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
25
SETI@Home
Search for Extraterrestrial Intelligence (SETI) Download dan menganalisa data teleskop
radion
730 TFlops
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
26
Distributed Computing Cluster computer: Beowulf
Grid Computing: Globus Cloud Computing: Nimbus, Eucalyptus,
Openstack
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
27
Pengolahan Paralel • Terminologi
• Pemrosesan Serial vs Paralel • Kebutuhan Komputasi
• Benefit Pengolahan Paralel • Aplikasi Pengolahan Paralel
Konsep Pengolahan Paralel Arsitektur Komputer Taksonomi Flynn Arsitektur Memori Paralel Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
28
Arsitektur von Neumann Paper tentang requirement dasar dari
komputer elektronik (1936)
Terdiri atas 4 komponen utama: 1) memori,
2) unit kontrol, 3) aritmetic logic unit dan 4) input/output
RAM (R/W) untuk menyimpan instruksi dan
data Instruksi: data terkode yang memberitahu komputer apa yang harus dikerjakan data: informasi yang digunakan oleh program
Unit kontrol mengambil instruksi/data dari
memori, decode instruksi dan mengkoordinasikan operasi
ALU melakukan operasi aritmetika I/O interface ke operator Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
29
Taksonomi Flynn Klasifikasi arsitektur komputer (1966) Membedakan arsitektur komputer
multiprocesor berdasarkan dimensi instruksi dan data. Kemudian tiap dimensi dibagi menjadi single atau multiple
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
30
Single Instruction, Single Data (SISD) Komputer serial
(non-paralel)
CU = Control Unit PE = Processing Element M = Memory
Uniprocessor
Hanya satu instruksi yang
dijalankan oleh CPU dalam satu siklus waktu
Hanya satu data yang
digunakan sebagain input dalam satu siklus waktu
Eksekusi deterministic Contoh: PC single-core,
mainframe generasi lama
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
Single Instruction stream over a Single Data stream (SISD): Conventional sequential machines or uniprocessors.
8/24/2016
31
Single Instruction, Multiple Data (SIMD) Tipe komputer parallel
Semua processing elemen
CU = Control Unit PE = Processing Element M = Memory
Shown here: array of synchronized processing elements
(PE) mengeksekusi instruksi yang sama dalam satu waktu
Tiap PE memproses dapat
beroperasi dengan data yang berbeda
Untuk problem spesial:
pemrosesan grafik
Sinkronous dan eksekusi
deterministic
Single Instruction stream over Multiple Data streams (SIMD): Vector computers, array of synchronized processing elements.
Tipe: prosesor array, vector
pipeline
Contoh: Komputer dengan GPU
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
32
Multiple Instruction, Single Data (MISD)
CU = Control Unit PE = Processing Element M = Memory
Data tunggal diolah oleh
beberapa PE
Tiap PE mengolah data
secara independen
Contoh: komputer experimen
Carnigie Mellon (1971)
Beberapa penggunaan: Operasi pemfilteran frekuensi
secara multiple dari sinyal tunggal
Multiple Instruction streams and a Single Data stream (MISD): Systolic arrays for pipelined execution.
Penerapan algoritma kriptografi
multipe untuk memecah satu pesan terkode (ciphertext) Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
33
Multiple Instruction, Multiple Data (MIMD) Hampir semua komputer modern
masuk kategori MIMD
CU = Control Unit PE = Processing Element M = Memory
Parallel computers or multiprocessor systems
Tiap prosesor mungkin mengeksekusi
instruksi yangberbeda
Tiap prosesor mungkin mengolah data
yang berbeda
Eksekusi bisa sinkronous atau asinkron,
deterministik atau non-deterministic
Eksekusi deterministik di sistem paralel
menjadi objek riset
Contoh: multicore PC, cluster computer,
grid computer
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
Multiple Instruction streams over Multiple Data streams (MIMD): Parallel computers: Distributed memory multiprocessor system shown
8/24/2016
34
Arsitektur Parallel Computer 2 Parallel Machine Network
Network
(Custom or industry standard)
Interconnects
1 Processing (compute) nodes
Communication assist (CA)
Mem
Operating System Parallel Programming Environments
$ P
2-8 cores per chip
Processing Nodes:
Processing Nodes
Network Interface AKA Communication Assist (CA) (custom or industry standard) One or more processing elements or processors per node: Custom or commercial microprocessors. Single or multiple processors per chip Homogenous or heterogonous
Each processing node contains one or more processing elements (PEs) or processor(s), memory system, plus communication assist: (Network interface and communication controller)
Parallel machine network (System Interconnects). Function of a parallel machine network is to efficiently (reduce communication cost) transfer information (data, results .. ) from source node to destination node as needed to allow cooperation among parallel processing nodes to solve large computational problems divided into a number parallel computational tasks. Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
35
Trend Arsitektur Parallel Saat Ini The extension of “computer architecture” to support communication and
cooperation:
OLD: Instruction Set Architecture (ISA) NEW: Communication Architecture
Defines: Critical abstractions, boundaries, and primitives (interfaces). Organizational structures that implement interfaces (hardware or software)
Compilers, libraries and OS are important bridges today
Dody Ichwana Putra, M.T. - Pemrosesan Paralel
8/24/2016
36