You are on page 1of 36

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

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

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

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

Process, Thread, Multi-CPU

Dody Ichwana Putra, M.T. - Pemrosesan Paralel

8/24/2016

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

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

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

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

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.
Todays 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

You might also like