• Tidak ada hasil yang ditemukan

pipeline.ppt Official Site of Achmad Benny Mutiara Gunadarma University pipeline

N/A
N/A
Protected

Academic year: 2018

Membagikan "pipeline.ppt Official Site of Achmad Benny Mutiara Gunadarma University pipeline"

Copied!
36
0
0

Teks penuh

(1)

Pipelined Computations

Dalam teknik pipeline, problem dibagi menjadi deretan yang harus dilaksanakan satu setelah lainnya. Setiap tugas nantinya akan dieksekusi oleh proses atau prosesor yang berbeda

Gambar 1 Proses pipeline

(2)

Contoh Lain

Filter frekuensi - Menghilangkan frekuensi tertentu ( katakan

f

0,

f

1,

f

2,

f

3, dst) signal,

f

(

t

). Signal dapat dilewati pipeline dari kiri

Gambar 3. Pipeline untuk filter frekuensi

Pipeline dapat meningkatkan kecepatan untuk problem yang

sekuensial, dalam tiga tipe komputasi:

1. Jika lebih dari satu instance dari problem yang akan dieksekusi

2. Jika ada deretan item data yang harus diproses, masing-masing

membutuhkan operasi ganda

(3)

Diagram Ruang-Waktu Pipeline “Tipe 1”

(4)
(5)

Diagram Ruang-Waktu Pipeline “Tipe 2”

(6)

Diagram Ruang-Waktu Pipeline “Tipe 3”

(7)

Jika jumlah tahap lebih besar dari jumlah prosesor dalam pipeline, kelompok tahap dapat diassign untuk tiap prosesor

(8)

Platform Komputisai untuk Aplikasi Pipeline

(9)

Contoh Program Penjumlahan Angka

(10)

Kode dasar untuk proses Pi :

recv(&accumulation, P i-1 );

accumulation = accumulation + number; send(&accumulation, P i+1 );

Kecuali untuk proses pertama, P0 , yaitu

send(&number, P 1 );

Dan proses terakhir , Pn-1 , yaitu

recv(&number, P n-2 );

(11)

Program SPMD

if (process > 0) {

recv(&accumulation, P i-1 );

accumulation = accumulation + number; }

if (process < n-1) send(&accumulation, P i+1 );

Hasil akhir ada di proses terakhir.

(12)
(13)
(14)

Analisa

Analisa

Contoh pertama adalah Tipe 1. Dengan asumsi bahwa tiap proses melakukan aksi serupa dalam tiap siklus pipeline. Kemudian akan dilakukan komputasi dan komunikasi yang dibutuhkan dalam siklus pipeline

Waktu total eksekusi

t total = (waktu untuk satu siklus pipeline)(jumlah siklus) t total = (t comp + t comm )(m + p 1)

Dimana ada m instances problem dan p tahap pipeline (proses) Waktu rata-rata untuk komputasi diberikan oleh:

(15)

Instance Tunggal Problem

t comp = 1

t comm = 2(t startup + t data )

t total = (2(t startup + t data ) + 1)n

Kompleksitas waktu = O(n).

Instances Ganda Problem

t total = (2(t startup + t data ) + 1)(m + n 1)

(16)

Mem-partisi Data dengan Instances Gande Problem

t comp = d

t comm = 2(t startup + t data )

t total = (2(t startup + t data ) + d)(m + n/d 1)

Dengan menaikkan d, partisi data, pengaruh komunikasi dihilangkan. Akan tetapi naiknya partisi data menurunkan paralelisme dan

(17)

Mengurutkan

Angka

Versi paralel dari

