Parallelism and Concurrency

This seminar course is about parallelism and concurrency with an emphasis on recent trends in general-purpose and domain-specific languages supporting parallel and concurrent programming.

The number of topics that will be covered during the seminar depends on the number of students that sign up for the course. A very preliminary list of topics that we are currently considering is given below.

Preliminary List of Topics

  • Flat data parallelism (e.g., flat data parallel dialects of C and Fortran, and Haskell’s Repa library)
  • Nested data parallelism (e.g., NESL and Data Parallel Haskell)
  • MapReduce framework
  • Shared-memory concurrency (e.g., locks, mutexes, semaphores, and monitors)
  • Message-passing concurrency (e.g., MPI, Erlang processes, and Scala actors)
  • Hardware and software transactional memory (i.e., concurrent programming with atomic blocks)
  • Operating system threads vs. green threads
  • Work stealing and work sharing
  • General-purpose computing on graphics processing units (GPGPUs)
  • Field-programmable gate arrays (FPGAa)
  • OpenCL and CUDA
  • Abstract machines supporting parallel and concurrent execution (e.g., PRAM)
  • Theoretical models for parallel and concurrent computing (e.g., π-calculus and Communicating Sequential Processes)

Meetings

26-04-12 14:15-16:00 Introduction: George/Jeroen

05-07-12 14:15-16:00 Nested Data Parallelism: Alex

12-07-12 14:15-16:00 MapReduce: Kaan

19-07-12 14:15-16:00 Hardware and software transactional memory: Beni

General Course Information

  • This course will be held as a seminar.
  • Course language: English
  • ECTS: 4
  • Sessions: 1 x 2 hours per week
  • Attendance to sessions is mandatory

Presentations

In this seminar you will have to give a 40 minute presentation on a selected topic (will be handed out at the first session). In this presentation you are expected to cover both the usage and implementation of your topic. If the topic allows a short demo should also be included.

After each presentation we will have a discussion of about 10 minutes. Each participant will be “the opponent” for one presentation. As the opponent your task is to lead/steer the discussion. The opponent should be prepared for this presentation (should at least have read the paper we handed out for that particular topic) and be able to ask questions.

You should no later than two weeks in advance contact us (we will let you know who exactly) to make an appointment so we can go through your slides/presentation. You can then use the remaining time till your presentation to improve your presentation with our feedback. At this appointment you will not have to actually give your presentation!

Paper

You have to write a paper about the topic you will be presenting. Keep in mind the following requirements:

  • Use the ACM SIGPLAN LaTeX or Word templates. The templates can be downloaded from here.
  • Use the default 9pt font
  • Use the default single line spacing
  • Your paper should be 6 to 8 pages
  • Hand in a PDF file
  • Meet the Deadline: to be announced
  • Submit using CIS (link will be provided)