Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.