Distributed Systems

Bachelor Projects

Accelerating Big Data Analytics using Heterogeneous Resources.

Supervisor: Boris Koldehofe, Pratyush Agnihotri (External).
Status: available.
Date: 31/01/2022.
With the proliferation of the Internet of Things (IoT) devices, it is estimated that the data volume created by IoT connections is projected to grow as well. Processing this data can be helpful to various application domains such as online gaming, fraud detection, etc. to infer timely meaningful information to provide faster and better services to end-users. However, it has become challenging to accelerate the performance to meet the quality of service (QoS) demands of end-users with a higher and varying workload. In such a scenario, hardware accelerators can be extremely useful to meet QoS demands. As a part of this research project, students aim to analyze existing related literature related to hardware acceleration, followed by formalizing the problem, modeling the solution, and implementing the proof of concept or prototype. In addition, there are required to perform an evaluation of the proposed solution in comparison to the existing approaches.

Conception and Analysis of High Performance Real-Time Stream Processing in the context of the DEBS grand challenge problem.

Supervisor: Boris Koldehofe, Pratyush Agnihotri (External).
Status: available.
Date: 31/01/2022.
In this research project the engaged students (1-3 students, groups are possible) focus on a current grand challenge problem (DEBS 2022 Grand Challenge: https://2022.debs.org/call-for-grand-challenge-solutions/) in which researchers compete world-wide to improve the performance of distributed stream processing systems. As part of this research project students aim to analyze existing distributed stream processing solutions and technologies, understand and propose a solution for minimizing performance gaps and design an appropriate performance study. Motivated students are encouraged to participate in cooperation with the supervisors on the grand challenge competition.

Deep Learning over graph structured data.

Supervisor: Andrés Tello.
Status: available.
Date: 31/01/2022.
Deep Learning has been used successfully for solving problems in computer vision, natural language processing and many other tasks where data can be accurately represented in the Euclidean domain. However, there are several problems where data can be naturally modeled as graphs, e.g. social networks, recommendation systems, transportation networks, water networks, among others. In this context, Graph Neural Networks (GNNs) have shown promising results on many prediction tasks on graph-structured datasets. The goal of this project is to evaluate the state-of-the-art approaches for graph representation learning and use GNNs for node classification and link prediction in graph-structured data. The domain for the experiments can be discussed later (Transport Networks, Water Networks, Product Recommendations).

Design and Performance Analysis of RDMA-based Distributed Complex Event Processing.

Supervisor: Bochra Boughzala.
Status: unavailable.
Date: 31/01/2022.
To achieve a higher level of elasticity and scalability modern applications of Complex-Event Processing (CEP) are executed in distributed manner. When DCEP (Distributed CEP) employs operator parallelization along with multithreading where each operator instance is executed by a thread attached to a core in a multicore CPU architecture, the degree of parallelization remains limited to the number of cores available for the CEP application. In this project, the student will explore the feasibility of a novel deployment method for DCEP relying on heterogenous and disaggregated hardware. The proposed DCEP deployment solution must take advantage of novel in-network programmable devices combined with traditional compute nodes. The goal in this project is to leverage RDMA for maintaining shared state among truly distributed operator instances.

Total ordering of Events using In-Network Computing in the context of Complex-Event Processing.

Supervisor: Bochra Boughzala.
Status: unavailable.
Date: 31/01/2022.
With Complex-Event Processing (CEP), operator instances are executing continuously queries on the incoming event stream so that when there is a match to the query, a new composite event is created and fed to the CEP application, e.g., a traffic jam situation in a smart city. The reliable detection of a situation of interest in real-time event streams requires the in-order delivery of events. However, the unpredictable and dynamic nature of data center networks where links can go down and routing paths change unexpectedly, events can be forwarded through different paths and arrive in out-of-order manner to the CEP operator. In this project, the goal is to use programmable packet scheduling to restore the total order of events in a DCEP system. The student will devise an in-line network function that will deliver a total order of events at line rate leveraging novel programmable packet processing hardware.

Software Verification for Data Processing Pipeline

Supervisor: Mostafa Hadadian.
Status: in progress (unavailable).
Date: 10/01/2022.
Software verification ensures that specific software components or subsystems meet their design requirements. It is done at the design time. On the other hand, data processing pipelines are composed of several data processing elements that are connected together, i.e. an output of one element is an input for another one, to produce the expected result. This project aims to use software verification techniques to verify the design of a data processing pipeline.

Automated Planning of Data Processing Pipeline

Supervisor: Mostafa Hadadian.
Status: in progress (unavailable).
Date: 10/01/2022.
Planning is the reasoning side of acting. It is an abstract, explicit deliberation process that chooses and organizes actions by anticipating their expected outcomes. This deliberation aims at achieving some pre-stated objectives. Automated planning is an area of artificial intelligence (AI) that studies this deliberation process computationally. This project aims to use these automated planning techniques to create a system that automatically designs data processing pipelines which are consisted of several building blocks working together to produce the expected result.

Applications of Trusted Execution Environments (TEE) in IoT

Supervisor: Majid Lotfian Delouee.
Status: in progress (unavailable).
Date: 07/01/2022.
Employing a Trusted Execution Environment (TEE) is considered as a way of protecting the security and privacy of data. In fact, a trusted execution environment is a secure and isolated environment that prevents unauthorized access or modification of applications and data while they are in use. In this research project, students are asked to elaborate on the main features as well as the pros and cons of TEEs. In addition, it is expected to perform research on the applications of TEEs on the Internet of things environments and how can they provide an acceptable level of privacy for application users. Finally, students are expected to propose novel ideas to employ TEE in the Internet of Things environment (e.g., at the edge layer) in order to preserve privacy efficiently.

Finite state automata for TCAM packet classification

Supervisor: Saad Saleh.
Status: available.
Date: 13/12/2021.
Ternary content addressable memory is one of the crucial network memory with high power consumption and large space requirements. At the same time, it can perform network packet classification in a single clock cycle without any error. In this project, we aim to develop and analyze a finite state automata for TCAM to perform network packet classification. This project drives motivation from the use of Cognitive materials, i.e., memristors, inside TCAM. As memristors can provide a range of states with varying input-output response, so, this project focuses on the development of network packet classification technique using a range of states in a finite state automata.

Modeling and analysis of process models using Colored Petri nets

Supervisor: Heerko Groefsema.
Status: in progress (unavailable).
Date: 26/10/2021.
Petri nets are mathematical models that can be used to model distributed systems. In our research, we use XML-based Place/Transition nets to obtain verifiable models of business processes. To increase expressivity, we are interested in support for Colored Petri nets. In this project, the student will investigate Colored Petri nets, design and implement Colored Petri nets using the Petri Net Markup Language, and implement its semantics.

Model checking st-t-t-tutter equivalent system models

Supervisor: Heerko Groefsema.
Status: available.
Date: 26/10/2021.
Verification entails proving or disproving the correctness of a system model with respect to its specification. One approach towards verification is model checking. In our research, we use model checking to verify process models against multiple sets of formal specifications based on atomic propositions. Often, however, within these different sets of specifications we are only interested in certain sub-sets of atomic propositions. Therefore, to optimize model checking performance, we are interested in obtaining multiple stutter equivalent sub-models of the given system model that only contain states with certain atomic propositions and minimal paths between those states. In this project the student will investigate system models and the concept of stutter equivalence, and design a data structure that contains the system model and its stutter equivalent sub-models, such that states are never duplicated while stutter equivalent paths in the sub-models easily map back to the respective states in the system model.

The BPMN token game

Supervisor: Heerko Groefsema.
Status: in progress (unavailable).
Date: 26/10/2021.
The Business Process Model and Notation (BPMN) is the de facto industry standard for modeling and executing business processes. In research, however, it is common to model business processes using Petri nets, which use a token game for its execution semantics. In this project, the student is asked to bridge this gap by designing and implementing the BPMN standard and its semantics as such a token game.

Reducing Redundant Exploration of Parallel Search Algorithms

Supervisor: Michel Medema.
Status: in progress (unavailable).
Date: 25th of November 2021.
Finding the optimal solution to a Constraint Satisfaction Problem is an NP-complete problem, meaning that, in the worst case, the time complexity of a search algorithm grows exponentially with respect to the size of the problem. Many techniques have been developed to reduce the search space, including constraint propagation and pruning based on a bound on the cost. Besides that, parallel search algorithms can be used to explore multiple solutions in parallel, thereby potentially reducing the overall search time. Parallel search algorithms may potentially perform some redundant search, however, as it is not always possible to make the most effective use of pruning techniques. This redundant search may occur because, unlike sequential algorithms that can use the upper or lower bound on the cost to disregard subsequent solutions, a parallel algorithm may have already started to explore such solutions before the bound is known. The impact of this problem becomes considerably worse when the search is distributed and involves many local decisions without any global coordination, such as when the algorithm uses decomposition techniques. This project aims to explore the influence that this redundant search has on the overall execution time of the algorithm and possible techniques that can be used to avoid it, at least partially.

Decomposition Techniques for Optimisation Problems

Supervisor: Michel Medema.
Status: in progress (unavailable).
Date: 25th of November 2021.
Decomposition techniques try to divide a Constraint Satisfaction Problem into independent subproblems based on the dependencies that exist between the variables. The decomposed problem often has a lower worst-case complexity than the original problem, and finding a solution to the problem is generally faster. One such algorithm is Backtracking with Tree-Decomposition, which applies standard backtracking search on the decomposed version of a problem. However, this algorithm was originally designed to solve satisfaction problems rather than optimisation problems, meaning performance results are not available for optimisation problems. The evaluation of Backtracking with Tree-Decomposition on optimisation problems is the focus of this project, as well as comparing these results to other constraint solvers and decomposition techniques.


Have your own project suggestions?

We are available to supervise projects on various aspects of distributed systems, in particular involving

  • Service-Oriented and Cloud Computing
  • Pervasive Computing and Smart Environments
  • Network Centric Real-time Analytics
  • Energy Distribution Infrastructures
  • Adaptive Communication Middleware
  • Adaptive Collaborations and Correctness

If you have an idea of a specific project or would like to work generally in a specific area, please let us know about it and we can then narrow the project down.

Please feel free to contact us to discuss specific topics and options.