Loading CMake/gkfs-options.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -370,6 +370,6 @@ gkfs_define_option( gkfs_define_option( GKFS_ENABLE_CLIENT_METRICS HELP_TEXT "Enable client metrics via MSGPack" DEFAULT_VALUE OFF DEFAULT_VALUE ON # TODO disable by default DESCRIPTION "If GKFS_ENABLE_CLIENT_METRICS is ON, use MSGPack to dump client read/write metrics" ) No newline at end of file CMakeLists.txt +15 −7 Original line number Diff line number Diff line Loading @@ -167,6 +167,12 @@ if (GKFS_ENABLE_AGIOS) find_package(AGIOS REQUIRED) endif() if (GKFS_ENABLE_CLIENT_METRICS) ### zeromq: required for sending client metrics to FTIO message(STATUS "[${PROJECT_NAME}] Checking for cppzmq") find_package(cppzmq) endif () ### Metadata backends if(GKFS_ENABLE_ROCKSDB) message(STATUS "[${PROJECT_NAME}] Checking for RocksDB") Loading Loading @@ -244,6 +250,7 @@ include_from_source(cli11 GIT_TAG v2.2.0 ) if (GKFS_ENABLE_CLIENT_METRICS) ### MessagePack: used for monitoring information on the client include_from_source(MessagePack MESSAGE "[${PROJECT_NAME}] Searching for MessagePackCPP" Loading @@ -251,6 +258,7 @@ include_from_source(MessagePack GIT_REPOSITORY https://github.com/GekkoFS/MessagePackCPP GIT_TAG 51655ec8f2b8fed84f685e3bcf8f226b139a263b # latest HEAD ) endif () ################################################################################ ## Check configured variables/options and act accordingly Loading include/common/msgpack_util.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ #include <thread> #include <mutex> #include <zmq.hpp> namespace gkfs::messagepack { enum class client_metric_type { write, read }; Loading scripts/profiles/0.9.3/default_zmq.specs 0 → 100644 +81 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany # # # # This software was partially supported by the # # EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # # # # This software was partially supported by the # # ADA-FS project under the SPPEXA project funded by the DFG. # # # # This file is part of GekkoFS. # # # # GekkoFS is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # GekkoFS is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with GekkoFS. If not, see <https://www.gnu.org/licenses/>. # # # # SPDX-License-Identifier: GPL-3.0-or-later # ################################################################################ # vi: ft=bash # Variables to be imported into the scripts declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args declare -a order # Comment that should be displayed when printing the profile comment="All dependencies" # Dependencies that must be downloaded directly wgetdeps=( ["lz4"]="1.9.4" ["capstone"]="4.0.2" ["argobots"]="1.1" ["rocksdb"]="8.10.0" ["json-c"]="0.17-20230812" ["libzmq"]="4.3.5" ["cppzmq"]="4.10.0" ) # Dependencies that must be cloned. clonedeps=( ["libfabric"]="HEAD@v1.20.1" ["mercury"]="v2.3.1" ["margo"]="v0.15.0" ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" ) # Extra arguments for git clone clonedeps_args=( ["mercury"]="--recurse-submodules" ) # Patches that should be applied post-clone clonedeps_patches=( ["syscall_intercept"]="syscall_intercept.patch syscall_intercept_clone3.patch" ) # Ordering that MUST be followed when downloading order=( "lz4" "capstone" "json-c" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "libzmq" "cppzmq" ) # Extra arguments passed to the installation script. As such, they can # reference the following variables: # - CMAKE: a variable that expands to the cmake binary # - SOURCE_DIR: the directory where the sources for the package were # downloaded # - INSTALL_DIR: the directory where the package should be installed # - CORES: the number of cores to use when building # - PERFORM_TEST: whether tests for the package should be executed extra_install_args=( ) scripts/profiles/0.9.3/install/cppzmq.install 0 → 100644 +62 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany # # # # This software was partially supported by the # # EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # # # # This software was partially supported by the # # ADA-FS project under the SPPEXA project funded by the DFG. # # # # This file is part of GekkoFS. # # # # GekkoFS is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # GekkoFS is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with GekkoFS. If not, see <https://www.gnu.org/licenses/>. # # # # SPDX-License-Identifier: GPL-3.0-or-later # ################################################################################ # vi: ft=bash ################################################################################ ## The installation script must define both a pkg_install function and ## pkg_check function that, as their name implies, must specify how ## a dependency package should be installed and tested. ## ## The following ## variables can be used in the installation script: ## - CMAKE: a variable that expands to the cmake binary ## - SOURCE_DIR: the directory where the sources for the package were ## downloaded ## - INSTALL_DIR: the directory where the package should be installed ## - CORES: the number of cores to use when building ## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) ## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) ## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) ## - PERFORM_TEST: whether tests for the package should be executed ################################################################################ pkg_install() { ID="cppzmq" CURR="${SOURCE_DIR}/${ID}" prepare_build_dir "${CURR}" cd "${CURR}/build" $CMAKE \ -DCMAKE_PREFIX_PATH=${INSTALL_DIR} \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ .. make -j"${CORES}" make install } pkg_check() { : } Loading
CMake/gkfs-options.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -370,6 +370,6 @@ gkfs_define_option( gkfs_define_option( GKFS_ENABLE_CLIENT_METRICS HELP_TEXT "Enable client metrics via MSGPack" DEFAULT_VALUE OFF DEFAULT_VALUE ON # TODO disable by default DESCRIPTION "If GKFS_ENABLE_CLIENT_METRICS is ON, use MSGPack to dump client read/write metrics" ) No newline at end of file
CMakeLists.txt +15 −7 Original line number Diff line number Diff line Loading @@ -167,6 +167,12 @@ if (GKFS_ENABLE_AGIOS) find_package(AGIOS REQUIRED) endif() if (GKFS_ENABLE_CLIENT_METRICS) ### zeromq: required for sending client metrics to FTIO message(STATUS "[${PROJECT_NAME}] Checking for cppzmq") find_package(cppzmq) endif () ### Metadata backends if(GKFS_ENABLE_ROCKSDB) message(STATUS "[${PROJECT_NAME}] Checking for RocksDB") Loading Loading @@ -244,6 +250,7 @@ include_from_source(cli11 GIT_TAG v2.2.0 ) if (GKFS_ENABLE_CLIENT_METRICS) ### MessagePack: used for monitoring information on the client include_from_source(MessagePack MESSAGE "[${PROJECT_NAME}] Searching for MessagePackCPP" Loading @@ -251,6 +258,7 @@ include_from_source(MessagePack GIT_REPOSITORY https://github.com/GekkoFS/MessagePackCPP GIT_TAG 51655ec8f2b8fed84f685e3bcf8f226b139a263b # latest HEAD ) endif () ################################################################################ ## Check configured variables/options and act accordingly Loading
include/common/msgpack_util.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ #include <thread> #include <mutex> #include <zmq.hpp> namespace gkfs::messagepack { enum class client_metric_type { write, read }; Loading
scripts/profiles/0.9.3/default_zmq.specs 0 → 100644 +81 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany # # # # This software was partially supported by the # # EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # # # # This software was partially supported by the # # ADA-FS project under the SPPEXA project funded by the DFG. # # # # This file is part of GekkoFS. # # # # GekkoFS is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # GekkoFS is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with GekkoFS. If not, see <https://www.gnu.org/licenses/>. # # # # SPDX-License-Identifier: GPL-3.0-or-later # ################################################################################ # vi: ft=bash # Variables to be imported into the scripts declare -A wgetdeps clonedeps clonedeps_args clonedeps_patches extra_install_args declare -a order # Comment that should be displayed when printing the profile comment="All dependencies" # Dependencies that must be downloaded directly wgetdeps=( ["lz4"]="1.9.4" ["capstone"]="4.0.2" ["argobots"]="1.1" ["rocksdb"]="8.10.0" ["json-c"]="0.17-20230812" ["libzmq"]="4.3.5" ["cppzmq"]="4.10.0" ) # Dependencies that must be cloned. clonedeps=( ["libfabric"]="HEAD@v1.20.1" ["mercury"]="v2.3.1" ["margo"]="v0.15.0" ["syscall_intercept"]="2c8765fa292bc9c28a22624c528580d54658813d" ) # Extra arguments for git clone clonedeps_args=( ["mercury"]="--recurse-submodules" ) # Patches that should be applied post-clone clonedeps_patches=( ["syscall_intercept"]="syscall_intercept.patch syscall_intercept_clone3.patch" ) # Ordering that MUST be followed when downloading order=( "lz4" "capstone" "json-c" "libfabric" "mercury" "argobots" "margo" "rocksdb" "syscall_intercept" "libzmq" "cppzmq" ) # Extra arguments passed to the installation script. As such, they can # reference the following variables: # - CMAKE: a variable that expands to the cmake binary # - SOURCE_DIR: the directory where the sources for the package were # downloaded # - INSTALL_DIR: the directory where the package should be installed # - CORES: the number of cores to use when building # - PERFORM_TEST: whether tests for the package should be executed extra_install_args=( )
scripts/profiles/0.9.3/install/cppzmq.install 0 → 100644 +62 −0 Original line number Diff line number Diff line ################################################################################ # Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany # # # # This software was partially supported by the # # EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # # # # This software was partially supported by the # # ADA-FS project under the SPPEXA project funded by the DFG. # # # # This file is part of GekkoFS. # # # # GekkoFS is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # GekkoFS is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with GekkoFS. If not, see <https://www.gnu.org/licenses/>. # # # # SPDX-License-Identifier: GPL-3.0-or-later # ################################################################################ # vi: ft=bash ################################################################################ ## The installation script must define both a pkg_install function and ## pkg_check function that, as their name implies, must specify how ## a dependency package should be installed and tested. ## ## The following ## variables can be used in the installation script: ## - CMAKE: a variable that expands to the cmake binary ## - SOURCE_DIR: the directory where the sources for the package were ## downloaded ## - INSTALL_DIR: the directory where the package should be installed ## - CORES: the number of cores to use when building ## - COMPILER_NAME: the name of the compiler being used (e.g. g++, clang, etc.) ## - COMPILER_FULL_VERSION: the compiler's full version (e.g. 9.3.0) ## - COMPILER_MAJOR_VERSION: the compiler's major version (e.g. 9) ## - PERFORM_TEST: whether tests for the package should be executed ################################################################################ pkg_install() { ID="cppzmq" CURR="${SOURCE_DIR}/${ID}" prepare_build_dir "${CURR}" cd "${CURR}/build" $CMAKE \ -DCMAKE_PREFIX_PATH=${INSTALL_DIR} \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ .. make -j"${CORES}" make install } pkg_check() { : }