Diploma Thesis Projects 2017-2018

  1. OpenMP tasks in Eclipse
    Description: Learn the Eclipse C internal representation, learn the workings of an existing static analysis engine and interface the two.

Diploma Thesis Projects 2016-2017

  1. Alternative RDD implementations for Spark
    Description: Learn to code in Scala and Spark and write one or more extensions of Spark RDDs optimized for specific algorithms.
  2. Java static analysis
    Description: Develop a static analysis for Java that computes NUMA locality and object lifetime.
  3. Parallelization of static analyses
    Modularize and parallelize an existing static analysis engine. Factorize the Locksmith pointer analysis engine.

Diploma Thesis Projects 2013-2014

  1. LLVM and tasks
    Description: Extend LLVM with a "spawn" keyword that calls a function in parallel, as in Cilk, and link it with the PARTEE task-parallel runtime system.

Diploma Thesis Projects 2012-2013

  1. Task-parallel Fault Tolerance
    Extend the BDDT runtime system with fault-tolerance. Define a realistic fault model for permanent and transient faults on existing multicore computers. Extend the BDDT runtime system with support for local and global checkpointing and recovery from both transient and permanent errors. Measure the overhead of fault tolerance on task-parallel programs.
  2. Runtime Dependencies in Recursively Parallel Programs
    Implement a runtime analysis for dependencies among recursively-parallel tasks, and extend an existing runtime system (e.g., Cilk) with a dependency-aware scheduler.
  3. Static analysis in Eclipse
    Learn the architecture of the Eclipse IDE (for either Java or C programming), including the AST and analysis frameworks, and write an Eclipse interface for an existing static analysis engine.

Internship Topics 2012

  1. A fault-tolerant task parallel runtime
    Positions: 1
    Lab: CARV
    Description: Understand the BDDT runtime and add support for checkpointing of computations, and restoring to an earlier point on fault.