NBI 1461600005
Kelas S
Mata Kuliah Komputasi Paralel
Tugas 4
2. Buat program multiprocessing yang bisa menjalankan ke-4 fungsi berikut secara
bersama-sama;
a) Fungsi menampilkan dan mengirim jarak depan dalam satuan cm ke Master
Control
b) Fungsi menampilkan dan mengirim jarak belakang dalam satuan cm ke Master
Control
c) Fungsi menampilkan dan mengirim jarak sampaing kiri dalam satuan cm ke
Master Control
d) Fungsi menampilkan dan mengirim jarak samping kanan dalam satuan cm ke
Master Control
e) Fungsi menampilkan dan menerima jarak dari semua arah dan memberi komentar
tindakan
Untuk menyelesaikan masalah komputasi dengan algoritma yang sesuai, kita perlu
melaksanakan analisis mereka. Algoritme sekuensial adalah urutan langkah yang didefinisikan
secara tepat untuk menyelesaikan masalah,yaitu menghitung data keluaran berdasarkan input
data. Jadi algoritma paralel terdiri dari sejumlah algoritma terpisah yang dapat dieksekusi
secara bersamaan. Kriteria dasar untuk mengevaluasi algoritma sekuensial termasuk waktu
berjalan dan kebutuhan memori.
Yang dimaksud dengan sistem paralel adalah algoritma paralel yang dijalankan dalam paralel
tertentu komputer. Sistem paralel dapat ditingkatkan, jika efisiensinya dapat dipertahankan
pada tingkat yang ditentukan oleh secara bersamaan meningkatkan jumlah prosesor dan ukuran
masalah menjadi terpecahkan.
Fungsi Isoefficiency
Hukum Amdahl’s
Singkatnya, hukum Amdahl memungkinkan kita untuk menjawab pertanyaan sejauh mana a
algoritma sekuensial memecahkan masalah ukuran yang diberikan n dapat dipercepat.
Berdasarkan hukum Amdahl, keinginan untuk membangun komputer paralel dengan semakin
banyak jumlah prosesor dapat dipertanyakan. Namun, peningkatan yang dapat dicapai dalam
komputasi paralel juga dapat dilihat dari perspektif lain, yang dibahas pada bagian selanjutnya.
Pendekatannya oleh Gustafson dan Barsis menentukan percepatan yang bisa dicapai dengan
tetap mempertahankan konstan waktu komputasi paralel dengan meningkatkan ukuran masalah
yang sedang dipecahkan. Misalkan kita mensimulasikan fenomena kompleks, misalnya kondisi
cuaca, di beberapa ruang geografis menggunakan komputer paralel dengan jumlah tertentu
pengolah.
Hukum Gustafson – Barsis (3.16) mendefinisikan apa yang disebut peningkatan kecepatan,
karena sepanjang dengan perubahan sejumlah prosesor ukuran masalah diskalakan, sehinggaa
waktu komputasi paralel konstan dipertahankan (perhatikan bahwa kita mengasumsikan σ + ρ
= 1). Secara umum, speedup yang ditentukan oleh hukum Gustafson – Barsis jauh lebih besar
dari yang dihitung mengadopsi hukum Amdahl.
Baik pendekatan Amdahl dan Gustafson – Barsis mengabaikan waktu To (p, n) terkait dengan
overhead paralel, dan juga mengasumsikan bahwa fraksi paralel dari Tr (1, n) dapat dipercepat
hingga batas maksimum, yaitu p kali.
Pada bagian ini kita membahas algoritma paralel untuk memecahkan masalah yang dipilih
menggunakan Model PRAM dengan memori bersama.
Mengingat matriks a dan b ukuran n × n kami mencari matriks c menjadi produk matriks a dan
b, yaitu c = ab. Algoritma sekuensial untuk menghitung matriks c di O (n3) waktu adalah
sebagai berikut:
Perhitungan pada Daftar
Struktur data dasar yang telah kami gunakan sejauh ini sambil mendiskusikan algoritma untuk
a Model PRAM adalah array satu dimensi. Waktu berjalan paralel dari algoritma adalah O (log
n), karena satu iterasi dalam baris 9–16 mengurangi panjang setiap sublist hingga setengahnya.
Jadi, untuk menghitung nilai akhir dari d [i] cukup untuk membuat log dan iterasi. Biaya O (n
log n) dari algoritma tidak optimal. Setelah algoritma dijalankan, daftar L asli dihancurkan
(lihat Gambar 3.16d). Jika kita ingin mempertahankan daftar ini, maka sebelum menjalankan
algoritma petunjuk selanjutnya harus disalin dan operasi harus dilakukan pada ini salinan.
Contoh lebih lanjut penerapan metode pointer jump adalah subjek Latihan 7 dan 8.
Metode Siklus Euler
Metode siklus Euler berguna dalam melakukan komputasi paralel yang optimal pohon. Biarkan
T = (V, E) menjadi pohon tanpa akar yang tidak diarahkan, dan biarkan T = (V, E
) menjadi grafik diarahkan berasal dari T dengan mengganti setiap tepi (v, u) ∈ T dengan dua
busur (v, u) dan (u, v). Tingkat input dan output dari simpul dalam grafik T adalah sama, oleh
karena itu grafiknya adalah Eulerian. Dalam grafik seperti itu siklus Euler (atau sirkuit, tur)
ada, yang merupakan jalur tertutup yang melewati setiap busur grafik sekali.22 Siklus Euler
dalam grafik T dapat disediakan oleh fungsi penerus s, yang menetapkan setiap busur e ∈ E
an busur s (e) ∈ E menjadi penerus busur e dalam siklus. Pertimbangkan simpul v ∈ T dan a
daftar simpul yang berdekatan L [v] = (u0, u1, ..., uk, ..., ur − 1), di mana r adalah derajat v.
Asumsikan bahwa penerus busur e = (uk, v) dalam siklus Euler sedang dibangun adalah busur
s ((uk, v)) = (v, u (k + 1) mod r) untuk 0 ≤ k ≤ r - 1.
ALGORITMA UNTUK MODEL JARINGAN
Pada bagian ini kami menyajikan algoritma paralel yang dipilih untuk jenis jaringan tertentu
model.
Algoritme pertama kami akan mengalikan matriks a ukuran n × n dengan vektor n-elemen x,
yaitu z = kapak (Gambar 3.20). Misalkan penggandaan dilakukan oleh prosesor p, p ≤ n,
bekerja secara tidak sinkron dan terhubung dalam torus satu dimensi. Asumsikan untuk
kesederhanaan bahwa r = n / p adalah bilangan bulat. Buffer menentukan di mana data
disimpan, dan arah ∈ {kiri, kanan} menunjukkan prosesor tempat (atau dari mana) data dikirim
(atau diterima). Kami berasumsi bahwa pernyataan komunikasi diimplementasikan secara
sinkron, berbeda dengan perhitungan yang dilakukan oleh semua prosesor secara serempak.
Seperti yang telah kita lihat, hasil reduksi (Gambar 3.23) disimpan dalam jumlah variabel
prosesor P0. Cukup sering hasil ini tersedia di semua prosesor kubus
Sortir Bitonik
Jaringan Batcher Algoritma Cole dan algoritma pada Gambar 3.13 dirancang untuk model
bersama Berbagi memori. Dalam literatur masalah penyortiran juga diselesaikan dengan
mengadopsi model jaringan pembanding. Jaringan seperti ini terdiri dari pembanding yang
saling berhubungan beroperasi secara paralel. Komparator adalah perangkat dengan dua input
dan dua output. Di antara jaringan pembanding a kelompok khusus jaringan penyortiran
dibedakan. Tesis Komputasi Paralel Tesis perhitungan paralel terkait dengan kelas
kompleksitas NC. Biarkan f (n) menjadi fungsi sewenang-wenang ukuran n masalah. Secara
informal, tesis ini mengatakan bahwa kapasitas memori dari komputasi sekuensial dan waktu
komputasi paralel terkait secara polinomi