Chitu is a serverless computing runtime that allows developers to build stateful workflows with differentiable data types, an incremental computation abstraction. In contrast to external storage services, differentiable data types provide mutable state sharing and low-latency communication. With Chitu and differentiable data types, later functions can begin processing as soon as part of the data generated by earlier functions is available, allowing functions to overlap in a pipeline and reducing the end-to-end execution time of the workflow.
deploy
contains the deployment scripts and manual for the Chitu system on Kubernetes and AWS Lambda.
lib-rust
contains the user programming library in Rust. Rather, the detailed implementation of the state agent server is also in this directory.
coordinator
contains an OpenFaaS function which coordinates serverless functions in Chitu workflows.
agent-http
contains a template named golang-agent
for OpenFaaS functions which runs the state agent as a daemon service.
experiments
contains the scripts and results of the experiments.
examples
contains several Chitu example functions.
lib-go
(deprecated) contains the user programming library in Go and and old, deprecated implementation of the state agent server.
lib-python
contains the user programming library in Python.
lib-cpp
contains the user programming library in C++.
You can find instructions for deploying the Chitu system on your local Kubernetes cluster in the deployment. The deployment on AWS Lambda with limited ability is also available in the deployment.
Once Chitu is deployed successfully, you can try the examples in the examples directory. If you have Rust installed on your machine, you can also check the tests in tests.
The Chitu Project is licensed under the Apache v2 License.