• Tidak ada hasil yang ditemukan

startegi partisi divide conquer

N/A
N/A
Protected

Academic year: 2018

Membagikan "startegi partisi divide conquer"

Copied!
26
0
0

Teks penuh

(1)

11. STRATEGI PARTISI DAN DIVIDE & CONQUER

11.1 Partisi

Strategi

Divide & Conquer

Divide & Conquer M-ary

11.2 Contoh Divide & Conquer

Sortir dengan Bucket Sort

Referensi : Wilkinson, Barry & Allen, M, “Parallel Programming”,

Prentice Hall, New Jersey, 1999; Chapter 4; hal. 107 - 122

(2)

11.1.1 Strategi Partisi

Deretan dipartisi ke dalam m bagian dan ditambahkan secara

bebas untuk membuat penjumlahan parsial

Gambar 4.1 Deretan dipartisi menjadi m bagian dan ditambahkan.

Pengolahan Paralel/KK021239

Contoh - Menambah Sederetan Angka

(3)
(4)
(5)

Menggunakan rutin

Scatter

dan

Reduce

Master

s = n/m; /* number of numbers */

scatter(numbers,&s,P

group

,root=master);

(6)

Analisis

Komputasi sekuensial membutuhkan n-1 penambahan dengan

kompleksitas waktu O(n)

Fase 3 - Komunikasi :

mengembalikan hasil parsial dengan rutin

send/ recv

t

comm2

= m(t

startup

+ t

data

)

Fase 4 - Komputasi :

Akumulasi akhir

t

comp2

= m -

1

Jadi

t

p

= (t

comm1

+ t

comm2

) + (t

comp1

+ t

comp2

)

= 2mt

startup

+ (n + m)t

data

+

m + n/m

-2 = O(

n + m

)

Waktu kompleksitas paralel

lebih buruk

dari sekuensial

Pengolahan Paralel/KK021239

(7)

11.1.2 Divide & Conquer

Karakteristiknya adalah membagi masalah ke dalam sub-sub

masalah yang sama bentuknya dengan masalah yang lebih besar.

Pembagian selanjutnya ke dalam sub problem yang lebih kecil

biasanya dilakukan melalui rekursi.

Definisi rekursi sekuensial untuk menambah sederetan angka :

(8)

Pengolahan Paralel/KK021239

Hasil akhir

Masalah Awal

Pembagian

masalah

Gambar 4.2 Konstruksi Pohon.

(9)

Pengolahan Paralel/KK021239

Implementasi Paralel

Gambar 4.3 Membagi deretan ke dalam beberapa bagian.

Deretan awal

(10)

Pengolahan Paralel/KK021239

Gambar 4.3 Penjumlahan Parsial.

Jumlah Akhir

(11)

Kode Paralel

Misal dibuat ada 8 prosesor untuk menambah

sederetan angka.

Proses P

0

(12)
(13)

Analisis

Diasumsikan n adalah pangkat dari 2. Waktu set up komunikasi,

t

startup

tidak diperhitungkan.

Komunikasi

Fase Pembagian

Fase Penggabungan

Total waktu komunikasi

Komputasi

Total waktu eksekusi paralel

Pengolahan Paralel/KK021239

(14)

Gambar 4.5 Bagian dari pohon pencarian

Pengolahan Paralel/KK021239

(15)

11.1.3 Divide & Conquer M-ary

Tugas (task) dibagi ke dalam lebih dari 2 bagian setiap tahapannya.

(16)

Gambar 4.6 Pohon kuarternair (quadtree)

Pengolahan Paralel/KK021239

(17)

Gambar 4.7 Membagi sebuah citra

Pengolahan Paralel/KK021239

Daerah citra

Pembagian pertama

ke dalam 4 bagian

Pembagian

kedua

(18)

Sortir dengan Bucket Sort

• Sederetan angka dibagi ke dalam m area yang sama,

0 .. a/m - 1, a/m .. 2a/m - 1, 2a/m .. 3a/m - 1, …

• Sebuah “bucket” ditugaskan untuk menampung angka

dalam setiap area

• Angka-angka tersebut dimasukkan ke bucket yang

sesuai

• Angka-angka

tersebut

akan

disortir

dengan

menggunakan algoritma sortir sekuensial setiap bucket.

Sortir ini akan baik jika angka-angka awalnya

didistribusikan ke interval yang sudah diketahui,

misalnya 0 ..

a - 1

.

Pengolahan Paralel/KK021239

11.2 Contoh Divide & Conquer

(19)

Pengolahan Paralel/KK021239

Angka yang disortir

Angka yang belum disortir

Bucket

Gambar 4.8 Bucket sort

Merge List

(20)

Waktu

