PENGOLAHAN PARALEL -...

of 57 /57
Pengolahan Paralel 1/58 Ernastuti PENGOLAHAN PARALEL Ernastuti

Embed Size (px)

Transcript of PENGOLAHAN PARALEL -...

Pengolahan Paralel

1/58Ernastuti

PENGOLAHAN PARALEL

Ernastuti

Pengolahan Paralel

2/58Ernastuti

LATAR BELAKANG Banyak aplikasi2 membutuhkan kemampuan

komputasi yang jauh lebih besar darikemampuan komputer prosesor tunggal

Ada 2 cara yang dapat dicapai untuk memenuhikebutuhan ini :

1) mengembangkan komputer prosesor tunggalmenjadi lebih cepat

2) melakukan komputasi paralel.

Pengolahan Paralel

3/58Ernastuti

PENGOLAHAN PARALEL

Minat penelitian dalam Pengolahan paraleldiantaranya adalah sebagai berikut :

1) arsitektur paralel2) algoritma paralel3) bahasa pemograman paralel4) analisis kinerja paralel.

Pengolahan Paralel

4/58Ernastuti

4 langkahpenyelesaian masalah komputasi

secara paralel:

Pertama , mengerti dasar komputasi didalam bidang aplikasitertentu.

Kedua , mendisain suatu algoritma paralel atau me-paralelkan algoritma sekuensial yang sudah ada.

Ketiga , memetakan algoritma paralel kedalam arsitekturkomputer paralel yang sesuai,

Keempat , melibatkan penulisan program paralel denganmemanfaatkan suatu pendekatan pemrogramanparalel yang aplikatif.

Pengolahan Paralel

5/58Ernastuti

Pokok persoalan utama arsitektur paraleladalah terletak pada disain

jaringan interkoneksi prosesor

Idealnya didalam jaringan, setiap prosesor didisain terhubung dengansemua prosesor lainnya.

Pengolahan Paralel

6/58Ernastuti

Pada graph, jaringan interkoneksi idealdigambarkan sebagaicomplete graph : (fully connected)

Untuk p prosesor pada jaringan interkoneksicomplete graph , jumlah edge penghubungnyaadalah p x (p-1) edge.

Jaringan interkoneksi seperti ini jelas sangatmahal. (semakin besar jumlah edge dikatakan semakin mahal )

Pengolahan Paralel

7/58Ernastuti

Topologi Model jaringan interkoneksi yang lebih murah dari complete graph yang adasaat ini antara lain adalah

linear & ring, shuffle exchange, hypercube, star, de bruijn, binary tree, delta, butterfly, mesh, omega dan pyramid

Pengolahan Paralel

8/58Ernastuti

LINEAR + RING

Untuk mereduksi interconnect cost, dicoba membuat jaringan yang lebih jarang (sparse) :

Pengolahan Paralel

9/58Ernastuti

MESH + TORUS: 2D, 3D

Kemudian diperluas ke suatu jaringan multidimensional :

Pengolahan Paralel

10/58Ernastuti

HYPERCUBE ( n-CUBE)

Pengolahan Paralel

11/58Ernastuti

TREEPada jaringan TREE hanya ada satu jalur untuk setiap 2 simpul.Semakin tinggi Tree, semakin beresiko akan terjadikomunikasi bottleneck pada level-level yang tinggi dalam tree.

Pengolahan Paralel

12/58Ernastuti

SHUFFLE EXCHANGEPerfect shuffle menghubungkan processor Pi and Pj dengan cara komunikasi satu arah sbb :

j = 2*i , 0 i N/2 1 atauj = 2*i + 1 N , lainnya.

Pengolahan Paralel

13/58Ernastuti

DE BRUIJNA network consisting of N = dk processors, each labeled with a k-digit word(ak-1 ak-2 a1 a0) where aj is a digit (radix d), i.e. aj is one of (0, 1, , d-1)The processors directly reachable from (ak-1 ak-2 a1 a0) are (ak-2 a1 a0 q) and (q ak-1 ak-2 a1) where q is another digit (radix d).Berikut adalah jaringan de Bruijn untuk d=2 dan k=3

Pengolahan Paralel

14/58Ernastuti

BUTTERFLYA Butterfly network is made of (n + 1)*2n processors organized into n+1 rows,each containing 2n processors.

Rows are labeled 0n. Each processor has 4 connections to other processors (except processors in top and bottom row).

Processor P(r, j), i.e. processor number j in row r is connected toP(r-1, j) and P(r-1, m)where m is obtained

