Scalable and Adaptive Stream Processing Architectures

Supervisor(s): Thomas Fahringer

This project involves exploring cutting-edge techniques in distributed stream processing, including partitioning strategies, dynamic scheduling, and performance modeling. Students will develop or extend existing frameworks to handle massive and high-velocity data streams.

Focus

Designing and evaluating novel algorithms and system architectures for real-time data processing in large-scale, heterogeneous environments (e.g., cloud-edge networks). Emphasis on resource allocation, parallelism, and load balancing to achieve high throughput and low latency.

Tasks

  • Dynamic Resource Allocation: Create adaptive load balancing and scheduling strategies.
  • Scalability Mechanisms: Explore partitioning, parallelism, and distributed execution techniques.
  • Performance Evaluation: Develop benchmarks and simulation frameworks for empirical validation.

Required Skills

Theoretical Skills:

  • Distributed Systems Concepts
  • Scalability and Performance Modeling
  • Queueing Theory / Scheduling Algorithms

Practical Skills:

  • Programming in Java, Scala, or Python
  • Familiarity with Apache Spark, Flink, or Storm
  • Cloud Deployment (AWS/Azure)