NOTASI UNTUK ALGORITMA PARALEL

dokumen-dokumen yang mirip
NOTASI UNTUK ALGORITMA PARALEL

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram)

Preorder Tree Traversal

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM)

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram) Ver

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram)

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

PERSEGI ANGKA-HURUF VERTIKAL

OPERASI MATRIKS. a 11 a 12 a 13 a 14 A = a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44

Pengolahan Paralel PENGOLAHAN PARALEL. Ernastuti 1/58. Ernastuti

PENGOLAHAN PARALEL. Ernastuti

ORGANISASI KOMPUTER II AUB SURAKARTA

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

TUGAS MATA KULIAH TEKNIK KOMPILASI

Kompleksitas Algoritma (1)

KLASIFIKASI ARSITEKTURAL

JARINGAN UNTUK MERGING

Kompleksitas Algoritma

TEKNIK OPTIMASI. Dependensi Optimasi. Optimasi Lokal. Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebih cepat eksekusinya.

ALGORITMA DAN PEMROGRAMAN

Kompleksitas Algoritma

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

SATUAN ACARA PERKULIAHAN MATA KULIAH ALGORITMA PENGOLAHAN PARALEL (S1/ TEKNIK INFORMATIKA)

10. PARALLEL PROCESSING

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

STRUKTUR DASAR ALGORITMA

Kompleksitas Algoritma

Teknik Optimasi. Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1

PERANCANGAN ARSITEKTUR PEMARALELAN UNTUK MENCARI SHORTEST PATH DENGAN ALGORITMA DIJKSTRA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

Pemrograman Dasar Kelas X RPL KONSEP DASAR ALGORITMA

SATUAN ACARA PERKULIAHAN MATA KULIAH PENGOLAHAN PARALEL (S1/ TEKNIK KOMPUTER)

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Teknik optimasi. Teknik optimasi kode program Tujuan: menghasilkan kode program yang berukuran lebih kecil dan lebih cepat pada saat dieksekusi.

STRATEGI DIVIDE AND CONQUER

Perjalanan sebuah intruksi

ITERASI 1 TITIK SEDERHANA METODE NEWTON RAPHSON

Analisis Algoritma Bubble Sort

Algoritma Brute Force

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Algoritma Pemrograman

ARSITEKTUR KOMPUTER. Satu CPU yang mengeksekusi instruksi satu persatu dan menjemput atau menyimpan data satu persatu.

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

PENGUJIAN PERANGKAT LUNAK

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

ANALISIS ALGORITMA BINARY SEARCH

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

Arsitektur Komputer. Dua element utama pd sistem komputer konvensional: Memory Processor

ALGORITMA PENGURUTAN & PENCARIAN

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi.

Kompleksitas Algoritma

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

PENGUJIAN PERANGKAT LUNAK

Searching [pencarian] Algoritma Pemrograman

BAB 2 LANDASAN TEORI

ANALISA KINERJA CLUSTER LINUX DENGAN PUSTAKA MPICH TERHADAP PERKALIAN MATRIKS

Konsep Dasar Pemrograman

>> KLASIFIKASI ARSITEKTURAL

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER. Jurusan Sistem Komputer S1 Universitas Gunadarma

Soal dan Jawaban Materi Graf, Pohon, dan Kompleksitas Algoritma

UNIVERSITAS GUNADARMA

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Pengurutan (Sorting) Algoritma Pemrograman

Konstruksi Dasar Algoritma

BFS dan DFS. Bahan Kuliah IF2151 Strategi Algoritmik. Oleh: Rinaldi Munir

Algoritma Divide and Conquer

BAB VII ALGORITMA DIVIDE AND CONQUER

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

ALGORITMA ROUTING UNTUK INDENTIFIKASI JALUR TERPENDEK PADA INCOMPLETE-HYPERCUBE

White Box Testing Merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case.

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

BAB II TINJAUAN PUSTAKA

Algoritma Greedy (lanjutan)

Algoritma Brute Force

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

BAB II TINJAUAN PUSTAKA

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

Kompleksitas Komputasi

Analisis Kecepatan Sorting Dengan Notasi Big O

STRUKTUR DASAR ALGORITMA

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

IMPLEMENTASI GRAF DENGAN MENGGUNAKAN STRATEGI GREEDY

KOMPONEN KOMPUTER PARALLEL

DASAR PEMROGRAMAN & ALGORITMA

Studi Algoritma Optimasi dalam Graf Berbobot

P9 Seleksi & Perulangan

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

Algoritma Pemrograman

Transkripsi:

NOTASI UNTUK ALGORITMA PARALEL Untuk Shared-Memory Model Global Local Untuk Distributed Memory Machine Parameter Æ suatu konstanta yang sudah dikomunikasikan antar prosesor. Umum +, x, Å if else endif ; while endwhile ; for endfor for all Æ data paralelism : SIMD : diasumsikan ada lockstep MIMD : diasumsikan berjalan asynchronous menyatakan suatu prosesor store/retrieve nilai local dari prosesor lain. [x] a menyatakan nilai dari prosesor. tmp [s] a 1/ 7 hal

