Loading CHANGELOG.md +38 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [0.8.0] - 2020-09-15 ## Added - Both client library and daemon have been extended to support the ofi+verbs protocol. - A new Python testing harness has been implemented to support integration tests. The end goal is to increase the robustness of the code in the mid- to long-term. - The RPC protocol and the usage of shared memory for intra-node communication no longer need to be activated on compile time. New arguments `-P|--rpc-protocol` and `--auto-sm` have been added to the daemon to this effect. This configuration options are propagated to clients when they initialize and contact daemons. - Native support for the Omni-Path network protocol by choosing the `ofi+psm2` RPC protocol. Note that this requires `libfabric`'s version to be greater than `1.8` as well as `psm2` to be installed in the system. Clients must set `FI_PSM2_DISCONNECT=1` to be able to reconnect once the client is shut down once. *Known limitations:* Client reconnect doesn't always work. Apparently, if clients reconnect too fast the servers won't accept the connections. Also, currently more than 16 clients per node are not supported. - A new execution mode called `GekkoFWD` that allows GekkoFS to run as a user-level I/O forwarding infrastructure for applications. In this mode, I/O operations from an application are intercepted and forwarded to a single GekkoFS daemon that is chosen according to a pre-defined distribution. In the daemons, the requests are scheduled using the AGIOS scheduling library before they are dispatched to the shared backend parallel file system. - The `fsync()` system call is now fully supported. ## Changed - Argobots tasks in the daemon are now wrapped in a dedicated class, effectively removing the dependency. This lays ground work for future non-Argobots I/O implementations. - The `readdir()` implementation has been refactored and improved. - Improvements on how to the installation scripts manage dependencies. ## Fixed - The server sometimes crashed due to uncaught system errors in the storage backend. This has now been fixed. - Fixed a bug that broke `ls` on some architectures. ## [0.7.0] - 2020-02-05 ## Added - Adedd support for `eventfd()`and `eventfd2()` system calls. Loading CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.6) project( GekkoFS VERSION 0.7.0 VERSION 0.8.0 ) enable_testing() Loading README.md +5 −1 Original line number Diff line number Diff line # GekkoFS [](https://opensource.org/licenses/MIT) [](https://storage.bsc.es/gitlab/hpc/gekkofs/commits/master) GekkoFS is a file system capable of aggregating the local I/O capacity and performance of each compute node in a HPC cluster to produce a high-performance storage space that can be accessed in a distributed manner. This storage space allows HPC applications and simulations to run in isolation from each other with regards Loading Loading @@ -161,7 +165,7 @@ Allowed options: available. -r [ --rootdir ] arg Local data directory where GekkoFS data for this daemon is stored. -i [ --metadir ] arg Metadata directory where GekkoFS' RocksDB data -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. Loading Loading
CHANGELOG.md +38 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ## [0.8.0] - 2020-09-15 ## Added - Both client library and daemon have been extended to support the ofi+verbs protocol. - A new Python testing harness has been implemented to support integration tests. The end goal is to increase the robustness of the code in the mid- to long-term. - The RPC protocol and the usage of shared memory for intra-node communication no longer need to be activated on compile time. New arguments `-P|--rpc-protocol` and `--auto-sm` have been added to the daemon to this effect. This configuration options are propagated to clients when they initialize and contact daemons. - Native support for the Omni-Path network protocol by choosing the `ofi+psm2` RPC protocol. Note that this requires `libfabric`'s version to be greater than `1.8` as well as `psm2` to be installed in the system. Clients must set `FI_PSM2_DISCONNECT=1` to be able to reconnect once the client is shut down once. *Known limitations:* Client reconnect doesn't always work. Apparently, if clients reconnect too fast the servers won't accept the connections. Also, currently more than 16 clients per node are not supported. - A new execution mode called `GekkoFWD` that allows GekkoFS to run as a user-level I/O forwarding infrastructure for applications. In this mode, I/O operations from an application are intercepted and forwarded to a single GekkoFS daemon that is chosen according to a pre-defined distribution. In the daemons, the requests are scheduled using the AGIOS scheduling library before they are dispatched to the shared backend parallel file system. - The `fsync()` system call is now fully supported. ## Changed - Argobots tasks in the daemon are now wrapped in a dedicated class, effectively removing the dependency. This lays ground work for future non-Argobots I/O implementations. - The `readdir()` implementation has been refactored and improved. - Improvements on how to the installation scripts manage dependencies. ## Fixed - The server sometimes crashed due to uncaught system errors in the storage backend. This has now been fixed. - Fixed a bug that broke `ls` on some architectures. ## [0.7.0] - 2020-02-05 ## Added - Adedd support for `eventfd()`and `eventfd2()` system calls. Loading
CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.6) project( GekkoFS VERSION 0.7.0 VERSION 0.8.0 ) enable_testing() Loading
README.md +5 −1 Original line number Diff line number Diff line # GekkoFS [](https://opensource.org/licenses/MIT) [](https://storage.bsc.es/gitlab/hpc/gekkofs/commits/master) GekkoFS is a file system capable of aggregating the local I/O capacity and performance of each compute node in a HPC cluster to produce a high-performance storage space that can be accessed in a distributed manner. This storage space allows HPC applications and simulations to run in isolation from each other with regards Loading Loading @@ -161,7 +165,7 @@ Allowed options: available. -r [ --rootdir ] arg Local data directory where GekkoFS data for this daemon is stored. -i [ --metadir ] arg Metadata directory where GekkoFS' RocksDB data -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. Loading