What is it about?

Exactly-once semantics is important for application-level fault-tolerance in stateful serverless computing. In brief, it requires that no matter how many times functions crash and get retried, their effect over the external application state should be equivalent to a failure-free execution from head to toe. Existing approaches achieve exactly-once semantics by logging every read or write operation to the external state, resulting in large overhead. In Halfmoon, we show that stateful applications only need to log either reads or writes, instead of both. We present two novel logging protocols that enables log-free reads and writes, and theoretically prove that they are minimal in terms of logging overhead.

Featured Image

Why is it important?

In serverless computing, a stateful application is decomposed into stateless functions and the external state(e.g., databases, key-value stores). Because functions may crash independently of their externalized state, providing exactly-once semantics is necessary for the correctness of stateful applications. However, exactly-once semantics is not a free lunch. The Halfmoon logging protocols offers such semantics with minimum logging overhead.

Read the Original

This page is a summary of: Halfmoon: Log-Optimal Fault-Tolerant Stateful Serverless Computing, October 2023, ACM (Association for Computing Machinery),
DOI: 10.1145/3600006.3613154.
You can read the full text:

Read

Resources

Contributors

The following have contributed to this page