SUMMATION (HYPERCUBE SIMD): Parameter Global Local n { Number of elements to add} p { Number of processing elements} j local.set.size, local.value[1 n/p ], sum, tmp Begin For all P i, where () i p 1 do If i < (n modulo p) then Local.set.size Å n/p Else Local.set.size Å n/p Sum Å 0 For j Å 1 to n/p do For all P i, Where 0 i P-1 do If local.set.size j then Sum Å sum + local.value[j] For j Å log P-1 downto 0 do For all P i, Where 0 i P-1 do If i < 2 j Then tmp [ i+2 j ] sum sum Å sum + tmp END 2/ 7 hal

3/ 7 hal

Hasilnya? Bagaimana jika setiap elemen pemrosesan akan mempunyai copy-an dari global sum? Kita dapat menggunakan fase broadcast di akhir algoritma. Setiap elemen pemrosesan Θ mempunyai global sum, nilai-nilainya dapat dikirimkan ke processor lainnya dalam log p tahapan komunikasi dengan membalikan arah edge pada pohon binomial. Kompleksitas untuk menemukan jumlah (sum) dari n nilai, Θ (n/p + log p) pada model hypercube yang berarray prosesor. SHUFFLE EXCHANGE SIMD MODEL Pada model ini, tidal ada dilatasi 1 pada pohon binomial. Efisiensi algoritma ini jika jumlah digabungkan secara berpasangan. Angka logaritma dari tahapan penggabungan dapat menemukan total akhir. Setelah log p shuffle exchange, prosesor O memdapatkan total akhir prosesor. 4/ 7 hal

SUMMATION (SHUFFLE-EXCHANGE SIMD) : Parameter n { Number of elements to add } P { Number of processing elements } Global j Local local.set.size, local.value[1 n/p ], sum,tmp Begin For all P i, where () i p 1 do If i < (n modulo p) then Local.set.size Å n/p Else Local.set.size Å n/p Sum Å 0 For j Å 1 to n/p do For all P i, Where 0 i P-1 do If local.set.size j then Sum Å sum + local.value[j] For j Å 0 to log p-1 do For all P i, Where 0 i P-1 do Shuffle (sum) sum Exchange (tmp) sum Sum Å sum + tmp END Waktu Kompleksitas : Θ (n/p + log p) 5/ 7 hal

2-D Mesh SIMD Model Untuk mendapatkan jumlah n nilai diantara p prosesor, diorganisasikan dalam p x p mesh, minimal satu prosesor pada mesh harus berisi total akhir. Total jumlah dari tahap komunikasi untuk mendapatkan sub-total dari prosesor minimal 2( p-1). Kompleksitas algoritma ini Θ(n/p + p) 6/ 7 hal

(Pseudocode (anggap n = l 2 ) SUMMATION (2-D MESH SIMD) : Parameter l { Mesh has size l x l } Global i Local tmp,sum Begin {each processor finds sum of its local values code not shown} For i Å l-1 downto 1 do For all Pj,i, Where 1 j l do {Processing elements in column i active} tmp south (sum) sum Å sum + tmp END 7/ 7 hal

Waktu Eksekusi Algoritma ini terbagi 2 : Waktu yang dibutuhkan untuk nilai awal pesan ( message passing overhead) Waktu yang dibutuhkan untuk melaksanakan pemindahan data ( message latency) Jika data yang di- broadcast sedikit, message passing overhead mendominasi message latency. Algoritma yang baik adalah yang meminimalkan jumlah komunikasi yang dilaksanakan oleh setiap prosesor. Jadi minimal untuk komunikasi membutuhkan log p. 8/ 7 hal

Pohon binomial cocok untuk model broadcast ini, karena ada sebuah dilatasi-1 yang ditempelkan ke hypercube dari pohon binomial ( Lihat Gb. 6-11 dan 6 12) Jika data yang di-broadcast besar, waktu pemindahan data mendominasi message-passing overhead. Pada pohon binomial-nya merupakan keadaan terburuk, dalam setiap waktu, tidak lebih dari p/2 dari p log p hubungan komunikasi yang digunakan. Jika M adalah waktu yang dibutuhkan untuk melewatkan pesan dari satu prosesor ke lainnya, algoritma broadcast ini membutuhkan waktu M log p. Jhonson and Ho (1989) membuat algoritma broadcast yang mengeksekusi waktu lebih cepat dari algoritma bimial log p. Algoritmanya : setiap hypercube terdiri dari log p edgedisjoint spanning tree dengan node akar yang sama. Algoritma memisahkan pesan ke dalam log p bagian dan broadcast setiap bagian ke node lain melalui pohon rentang binomial. (lihat Gb. 6-13) Sehingga algoritma yang baru membutuhkan waktu M log p/log p = M. 9/ 7 hal

HYPERCUBE BROADCAST (id,source,value) : Parameter P {Number of processor} Value id {Processor s id number} source {ID of source processor} Reference value {value to be broadcast} Local i {loop iteration} partner {partner processor} position {position in broadcast tree} {This procedure is called from inside a for all statement} Begin position Å id source For i Å 0 to log p-1 do If position < 2 i then partner Å id 2 i [partner] value Å value END. 10/ 7 hal

11/ 7 hal