insertion sort. (

A parallel version of

insertion sort. (versi sekuensialnya adalah menempatka kartu yang dimainkan berurut dgn memindahkan kartu untuk menyisipkannya dalam posisi-nya)

(18)

Algortima dasar untuk proses Pi adalah

recv(&number, P i-1 ); if (number > x) {

send(&x, P i+1 ); x = number;

} else send(&number, P i+1 );

(19)
(20)
(21)

Dengan mengembalikan hasilnya, proses i dapat ditulis dalam bentuk

right_procno = n - i - 1; /*no of processes to the right */ recv(&x, P i-1 );

for (j = 0; j < right_procno; j++) { recv(&number, P i-1 );

if (number > x) { send(&x, P i+1 ); x = number;

} else send(&number, P i+1 ); }

send(&number, P i-1 ); /* send number held */

for (j = 0; j < right_procno; j++) {/*pass on other nos */ recv(&x, P i+1 );

(22)

Analisa

Sekuensial

Jelas merupakan algoritma sorting yang buruk dan tidak cocok kecuali untuk jumlah n yang sangat kecil

ts = (n - 1) + (n - 2) + … + 2 + 1 = n (n + 1) / 2

Paralel

Setiap siklus pipeline membutuhkan paling tidak

t comp = 1

t comm = 2(t startup + t data )

Waktu eksekusi total, t total , diberikan oleh

(23)
(24)

Pembangkit Bilangan Prima

Deretan integer dibangkitkan dari 2. Bilangan pertama, 2, adalah prima dan disimpan. Seluruh kelipatan bilangan ini dihilangkan karena bukan merupakan bilangan prima. Proses dilakukan secara berulang untuk

(25)

Kode Sekuensial

Umumnya menggunakan array dengan nilai awal 1 (TRUE) dan diset 0 (FALSE) jika indeks elemen bukan bilangan prima.Dengan menyatakan angka terakhir adalah n maka dapat ditulis:

for (i = 2; i < n; i++)

prime[i] = 1; /* Initialize array */

for (i = 2; i <= sqrt_n; i++)/* for each number */ if (prime[i] == 1) /* identified as prime */

for (j = i + i; j < n; j = j + i)/*strike multiples */ prime[j] = 0; /* includes already done */

(26)

Kode Sekuensial

Waktu Sekuensial

Dengan asumsi komputasi pada tiap iterasi sam dengan satu langkah komputasional. Kompleksitas waktu sekuensial adalah O(n2 ).

Jumlah iterasi sangat tergantung dari bilangan prima tersebut. Ada [n/2-1] kelipatan dua, [n/3-1] kelipatan tiga, dan seterusnya.

(27)

Implementasi Pipeline

(28)

Kode untuk proses, Pi , berdasarkan atas

recv(&x, P i-1 );

/* repeat following for each number */ recv(&number, P i-1 );

if ((number % x) != 0) send(&number, P i+1 );

Setiap proses tidak akan menerima jumlah angka yang sama dan tidak diketahui sebelumnya. Menggunakan message “terminator, yang dikirim pada akhir urutan.

recv(&x, P i-1 );

for (i = 0; i < n; i++) { recv(&number, P i-1 );

if (number == terminator) break;

(29)

Menyelesaikan Sistem Persamaan Linier — Kasus

Khusus

Dimana a dan b adalah konstanta dan x adalah yang akan dicari

Contoh tipe 3 – proses dapat melanjutkan pekerjaan lain

setelah mem-passing informasi

(30)

Subtitusi Balik

Pertama, x0 dapat dilihat dari persamaan terakhir

Nilai untuk x0 disubtitusi ke persamaan berikutnya untuk mendapatkan x1

Nilai x0 dan x1 disubtitusi ke persamaan berikutnya untuk mendapatkan

x2:

(31)

Solusi Pipeline

Gambar 5.18 Menyelesaikan set persamaan linier upper triangular menggunakan pipeline.

Pipeline tahap pertama menghitung x0 dan di pass ke tahap kedua, yang

menghitung x1 dari x0 dan mem-pass kedua x0 dan x1 ke tahap berikutnya,

(32)
(33)

Kode Sekuensial

Konstanta a i,j dan b k disimpan dalam array a[] dan b[], dan nilai untuk yang dicari disimpan dalam array, x[], kode sekuensialnya:

(34)

Kode Paralel

Pseudocode proses P i (1 < i n) dari satu versi pipeline adalah:

for (j = 0; j < i; j++) { recv(&x[j], P i-1 );

send(&x[j], P i+1 ); }

sum = 0;

for (j = 0; j < i; j++)

sum = sum + a[i][j]*x[j]; x[i] = (b[i] - sum)/a[i][i]; send(&x[i], P i+1 );

(35)
(36)

Analisa

Tidak dapat diasumsikan usaha komputasional tiap tahap sama

Proses pertama, P0 , melakukan satu pembagian dan satu send().

Proses ke i (0 i < n 1) melakukan i recv()s, i send()s, i

perkalian/penjumlahan, satu pembagian/pengurangan,dan akhirnya

send(), total 2i + 1 waktu komunikasi dan 2i + 2 langkah komputasional diasumsikan bahwa, perkalian, penjumlahan, pembagian dan pengurangan tiap satu langkah.

Proses terakhir, Pn-1 , melakukan n 1 recv()s, n 1

Gambar

Gambar 1 Proses pipeline
Gambar 4. Diagram ruang waktu pipeline
Gambar 5 Diagram Ruang-Waktu Alternatif
Gambar 6 Pemrosesan pipeline 10 elemen data
+7

Referensi

Dokumen terkait

This program of study builds around a set of eleven required courses in computer science (including a culminating design project) and three from electrical engineering, comprising

o Model ini telah memberikan wewenang sebagian pelaksanaan akreditasi ke wilayah dengan ketentuan bahwa kelompok pelaksana daerah hanya untuk akreditasi program

First
go
to
 http://www.microsoft.com/express/download/#webInstall 
and


2. Jelaskan i) apa yang dimaksud grafik komputer, ii) hal-hal yang terkait dengan grafik komputer, dan iii) aplikasi grafik komputer !3. Jelaskan mode-mode input device dari

derajat dari sumbu X atau sumbu Y dengan asumsi titik awal P1 dengan koordinat X1 dan Y1 lebih kecil daripada X2 dan Y2

Bagaimana jika kita semua tidak pernah secara langsung menunjukkan framebuffer kita, tetapi menulisnya sebagai suatu citra untuk display berikutnya. Sebenarnya semua format

pelanggaran keamanan sistem informasi serta validasinya menurut metode yang digunakan (misalnya metode sebab-akibat). – Memerlukan keahlian dibidang IT ( termasuk diantaranya

By slicing the memory of a processor, the CM can also implement virtual processors. The CM{2 diers from the CM{1 in that it has 64K bits instead of 4K bits memory per processor, and