Commit b702aa4d authored by Ramon Nou's avatar Ramon Nou
Browse files

Added GKFS prefix to CMake options

parent bbda6bdc
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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)

+5 −5
Original line number Diff line number Diff line
@@ -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>`



+2 −3
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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(),
+1 −1
Original line number Diff line number Diff line
@@ -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