The Data Broker (DBR) is a distributed, in-memory container of key-value stores enabling applications in a workflow to exchange data through one or more shared namespaces. Thanks to a small set of primitives, applications in a workflow deployed in a (possibly) shared nothing distributed cluster, can easily share and exchange data and messages with a minimum effort. In- spired by the Linda coordination and communication model, the Data Broker provides a unified shared namespace to applications, which is independent from applications’ programming and communication model.
Removed the build-time linking of the back-end library and replaced it with dlopen().
The default stays the Redis backend library. However, setting DBR_BACKEND environment variable will allow to run Data Broker clients to run with a different library.
This change required a review and several changes to the build and test system. I got rid of some unnecessary dependencies and introduced a simple find_package() function for libevent. Should be a little cleaner now.
Build, link and runtime tests need to be done on MacOS because of several subtle and not-so-subtle differences.
Removed the build-time linking of the back-end library and replaced it with dlopen(). The default stays the Redis backend library. However, setting DBR_BACKEND environment variable will allow to run Data Broker clients to run with a different library. This change required a review and several changes to the build and test system. I got rid of some unnecessary dependencies and introduced a simple find_package() function for libevent. Should be a little cleaner now. Build, link and runtime tests need to be done on MacOS because of several subtle and not-so-subtle differences.