| Carl Friedrich Gauß Faculty | Department of Computer Science

Serverless Mobile Agents: Das Beste beider Welten

Student(anonymous, Login required)
SupervisorManuel Nieke
ProfessorProf. Dr. Rüdiger Kapitza
IBR GroupDS (Prof. Kapitza)
TypeBachelor Thesis


In recent years there has been an increasing trend to move computations to the cloud. This is due to many advantages for cloud customers, such as high availability, near infinite scalability, and the ability to aquire resources flexibly on demand. Over the years several cloud paradigms were established, ranging from providing cloud customers with virtuals machines or application execution environments, to providing applications themselves.

For the latest incarnation of cloud paradigms, called Function-as-a-Service (FaaS), cloud customers only provide single functions which can be evoked. In contrast to other paradigms, this allows application programmers to focus solely on their business logic without the need to consider the underlying machines. For this reason, this paradigm is also called serverless computing. Furthermore, it offers a fine grained billing, as a function is only billed for the duration of its call and allows a service to scale down to zero if it is not used at all.

Problem statement

Recent research has shown, however, that current FaaS implementations suffer from performance issues for non-trivial applications. Among other things, this is caused by the functions' stateless nature, which incurrs a dependency on external storage, as well as deployment which does not consider data locality. As a result it seems desirable to extend the current FaaS implementations to resolve these issues. One approach for this might be Mobile Agents, which are applications with the ability to freely move between machines. Due to this ability, they could solve problems currently faced by FaaS, such as the data locality problem, as small code can simply be moved to large data sets.

Task description

The goal of this thesis is to explore the possibilities of combining Function-as-a-Service and Mobile Agents into a single platform. Optimally such a solution should maintain advantages of FaaS, such as low development effort and good scalability, while solving its current performance issues. However, certain trade-offs might be necessary. As the basis for applications built for such a platform, WebAssembly should be used, as it inherently fulfills several requirements for FaaS and Mobile Agents and allows developers to use a number of different source languages.


  • Good knowledge of C/C++
  • Basic knowledge of a WebAssembly source language, such as C/C++, Rust, ...
  • Knowledge of WebAssembly, Mobile Agents, and FaaS is of advantage

last changed 2019-08-14, 11:24 by Manuel Nieke