Reproduce the benchmark experiments from the ASPLOS 2022 FaaSFlow paper using the included test scripts and eight built-in workflows.
Compare centralized versus worker-local scheduling overhead by switching between modes with a single script flag.
Study how passing data through local memory instead of a shared database affects latency between co-located serverless functions.
Measure end-to-end latency and tail latency under bandwidth limits using the provided experiment scripts.
Requires a cluster of at least eight physical or virtual machines with specific services configured and IP addresses set on each node.
FaaSFlow is a research prototype of a serverless workflow engine, published as part of a paper accepted at ASPLOS 2022, a major computer systems conference. The project addresses a specific performance problem: when you run a chain of small functions in a serverless environment (the kind where each step is an independent unit of code that spins up on demand), there is overhead involved in scheduling each step and in passing data between them. FaaSFlow proposes two techniques to reduce that overhead. The first technique is called WorkerSP, which shifts scheduling decisions to the individual worker machines rather than a central coordinator. The idea is that if a worker already knows what steps come next in a workflow, it can handle the handoff itself without waiting for a central manager to respond each time. The second technique is an adaptive storage layer that uses the local memory of a machine to transfer data between two functions running on the same physical node, instead of writing and reading from a shared database in between. The repository is structured around reproducing the experiments from the paper. Setup requires a cluster of at least eight machines: one for the database and gateway, seven as worker nodes. The README walks through installing dependencies on each machine, configuring IP addresses in config files, and starting the right services in the right order. Experiments are run via Python scripts that measure things like scheduling overhead, data transfer time, end-to-end latency, and tail latency under network bandwidth limits. This is academic research code, not a production-ready system you would deploy to run real applications. It is designed so other researchers can reproduce the benchmarks from the paper. The eight benchmark workflows used in experiments are built into the setup scripts, and the test scripts accept flags to switch between the two scheduling modes and data modes being compared. There is no description provided for this repository beyond what the README itself contains.
← xiaorenwu234 on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.