- Jul 11, 2024
- Jul 04, 2024
-
- Jul 03, 2024
- Jun 28, 2024
-
-
Marc Vef authored
Resolve "Remove superfluous RPC during remove" This MR improves remove() performance by avoiding one RPC. Before the change, the metadata of a path was fetched to check whether it is a directory or file. This is important because `rmdir()` and `unlink()` should not delete the wrong object. However, this meant that two RPCs were done per remove operation. This update changes this behavior by checking the directory/file on the server during any remove operation. For this, an additional RPC field was added, which communicates whether the intent is to remove a directory. Overall, the semantics stay the same. The special case for `rename()` still requires the metadata check beforehand and is unchanged. IO500 has shown that this optimization doubles throughput for latency-sensitive operations, i.e., zero-byte files or small files. Depends on !191 Closes #293 Closes #293 See merge request !195
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
New feature: GekkoFS Proxy The GekkoFS proxy is an additional (alternative) component that runs on each client and acts as gateway between the client and daemons. It can improve network stability, e.g., for opa-psm2, and provides a basis for future asynchronous I/O as well as client caching techniques to control file system semantics. The `gkfs` script fully supports the GekkoFS proxy and an example can be found in `scripts/run`. When using the proxy manually additional arguments are required on the daemon side, i.e., which network interface and protocol should be used: ```bash <daemon args> --proxy-listen eno1 --proxy-protocol ofi+sockets ``` The proxy is started thereafter: ```bash ./gkfs_proxy -H ./gkfs_hostfile --pid-path ./vef_gkfs_proxy.pid -p ofi+sockets ``` The shared hostfile was generated by the daemons whereas the pid_path is local to the machine and is detected by clients. The pid-path defaults to `/tmp/gkfs_proxy.pid`. Under default operation, clients detect automatically whether to use the proxy. If another proxy path is used, the environment variable `LIBGKFS_PROXY_PID_FILE` can be set for the clients. Alternatively, the `gkfs` automatically sets all required arguments: ```bash scripts/run/gkfs -c scripts/run/gkfs.conf -f start --proxy * [gkfs] Starting GekkoFS daemons (1 nodes) ... * [gkfs] GekkoFS daemons running * [gkfs] Startup time: 2.013 seconds * [gkfs] Starting GekkoFS proxies (1 nodes) ... * [gkfs] GekkoFS proxies running * [gkfs] Startup time: 5.002 seconds Press 'q' to exit ``` Please consult `include/config.hpp` for additional configuration options. Note, GekkoFS proxy does not support replication. Closes #114 Closes #114 See merge request !191
-
- Jun 27, 2024
-
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
add better cpu affinity option via config file
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
- Jun 24, 2024
-