+ All Categories
Home > Documents > • Embarrassingly Parallel Computations • Partitioning and Divide-and-Conquer Strategies

• Embarrassingly Parallel Computations • Partitioning and Divide-and-Conquer Strategies

Date post: 02-Jan-2016
Category:
Upload: casey-mcmahon
View: 43 times
Download: 5 times
Share this document with a friend
Description:
Teknik-teknik Paralel. • Embarrassingly Parallel Computations • Partitioning and Divide-and-Conquer Strategies • Pipelined Computations • Synchronous Computations • Asynchronous Computations • Load Balancing and Termination Detection. 3.1. Chapter 3. - PowerPoint PPT Presentation
22
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved. Embarrassingly Parallel Computations Partitioning and Divide-and-Conquer Strategies Pipelined Computations Synchronous Computations Asynchronous Computations Load Balancing and Termination Detection Teknik-teknik Paralel 3. 1
Transcript
Page 1: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

• Embarrassingly Parallel Computations

• Partitioning and Divide-and-Conquer Strategies

• Pipelined Computations

• Synchronous Computations

• Asynchronous Computations

• Load Balancing and Termination Detection

Teknik-teknik Paralel

3.1

Page 2: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Chapter 3

Embarrassingly Parallel Computations

3.2

Page 3: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Embarrassingly Parallel ComputationsKomputasi yang jelas dapat dibagi menjadi sejumlah bagian yang benar-benar independen, masing-masing dieksekusi oleh prosesor yang terpisah.

Tidak ada atau hanya sedikit komunikasi antar proses.Setiap proses dapat melakukan tugasnya tanpa interaksi dengan proses lain.

3.3

Page 4: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Practical embarrassingly parallel computation with static process

creation and master-slave approach

3.4

Page 5: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Practical embarrassingly parallel computation with dynamic process creation and master-slave approach

3.5

Page 6: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Embarrassingly Parallel Computation Examples

• Low level image processing

• Mandelbrot set

• Monte Carlo Calculations

3.6

Page 7: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Low level image processing

Banyak operasi low level image processing yang hanya memakai data lokal dengan komunikasi yang sangat terbatas atau bahkan tidak ada sama sekali antara bagian-bagian yang terlibat.

3.7

Page 8: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Beberapa operasi geometri

ShiftingObyek shift (bergeser) sebesar x pada dimensi-x dan y pada dimensi-y:

x = x + xy = y + y

dengan x dan y merupakan posisi awal dan x dan y merupakan koordinat yang baru.

Scaling

Obyek di-skala sebesar faktor Sx pada arah-x dan Sy pada arah-y:

x = xSx

y = ySy

3.8

Page 9: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Rotasi

Obyek dirotasi sebesar sudut q dari titik awal sistem koordinat:

x = x cos + y siny = -x sin + y cos

3.8

Page 10: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Partisi menjadi bagian-bagian (region) untuk proses individu

Square region untuk setiap proses

3.9

Page 11: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Mandelbrot SetSatu set titik pada bidang kompleks yang quasi-stable (akan naik dan turun, tetapi tidak melampaui satu batas tertentu) ketika dihitung dengan meng-iterasi fungsi

dengan zk +1 adalah iterasi ke-(k + 1) dari bilangan kompleks z = a + bi dan c adalah bilangan kompleks yang memberikan posisi titik di bidang kompleks. Nilai awal z adalah nol.

Iterasi berlanjut sampai nilai z lebih besar dari 2 atau jumlah iterasi mencapai batar arbitrary. Besar z adalah panjang vektor yang dinyatakan dengan

3.10

Page 12: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Rutin sekuensial untuk menghitung nilai satu titik yang merupakan jumlah iterasi

structure complex {float real;float imag;};int cal_pixel(complex c){int count, max;complex z;float temp, lengthsq;max = 256;z.real = 0; z.imag = 0;count = 0; /* jumlah iterasi */do {temp = z.real * z.real - z.imag * z.imag + c.real;z.imag = 2 * z.real * z.imag + c.imag;z.real = temp;lengthsq = z.real * z.real + z.imag * z.imag;count++;} while ((lengthsq < 4.0) && (count < max));return count;}

3.11

Page 13: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Mandelbrot set

3.12

Page 14: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Memparalelkan Komputasi Mandelbrot Set

Static Task Assignment

Bagi region menjadi sejumlah tetap bagian, masing-masing dihitung oleh prosesor yang terpisah.

Tidak begitu berhasil karena region yang berbeda membutuhkan jumlah dan waktu iterasi yang berbeda.

Dynamic Task Assignment

Prosesor meminta region setelah menghitung regionsebelumnya.

3.13

Page 15: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Dynamic Task AssignmentWork Pool/Processor Farms

3.14

Page 16: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Metode Monte Carlo

Another embarrassingly parallel computation.

Metode Monte Carlo menggunakan pemilihan random.

3.15

Page 17: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Lingkaran dibentuk dengan persegi 2 x 2. Rasio luas lingkaran terhadap persegi dinyatakan dengan:

Titik-titik di dalam persegi dipilih secara acak. Catat berapa titik ada dalam lingkaran.

Bagian titik di dalam lingkaran menjadi , jika diberikan jumlah sample yang sesuai.

3.16

Page 18: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved. 3.17

Page 19: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Menghitung IntegralSatu kuadran dapat dideskripsikan oleh integral

Pasangan bilangan acak, (xr,yr) dibandingkan, masing-masing antara 0 dan 1.Dihitung sebagai lingkaran jika

3.18

Page 20: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

Metode Alternatif (yang lebih baik)

Gunakan nilai acak x untuk menghitung f(x) dan jumlah nilai f(x):

dengan xr merupakan nilai x yang dibangkitkan secara acak antara x1 dan x2.

Metode Monte Carlo sangat berguna jika fungsi tidak bisa diintegrasikan secara numerik (mungkin memiliki variabel yang banyak)

3.19

Page 21: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

ContohMenghitung integral

Kode sekuensial

sum = 0;for (i = 0; i < N; i++) { /* N random samples */xr = rand_v(x1, x2); /* generate next random value */sum = sum + xr * xr - 3 * xr; /* compute f(xr) */}area = (sum / N) * (x2 - x1);

Rutin randv(x1, x2) mengembalikan bilangan pseudorandom antara x1 dan x2.

3.20

Page 22: •  Embarrassingly Parallel Computations •  Partitioning and Divide-and-Conquer Strategies

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. Allen, @ 2004 Pearson Education Inc. All rights reserved.

For parallelizing Monte Carlo code, must address best way togenerate random numbers in parallel - see textbook

3.21


Recommended