Path: blob/master/site/en-snapshot/federated/design/execution.md
25118 views
Execution
[TOC]
The executors package contains core Executors classes and runtime related functionality.
Runtime
A runtime is a logical concept describing a system that executes a computation.
TFF Runtime
A TFF runtime typically handles executing an AST and delegates executing mathematical computations to a external runtime such as TensorFlow.
External Runtime
An external runtime is any system that the TFF runtime delegates execution to.
TensorFlow
TensorFlow is an open source platform for machine learning. Today the TFF runtime delegates mathematical computations to TensorFlow using an Executor that can be composed into a hierarchy, referred to as an execution stack.
Executor
An executor_base.Executor is an abstract interface that defines the API for executing an AST. The executors package contains a collection of concrete implementations of this interface.
ExecutorFactory
An executor_factory.ExecutorFactory is an abstract interface that defines the API for constructing an Executor. These factories construct the executor lazily and manage the lifecycle of the executor; the motivation to lazily constructing executors is to infer the number of clients at execution time.
Execution Stack
An execution stack is a hierarchy of Executors. The executor_stacks package contains logic for constructing and composing specific execution stacks.