toggled / vldbsubmission

Official repository of the PVLDB 2023 paper: Neighborhood-based Hypergraph core decomposition
MIT License
3 stars 3 forks source link

Parallel efficiency issues #7

Open JamesZwq opened 1 month ago

JamesZwq commented 1 month ago

I compiled a multithreaded file using the command g++ -std=c++11 -fopenmp -O3 -o optIlocalpdyn parallel_localcoreinitOptdyn2.cpp and ran the optIlocalpdyn command. When I ran the dataset aminer, the multithreading efficiency was very low:

#threads(local): 64 #Threads(init.): 64
#Threads:64/Time:23.281262 seconds/steps: 14

init. Time (init DS + Array init + LB) w/ 64 Threads:  230.460187
core file: ../output/parout/enron_64_ompd.core
"algo" ,"dataset" ,"execution time" ,"init_time" ,"num_threads" ,"total iteration" ,

When I ran the same dataset using Local-core-OPTIV, the initialization time was 75.36280 and the execution time was 35.4337. It seems that using 64 threads is very inefficient. What could I be doing wrong?

toggled commented 1 month ago

Could you report the issue in a reproducible manner, particularly the commands you ran for both sequential and parallel codes and the console outputs?

JamesZwq commented 1 month ago

g++ -std=c++11 -fopenmp -O3 -o optIlocalpdyn parallel_localcoreinitOptdyn2.cpp ./optIlocalpdyn aminer 64 1 64

This is the command that I am using to run.

# wenqianz @ radonduo in ~/vldbsubmission/par_src on git:main x [7:48:47]
$ g++ -std=c++11 -fopenmp -O3 -o optIlocalpdyn parallel_localcoreinitOptdyn2.cpp
parallel_localcoreinitOptdyn2.cpp:1: warning: "_GNU_SOURCE" redefined
    1 | #define _GNU_SOURCE
      |
<command-line>: note: this is the location of the previous definition

# wenqianz @ radonduo in ~/vldbsubmission/par_src on git:main x [7:48:51]
$ ./optIlocalpdyn enron 64 1 64
5
../data/aminer.hyp  #threads(local): 64 #Threads(init.): 64
#Threads:64/Time:23.281262 seconds/steps: 14

init. Time (init DS + Array init + LB) w/ 64 Threads:  230.460187
core file: ../output/parout/enron_64_ompd.core
"algo" ,"dataset" ,"execution time" ,"init_time" ,"num_threads" ,"total iteration" ,
toggled commented 1 month ago

When I ran the same dataset using Local-core-OPTIV, the initialization time was 75.36280 and the execution time was 35.4337.

And regarding this comment, what is the command you ran?

JamesZwq commented 1 month ago
g++ -std=c++11 -Wall -O3 -g main.cpp hypergraph.cpp algorithms.cpp -o main

./main 1 aminer Local-core-OPTIV 1 0