Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M. 2004.

Slides:



Advertisements
Presentasi serupa
Pernyataan Pengulangan Proses Samson AE Sinaga. Pernyataan Pengulangan •FOR – NEXT •DO WHILE – LOOP •DO UNTIL – LOOP •DO LOOP – WHILE •DO LOOP – UNTIL.
Advertisements

Tim Teaching Grant Mata Kuliah Sistem Operasi
STRUKTUR DATA (5) Pointer dan Function
Bentuk Koordinat Koordinat Kartesius, Koordinat Polar, Koordinat Tabung, Koordinat Bola Desember 2011.
KONSEP PROSES Minggu ke 5.
Transformasi geometri.  Pemindahan objek (titik, garis, bidang datar) pada bidang.  Perubahan yang (mungkin) terjadi: Kedudukan / letak Arah Ukuran.
5.MONTE CARLO 5.1. Metode Monte Carlo
Koordinat Kartesius, Koordinat Tabung & Koordinat Bola
INTEGRASI NUMERIS Integral Reimann sebuah fungsi
ARRAY (LARIK)
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
Transformasi Geometri 2 Dimensi
Bab 5 Pengulangan.
Koordinat Kartesius, Koordinat Tabung & Koordinat Bola
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
STRUKTUR DATA (5) Pointer dan Function
MINGGU 4 Java Programming (MKB614C)
Integral Lipat Dua.
Tutorial Matlab Ref : Analisa Numerik Tutorial Matlab Ref :
TEKNIK PENGINTEGRALAN
PEMROGRAMAN IMPERATIF
 Programming language designed for building dynamic web applications  Server-side Scripting Internet Web Browser Apache PHP MySQL Disk Drive.
Pendahuluan Algoritma Pengolahan Paralel S1-TI Prepared by: MT Wilson.
11. STRATEGI PARTISI DAN DIVIDE & CONQUER 11.1 Partisi Strategi Divide & Conquer Divide & Conquer M-ary 11.2 Contoh Divide & Conquer Sortir dengan Bucket.
Matakuliah : Kalkulus II
PROSES dan PENJADWALAN (Konsep proses) By: Asriadi Pertemuan 5.
 Statistical Simulation, menggambarkan sistem yang stochastic maupun static dan digunakan untuk meng-estimate nilai-nilai yang tidak bisa dengan mudah.
CS3204 Pengolahan Citra - UAS
Pernyataan Pengulangan Proses
PENJADWALAN PROSES.
Fuzzy for Image Processing
and Divide-and-Conquer Strategies
TRANSFORMASI 2D.
FUNGSI.
INTEGRAL GARIS SKALAR DAN INTEGRAL PERMUKAAN
Imam Cholissodin | Algoritma Evolusi Teknik Optimasi Imam Cholissodin |
Transformasi Geometri Sederhana
Transformasi Geometri Sederhana
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
Apakah Bilangan Kompleks itu ?
Pertemuan 3 (Bahasa Assembly)
Operasi2 Dasar Merupakan manipulasi elemen matriks :
GEOMETRI Probolinggo SMK Negeri 2 SUDUT DAN BIDANG.
Transformasi geometri
Dasar teori dan algoritma grafika komputer
Apakah Bilangan Kompleks itu ?
Penjadwalan Proses.
Pertemuaan 2 Fitri Amillia, S.T., M.T.
12. Teknologi Pipeline By Serdiwansyah N. A..
Transformasi 2D.
TRANSFORMASI 2 DIMENSI Oleh : Hieronimus Edhi Nugroho, M.Kom
FUNGSI II.
Transformasi 2 Dimensi.
SIMULASI.
Pipelined Computations Dalam teknik pipeline, problem dibagi menjadi deretan yang harus dilaksanakan satu setelah lainnya. Setiap tugas nantinya akan dieksekusi.
Grafika Komputer Transformasi 2 Dimensi.
PENGOLAHAN CITRA DAN POLA
Aritmatika Komputer.
Geometri Analitik Datar
Algoritma Paralel.
Struktur dan Arsitektur Pemrograman
TRANSFORMASI GRAFIK 2 DIMENSI
BAB 1 ANALISIS VARIANSI / KERAGAMAN Analysis of Variance ( ANOVA )
Ihr Logo Dasar teori dan algoritma grafika komputer.
Transformasi Geometri 2 Dimensi
Pipelined Computations
KONSEP PROSES Minggu ke 5.
Transformasi Geometri 2 Dimensi
Vektor Proyeksi dari
Teknik Optimasi by kustanto
Transcript presentasi:

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M 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

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Chapter 3 Embarrassingly Parallel Computations 3.2

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Embarrassingly Parallel Computations Komputasi 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

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Practical embarrassingly parallel computation with static process creation and master-slave approach 3.4

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Practical embarrassingly parallel computation with dynamic process creation and master-slave approach 3.5

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Embarrassingly Parallel Computation Examples Low level image processing Mandelbrot set Monte Carlo Calculations 3.6

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M 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

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Beberapa operasi geometri Shifting Obyek shift (bergeser) sebesar  x pada dimensi-x dan  y pada dimensi-y: x = x +  x y = y +  y dengan x dan y merupakan posisi awal dan x dan y merupakan koordinat yang baru. Scaling Obyek di-skala sebesar faktor S x pada arah-x dan S y pada arah-y: x = xS x y = yS y 3.8

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Rotasi Obyek dirotasi sebesar sudut q dari titik awal sistem koordinat: x = x cos  + y sin  y = -x sin  + y cos  3.8

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Partisi menjadi bagian-bagian (region) untuk proses individu Square region untuk setiap proses 3.9

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Mandelbrot Set Satu 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 z k +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

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M 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

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

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M 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 region sebelumnya. 3.13

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Dynamic Task Assignment Work Pool/Processor Farms 3.14

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Metode Monte Carlo Another embarrassingly parallel computation. Metode Monte Carlo menggunakan pemilihan random. 3.15

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M 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

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

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Menghitung Integral Satu kuadran dapat dideskripsikan oleh integral Pasangan bilangan acak, (xr,yr) dibandingkan, masing- masing antara 0 dan 1. Dihitung sebagai lingkaran jika 3.18

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M 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 x 1 dan x 2. Metode Monte Carlo sangat berguna jika fungsi tidak bisa diintegrasikan secara numerik (mungkin memiliki variabel yang banyak) 3.19

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. Contoh Menghitung 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 x

Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. For parallelizing Monte Carlo code, must address best way to generate random numbers in parallel - see textbook 3.21