Skip to content
Snippets Groups Projects
Name Last commit Last update
src
.gitignore
Makefile
README.md
output.txt

OpenMPI

Petunjuk Penggunaan Program

  1. Copy repositori ke storage lokal.
  2. Jalankan make.
  3. 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
  4. Buka file 'output.txt' untuk melihat jarak terdekat antar node.

Pembagian Tugas

  1. Harry Prabowo (13517094): Mengintegrasi fungsi dan MPI_Gather untuk menghasilkan file output.
  2. 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.