Thesis Topics

As already mentioned in the “about me” section of this website, my research interests are rooted in high-performance and distributed computing. More specifically, I focused my research activities on the models, approaches, algorithms and technologies to ease the task of efficiently exploiting parallel and distributed systems, from different perspectives and goals.

In the following, you can find some topics, organized in areas, on which it is possible to develop a thesis. Some of those are also published on the Thesis boards (for the BSc and the MSc) provided by the Department of Computer Science of the University of Pisa.

Proposals for Master Theses:

Large-scale Distributed platforms for Machine Learning and BigData processing

By relying on the availability of a massive amount of data, Machine Learning technologies allow humans to let machines complete tasks that were impossible to delegate. To make this possible it is fundamental to be able to efficiently extract from the data their intrinsic training value.

Available Theses:

  1. Optimization of data and model partitioning for large data collections and ML models
    Focus on enhancing data and model partitioning in distributed systems.
  2. Exploitation of FPGAs for inference in conversational agents
    Implement FPGA-based applications for AI inference in conversational agents.
  3. BigGraph partitioning and processing in distributed environments
    Find novel approaches to graph partitioning and evaluate performance and scalability.

Intelligent, Self-adaptive and Autonomic Management of Distributed Applications

The field of distributed computing is advancing rapidly, presenting both new challenges and opportunities as systems become increasingly complex. These theses address various facets of distributed computing, including optimizing resource use and tackling practical issues in cloud and edge environments. They aim to offer innovative insights and approaches for creating efficient and scalable distributed systems.

Available theses:

  1. Reinforcement-learning-based optimization for scalable and fault-tolerant applications
    Focus on exploiting techniques for optimizing scalable and fault-tolerant applications by exploring different reinforcement learning algorithms, such as Q-learning or deep reinforcement learning.
  2. Decentralized sidecar pattern for intelligent application management
    Focus on the design and evaluation of a decentralized design pattern for application management built on the well-known sidecar pattern. The thesis could explore different approaches for implementing the decentralized sidecar pattern, such as peer-to-peer networks.
  3. Smart data sharding and placement for efficient application management in cloud/edge environments
    This thesis could focus on the design and evaluation of approaches for efficient cloud/edge data management. The solution developed would enable data to be dynamically partitioned and distributed across cloud and edge nodes based on different policies. The thesis could explore different approaches, including ones based on distributed intelligence.

Highly distributed and decentralized computing approaches

These theses investigate real-time analytics in distributed systems, scalable edge computing for IoT applications, and performance optimization in distributed stream processing. Students will explore event-driven architectures and stream processing to provide immediate insights and support timely decision-making. They will focus on optimizing data processing and resource management at the edge to handle large-scale IoT deployments efficiently.

Available theses:

  1. Scalable Edge Computing for Internet of Things (IoT) Applications
    Explore the integration of edge computing and scalable distributed systems to support large-scale IoT applications. Investigate approaches for efficient data processing, real-time analytics, and resource management at the edge of the network.
  2. Performance Optimization Techniques for Distributed Stream Processing
    Investigate and develop advanced optimization techniques to enhance the performance of distributed stream processing systems. Explore strategies such as workload distribution, parallelism, and resource allocation to optimize real-time analytics and event processing.
  3. Decentralized Data Management in Fog Computing Environments
    Focus on the approaches for decentralized indexing and querying of multi-streams in the fog. The thesis could explore different approaches for decentralized data management in fog computing environments, and evaluate their performance and scalability.

Distributed computing for Federated and Distributed Learning

The following thesis topics delve into advanced areas within Scalable Distributed Computing: federated learning methodologies, consistency models, the interaction between computational entities in distributed learning environments, and innovative strategies for delivering intelligent services to end-users, such as Serverless computing.

Available theses:

  1. Federated Learning with Consistency Models
    Investigate and develop consistency models for federated learning, which ensure synchronization and agreement among distributed model updates. Explore techniques to address challenges such as straggler nodes and communication bottlenecks in federated learning scenarios.
  2. Consistency Models for Distributed Deep Learning
    Research and develop consistency models tailored for distributed deep learning systems.
  3. Resource-Efficient Federated Learning
    Investigate how to optimize resource utilization in federated learning setups. Explore strategies for adaptive scheduling, load balancing, and data partitioning to improve efficiency and scalability in distributed learning scenarios.
  4. Serverless Computing for Federated Learning
    Serverless computing can be used for deploying federated learning algorithms, providing a scalable and cost-effective way to train models in a decentralized manner. This thesis could explore the use of serverless computing for federated learning.

Urgent Edge Computing

Urgent Edge Computing focuses on optimizing edge computing frameworks to handle time-sensitive applications and critical workloads where rapid response is essential. This area of study addresses the challenges of processing, analyzing, and acting on data in real-time at the edge of the network, particularly in scenarios requiring immediate action due to urgency or high stakes. Key aspects include reducing latency, improving reliability, and enhancing the efficiency of edge devices and systems in urgent situations, such as emergency response, real-time analytics, and critical infrastructure management.

Available Theses

  1. Resource Management Strategies for Urgent Edge Computing
    Analyze resource allocation and management techniques tailored for urgent edge computing tasks. Develop strategies to efficiently manage computational and network resources under time constraints, ensuring high performance and reliability.
  2. Edge-AI Integration for Real-Time Emergency Response
    Study the integration of artificial intelligence (AI) at the edge for enhancing real-time emergency response capabilities. Design AI models and algorithms optimized for urgent edge scenarios, such as disaster detection and response, to improve decision-making and action.
  3. Scalable Edge Computing Architectures for Critical Infrastructure Monitoring
    Investigate scalable architectures for edge computing systems used in monitoring and managing critical infrastructure. Develop solutions to ensure that edge computing frameworks can handle the high demands and urgency of real-time monitoring and management in sectors like utilities, transportation, and healthcare.
  4. Dynamic Load Balancing for Urgent Edge Computing Tasks
    Explore methods for dynamic load balancing in edge computing environments to efficiently handle time-sensitive tasks. Develop algorithms that distribute workloads across edge devices based on urgency and resource availability, ensuring optimal performance and minimal latency.
  5. Edge Computing for Real-Time Autonomous Systems
    Investigate the application of edge computing in real-time autonomous systems, such as self-driving vehicles or drones. Develop techniques to enhance the responsiveness and reliability of edge-based systems that operate under critical conditions and require immediate data processing.
  6. Secure Data Handling in Urgent Edge Computing Scenarios
    Study security measures for protecting data in urgent edge computing environments where rapid response is crucial. Design and evaluate security protocols that ensure data privacy and integrity while maintaining low latency and high performance.
  7. Energy-Efficient Edge Computing for Time-Critical Applications
    Analyze energy-efficient computing strategies for edge devices used in time-critical applications. Develop approaches to reduce power consumption without compromising the performance and responsiveness required for urgent tasks, such as in remote monitoring and emergency systems.