Loading CHANGELOG.md +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141)). - Modified write and reads to use a bitset instead of the traditional hash per chunk in the server. - Added reattemp support in get_fs_config to other servers, when the initial server fails. - Fused GekkoFWD and GekkoFS. GekkoFWD is enabled with the `--enable-following` in the server configuration and the ENV variable `LIBGKFS_FORWARDING_MAP_FILE` in the clients. ([!170](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/170)). ### New ### Changed Loading CMake/gkfs-options.cmake +0 −8 Original line number Diff line number Diff line Loading @@ -348,14 +348,6 @@ gkfs_define_option( # I/O forwarding ################################################################################ ## Forwarding support gkfs_define_option( GKFS_ENABLE_FORWARDING HELP_TEXT "Enable I/O forwarding mode" DEFAULT_VALUE OFF DESCRIPTION "Use ${PROJECT_NAME} as an I/O forwarding layer" ) ## Scheduling in I/O forwarding mode gkfs_define_option( GKFS_ENABLE_AGIOS Loading docs/sphinx/users/dependencies.rst +1 −1 Original line number Diff line number Diff line Loading @@ -43,4 +43,4 @@ Required Optional -------- - `agios <https://github.com/francielizanon/agios>`_ (commit c26a654 or newer) to enable GekkoFWD mode. - `agios <https://github.com/francielizanon/agios>`_ (commit c26a654 or newer) to enable GekkoFWD mode scheduling. docs/sphinx/users/forwarding.rst +5 −7 Original line number Diff line number Diff line Loading @@ -24,13 +24,11 @@ PFS for storage, instead of a local store available at the compute nodes. Enabling GekkoFWD ------------------ To enable the I/O forwarding mode of GekkoFS, the :code:`GKFS_ENABLE_FORWARDING` CMake option should be enabled, :ref:`when configuring <building_gekkofs>` the build: .. code-block:: console $ cmake -DENABLE_FORWARDING:BOOL=ON To enable the I/O forwarding mode of GekkoFS, an environment variable named :code:`LIBGKFS_FORWARDING_MAP_FILE` is provided to allow users to identify the map file on each client. This environment variable will enable GekkoFS forwarding, then we only need to use :code:`--enable-forwarding`` option in the servers. I/O Scheduling -------------- Loading src/client/CMakeLists.txt +5 −51 Original line number Diff line number Diff line Loading @@ -52,59 +52,13 @@ target_sources( syscalls/detail/syscall_info.c ) target_link_libraries( gkfs_intercept PRIVATE metadata distributor env_util arithmetic path_util rpc_utils PUBLIC Syscall_intercept::Syscall_intercept dl Mercury::Mercury hermes fmt::fmt Threads::Threads Date::TZ ) install( TARGETS gkfs_intercept LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs ) # ############################################################################## # This builds the `libgkfwd_intercept.so` library: the client for GekkoFS' # forwarding mode based on syscall interception. # ############################################################################## if(GKFS_ENABLE_FORWARDING) add_library(gkfwd_intercept SHARED) target_sources( gkfwd_intercept PRIVATE gkfs_functions.cpp hooks.cpp intercept.cpp logging.cpp open_file_map.cpp open_dir.cpp path.cpp preload.cpp preload_context.cpp preload_util.cpp rpc/rpc_types.cpp rpc/forward_data.cpp rpc/forward_management.cpp rpc/forward_metadata.cpp syscalls/detail/syscall_info.c ) target_compile_definitions(gkfwd_intercept PUBLIC GKFS_ENABLE_FORWARDING) if(GKFS_ENABLE_AGIOS) target_compile_definitions(gkfwd_intercept PUBLIC GKFS_ENABLE_AGIOS) target_compile_definitions(gkfs_intercept PUBLIC GKFS_ENABLE_AGIOS) endif() target_link_libraries( gkfwd_intercept gkfs_intercept PRIVATE metadata distributor env_util arithmetic path_util rpc_utils PUBLIC Syscall_intercept::Syscall_intercept dl Loading @@ -116,9 +70,9 @@ if(GKFS_ENABLE_FORWARDING) ) install( TARGETS gkfwd_intercept TARGETS gkfs_intercept LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs ) endif() Loading
CHANGELOG.md +2 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141)). - Modified write and reads to use a bitset instead of the traditional hash per chunk in the server. - Added reattemp support in get_fs_config to other servers, when the initial server fails. - Fused GekkoFWD and GekkoFS. GekkoFWD is enabled with the `--enable-following` in the server configuration and the ENV variable `LIBGKFS_FORWARDING_MAP_FILE` in the clients. ([!170](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/170)). ### New ### Changed Loading
CMake/gkfs-options.cmake +0 −8 Original line number Diff line number Diff line Loading @@ -348,14 +348,6 @@ gkfs_define_option( # I/O forwarding ################################################################################ ## Forwarding support gkfs_define_option( GKFS_ENABLE_FORWARDING HELP_TEXT "Enable I/O forwarding mode" DEFAULT_VALUE OFF DESCRIPTION "Use ${PROJECT_NAME} as an I/O forwarding layer" ) ## Scheduling in I/O forwarding mode gkfs_define_option( GKFS_ENABLE_AGIOS Loading
docs/sphinx/users/dependencies.rst +1 −1 Original line number Diff line number Diff line Loading @@ -43,4 +43,4 @@ Required Optional -------- - `agios <https://github.com/francielizanon/agios>`_ (commit c26a654 or newer) to enable GekkoFWD mode. - `agios <https://github.com/francielizanon/agios>`_ (commit c26a654 or newer) to enable GekkoFWD mode scheduling.
docs/sphinx/users/forwarding.rst +5 −7 Original line number Diff line number Diff line Loading @@ -24,13 +24,11 @@ PFS for storage, instead of a local store available at the compute nodes. Enabling GekkoFWD ------------------ To enable the I/O forwarding mode of GekkoFS, the :code:`GKFS_ENABLE_FORWARDING` CMake option should be enabled, :ref:`when configuring <building_gekkofs>` the build: .. code-block:: console $ cmake -DENABLE_FORWARDING:BOOL=ON To enable the I/O forwarding mode of GekkoFS, an environment variable named :code:`LIBGKFS_FORWARDING_MAP_FILE` is provided to allow users to identify the map file on each client. This environment variable will enable GekkoFS forwarding, then we only need to use :code:`--enable-forwarding`` option in the servers. I/O Scheduling -------------- Loading
src/client/CMakeLists.txt +5 −51 Original line number Diff line number Diff line Loading @@ -52,59 +52,13 @@ target_sources( syscalls/detail/syscall_info.c ) target_link_libraries( gkfs_intercept PRIVATE metadata distributor env_util arithmetic path_util rpc_utils PUBLIC Syscall_intercept::Syscall_intercept dl Mercury::Mercury hermes fmt::fmt Threads::Threads Date::TZ ) install( TARGETS gkfs_intercept LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs ) # ############################################################################## # This builds the `libgkfwd_intercept.so` library: the client for GekkoFS' # forwarding mode based on syscall interception. # ############################################################################## if(GKFS_ENABLE_FORWARDING) add_library(gkfwd_intercept SHARED) target_sources( gkfwd_intercept PRIVATE gkfs_functions.cpp hooks.cpp intercept.cpp logging.cpp open_file_map.cpp open_dir.cpp path.cpp preload.cpp preload_context.cpp preload_util.cpp rpc/rpc_types.cpp rpc/forward_data.cpp rpc/forward_management.cpp rpc/forward_metadata.cpp syscalls/detail/syscall_info.c ) target_compile_definitions(gkfwd_intercept PUBLIC GKFS_ENABLE_FORWARDING) if(GKFS_ENABLE_AGIOS) target_compile_definitions(gkfwd_intercept PUBLIC GKFS_ENABLE_AGIOS) target_compile_definitions(gkfs_intercept PUBLIC GKFS_ENABLE_AGIOS) endif() target_link_libraries( gkfwd_intercept gkfs_intercept PRIVATE metadata distributor env_util arithmetic path_util rpc_utils PUBLIC Syscall_intercept::Syscall_intercept dl Loading @@ -116,9 +70,9 @@ if(GKFS_ENABLE_FORWARDING) ) install( TARGETS gkfwd_intercept TARGETS gkfs_intercept LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs ) endif()