Seminar on Parallel and Concurrent Programming

339.376 Marr, Bonetta Mi 13:45 - 15:15 Room: S3 047 Beginn: 5.10.2016

This is a seminar on research topics in the field of parallel and concurrent programming. The goal of this seminar is to convey an overview of current techniques as well as to practice basic research and presentation skills.

Course Language: English

Course Prerequisites: General Computer Science background.
No specific background in concurrency and parallelism is required.

Updates

2016-10-05: Added slides for introduction lecture.

Modus Operandi

The seminar starts out with two introductory lectures on parallel and concurrent programming. Afterwards, each participant prepares a talk, an oral paper review, and a report.

Each participant selects a paper from one of the following two categories:

  • Cat1 - Research papers: papers presenting novel ideas relevant to one of the seminar topics
  • Cat2 - Research papers with artifact evaluation: papers with novel ideas that come along with an artifact that has been evaluated and certified by a conference artifact evaluation committee.

We will have weekly meetings during the semester in which we discuss two of the papers. The discussion will be managed by the student to whom the paper was assigned as the presenter. She/he gives a detailed presentation about the insights of the paper (30 mins).

To facilitate scientific debate, a second student will be assigned the role of paper reviewer. The paper reviewer prepares questions about the paper (min. 5 insightful questions) to be asked after the presentation. Students can volunteer for the role of "paper reviewer" if they have an interest in a specific topic. Otherwise, the paper to review is the other paper of the same seminar session.

In addition to presenting a paper, each student has to carry out one of the following activities (depending on the category of the paper):

  • Cat1: Write a summary of the paper (max 500 words) together with an overview of the state of the art in the field (4000 words, excl. bibliography).
  • Cat2: Write a summary of the paper (max 500 words), and perform experimental work on the artifact described in the paper. For example, reproduce the results discussed in the paper using different configurations and/or input data sets. Write a short report on the experimental work, highlighting gained insights in practical aspects of the technique, and possible limitations (2000 words).

The summary of the paper (500 words) must be submitted two days before the meeting (11:59 noon). They will be made available and will be used to drive the discussion about the paper in the following meeting.

We offer consultations to prepare the talks and reports. Consultations on preparing the talks are mandatory. For alternative paper proposals as well as for category 2 reports, consultations are mandatory to ensure that we agree on a specific topic.

Overview

  • Slides for talk (30 mins), consultation 1 week before
  • Paper overview/summary (500 words), 2 days before meeting (11:59 noon)
  • Questions on reviewed paper (min. 5 questions, other paper of same session), 2 days before meeting (11:59 noon)
  • Report (Cat. 1 or 2), deadline February 6th, 2017

Topics

The topics of this seminar cover programming language design, implementation, and tooling aspects in the domain of parallel and concurrent programming.

The papers the participants can chose from are related to one of the following aspects:

  • High-level language concurrency models (conc-model)
    • Actors, Communicating Sequential Processes, STM, Stream Processing, ...
  • Tooling (tooling)
    • Debugging
    • Profiling
  • Implementation and runtime systems (runtime)
    • Communication mechanisms
    • Data/object representation
    • System-level aspects
  • Big Data Frameworks (bigdata)
    • Programming models
    • Runtime level problems

Proposed Papers

The following list contains the proposed papers for the seminar.
Other papers can be proposed as well, but require our confirmation to ensure they fit into the seminar.

Papers without Artifact

Papers with Artifact

Schedule

  • W1: Seminar Introduction, and an Overview of Contemporary Concurrent Programming Approaches
  • W2: Parallel Programming Challenges and Research Directions
  • approx. W3-W6: no seminar, preparation time for participants, and consultations
  • approx. W7-W12: 2 presentations per meeting

Presentations

Note, the paper to review and prepare questions for is the other paper in the same session.

Teaching Goals/Learning Objectives

  • Subject Specific
    • an overview of the concurrent and parallel programming techniques
    • detailed understanding on a specific topic of the student’s choice
  • General
    • training of basic research skills, understanding and reporting on scientific work
    • training of basic presentation skills and scientific debating

Grading and Evaluation

For passing this seminar, students are required to attend 80% of all meetings.

  • 50% slides, presentation, and discussion
  • 50% writeup/experiments

Follow-up Project

For students that have a strong interest in the discussed topics, follow-up projects (e.g., a master thesis) are available. The work for this seminar can be considered the starting point for such follow-up project.

Introduction Lectures

The first lecture gives an overview of the seminar, and a high-level introduction to different concurrent programming models.