Main page Research activities Publications Talks MSc thesis projects Mentoring Hobby and spare time Write me This site uses
Google Analytics
Last updated on
13 July 2021

Completed thesis projects

Some thesis projects I coordinated in the past, along with pointers to source code, documentation or other material that has been possibly made available for download.

RT-Mongo: Differentiated Real-Time Performance on a NoSQL Data-Base, by Remo Andreoli

This thesis project has been realized by Remo Andreoli in partial fulfillment of the requirements for the MSc in Computing Science at University of Pisa.

In this thesis a set of modifications is proposed to the popular MongoDB NoSQL data-base software, that reduces temporal interference among competing requests on a per-client/request basis. Extensive experimentation with synthetic stress workloads demonstrates that the proposed solution is able to assure that requests with higher priorities achieve reduced and significantly more stable response times, with respect to lower priorities ones.

This work has also been published and presented at the 11th International Conference on Cloud Computing and Services Science (CLOSER 2021), on April 28-30, 2021, in Prague, Czech Republic, where it got the Best Student Paper Award. A later extension of the paper has also been published and presented at the 16th Workshop on Virtualization in High-Performance Cloud Computing (VHPC 2021), within the International Supercomputing Conference - High Performance (ISC 2021), July 2nd, 2021, in Frankfurt, Germany.

Intelligent placement and handling of containers for real-time cloud and NFV services on Kubernetes, by Stefano Fiori

This thesis project has been realized by Stefano Fiori in partial fulfillment of the requirements for the MSc in Embedded Computing Systems at University of Pisa.

OS-level virtualization mechanisms, such as Linux Containers (LXC), are growing in demand and popularity as deployment and isolation mechanisms, thanks to their increased efficiency in resource usage, when compared with traditional machine virtualization techniques. Containers are becoming a fundamental brick in current and future architectures for distributed fault-tolerant components, which are increasingly based on micro-services.
In this context, Kubernetes is gaining momentum as an increasingly adopted open-source platform for automating deployment, scaling, and management of containerized applications. Kubernetes is written in Go, a modern programming language particularly suitable for writing efficient distributed applications, thanks to its compiled nature, along with a wide availability of libraries and tools.
This thesis proposal deals with integrating in Kubernetes advanced real-time scheduling features available on the Linux kernel today, such as SCHED_DEADLINE and its hierarchical variant for ensuring predictable execution of complex software components such as containers or virtual machines.

Design and Implementation of a Performance Testing Framework for High-Performance Inter-Container Communications, by Gabriele Ara

This thesis project has been realized by Gabriele Ara in partial fulfillment of the requirements for the MSc in Embedded Computing Systems.

In the domain of network operators, recent technological trends led to replacing traditional physical networking infrastructures with more flexible cloud-based systems, which can be dynamically instantiated on demand. The paradigm represented by Network Function Virtualization (NFV) aims to replace most of the highly specialized hardware appliances that traditionally are used to build a network infrastructure with software-based Virtualized Network Functions (VNFs) to improve network flexibility. A number of network functions need high-performance and low end-to-end latency. Primary research focus is now into reducing per-packet processing overheads by using user-space networking techniques, allowing applications to avoid the kernel when exchanging data between containers, either on the same machine or between different hosts. These techniques are generally indicated as kernel bypass mechanisms. In this thesis, a benchmarking framework has been designed and realized, for the purpose of comparing different kernel bypass mechanisms that can be used to exchange data between VNFs deployed on OS containers within a private cloud infrastructure, to determine which is the most suitable to build efficient network infrastructures in the cloud. Among these mechanisms, this work focuses on the evaluation of the Data Plane Development Kit (DPDK) framework and other tools that are built on top of it (e.g. software virtual switches).

The work has also been published and presented at the 14th Workshop on Virtualization in High-Performance Cloud Computing (VHPC 2019), within the International Supercomputing Conference - High Performance (ISC 2019), June 20th, 2019, in Frankfurt, Germany. A later extension of the paper has been published and presented at the 10th International Conference on Cloud Computing and Services Science (CLOSER 2020), on May 7-9, 2020, in Prague, Czech Republic, where it got the Best Paper Award.

A RISC-V Software Ecosystem - Study and Development of a Software Ecosystem employing a Test Driven Approach, by F. De Gioia

This thesis project has been realized by Francesco De Gioia in partial fulfillment of the requirements for the MSc in Embedded Computing Systems, during an internship at Cobham Gaisler Research, in Gothenburg (Sweden), under the joint academic supervision of myself and prof. Luca Fanucci.

Estensioni real-time per sound daemon su Linux, by G. Bagnoli

The thesis project has been developed by Giacomo Bagnoli, modifying the JACK low-latency audio infrastructure for Linux, integrating it with AQuoSA, a set of modifications to the Linux kernel adding an EDF-based real-time scheduling policy for real-time applications. The work has also been published and presented at the Linux Audio Conference 2011.

SCOTT - Smart Card Open Test Toolkit (Gestore di Smart-Card Modulare), by A. Angella

The thesis project has been developed by Andrea Angella, realising SCOTT (Smart Card Open Test Toolkit), an open, modular and expandable architecture for the realisation of a smart-card shell. Various smart-card devices or even higher-level APIs may be supported by adding plug-ins to the project. The plug-in currently developed as part of the thesis project are: one for generic ISO 7816 T=0 communications, one for ISO 7816-4 APDU commands, and one for the specific commands of the Schlumberger Cryptoflex 16K device. More information is available in the Andrea Angella master thesis.
The code has been released in open-source under GPL license, and it is available at the URL: https://gna.org/projects/scott.

QSign, by C. Mauceri

Qt-based digital signature application that computes and verifies digital signatures in the PKCS#7 standard format and uses the PKCS#11 standard API for communicating with external smart-card devices.

JMuscleCard, by A. Pieroni

Module allowing the use of the MuscleCard API for smart-card devices from the Java programming language, through the use of the Java Native Interface (JNI) mechanism.

JC Emulator, by M. Ferrari and P. Grimaccia

Emulation environment for JavaCard compliant smart-cards, allowing the execution of complete tests for solutions based on such platform in an absolutely transparent way.

GKM Manager, by D. Grandoni

Modular and expandable middleware for the management of group cryptographic keys in the multicast setting. Includes a module implementing an algorithm based on the "One Way Function Tree" (OWFT) technique.


Main page Research activities Publications Talks MSc thesis projects Mentoring Hobby and spare time Write me Last updated on
13 July 2021