OpenMPI
Petunjuk Penggunaan Program
- Copy repositori ke storage lokal.
- Jalankan
make
. - Run 'openmpi.out' dengan command
mpirun -np <jumlah proses> --hostfile mpi_hostfile openmpi.out <jumlah node>
contoh:mpirun -np 6 --hostfile mpi_hostfile openmpi.out 100
- Buka file 'output.txt' untuk melihat jarak terdekat antar node.
Pembagian Tugas
- Harry Prabowo (13517094): Mengintegrasi fungsi dan MPI_Gather untuk menghasilkan file output.
- Vincent Chuardi (13517103): Mengimplemen fungsi dijkstra, dan inisialisasi, broadcast MPI.
Solusi Paralel
Paralel yang dilakukan adalah dengan membagi pencarian jarak terdekat tiap nodus. Pembagiannya dilakukan dengan membagi total nodus terhadap jumlah proses yang diinginkan, kemudian mengalokasikan tiap proses jumlah nodus yang sama.
Analisi Solusi
Solusi yang kami tawarkan adalah solusi yang sederhana. Terdapat solusi yang lebih bagus, solusi tersebut memotong kolom kemudian membagi load pekerjaan ke proses-proses dan mencari lokal minimum hasil tiap proses. Setelah itu, membandingkan lokal mininum dan diharapkan mendapatkan global minimum.
Jumlah Thread
Berjumlah 6, karena host yang dialokasikan berjumlah 6 buah. Jika dialokasikan lebih dari 6, akan menyebabkan overtime yang disebabkan dari context switching proses-proses.
Pengukuran Kinerja
100 node
Serial: 23890 ms Paralel: 142360 ms
1000 node
Serial: 12561450 ms Paralel: 8862679 ms
Analisis Perbandingan Kinerja Serial & Paralel
Kinerja serial seharusnya lebih buruk daripada paralel karena kinerja paralel membagi tugas ke beberapa proses sedangkan serial hanya dilakukan oleh sebuah proses. Tetapi, karena pengaruh server yang sedang berat, maka komunikasi antar proses menjadi lebih lama yang mengakibatkan waktu paralel lebih lama.