
Sciences & Société
Soutenance de thèse : Patrik FORTIER
Programming language abstractions for the Internet of Things era
Doctorant : Patrik FORTIER
Laboratoire INSA : CITI
Ecole doctorale : ED512 : InfoMaths
The challenges posed by the Internet of Things (IoT) require modern applications to handle large volumes of data streaming from tiny devices, which then undergo processing, storage, and analysis. Developers have embraced the microservices architecture to address scalability concerns and facilitate a fast software delivery process. However, emerging computing paradigms like Fog and Edge computing introduce diverse resources and configurations, making it necessary for developers to adapt to increasingly complex environments and ecosystems. The emergence of new development methodologies like Function-as-a-Service and Serverless models has shifted the focus towards code simplicity. However, this has raised concerns that developers are now coding for infrastructures they have limited control over. In resource-constrained environments such as edge computing, applications even often compete for resources. Therefore, developers require tailored tools with appropriate abstractions to address modern challenges without succumbing to rising complexity.
In this thesis, we present programming language abstractions tailored for developing distributed software in the era of the Internet of Things. We have consolidated these abstractions into a framework that allows for the construction of distributed dataflow applications in the form of microservice applications, all within the same codebase. This framework abstracts both the underlying infrastructure on which applications run and the communication between services. We demonstrate the overhead introduced by our approach and compare it with existing Function-as-a- Service frameworks.
To offer precise control over the infrastructure, we introduce language primitives and a local runtime that manages contextual information about the cluster. Additionally, we introduce entropy as an innovative placement metric for applications. Developers can dictate how they want their application to be positioned within the cluster and how it should respond to scenarios such as resource contention between applications sharing the same infrastructure. These techniques enable a user-defined dynamic placement policy with a high level of granularity in an environment where they may not have complete control.
Información adicional
-
Amphithéâtre Est, Bâtiment des Humanités, INSA-Lyon (Villeurbanne)