by inverting the rth significant bit in the binary representation of j.

Pengolahan Paralel

15/58Ernastuti

PYRAMIDA pyramid consists of (4d+1 1)/3 processors organized in d+1 levels so as: Levels are numbered from d down to 0 There is 1 processor at level d Every level below d has four times the number of processors

than the level immediately above it.

Pengolahan Paralel

16/58Ernastuti

Untuk membandingkanmodel jaringan interkoneksidiperlukan beberapa kriteria

pengukuran.

Pengolahan Paralel

17/58Ernastuti

Kriteriayang digunakan industri berkaitan

dengankomunikasi dan kompleksitaspada jaringan interkonekasi

adalah sebagai berikut

Pengolahan Paralel

18/58Ernastuti

Standard criteria used by industry:

Network diameter = Max. number of hops necessary to link up two most distant processors

Network bisection width = Minimum number of links to be severed for a network to be into two halves (give or take one processor)

Maximum-Degree of PEs = maximum number of links to/from one PE

Minimum-Degree of PEs = minimum number of links to/from one PE

Pengolahan Paralel

19/58Ernastuti

1) Diameter of the Network = jarak maksimumjalur terpendek diantara semua prosesor didalamjaringan

2) Degree of processor = jumlah maksimum edge penghubung yang keluar/masuk dari/ke prosesor

3) Bisection width of the network = Jumlah edge minimum yang diputus dari jaringan sedemikiansehingga network terbagi dua sama besar

Pengolahan Paralel

20/58Ernastuti

Selain itu ada kriteria lain :Suatu model jaringan interkoneksi dikatakan lebih baik dari

yang lain bila

lebih efisien (efficient) , lebih tepat/cocok (convenient), lebih mudah diimplementasi (regularity), lebih mudah diperluas (expandable/modularity) dan/atau tidak berpotensi bottleneck.

Kenyataannya tak ada jaringan interkoneksi yang memenuhi semua kriteria ini.

Pengolahan Paralel

21/58Ernastuti

COMPARISON OF INTERCONNECTION NETWORKSIntuitively, one network topology is more desirable than another if it is :

More efficient More convenient More regular (i.e. easy to implement) More expandable (i.e. highly modular) Unlikely to experience bottlenecks

Clearly no one interconnection network maximizes all these criteria.Some tradeoffs are needed.

Pengolahan Paralel

22/58Ernastuti

Dengan menjaga diameter jaringan tetap kecilmaka akan memberikan lower bound padakompleksitas algoritma yang diimplementasikanpada jaringan.

Akibatnya , untuk menjaga diameter tetap kecilberarti diperlukan sejumlah edge penghubunglebih besar pada setiap prosesor.

Pengolahan Paralel

23/58Ernastuti

Contoh topologi jaringan interkoneksi dalamarsitektur paralel yang umum saat ini :

Pengolahan Paralel

24/58Ernastuti

TopologiJaringan

Jumlahnode

Jumlahedge

Diameter Max-degree

Min-degree

Complete Graph

16 240 1 15 15

Tree 16 14 6 3 1

Mesh 16 24 6 4 2

Ring 16 16 8 2 2

Hypercube 16 32 4 4 4

Perbandingan jumlah edge, diameter, max-degree dan min degree untuk 5 model topologi jaringan 16 node.

Pengolahan Paralel

25/58Ernastuti

Saat ini, komputer-komputer yang mendukukng komputasiparalel telah tersedia secara komersil dengan berbagaimacam topologi.

Topologi interkoneksi Hypercube merupakan topologiyang paling dominan/menonjol pada kelas komputerparalel ini.

Ametek, Floating Point System, Intel ScienticComputers, NCUBE dan Thingking Machines adalah beberapa vendordari komputer Hypercube.

Pengolahan Paralel

26/58Ernastuti

Model Model jaringanjaringan dapatdapat diukurdiukur, , salahsalah satunyasatunya, , daridari tradetrade--offoff ::

Network cost = Network cost = derajatderajat diameterdiameter

Pengolahan Paralel

27/58Ernastuti

Model Model jaringanjaringan dengandenganderajatderajat simpulsimpul yang yang kecilkecil, ,

mempunyaimempunyai diameter yang diameter yang besarbesar. .

KebalikannyaKebalikannya, , model model jaringanjaringan yang yang mempunyaimempunyai diameter diameter kecilkecilbiasanyabiasanya memilikimemiliki derajatderajat simpulsimpul yang yang besarbesar..

