- Jun 08, 2024
-
- Jun 07, 2024
-
-
Marc Vef authored
Update to fmt10 In order to reduce warnings, I propose an update to fmt10. It builds over the other MR * fmt10 needs a small change in Hermes (branch fmt10) * fmt10 needs changes in date library * It produces segfaults as we get stuck in a syscall loop * Removed date library and replaced with a small gmtime replacement without timezone * Rocksdb updated * * 0.9.3 docker images created See merge request !172
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
Marc Vef authored
-
- Mar 18, 2024
-
-
Marc Vef authored
- Mar 13, 2024
-
-
Marc Vef authored
Data replication (client side, synchronous) This MR adds support for data replication using one environment variable: `LIBGKFS_NUM_REPL=<num repl>` The number of replicas should go from 0 to the number of servers-1. The replicas are guided by the client, so it reduces write performance but we mantain the same level of consistency. On the other hand, it may increase read performance on some corner scenearios. Metadata replication is also implemented The replication environment variable can be set up for each client, independently. If a server is down, the data will be read from another replica. The metadata management is also done from another replica. The replication is done in a synchronous way. A new function forward_write is used to sent to the different replicas. The reads are distributed, but this shouldn't produce an performance improvement as the distribution is similar to the original. In the case of the write, the original is sent to the target servers, and then the replicas are processed. This is done to avoid issues if a server, that should host a replica, is not available. In order to process the replicas a new method to check that a chunk needs to be processed inside a server is included, a bitset of 1024 is sent (coded in base-64 in a string). This represents 1024-chunks per write-read operation. If that is exceeded the normal hash check per chunk is done in the server. Exceeding this value, will disable the replica capabilities and produce unknown behaviours. This can be potentially increased. Finally, most of the operations are replica-aware, but some of them are missing yet. i.e., dirent. See merge request !166
-
- Mar 10, 2024
-
-
Added NUM_REPL env variable. (0 no replicas) NUM_REPL num replicas (Replicas < servers) Remove and truncate Metadata replication Metadata replication - Reattempt on stat minimal compilation issues (c++20), srand for repl Bitset Bit set proposal (WIP) Read - Write with bitset (<1024 chunks) Changed bitset to vector Added get_fs_config reattempt Some more resilience on create Added Replica_Check on write (disabled) Added helper vector-bitset functions
- Feb 19, 2024
-
- Feb 15, 2024
-
- Feb 14, 2024
-
-
Marc Vef authored
-