faabric
faabric copied to clipboard
Messaging and state layer for distributed serverless applications
Thus far, we tagged executors with the (user, function) pair. This is needed in multi-threaded environments, where different threads must share the same executor. However, using only the (user, function)...
In this PR we add support to include the body of small (for a definition of small) messages inside the message body. This increases the size of _all_ messages being...
closes #171
Compare current queue with: https://www.boost.org/doc/libs/1_53_0/doc/html/lockfree/examples.html#lockfree.examples.waitfree_single_producer_single_consumer_queue
This is a grab-bag of issues encountered when scaling Faasm and Faabric to many requests per second. Solutions to most of these problems are implemented in this fork: https://github.com/auto-ndp/faabric There...
We can use `std::jthread` with a `stop_token`: ```c++ #include #include using namespace std::literals::chrono_literals; void f(std::stop_token stop_token, int value) { while (!stop_token.stop_requested()) { std::cout
The `faabric::Message` protobuf object is bloated now and has become a dumping ground for lots of context. Having a single message format is very convenient, and necessary because of the...
[`std::byte`](https://en.cppreference.com/w/cpp/types/byte) is the standard way to represent raw memory, which we currently do with `uint8_t`. `std::byte` avoids the temptation to use any character or arithmetic semantics, and should thus reduce...