Loading CMakeLists.txt +5 −5 Original line number Diff line number Diff line Loading @@ -141,12 +141,12 @@ add_definitions(-DLIBGKFS_LOG_MESSAGE_SIZE=${CLIENT_LOG_MESSAGE_SIZE}) message(STATUS "[gekkofs] Maximum log message size in the client library: ${CLIENT_LOG_MESSAGE_SIZE}") mark_as_advanced(CLIENT_LOG_MESSAGE_SIZE) option(USE_GUIDED "Use guided data distributor " OFF) message(STATUS "[gekkofs] Guided data distributor: ${USE_GUIDED}") option(GKFS_USE_GUIDED_DISTRIBUTION "Use guided data distributor " OFF) message(STATUS "[gekkofs] Guided data distributor: ${GKFS_USE_GUIDED_DISTRIBUTION}") set(USE_GUIDED_PATH "~/guided.txt" CACHE STRING "File Path for guided distributor") set_property(CACHE USE_GUIDED_PATH PROPERTY STRINGS) message(STATUS "[gekkofs] Guided data distributor input file path: ${USE_GUIDED_PATH}") set(GKFS_USE_GUIDED_DISTRIBUTION_PATH "guided.txt" CACHE STRING "File Path for guided distributor") set_property(CACHE GKFS_USE_GUIDED_DISTRIBUTION_PATH PROPERTY STRINGS) message(STATUS "[gekkofs] Guided data distributor input file path: ${GKFS_USE_GUIDED_DISTRIBUTION_PATH}") configure_file(include/global/cmake_configure.hpp.in include/global/cmake_configure.hpp) Loading README.md +5 −5 Original line number Diff line number Diff line Loading @@ -262,15 +262,15 @@ This will enable a `TRACE_READS` level log at the clients offering several lines In this stage, each node should generate a separated file this can be done in SLURM using the next line : `srun -N 10 -n 320 --export="ALL" /bin/bash -c "export LIBGKFS_LOG_OUTPUT=${HOME}/test/GLOBAL.txt;LD_PRELOAD=${GKFS_PRLD} <app>"` Then, use the `utils/generate.py` to create the output file. * `python utils/generate.py ~/test/GLOBAL.txt >> guided.txt` Then, use the `examples/distributors/guided/generate.py` to create the output file. * `python examples/distributors/guided/generate.py ~/test/GLOBAL.txt >> guided.txt` This should work if the nodes are sorted in alphabetical order, which is the usual scenario. This should work if the nodes are sorted in alphabetical order, which is the usual scenario. Users should take care of multi-server configurations. ``` Finally, enable the distributor using the next compilation flags: * `USE_GUIDED` ON * `USE_GUIDED_PATH` `<path to guided.txt>` * `GKFS_USE_GUIDED_DISTRIBUTION` ON * `GKFS_USE_GUIDED_DISTRIBUTION_PATH` `<full path to guided.txt>` Loading include/global/cmake_configure.hpp.in +2 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ #cmakedefine01 CREATE_CHECK_PARENTS #cmakedefine01 LOG_SYSCALLS #cmakedefine USE_GUIDED #cmakedefine TRACE_GUIDED #define GUIDED_PATH "@USE_GUIDED_PATH@" #cmakedefine GKFS_USE_GUIDED_DISTRIBUTION #define GKFS_USE_GUIDED_DISTRIBUTION_PATH "@GKFS_USE_GUIDED_DISTRIBUTION_PATH@" #endif //FS_CMAKE_CONFIGURE_H src/client/preload.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ void init_ld_environment_() { auto forwarder_dist = std::make_shared<gkfs::rpc::ForwarderDistributor>(CTX->fwd_host_id(), CTX->hosts().size()); CTX->distributor(forwarder_dist); #else #ifdef USE_GUIDED #ifdef GKFS_USE_GUIDED_DISTRIBUTION auto distributor = std::make_shared<gkfs::rpc::GuidedDistributor>(CTX->local_host_id(), CTX->hosts().size()); #else auto distributor = std::make_shared<gkfs::rpc::SimpleHashDistributor>(CTX->local_host_id(), Loading src/daemon/daemon.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -164,7 +164,7 @@ void init_environment() { GKFS_DATA->spdlogger()->debug("{}() Initializing Distributor ", __func__); try { #ifdef USE_GUIDED #ifdef GKFS_USE_GUIDED_DISTRIBUTION auto distributor = std::make_shared<gkfs::rpc::GuidedDistributor>(); #else auto distributor = std::make_shared<gkfs::rpc::SimpleHashDistributor>(); Loading Loading
CMakeLists.txt +5 −5 Original line number Diff line number Diff line Loading @@ -141,12 +141,12 @@ add_definitions(-DLIBGKFS_LOG_MESSAGE_SIZE=${CLIENT_LOG_MESSAGE_SIZE}) message(STATUS "[gekkofs] Maximum log message size in the client library: ${CLIENT_LOG_MESSAGE_SIZE}") mark_as_advanced(CLIENT_LOG_MESSAGE_SIZE) option(USE_GUIDED "Use guided data distributor " OFF) message(STATUS "[gekkofs] Guided data distributor: ${USE_GUIDED}") option(GKFS_USE_GUIDED_DISTRIBUTION "Use guided data distributor " OFF) message(STATUS "[gekkofs] Guided data distributor: ${GKFS_USE_GUIDED_DISTRIBUTION}") set(USE_GUIDED_PATH "~/guided.txt" CACHE STRING "File Path for guided distributor") set_property(CACHE USE_GUIDED_PATH PROPERTY STRINGS) message(STATUS "[gekkofs] Guided data distributor input file path: ${USE_GUIDED_PATH}") set(GKFS_USE_GUIDED_DISTRIBUTION_PATH "guided.txt" CACHE STRING "File Path for guided distributor") set_property(CACHE GKFS_USE_GUIDED_DISTRIBUTION_PATH PROPERTY STRINGS) message(STATUS "[gekkofs] Guided data distributor input file path: ${GKFS_USE_GUIDED_DISTRIBUTION_PATH}") configure_file(include/global/cmake_configure.hpp.in include/global/cmake_configure.hpp) Loading
README.md +5 −5 Original line number Diff line number Diff line Loading @@ -262,15 +262,15 @@ This will enable a `TRACE_READS` level log at the clients offering several lines In this stage, each node should generate a separated file this can be done in SLURM using the next line : `srun -N 10 -n 320 --export="ALL" /bin/bash -c "export LIBGKFS_LOG_OUTPUT=${HOME}/test/GLOBAL.txt;LD_PRELOAD=${GKFS_PRLD} <app>"` Then, use the `utils/generate.py` to create the output file. * `python utils/generate.py ~/test/GLOBAL.txt >> guided.txt` Then, use the `examples/distributors/guided/generate.py` to create the output file. * `python examples/distributors/guided/generate.py ~/test/GLOBAL.txt >> guided.txt` This should work if the nodes are sorted in alphabetical order, which is the usual scenario. This should work if the nodes are sorted in alphabetical order, which is the usual scenario. Users should take care of multi-server configurations. ``` Finally, enable the distributor using the next compilation flags: * `USE_GUIDED` ON * `USE_GUIDED_PATH` `<path to guided.txt>` * `GKFS_USE_GUIDED_DISTRIBUTION` ON * `GKFS_USE_GUIDED_DISTRIBUTION_PATH` `<full path to guided.txt>` Loading
include/global/cmake_configure.hpp.in +2 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ #cmakedefine01 CREATE_CHECK_PARENTS #cmakedefine01 LOG_SYSCALLS #cmakedefine USE_GUIDED #cmakedefine TRACE_GUIDED #define GUIDED_PATH "@USE_GUIDED_PATH@" #cmakedefine GKFS_USE_GUIDED_DISTRIBUTION #define GKFS_USE_GUIDED_DISTRIBUTION_PATH "@GKFS_USE_GUIDED_DISTRIBUTION_PATH@" #endif //FS_CMAKE_CONFIGURE_H
src/client/preload.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ void init_ld_environment_() { auto forwarder_dist = std::make_shared<gkfs::rpc::ForwarderDistributor>(CTX->fwd_host_id(), CTX->hosts().size()); CTX->distributor(forwarder_dist); #else #ifdef USE_GUIDED #ifdef GKFS_USE_GUIDED_DISTRIBUTION auto distributor = std::make_shared<gkfs::rpc::GuidedDistributor>(CTX->local_host_id(), CTX->hosts().size()); #else auto distributor = std::make_shared<gkfs::rpc::SimpleHashDistributor>(CTX->local_host_id(), Loading
src/daemon/daemon.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -164,7 +164,7 @@ void init_environment() { GKFS_DATA->spdlogger()->debug("{}() Initializing Distributor ", __func__); try { #ifdef USE_GUIDED #ifdef GKFS_USE_GUIDED_DISTRIBUTION auto distributor = std::make_shared<gkfs::rpc::GuidedDistributor>(); #else auto distributor = std::make_shared<gkfs::rpc::SimpleHashDistributor>(); Loading