Parallel and Distributed Programming
Kenjiro Taura

Note: Slides and materials are written in English. Lectures will be in Japanese. Presentations by students may be in Japanese or English.

Lecture Format

This class is a mixture of usual lectures (by the lecturer) and presentation by students. For topics covered in this lecture, we typically proceed as follows.
For each topic, we assign two kinds of students.
Presentors/speakers
One or two students are assigned as presentors or speakers. They talk about the assigned topic in a class.
Discussion leaders
One or two students are assigned to specifically lead discussions.
Both types should carefully read and understand the assigned materials in depth. Some of the expected roles of discussion leaders include:

Topics

Here are the topics that will be convered by the lecture. Red items with [NN] indicate student presentations. Links point to the papers available online. Items without links are book chapters. For [1] and [2], presentations sholud be with some experimental results (see below).
10/2: Introduction and assignments
10/16: Basics of parallel and distributed programming
Parallel programming models. Theoretical models of computation. Causal order. Event diagram. Logical clocks.
10/23: Parallel programming in practice I
[1] MPI: explanation and experiments.
10/30: Parallel programming in practice II
[2] UPC: explanation and experiments.
[3] OpenMP: explanation
11/6: Routing
[4] Routing. Cahpter 4 in Tel. Introduction to Distributed Algorithms
[5] Lenore J. Cowen. Compact routing with minimum stretch (more advanced: Ittai Abraham, Cyril Gavoille, Dahlia Malkhi, Noam Nisan, Mikkel Thorup. Compact name-independent routing with minimum stretch)
11/13: Checkpointing
[6] E. N. (Mootaz) Elnozahy, Lorenzo Alvisi, Yi-Min Wang, David B. Johnson. A survey of rollback-recovery protocols in message-passing systems
Model Checking I
[7] Chapter 3 and 4 of Gerard J. Holzmann. The SPIN Model Checker
Model Checking II
[8] Chapter 8 and 9 of Gerard J. Holzmann. The SPIN Model Checker
Fault Tolerance
Impossibility of consensus in asynchronous networks
Scalable Broadcast
[9] P. Th. Eugster, R. Guerraoui, S. B. Handurukande, P. Kouznetsov, A.-M. Kermarrec. Lightweight probabilistic broadcast
Scalable Data Aggregation
[10] Mark Jelasity, Alberto Montresor, and Ozalp Babaoglu. Gossip-based aggregation in large dynamic networks
Memory Consistency
Sequential consistency.
[11] Jeremy Manson, William Pugh, and Sarita V. Adve. The Java memory model.
William Pugh. Fixing the Java memory model

Experiments for [1] and [2]

How to get credits

List of Possible In-Depth, Original Report Topics

Interesting topics related to lecture include but are not limited to the following. If you want to propose one you like to work on, please contact me.

Current Assignments


SpearkerDiscussion Leader
1Taro L Saito
2Miwa Shusaku, Ali NajandHironaka
3

4Kenichi Watanabe
5Kei TakahashiTakeshi Sekiya
6Hiroyuki OsumiRyu Tatsumi, Eric Tschetter
7Duc, Sawai
8Hironaka, Watanabe
9Saito DaiShimada Kenta, Kurasawa Hisashi
10Dun Nan
11Katsunuma SatoshiHirose Kenichiro