Pengolahan Paralel

28/58Ernastuti

Hypercube mempunyai karakteristik yang layak

Pengolahan Paralel

29/58Ernastuti

NETWORK COSTNETWORK COSTNETWORK COST

Hypercube mempunyai karakteristik yang layak

Pengolahan Paralel

30/58Ernastuti

Topologi jaringan interkoneksi multiprosesor yang populer saat ini

Linear arrayRing

2D meshHypercube

TreeStar

Pengolahan Paralel

31/58Ernastuti

HYPERCUBE HYPERCUBE dimensidimensi 1,2,3 1,2,3 dandan 44

22 44 88 1616

Hypercube paling banyak menarik perhatian dan diteliti

secara intensif

Dimensi 1 Dimensi 2Dimensi 3

Dimensi 4

Pengolahan Paralel

32/58Ernastuti

MODEL-MODEL KOMPUTASIyang mendasari komputer paralel

Pengolahan Paralel

33/58Ernastuti

Pengolahan Paralel

34/58Ernastuti

Pengolahan Paralel

35/58Ernastuti

Pengolahan Paralel

36/58Ernastuti

Pengolahan Paralel

37/58Ernastuti

ALGORITMA SEQUENTIALPENJUMLAHAN

Penjumlahan (SISD)Begin

sum a0for i 1 to n-1 do

sum sum + aiendfor

end

Pengolahan Paralel

38/58Ernastuti

HASIL KOMPUTASI ALGORITMA SEQUENTIAL

PENJUMLAHANMisal Input : ai = {1,2,3,4,5,6,7,8}Sum = a0 = 1i = 1 sum = sum + a1 = 1 + 2 = 3i = 2 sum = sum + a2 = 3 + 3 = 6i = 1 sum = sum + a3 = 6 + 4 = 10i = 1 sum = sum + a4 = 10 + 5 = 15i = 1 sum = sum + a5 = 15 + 6 = 21i = 1 sum = sum + a6 = 21 + 7 = 28i = 1 sum = sum + a7 = 28 + 8 = 36

Pengolahan Paralel

39/58Ernastuti

Shared Memory & Interconnection Network

In most interesting problems that we wish to solve on a SIMD computer, it is desirable for the processors to be able to communicate among themselves during the computation in order to exchange data or intermediate results.

This can be achieved in two ways, SIMD computers where communication is through a shared memory, and Where it is done via an interconnection network.

Pengolahan Paralel

40/58Ernastuti

Parallel Randon Access Machine Extend the traditional RAM (Random

Access Memory) machine

Interconnection network between global memory and processors

Multiple processors

Shared Memory

P1 P2 Pp

Pengolahan Paralel

41/58Ernastuti

Parallel Randon Access Machine

Characteristics

