English

Functional Federated Learning in Erlang (ffl-erl)

Programming Languages 2019-03-18 v3

Abstract

The functional programming language Erlang is well-suited for concurrent and distributed applications. Numerical computing, however, is not seen as one of its strengths. The recent introduction of Federated Learning, a concept according to which client devices are leveraged for decentralized machine learning tasks, while a central server updates and distributes a global model, provided the motivation for exploring how well Erlang is suited to that problem. We present ffl-erl, a framework for Federated Learning, written in Erlang, and explore how well it performs in two scenarios: one in which the entire system has been written in Erlang, and another in which Erlang is relegated to coordinating client processes that rely on performing numerical computations in the programming language C. There is a concurrent as well as a distributed implementation of each case. Erlang incurs a performance penalty, but for certain use cases this may not be detrimental, considering the trade-off between conciseness of the language and speed of development (Erlang) versus performance (C). Thus, Erlang may be a viable alternative to C for some practical machine learning tasks.

Keywords

Cite

@article{arxiv.1808.08143,
  title  = {Functional Federated Learning in Erlang (ffl-erl)},
  author = {Gregor Ulm and Emil Gustavsson and Mats Jirstrand},
  journal= {arXiv preprint arXiv:1808.08143},
  year   = {2019}
}

Comments

16 pages, accepted for publication in the WFLP 2018 conference proceedings; final post-print

R2 v1 2026-06-23T03:42:57.299Z