  Distributed machine learning approaches, including a broad class of federated
learning (FL) techniques, present a number of benefits when deploying machine
learning applications over widely distributed infrastructures. The benefits are
highly dependent on the details of the underlying machine learning topology,
which specifies the functionality executed by the participating nodes, their
dependencies and interconnections. Current systems lack the flexibility and
extensibility necessary to customize the topology of a machine learning
deployment. We present Flame, a new system that provides flexibility of the
topology configuration of distributed FL applications around the specifics of a
particular deployment context, and is easily extensible to support new FL
architectures. Flame achieves this via a new high-level abstraction Topology
Abstraction Graphs (TAGs). TAGs decouple the ML application logic from the
underlying deployment details, making it possible to specialize the application
deployment with reduced development effort. Flame is released as an open source
project, and its flexibility and extensibility support a variety of topologies
and mechanisms, and can facilitate the development of new FL methodologies.