Processors Pi (i (0 i p-1 ) each with a local memory i is a unique identity for processor Pi

A global shared memory it can be accessed by all processors

Pengolahan Paralel

42/58Ernastuti

Parallel Randon Access Machine

Types of operations: Synchronous

Processors work in locked stepat each step, a processor is active or idlesuited for SIMD and MIMD architectures

Asynchronous processors have local clocks needs to synchronize the processors suited for MIMD architecture

Pengolahan Paralel

43/58Ernastuti

Parallel Randon Access Machine Example of synchronous operationAlgorithm : Processor i (i=0 3)

Input : A, Bi processor id

Output : C

Begin If ( B==0) C = A

Else C = A/BEnd

Pengolahan Paralel

44/58Ernastuti

Hasil Eksekusi Algoritma

Step 1

A : 7B : 0C : 7

A : 2B : 1C : 0

A : 4B : 2 C : 0

A : 5B : 0C : 5

Processor 3Processor 2Processor 1Processor 0

Initial

A : 7B : 0C : 0

A : 2B : 1C : 0

A : 4B : 2 C : 0

A : 5B : 0C : 0

Processor 3Processor 2Processor 1Processor 0

(idle B 0) (idle B 0) (active B = 0)(active B = 0)

Pengolahan Paralel

45/58Ernastuti

Parallel Randon Access Machine

Step 2

A : 7B : 0C : 7

A : 2B : 1C : 2

A : 4B : 2 C : 2

A : 5B : 0C : 5

Processor 3Processor 2Processor 1Processor 0

(active B 0) (active B 0) (idle B = 0)(idle B = 0)

Pengolahan Paralel

46/58Ernastuti

Parallel Randon Access MachineRead / Write conflicts EREW : Exclusive - Read, Exclusive -Write

no concurrent ( read or write) operation on a variable

CREW : Concurrent Read, Exclusive Write concurrent reads allowed on same variable exclusive write only

Pengolahan Paralel

47/58Ernastuti

Parallel Randon Access Machine

ERCW : Exclusive Read Concurrent Write

CRCW : Concurrent Read, Concurrent Write

Pengolahan Paralel

48/58Ernastuti

Parallel Randon Access MachineConcurrent write on a variable X

Common CRCW : only if all processors write the same value on X

SUM CRCW : write the sum all variables on X

Random CRCW : choose one processor at random and write its value on X

Priority CRCW : processor with hign priority writes on X

Pengolahan Paralel

49/58Ernastuti

Parallel Randon Access MachineExample:Concurrent write on X by processors

P1 (50 X) , P2 (60 X), P3 (70 X)

Common CRCW ou ERCW : Failure

SUM CRCW : X is the sum (180) of the writtenvalues

Random CRCW : final value of X { 50, 60, 70 }

Pengolahan Paralel

50/58Ernastuti

ALGORITMA PARALEL PENJUMLAHAN

Pengolahan Paralel

51/58Ernastuti

ILUSTRASI KOMPUTASI ALGORITMA PARALEL PENJUMLAHAN

Pengolahan Paralel

52/58Ernastuti

ALGORITMA SEQUENTIALPREFIX SUM

Input : A : array of integerOutput: pref_sum: array of integer

pref_sum[0] 0begin

for i 1 to npref_sum[ i ] pref_sum[i 1] + A[ i ]

endforend

Pengolahan Paralel

53/58Ernastuti

ILUSTRASI KOMPUTASI ALGORITMA SEQUENTIALPREFIX SUM

A[1,,9] = {1,2,3,4,5,6,7,8,9}pref_sum[1] = 0 + 1 = 1pref_sum[2] = 1 + 2 = 3pref_sum[3] = 3 + 3 = 6pref_sum[4] = 6 + 4 = 10pref_sum[5] = 10 + 5 = 15pref_sum[6] = 15 + 6 = 21pref_sum[7] = 21 + 7 = 28pref_sum[8] = 28 + 8 = 36pref_sum[9] = 36 + 9 = 45

Pengolahan Paralel

54/58Ernastuti

ALGORITMA PARALEL PREFIX SUM

Pengolahan Paralel

55/58Ernastuti

ILUSTRASI KOMPUTASI ALGORITMA PARALEL PREFIX SUM

Pengolahan Paralel

56/58Ernastuti

ALGORITMA PARALELPREFIX SUM

Pengolahan Paralel

57/58Ernastuti

PENGOLAHAN PARALELLATAR BELAKANG PENGOLAHAN PARALEL4 langkah penyelesaian masalah komputasi secara paralel:LINEAR + RINGMESH + TORUS: 2D, 3DHYPERCUBE ( n-CUBE)TREESHUFFLE EXCHANGEDE BRUIJNBUTTERFLYPYRAMIDUntuk membandingkan model jaringan interkoneksi diperlukan beberapa kriteria pengukuran. Standard criteria used by industry:COMPARISON OF INTERCONNECTION NETWORKSContoh topologi jaringan interkoneksi dalam arsitektur paralel yang umum saat ini :NETWORK COSTHYPERCUBE dimensi 1,2,3 dan 4MODEL-MODEL KOMPUTASIyang mendasari komputer paralelALGORITMA SEQUENTIALPENJUMLAHANHASIL KOMPUTASI ALGORITMA SEQUENTIALPENJUMLAHANShared Memory & Interconnection NetworkParallel Randon Access MachineParallel Randon Access MachineParallel Randon Access MachineParallel Randon Access MachineHasil Eksekusi AlgoritmaParallel Randon Access MachineParallel Randon Access MachineParallel Randon Access MachineParallel Randon Access MachineParallel Randon Access MachineALGORITMA PARALEL PENJUMLAHANILUSTRASI KOMPUTASI ALGORITMA PARALEL PENJUMLAHANALGORITMA SEQUENTIALPREFIX SUMILUSTRASI KOMPUTASI ALGORITMA SEQUENTIALPREFIX SUMALGORITMA PARALEL PREFIX SUMILUSTRASI KOMPUTASI ALGORITMA PARALEL PREFIX SUMALGORITMA PARALELPREFIX SUM