ALGORITMA PARALEL ALGORITMA DAN PEMROGRAMAN (Pertemuan 12) - Diponegoro University | Institutional Repository (UNDIP-IR)
PROGRAM STUDI
S1 SISTEM KOMPUTER
UNIVERSITAS DIPONEGORO
Oky Dwi Nurhayati, ST, MT
email: [email protected]
Model-model Komputasi:
Single Instruction stream, Single Data Stream (SISD)
Banyak dijumpai pada aplikasi PC
Model-model Komputasi:
Multiple Instruction Stream, Single Data Stream (MISD)
Contoh aplikasi :
komputasi untuk menentukan suatu bilangan
integer merupakan bilangan prima atau bukan.
Mesin robot untuk scanning laut yang dalam untuk
membedakan suatu objek apakah ikan, batu karang,
bangkai kapal, atau benda lainnya.
Model-model Komputasi:
Model-model Komputasi:
Single Instruction Stream, Multiple Data Stream (SIMD)
Komputer memiliki N prosesor yang identik. Tiap
prosesor memiliki memori local untuk simpan data atau
program. Semua prosesor di bawah control satu aliran
instruksi dari suatu sentral unit control. Prosesorprosesor beroperasi secara sinkron.
Model-model Komputasi:
Model-model Shared-Memory (SM) SIMD:
1). Exclusive-Read, Exclusive-Write (EREW) SM SIMD
2). Concurent-Read, Exclusive-Write (CREW) SM SIMD
3). Exclusive-Read, Concurrent-Write (ERCW) SM SIMD
4). Concurrent-Read, Concurrent-Write (CRCW) SM SIMD
Model-model Shared-Memory (SM) SIMD:
4). Concurrent-Read, Concurrent-Write (CRCW) SM SIMD
Model-model Shared-Memory (SM) SIMD:
Fully interconnected set of Processor
Dibuat Simple network SIMD Model-modelnya
2). Two-Dimensional array
Dibuat Simple network SIMD Model-modelnya
3). Tree-Connection
Dibuat Simple network SIMD Model-modelnya
4). Perfect Shuffle Conection
Cacah processor N = 2 k
Hubungan prosesor Pi ke Pj :
2 i
;0≤ i≤ N − i
j =
N
≤ i≤ N − 1
(2 i + 1 − N ) ;
2
Dibuat Simple network SIMD Model-modelnya
4). Perfect Shuffle Conection
contoh 8 prosesor : (N = 8 = 23)
Dibuat Simple network SIMD Model-modelnya
5). Cube Connection
Cacah prosesor N = 2q ; q ≥ 1, N prosesor : Po, P1, P2,
……………..PN-1,
q-dimensional cube (or hypercube)
Contoh ; Bila q = 3 Po, P1,……P7.
Tiap prosesor terhubung dengan 3 yang lain.
Dalam kenyataan aplikasi, berbagai macam problem dapat
dikerjakan dengan algoritma pararell pada computer SIMD.
Maka secara realitas banyak masalah komputasi tidak
cocok dengan SIMD → MIMD
Model-model Komputasi:
4. Multiple Instruction Stream, Multiple Data Stream (MIMD)
Persamaan linear : Ax = b ← A є R nx
Struktur spesial :
A → MSB
: A є R nxn
A ij = 0 , i < j
A ij ≠ 0 , i < j
Bila a ii = 1 untuk semua i, i maka;
A = I–L
← L = MSB
L ij = 0 , i < j
Lemma:
Bila;
A = I–L
Maka:
A-1 = ( I + L + L2 + .......... + Ln-1)
Bila;
A1
A=
A2
0
A3
n n
A1 berukuran =
x
2 2
−1
A
0
−1
1
A =
−1
−1
−1
−1
A3
− A3 A2 A1
Berdasar kan dekomposisi di atas, untuk matrix A = MSB;
1) Bila n = 1 , A-1 jelas
2) Bila n > 1, lakukan partisi A seperti di atas:
a) ubah ke A1 dan A3, A1 dan A3 = MSB
b) kalikan A3-1 dengan A2 → A3-1 A2
c) kalikan hasil pada no. b) dengan A1-1
b) dan c) menggunakan ~ n3 parameter
Persamaan linear Ax = b
A ← segitiga bawah
Penyelesaian dengan back substitution:
Persamaan ke i dari Ax = b adalah;
ai1 X1 + ai2 X2 + …………+ aii Xi = bi
Dengan harga-harga variabel :
X1, ………Xi-1 dan pernyataan : aj1 X1 + …………+ aj , i -1 Xi -1
Untuk j ≥ i telah tersedia, maka :
Prosesor ke i untuk evaluasi xi adalah;
1
(
Xi =
bi − ai 1 X 1 − ......... − ai , i − 1 X i )
ai i
Akhirnya, setiap perosessor j, dengan j ≥ i mengevaluasi ternyataan;
aj1 X1 + …………+ aj i Xi dengan penambahan aj i Xi kepada
pernyataan terdahulu aj1 X1 + …………+ aj , i -1 Xi -1
Algoritma berakhi pada tahap ke n bila X1 , X2 , .......... , Xn telah terhitung.
Untuk backsstutitution, memerlukan n prosesor.
Implementasi backsubstitution dengan pipelined:
• snapshot of the algoritma as soon as Xi is computed ( evaluasi
i
∑
k=1
ai + 1, k X k
) dan prosesor I + 1 telah terima X1 , ……… Xi-1
b) secepatnya X1 diterima oleh prosesor I + 1 langsung dihitung
i
∑
k=1
ai + 1, k X k
Xi +1 dihitung
c) Xi -1 ditransmisi ke prosesor (i + 2) untuk proleh hasil Xi
Bentuk alternatif lain.
Linear Array
3) Sistem dengan matrix tridiagonal
Ax = b → A tridiagonal jika :
aij = 0 untuk | i – j | > 1
Bentuk persamaan sistem:
g1 X1 + h1 X2 = b1
fi Xi-1 + gi Xi + hi Xi+1 = bi , i = 2, 3, ......, n – fn Xn-1 + gn Xn = bn
gi → elemen diagonal matrix A
fi dan hi : elemen bawah / atas giagram implementasi dikenal dengan;
odd – even reduction
dengan gi ≠ 0 , maka :
1
(
Xi =
bi − f i X i − 1 − hi X i + 1 )
gi
bila i diganti dengan ( i – 1) dan ( i + 1) untuk eliminasi Xi+1, maka;
fi
gi − 1
(b
i − 1 − f i − 1 X i − 1 − hi − 1 X i ) g i X i +
sehingga;
hi
(b i + 1 − f i + 1 X i − hi + 1 X i + 2 ) = bi
gi + 1
fi fi − 1
hi hi + 1
hi − 1 f1 hi f i + 1
Xi+ 2 =
−
X i − 2 + gi −
−
Xi −
gi − 1
gi + 1
g
g
i
i
+
1
f
h
bi − i bi − 1 − i bi + 1
gi − 1
gi + 1
Implementasinya:
S1 SISTEM KOMPUTER
UNIVERSITAS DIPONEGORO
Oky Dwi Nurhayati, ST, MT
email: [email protected]
Model-model Komputasi:
Single Instruction stream, Single Data Stream (SISD)
Banyak dijumpai pada aplikasi PC
Model-model Komputasi:
Multiple Instruction Stream, Single Data Stream (MISD)
Contoh aplikasi :
komputasi untuk menentukan suatu bilangan
integer merupakan bilangan prima atau bukan.
Mesin robot untuk scanning laut yang dalam untuk
membedakan suatu objek apakah ikan, batu karang,
bangkai kapal, atau benda lainnya.
Model-model Komputasi:
Model-model Komputasi:
Single Instruction Stream, Multiple Data Stream (SIMD)
Komputer memiliki N prosesor yang identik. Tiap
prosesor memiliki memori local untuk simpan data atau
program. Semua prosesor di bawah control satu aliran
instruksi dari suatu sentral unit control. Prosesorprosesor beroperasi secara sinkron.
Model-model Komputasi:
Model-model Shared-Memory (SM) SIMD:
1). Exclusive-Read, Exclusive-Write (EREW) SM SIMD
2). Concurent-Read, Exclusive-Write (CREW) SM SIMD
3). Exclusive-Read, Concurrent-Write (ERCW) SM SIMD
4). Concurrent-Read, Concurrent-Write (CRCW) SM SIMD
Model-model Shared-Memory (SM) SIMD:
4). Concurrent-Read, Concurrent-Write (CRCW) SM SIMD
Model-model Shared-Memory (SM) SIMD:
Fully interconnected set of Processor
Dibuat Simple network SIMD Model-modelnya
2). Two-Dimensional array
Dibuat Simple network SIMD Model-modelnya
3). Tree-Connection
Dibuat Simple network SIMD Model-modelnya
4). Perfect Shuffle Conection
Cacah processor N = 2 k
Hubungan prosesor Pi ke Pj :
2 i
;0≤ i≤ N − i
j =
N
≤ i≤ N − 1
(2 i + 1 − N ) ;
2
Dibuat Simple network SIMD Model-modelnya
4). Perfect Shuffle Conection
contoh 8 prosesor : (N = 8 = 23)
Dibuat Simple network SIMD Model-modelnya
5). Cube Connection
Cacah prosesor N = 2q ; q ≥ 1, N prosesor : Po, P1, P2,
……………..PN-1,
q-dimensional cube (or hypercube)
Contoh ; Bila q = 3 Po, P1,……P7.
Tiap prosesor terhubung dengan 3 yang lain.
Dalam kenyataan aplikasi, berbagai macam problem dapat
dikerjakan dengan algoritma pararell pada computer SIMD.
Maka secara realitas banyak masalah komputasi tidak
cocok dengan SIMD → MIMD
Model-model Komputasi:
4. Multiple Instruction Stream, Multiple Data Stream (MIMD)
Persamaan linear : Ax = b ← A є R nx
Struktur spesial :
A → MSB
: A є R nxn
A ij = 0 , i < j
A ij ≠ 0 , i < j
Bila a ii = 1 untuk semua i, i maka;
A = I–L
← L = MSB
L ij = 0 , i < j
Lemma:
Bila;
A = I–L
Maka:
A-1 = ( I + L + L2 + .......... + Ln-1)
Bila;
A1
A=
A2
0
A3
n n
A1 berukuran =
x
2 2
−1
A
0
−1
1
A =
−1
−1
−1
−1
A3
− A3 A2 A1
Berdasar kan dekomposisi di atas, untuk matrix A = MSB;
1) Bila n = 1 , A-1 jelas
2) Bila n > 1, lakukan partisi A seperti di atas:
a) ubah ke A1 dan A3, A1 dan A3 = MSB
b) kalikan A3-1 dengan A2 → A3-1 A2
c) kalikan hasil pada no. b) dengan A1-1
b) dan c) menggunakan ~ n3 parameter
Persamaan linear Ax = b
A ← segitiga bawah
Penyelesaian dengan back substitution:
Persamaan ke i dari Ax = b adalah;
ai1 X1 + ai2 X2 + …………+ aii Xi = bi
Dengan harga-harga variabel :
X1, ………Xi-1 dan pernyataan : aj1 X1 + …………+ aj , i -1 Xi -1
Untuk j ≥ i telah tersedia, maka :
Prosesor ke i untuk evaluasi xi adalah;
1
(
Xi =
bi − ai 1 X 1 − ......... − ai , i − 1 X i )
ai i
Akhirnya, setiap perosessor j, dengan j ≥ i mengevaluasi ternyataan;
aj1 X1 + …………+ aj i Xi dengan penambahan aj i Xi kepada
pernyataan terdahulu aj1 X1 + …………+ aj , i -1 Xi -1
Algoritma berakhi pada tahap ke n bila X1 , X2 , .......... , Xn telah terhitung.
Untuk backsstutitution, memerlukan n prosesor.
Implementasi backsubstitution dengan pipelined:
• snapshot of the algoritma as soon as Xi is computed ( evaluasi
i
∑
k=1
ai + 1, k X k
) dan prosesor I + 1 telah terima X1 , ……… Xi-1
b) secepatnya X1 diterima oleh prosesor I + 1 langsung dihitung
i
∑
k=1
ai + 1, k X k
Xi +1 dihitung
c) Xi -1 ditransmisi ke prosesor (i + 2) untuk proleh hasil Xi
Bentuk alternatif lain.
Linear Array
3) Sistem dengan matrix tridiagonal
Ax = b → A tridiagonal jika :
aij = 0 untuk | i – j | > 1
Bentuk persamaan sistem:
g1 X1 + h1 X2 = b1
fi Xi-1 + gi Xi + hi Xi+1 = bi , i = 2, 3, ......, n – fn Xn-1 + gn Xn = bn
gi → elemen diagonal matrix A
fi dan hi : elemen bawah / atas giagram implementasi dikenal dengan;
odd – even reduction
dengan gi ≠ 0 , maka :
1
(
Xi =
bi − f i X i − 1 − hi X i + 1 )
gi
bila i diganti dengan ( i – 1) dan ( i + 1) untuk eliminasi Xi+1, maka;
fi
gi − 1
(b
i − 1 − f i − 1 X i − 1 − hi − 1 X i ) g i X i +
sehingga;
hi
(b i + 1 − f i + 1 X i − hi + 1 X i + 2 ) = bi
gi + 1
fi fi − 1
hi hi + 1
hi − 1 f1 hi f i + 1
Xi+ 2 =
−
X i − 2 + gi −
−
Xi −
gi − 1
gi + 1
g
g
i
i
+
1
f
h
bi − i bi − 1 − i bi + 1
gi − 1
gi + 1
Implementasinya: