Student Theses, Projects & Internships
Overview
I supervise Bachelor’s and Master’s theses, M.Sc. research projects, and B.Sc. internships (Praxisprojekt) in the areas of Parallel Programming, High-Performance Computing (HPC), and Supercomputing at Fulda University of Applied Sciences.
My research focuses on making supercomputers more efficient and easier to program. Theses in my group are typically closely connected to active research projects, providing students with the opportunity to work on real-world systems and contribute to scientific publications.
Research areas I supervise in:
- Parallel Programming Models
- Asynchronous Many-Task (AMT) Programming
- Dynamic (Adaptive/Malleable) Resource Management
- Fault Tolerance (Resiliency)
- Job Scheduling
- AI-assisted Vibe Coding
- Heterogeneous Computing Resources
- I/O
If none of the listed topics match your interests, but you have an idea in a related area, feel free to reach out — I am happy to discuss custom proposals. Please get in touch early.
Topics
The following are initial topic proposals intended to define a research direction. These are starting points; the specific scope, research questions, and methodology will be developed collaboratively during our initial meetings. Students are encouraged to contribute their own ideas and refinements.
Parallel Programming Models
Systematically compare MPI-based and AMT-based implementations of representative HPC benchmarks with respect to performance, scalability, and programmability. We are particularly interested in also exploring Julia as an alternative parallel programming system.
Asynchronous Many-Task (AMT) Programming
Investigate and implement task migration strategies for AMT runtimes dealing with dynamic and irregular workloads. The focus is on developing heuristics that reduce overhead while maintaining good load balance.
Develop tools to trace and visualize task execution and data movement in AMT runtimes. The goal is to help developers understand runtime behavior and identify performance bottlenecks.
Dynamic (Adaptive/Malleable) Resource Management
Design and evaluate scheduling algorithms that dynamically resize jobs at runtime. The goal is to improve overall system utilization by allowing the resource manager to shrink or expand running jobs based on demand from the job queue.
Develop performance models that predict how applications respond to node additions or removals. These models will guide the resource manager in making better decisions about when and how to resize jobs.
Fault Tolerance (Resiliency)
Explore checkpointing and recovery mechanisms for task-based runtimes on large-scale clusters. The goal is to enable transparent recovery from node failures without losing significant computation progress.
Job Scheduling
Build a discrete-event simulation environment to evaluate scheduling policies using real-world supercomputer logs. The framework should support both rigid and adaptive job models. The simulation builds on ElastiSim, an existing open-source HPC job scheduler simulator.
Design and evaluate scheduling policies that incentivize adaptive jobs while guaranteeing fairness for rigid jobs in a shared HPC cluster.
AI-assisted Vibe Coding
Evaluate the capability of large language models to generate correct and efficient parallel code (MPI, OpenMP, task-based) for HPC problems. Assess correctness, performance, and developer productivity.
Heterogeneous Computing Resources
Extend an existing AMT runtime to schedule tasks on heterogeneous hardware (CPU + GPU), implementing placement heuristics that minimize data movement and maximize throughput.
I/O
Investigate how I/O access patterns of tasks can be used to guide scheduling decisions in AMT systems, reducing I/O bottlenecks on shared storage systems.
Theses (B.Sc. & M.Sc.)
Formal Requirements
Expectations
- Independence: You are expected to work independently and proactively. I provide guidance and feedback, but the thesis is your work.
- Regular meetings: We meet regularly to discuss progress, problems, and next steps.
- Scientific writing: You are expected to read and cite relevant related work. Prefer primary sources: conference papers (ACM, IEEE, USENIX), journals, and technical reports.
- Reproducibility: Experiments must be documented and reproducible. Raw data and scripts must be included in the submission.
- AI tools: The use of AI writing tools (e.g., ChatGPT) must be transparently declared in accordance with the department’s current guidelines.
Process
Get in touch early. Send an email to jonas.posner@cs.hs-fulda.de with your topic preference, thesis type (B.Sc./M.Sc.), transcript of records, and preferred start date.
We meet to discuss your background, the topic, and expectations on both sides. If we agree to proceed, we define a concrete scope and research question.
You write a short exposé (2–3 pages) covering: problem statement and motivation, objectives and research questions, planned methodology, and a rough timeline. This serves as the basis for the official registration.
You carry out the research, implementation, and evaluation. We meet regularly to track progress. You are expected to bring topics to the meeting that you would like to discuss.
You submit a full draft at least three weeks before the deadline. I provide written feedback on structure, content, and language.
You submit the final thesis (PDF to supervisor + bound copy at the examination office if required) by the official deadline. All code and artefacts must be submitted alongside the thesis.
M.Sc.: ~30 min presentation + ~20 min Q&A
Research Projects
The research project is a supervised research module in the Master’s programme. It can be done by a group of students.
Topics come from the same research areas as theses. If you are interested, reach out by email with your topic idea, a brief statement of your background, and your preferred semester. The same contact and application process as for theses applies.
Internship Report
Key points:
- The practical phase takes place at a company or research institution in industry.
- The university assigns a supervising professor for the written report.
- The internship report is submitted after the practical phase ends.
- Assessment is based on both the report and the employment reference.
Note on supervision: I supervise internship reports if the topic in industry aligns with my research interests (Parallel Programming, HPC, Supercomputing, etc.). Please get in touch before your internship starts to confirm supervision. The application process is the same as for theses.