Dockerized Java based micro-services on resource-constrained devices: the performance perspective

There is a current trend in the IoT domain to redefine the role of the IoT Gateway - once a simple communication relay with some application specific processing - into a generic purpose edge device supporting diverse device protocols, multiple applications, a variety of cloud connections, and sometimes even multi-tenant situations. In fact, recent low-cost hardware based on multi-core ARM and Intel SoCs (such as the Raspberry Pi 3, the Odroid-C2, or the UP board) seems to have the required capabilities.

Based on the AGILE H2020 project, Eclipse AGAIL is one of the projects leading this trend, among others like Eclipse Kura, the Mozilla Web Of Things Gateway, or Google Things. However, contrary to the others, AGAIL chose a language-agnostic approach based on a Dockerized micro-service based architecture. This choice offers its fair share of advantages such as an easier reuse of open source libraries and support for different developer communities, however, it could incur a significant  performance overhead.

After a brief introduction to the IoT gateway and the AGAIL architecture, the talk will focus on the pros and cons of this choice, with performance measurements and optimizations. Particular attention will be given to the handling of Java based services, and to on-going efforts to optimize runtime performance.

AGAIL currently runs micro-services implemented in Java, Python, JavaScript, and C++. Among these, one stands out as not scaling well to multiple runtimes in separate processes on a restricted device, a requirement for pure Linux container based separation. We discuss the steps we’ve taken to overcome this difficulty through implementation choices and performance measurements.

 

Intended audience

IoT developers and those interested in broader IoT architectural aspects
Java and OSGi developers (even if we are not yet addressing the OSGi part)

About the speaker(s)

Csaba Kiraly, PhD, is a senior researcher at the Bruno Kessler Foundation, Trento, Italy, as member of the OpenIoT team. His main interests are in the design and performance evaluation of IoT systems and networking protocols. In the past, he was also working on virtualization technologies, peer-to-peer video streaming systems, privacy enhancing technologies, and stratospheric platforms for communication services.
Csaba is the technical coordinator of the AGILE H2020 project and an Eclipse committer. Throughout his research, he has been using, analysing, and modifying the code of several flagship projects, such as Tor, KVM, Contiki, and the Linux wireless subsystem. He was co-author of more than 30 scientific papers and presented many of these in conferences. He is also the holder of several IEEE Best Demo and Best Paper awards.

Koustabh Dolui is a research engineer at FBK, Trento, Italy. His research interests lie in Edge computing and cloud platforms for IoT. He has graduated in Telecommunications Engineering from Politecnico di Milano, Italy in 2016. He is currently a developer for the AGILE H2020 project. He has been a speaker at the OpenIoT summit, Berlin, 2016 as well as a presenter in a few scientific conferences.

Our Sponsors

For information about becoming a sponsor, please visit the EclipseCon Europe 2017 sponsor prospectus page.

Elite Dual ECE/OSGi CE

Premium

Basic

Club ECE Sponsor

IoT Theme Day

Project Quality Day

Smart Home Day

Media

EclipseCon Support Other Events

Our Other Events

Eclipse events are hosted all over the world!

  • EclipseCon Europe 2018