Transaction Execution
This chapter contains resources describing the design of the various components that support transaction execution in magpie, as well as the execution semantics and user-provided guarantees for the different kinds of supported workloads.
Transaction Execution
- Nanotransactions
- Transactional functions that declare all the objects they will touch as arguments, and never spawn further downstream computations. This is the building block for compound operations, or "epics".
- Epics
- The runtime composition of nanotransactions that form a graph of dependent subcomputations (like a task graph in a traditional distributed dataflow system). These should not really be thought of as transactions, but rather as workflows composed of (nano)transactions, with user-configurable consistency semantics with regard to this composition.