Loading README.md +20 −18 Original line number Diff line number Diff line Loading @@ -157,11 +157,13 @@ Further options: ```bash Allowed options: -h [ --help ] Help message -m [ --mountdir ] arg pseudo mountdir -r [ --rootdir ] arg data directory -i [ --metadir ] arg metadata directory, if not set rootdir is used for metadata -l [ --listen ] arg Address or interface to bind the daemon on. -m [ --mountdir ] arg Virtual mounting directory where GekkoFS is available. -r [ --rootdir ] arg Local data directory where GekkoFS data for this daemon is stored. -i [ --metadir ] arg Metadata directory where GekkoFS' RocksDB data directory is located. If not set, rootdir is used. -l [ --listen ] arg Address or interface to bind the daemon to. Default: local hostname. When used with ofi+verbs the FI_VERBS_IFACE environment variable is set accordingly which Loading @@ -169,16 +171,16 @@ Allowed options: interface. In case FI_VERBS_IFACE is already defined, the argument is ignored. Default 'ib'. -H [ --hosts-file ] arg Shared file used by deamons to register their enpoints. (default './gkfs_hosts.txt') -P [ --rpc_protocol ] arg Used RPC protocol for inter-node communication. endpoints. (default './gkfs_hosts.txt') -P [ --rpc-protocol ] arg Used RPC protocol for inter-node communication. Available: {ofi+sockets, ofi+verbs, ofi+psm2} for (TCP, Infiniband, and Omni-Path, respectively. TCP, Infiniband, and Omni-Path, respectively. (Default ofi+sockets) Libfabric must have verbs or psm2 support enabled. --auto_sm Enables intra-node communication (IPCs) via the Libfabric must have enabled support verbs or psm2. --auto-sm Enables intra-node communication (IPCs) via the `na+sm` (shared memory) protocol, instead of using the RPC protocol. (Default off) --version print version and exit --version Print version and exit. ``` Shut it down by gracefully killing the process (SIGTERM). Loading src/daemon/daemon.cpp +15 −16 Original line number Diff line number Diff line Loading @@ -312,8 +312,8 @@ void initialize_loggers() { */ void parse_input(const po::variables_map& vm) { auto rpc_protocol = string(gkfs::rpc::protocol::ofi_sockets); if (vm.count("rpc_protocol")) { rpc_protocol = vm["rpc_protocol"].as<string>(); if (vm.count("rpc-protocol")) { rpc_protocol = vm["rpc-protocol"].as<string>(); if (rpc_protocol != gkfs::rpc::protocol::ofi_verbs && rpc_protocol != gkfs::rpc::protocol::ofi_sockets && rpc_protocol != gkfs::rpc::protocol::ofi_psm2) { Loading @@ -323,10 +323,7 @@ void parse_input(const po::variables_map& vm) { } } auto use_auto_sm = false; if (vm.count("auto_sm")) { use_auto_sm = true; } auto use_auto_sm = vm.count("auto-sm") != 0; GKFS_DATA->use_auto_sm(use_auto_sm); GKFS_DATA->spdlogger()->debug("{}() Shared memory (auto_sm) for intra-node communication (IPCs) set to '{}'.", __func__, use_auto_sm); Loading Loading @@ -417,23 +414,25 @@ int main(int argc, const char* argv[]) { po::options_description desc("Allowed options"); desc.add_options() ("help,h", "Help message") ("mountdir,m", po::value<string>()->required(), "User Fuse mountdir") ("rootdir,r", po::value<string>()->required(), "data directory") ("metadir,i", po::value<string>(), "metadata directory, if not set rootdir is used for metadata ") ("listen,l", po::value<string>(), "Address or interface to bind the daemon on. Default: local hostname.\n" ("mountdir,m", po::value<string>()->required(), "Virtual mounting directory where GekkoFS is available.") ("rootdir,r", po::value<string>()->required(), "Local data directory where GekkoFS data for this daemon is stored.") ("metadir,i", po::value<string>(), "Metadata directory where GekkoFS' RocksDB data directory is located. If not set, rootdir is used.") ("listen,l", po::value<string>(), "Address or interface to bind the daemon to. Default: local hostname.\n" "When used with ofi+verbs the FI_VERBS_IFACE environment variable is set accordingly " "which associates the verbs device with the network interface. In case FI_VERBS_IFACE " "is already defined, the argument is ignored. Default 'ib'.") ("hosts-file,H", po::value<string>(), "Shared file used by deamons to register their " "enpoints. (default './gkfs_hosts.txt')") ("rpc_protocol,P", po::value<string>(), "Used RPC protocol for inter-node communication.\n" "Available: {ofi+sockets, ofi+verbs, ofi+psm2} for (TCP, Infiniband, " "endpoints. (default './gkfs_hosts.txt')") ("rpc-protocol,P", po::value<string>(), "Used RPC protocol for inter-node communication.\n" "Available: {ofi+sockets, ofi+verbs, ofi+psm2} for TCP, Infiniband, " "and Omni-Path, respectively. (Default ofi+sockets)\n" "Libfabric must have enabled support verbs or psm2") ("auto_sm", "Enables intra-node communication (IPCs) via the `na+sm` (shared memory) protocol, " "Libfabric must have enabled support verbs or psm2.") ("auto-sm", "Enables intra-node communication (IPCs) via the `na+sm` (shared memory) protocol, " "instead of using the RPC protocol. (Default off)") ("version", "print version and exit"); ("version", "Print version and exit."); po::variables_map vm{}; po::store(po::parse_command_line(argc, argv, desc), vm); Loading Loading
README.md +20 −18 Original line number Diff line number Diff line Loading @@ -157,11 +157,13 @@ Further options: ```bash Allowed options: -h [ --help ] Help message -m [ --mountdir ] arg pseudo mountdir -r [ --rootdir ] arg data directory -i [ --metadir ] arg metadata directory, if not set rootdir is used for metadata -l [ --listen ] arg Address or interface to bind the daemon on. -m [ --mountdir ] arg Virtual mounting directory where GekkoFS is available. -r [ --rootdir ] arg Local data directory where GekkoFS data for this daemon is stored. -i [ --metadir ] arg Metadata directory where GekkoFS' RocksDB data directory is located. If not set, rootdir is used. -l [ --listen ] arg Address or interface to bind the daemon to. Default: local hostname. When used with ofi+verbs the FI_VERBS_IFACE environment variable is set accordingly which Loading @@ -169,16 +171,16 @@ Allowed options: interface. In case FI_VERBS_IFACE is already defined, the argument is ignored. Default 'ib'. -H [ --hosts-file ] arg Shared file used by deamons to register their enpoints. (default './gkfs_hosts.txt') -P [ --rpc_protocol ] arg Used RPC protocol for inter-node communication. endpoints. (default './gkfs_hosts.txt') -P [ --rpc-protocol ] arg Used RPC protocol for inter-node communication. Available: {ofi+sockets, ofi+verbs, ofi+psm2} for (TCP, Infiniband, and Omni-Path, respectively. TCP, Infiniband, and Omni-Path, respectively. (Default ofi+sockets) Libfabric must have verbs or psm2 support enabled. --auto_sm Enables intra-node communication (IPCs) via the Libfabric must have enabled support verbs or psm2. --auto-sm Enables intra-node communication (IPCs) via the `na+sm` (shared memory) protocol, instead of using the RPC protocol. (Default off) --version print version and exit --version Print version and exit. ``` Shut it down by gracefully killing the process (SIGTERM). Loading
src/daemon/daemon.cpp +15 −16 Original line number Diff line number Diff line Loading @@ -312,8 +312,8 @@ void initialize_loggers() { */ void parse_input(const po::variables_map& vm) { auto rpc_protocol = string(gkfs::rpc::protocol::ofi_sockets); if (vm.count("rpc_protocol")) { rpc_protocol = vm["rpc_protocol"].as<string>(); if (vm.count("rpc-protocol")) { rpc_protocol = vm["rpc-protocol"].as<string>(); if (rpc_protocol != gkfs::rpc::protocol::ofi_verbs && rpc_protocol != gkfs::rpc::protocol::ofi_sockets && rpc_protocol != gkfs::rpc::protocol::ofi_psm2) { Loading @@ -323,10 +323,7 @@ void parse_input(const po::variables_map& vm) { } } auto use_auto_sm = false; if (vm.count("auto_sm")) { use_auto_sm = true; } auto use_auto_sm = vm.count("auto-sm") != 0; GKFS_DATA->use_auto_sm(use_auto_sm); GKFS_DATA->spdlogger()->debug("{}() Shared memory (auto_sm) for intra-node communication (IPCs) set to '{}'.", __func__, use_auto_sm); Loading Loading @@ -417,23 +414,25 @@ int main(int argc, const char* argv[]) { po::options_description desc("Allowed options"); desc.add_options() ("help,h", "Help message") ("mountdir,m", po::value<string>()->required(), "User Fuse mountdir") ("rootdir,r", po::value<string>()->required(), "data directory") ("metadir,i", po::value<string>(), "metadata directory, if not set rootdir is used for metadata ") ("listen,l", po::value<string>(), "Address or interface to bind the daemon on. Default: local hostname.\n" ("mountdir,m", po::value<string>()->required(), "Virtual mounting directory where GekkoFS is available.") ("rootdir,r", po::value<string>()->required(), "Local data directory where GekkoFS data for this daemon is stored.") ("metadir,i", po::value<string>(), "Metadata directory where GekkoFS' RocksDB data directory is located. If not set, rootdir is used.") ("listen,l", po::value<string>(), "Address or interface to bind the daemon to. Default: local hostname.\n" "When used with ofi+verbs the FI_VERBS_IFACE environment variable is set accordingly " "which associates the verbs device with the network interface. In case FI_VERBS_IFACE " "is already defined, the argument is ignored. Default 'ib'.") ("hosts-file,H", po::value<string>(), "Shared file used by deamons to register their " "enpoints. (default './gkfs_hosts.txt')") ("rpc_protocol,P", po::value<string>(), "Used RPC protocol for inter-node communication.\n" "Available: {ofi+sockets, ofi+verbs, ofi+psm2} for (TCP, Infiniband, " "endpoints. (default './gkfs_hosts.txt')") ("rpc-protocol,P", po::value<string>(), "Used RPC protocol for inter-node communication.\n" "Available: {ofi+sockets, ofi+verbs, ofi+psm2} for TCP, Infiniband, " "and Omni-Path, respectively. (Default ofi+sockets)\n" "Libfabric must have enabled support verbs or psm2") ("auto_sm", "Enables intra-node communication (IPCs) via the `na+sm` (shared memory) protocol, " "Libfabric must have enabled support verbs or psm2.") ("auto-sm", "Enables intra-node communication (IPCs) via the `na+sm` (shared memory) protocol, " "instead of using the RPC protocol. (Default off)") ("version", "print version and exit"); ("version", "Print version and exit."); po::variables_map vm{}; po::store(po::parse_command_line(argc, argv, desc), vm); Loading