Category Archives: Talks

Upcoming Poster Presentation at Euro-Par 2019

Our paper “Active-Code Replacement in the OODIDA Data Analytics Platform” has been accepted to the poster session at Euro-Par 2019, which will take place from August 26 to 30 in Goettingen, Germany. The abstract is reproduced below. A preprint of the paper the poster is based on is available on arXiv, where you also find a preprint of the paper on OODIDA.

Title: Active-Code Replacement in the \OODIDA Data Analytics Platform
Authors: Gregor Ulm, Emil Gustavsson, Mats Jirstrand 

OODIDA (On-board/Off-board Distributed Data Analytics) is a
platform for distributing and executing concurrent data analytics
tasks. It targets fleets of reference vehicles in the automotive
industry and has a particular focus on rapid prototyping. Its
underlying message-passing infrastructure has been implemented in
Erlang/OTP. External Python applications perform data analytics
tasks. Most work is performed by clients (on-board). A central
server performs supplementary tasks (off-board). OODIDA can be
automatically packaged and deployed, which necessitates restarting
parts of the system, or all of it. This is potentially disruptive. 
To address this issue, we added the ability to execute user-
defined Python modules on clients as well as the server. These 
modules can be replaced without restarting any part of the system 
and they can even be replaced between iterations of an ongoing 
assignment. This facilitates use cases such as iterative A/B
testing of machine learning algorithms or deploying experimental
algorithms on-the-fly.

Accepted Paper at DIDL 2018

Our paper “A Performance Evaluation of Federated Learning Algorithms” has been accepted at the Second Workshop on Distributed Infrastructures for Deep Learning (DIDL 2018), which is colocated with the 2018 ACM/IFIP International Middleware Conference (Middleware 2018). This conference will take place from December 10 to 14 in Rennes, France. The abstract is reproduced below.

Title:
A Performance Evaluation of Federated Learning Algorithms
Adrian Nilsson, Simon Smith, Gregor Ulm, Emil Gustavsson, Mats Jirstrand (Fraunhofer-Chalmers Centre & Fraunhofer Center for Machine Learning)

Abstract:
Federated learning proposes an environment for distributed machine learning where a global model is learned by aggregating models that have been trained locally on data generating clients. Contrary to centralized optimization, clients can be very large in number and are characterized by challenges of data and network heterogeneity. Examples of clients include smartphones and connected vehicles, which highlights the practical relevance of this approach to distributed machine learning. We compare three algorithms for federated learning and benchmark their performance against a centralized approach where data resides on the server. The algorithms covered are Federated Averaging (FedAvg), Federated Stochastic Variance Reduced Gradient, and CO-OP. They are evaluated on the MNIST dataset using both i.i.d. and non-i.i.d. partitionings of the data. Our results show that, among the three federated algorithms, FedAvg achieves the highest accuracy, regardless of how data was partitioned. Our comparison between FedAvg and centralized learning shows that they are practically equivalent when i.i.d. data is used, but the centralized approach outperforms FedAvg with non-i.i.d. data.

Upcoming Talk at the Singapore Elixir and Erlang Meetup Group

I will give a talk at the Singapore Elixir and Erlang Meetup Group on Monday, 15 October 2018. Zalora is hosting the event at their Singapore HQ. Their address is 298 Jalan Besar #03-01, Singapore 208959, Singapore. In order to attend, join the Meetup group and bring an ID document. There is a separate event page on Meetup.com.

Below you will find the full description of the event.

Introduction to OTP, Functional Federated Learning in Erlang

Agenda:
• 6:45 pm - 7:10 pm
Snacks - Pizzas, drinks, mingling
-----------------

• 7:10 pm
Topic: Introduction to OTP

Grzegorz is the Head Of Engineering at Kaligo.

Speaker: Grzegorz Witek
Linkedin: https://www.linkedin.com/in/grzegorzwitek/

---------------------

• 8:00 pm :
Topic: Functional Federated Learning in Erlang (ffl-erl)

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 de-centralized 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.

Speaker: Gregor Ulm
Gregor Ulm is a computer scientist, currently working as a research and development engineer in an industrial research lab in Gothenburg, Sweden.

Website: http://gregorulm.com
LinkedIn: https://www.linkedin.com/in/gregorulm/

---------------------

Thanks to the following volunteers:
Meetup Organizers, Zalora for venue & Yojee for getting us pizzas.

About Yojee: An agile startup in Singapore building logistics software utilizing Block-chain, AI and Machine Learning to optimize and manage fleets.

• What to bring
ID

Upcoming Talk at WFLP 2018

Our paper “Functional Federated Learning in Erlang (ffl-erl)” has been accepted for presentation at The 26th International Workshop on Functional and Logic Programming (WFLP 2018), which is held at the University of Frankfurt, Frankfurt am Main, Germany, on 6 September 2018. The abstract is reproduced below.

Title:
Functional Federated Learning in Erlang (ffl-erl)
Gregor Ulm, Emil Gustavsson and Mats Jirstrand

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.

Upcoming talk at Trends in Functional Programming 2018

As part of my work at the Fraunhofer-Chalmers Research Centre for Industrial Mathematics, I have been working on a platform for distributed data analytics. I will present one facet of it, updating code on client devices without restarting them, at the upcoming conference Trends in Functional Programming 2018, which will take place from June 11 to June 13 at Chalmers University of Technology in Gothenburg, Sweden.

The abstract is reproduced below. Note that this is a work-in-progress paper or an extended abstract, depending on how you want to call it.


Active-Code Reloading in the OODIDA Platform
Gregor Ulm, Emil Gustavsson, Mats Jirstrand
Fraunhofer-Chalmers Research Centre for Industrial Mathematics, Sweden

The OODIDA (On-board/Off-board Distributed Data Analytics) Platform has been designed for distributing concurrent data analysis tasks to a network edge devices that are connected to a central server. It has been implemented in Erlang and Python. Its focus is the automotive industry, even though it is, in principle, a general solution. The heavy lifting is performed by edge devices. In contrast, the central server mostly performs supplementary tasks. One practical issue is that some data analytics tasks, for instance explorations of machine learning algorithms, do not lend itself well to the paradigm of deploying a new software installation to the edge device as it is both more time-consuming and inconvenient, due to the necessity of having to restart the applications that are executed on an edge device. As a response to this problem, we developed a solution for reloading active code on the client, which means that a data analyst using the OODIDA platform can define a custom function in Python and use it for local aggregations on the affected edge devices. This makes OODIDA even more flexible. It also enables new use cases such A/B testing of algorithms or experimental explorations. In particular the latter would have been inconvenient when relying on the standard deployment model of updating the software run on client devices.