The course is an introduction to research in software engineering, based on reading and presenting high quality research papers in the field. The focus of the course this year is on reliability of high-performance programs.

The main goals of this seminar are 1) learning how to read and understand a recent research paper in computer science; and 2) learning how to present a technical topic in computer science to an audience of peers.

The list of suggested papers is here: PDF

Action Item: Send an e-mail to Andrei with your top 5 choices by Friday, Sept 20.


Sept 18 Seminar Overview: topics, gradigs, how to read papers PDF
Oct 16 Pregel: a system for large-scale graph processing Simon Jutz Veselin Raychev
Parrot: a Practical Runtime for Deterministic, Stable, and Reliable Threads Lukas Bischofberger Dimitar Dimitrov
Oct 23 Betweenness centrality: algorithms and implementations Nico Kurmann Maciej Besta
Terra: A Multi-Stage Language
for High-Performance Computing
Gregor Wegberg Andrei Dan
Oct 30 Integrating Asynchronous Task Parallelism
with MPI
Adrian Wicki Timo Schneider
X10: an object­oriented approach to non­uniform cluster computing Benjamin Steger Andrei Dan
Nov 6 The Tao of Parallelism in Algorithms Andy Zimmermann Dimitar Dimitrov
Ligra: a lightweight graph processing framework
for shared memory
Pascal Roos Timo Schneider
Nov 13 Stochastic super optimization Bandomir Martin Veselin Raychev
Improving Communication Performance in Dense Linear Algebra via Topology Aware Collectives Güler Sezer Maciej Besta
Nov 20 Automatic Data Movement and Computation Mapping for Multi-level Parallel Architectures
with Explicitly Managed Memories
Christian Stücklberger Andrei Dan
Scaling Data Race Detection for
Partitioned Global Address Space Programs
Thomas Betschart Dimitar Dimitrov
Nov 27 The STAPL Parallel Container Framework Sascha Beat Dinkel Maciej Besta
Verifying GPU Kernels by Test Amplification Michael Spiegel Veselin Raychev
Dec 4 Direction­-optimizing breadth­-first search Manuel Eichelberg Timo Schneider