Sekuensial

Pengolahan Paralel/KK021239

Algoritma Paralel

Bucket sort dapat diparalelkan dengan menugaskan

satu prosesor untuk setiap bucket - mengurangi suku ke

dua (second term) dari persamaan sebelumnya menjadi

(n/p)log(n/p)

untuk p prosesor (dimana

p = m

).

(21)

Pengolahan Paralel/KK021239

Angka yang disortir

Angka yang belum disortir

Bucket

Gambar 4.9 Satu versi Paralel dari Bucket sort

Merge List

p

prosesor

(22)

Paralelisasi Selanjutnya

• Membagi deretan ke dalam

m

area, satu area untuk

setiap prosesor

• Setiap prosesor mengatur

p

“bucket” yang kecil dan

memisahkan angka-angka dalam areanya ke dalam

bucket-bucket tersebut

• Bucket-bucket kecil ini kemudian dikosongkan ke

dalam

p

bucket akhir untuk sortir, yang membutuhkan

masing-masing prosesornya untuk mengirimkan satu

bucket kecil ke masing-masing prosesor yang lain

(bucket

i

ke prosesor

i

).

Pengolahan Paralel/KK021239

(23)

Pengolahan Paralel/KK021239

Angka yang disortir

Angka yang belum disortir

Bucket

besar

(24)

Analisis

Fase 1 - Komputasi dan komunikasi

(membagi angka)

t

comp1

=

n ; t

comm1

=

t

startup

+

t

data

n

Fase 2 - Komputasi

(sortir ke bucket kecil)

t

comp2

=

n

/

p

Fase 3 - Komunikasi

(kirim ke bucket besar)

Jika seluruh komunikasi tumpang tindih :

t

comm3

= (

p

- 1)(

t

startup

+ (

n

/

p

2

)

t

data

)

Fase 4 - Komputasi

(sortir bucket besar)

t

comp4

= (

n

/

p

)log(

n

/

p

)

Jadi

t

p

=

t

startup

+

t

data

n

+

n

/

p

+ (

p

- 1)(

t

startup

+ (

n

/

p

2

)

t

data

)

+

(

n

/

p

)log(

n

/

p

)

Diasumsikan angka-angka tersebut didistribusikan untuk mencapai

formula ini. Skenario kasus terburuk (worse-case) terjadi ketika semua

angka berada dalam satu bucket !

Pengolahan Paralel/KK021239

(25)

Rutin “all-to-all”

Dapat digunakan untuk fase 3 - mengirimkan data dari setiap

proses ke setiap proses yang lain

Gambar 4.11 Broadcast “all-to-all”

Pengolahan Paralel/KK021239

(26)

Rutin “all-to-all” sebenarnya mengubah baris

sebuah array menjadi kolom

Gambar 4.12 Efek “all-to-all” dari sebuah array

Pengolahan Paralel/KK021239

Gambar

Gambar 4.1 Deretan dipartisi menjadi m bagian dan ditambahkan.
Gambar 4.2 Konstruksi Pohon.
Gambar 4.3 Membagi deretan ke dalam beberapa bagian.
Gambar 4.3 Penjumlahan Parsial.
+7

Referensi

Dokumen terkait

Hasil dari proses pengujian ini akan digunakan dalam proses penyesuaian untuk mencapai kualitas sistem yang dikehendaki.Setelah pengembangan dilakukan, maka program di

Nyeri kepala pada penderita epilepsi dibagi menjadi: preictal headache yaitu nyeri kepala yang timbul tidak lebih dari 24 jam sebelum serangan dan berakhir saat serangan dimulai,

Dalam beberapa kasus, menjadi social entrepreneur dalam konteks ini mengabdi sebagai volunteer atau amil lembaga zakat belumlah menjadi pilihan utama sebagian

Simulasi distribusi air dengan Epanet 2.0 digunakan untuk mengetahui dan membandingkan hasil dari sistem distribusi air bersih yang sudah direncanakan dengan perhitungan

Reksoatmodjo, Statistika untuk Psikologi dan Pendidikan (Bandung: PT Refika Aditama, 2009), hlm.. 18 mencerminkan suatu konstruksi dalam teori psikologis. 22 Tentang

Maka apabila amanah diabaikan dengan golongan yang tidak berkelayakkan diberi tempat untuk menguruskan hal ehwal masyarakat, atau golongan jahil diberi ruang untuk

Harmer (2003) notes that all four basic language skills are listening, speaking, reading and writing. These four skills should include the teacher in the teaching and

Dalam lingkungan yang diciptakannya ini, baik lingkungan nyata maupun lingkungan abstrak manusia berinteraksi, sehingga dari satu sisi manusia menjadi bagian