Reading Groups

You will be assigned to a reading group for the semester. Each group of will consist of 3 or 4 students who are in the same lab section. We will use the Monday lab times for paper discussions and presentations.

Your reading group will meet weekly to do the following main tasks:

  • Paper discussion and Group Reaction Note writing to be done prior to the class meeting when we discuss the assigned paper. This will be an almost weekly event, so you should schedule a regular weekly meeting time with your group for working on the following:

    1. Meet and discuss the weekly paper prior to the class meeting in which the paper will be discussed.

    2. Prior to meeting with your Reading group, each group member should have critically read the paper ( Tips for reading research papers) and written their own notes for the Reaction Notes document that you will write together.

    3. After your group’s discussion of the paper, together you will work on a single Reaction Notes document that will be submitted by your Reading Group. <b>One Reaction Notes write-up will be submitted per Reading Group. Group members should take turns with lead editing repsonsibility of the write-up. However, you are all responsible for its content and will all receive the same grade on it.

READ THIS: Reacation Notes Requirements for the requirments about Reaction Notes content and structure, guidlines for discussion roles during your reading group meetings, the latex template and Reaction Notes git repo information, and submission instructions.

  • A few times during the semester, your group will be responsible for posting a summary of the in-class discussion of the paper(s) to a Discussion repo.

    You should:

    1. meet after the in-class discusion to share notes on the in-class discussion summary google doc, and work together to post them to a Discussion repo.

    2. Your group’s discussion notes should be posted on or before Saturday of the week we discussed the paper.

    3. The notes should be a summary of the class’s discussion of the paper highlighting main ideas and points discussed from the paper, and including any interesting discussions, questions, disagreements, ideas or connections that may have come up. They should be about 1 page in length and feel free to use bullet points for some content.

      Once your group has posted these, other students are welcome and encouraged to add content to these summaries. Please, respectful disagreements and do not remove or change anyone else’s post (you can add only).

  • Sometimes your Reading Group will be assigned a group class presentation that you will work on and practice together. Your group can also serve as an audience for other practice talks or presentations that you will give in class. As group members, you will help each other polish talks for class presentations.

About Reaction Notes

For most papers we read, your reading group will write reaction notes that you will submit prior to our class meeting. The purpose is to help you prepare for in-class discussions of papers. Bring a print out or electronic version of your reaction notes and the paper(s) to class with you.

READ THIS: Reacation Notes Requirements It includes reqirements and details about Reaction Notes, discussion roles for your reading group meeting, the latex template and repo information, and submission instructions.

Reaction Note Grading

Grading Criteria

  1. Do the reaction notes include all 3 required parts: summary; reaction notes question answer; at least 2 discussion questions?

  2. Are reaction notes written in your own words (minimal quoting from paper)?

  3. Is the summary complete and concise? It should include the big ideas from this work and the big contribution of the work: the What? and Why? (and sometimes very high-level the How?) parts of the work. You should not list all features of a system in the summary; focus on the main ideas/parts/contributions. The summary should be no more than 1 paragraph, with concisely stated big ideas and contribution of paper(s).

  4. Are assertions explained and supported? For example, "is good" is not sufficient, "is good because …​", is what you want.

  5. Does the answer to the reaction notes question answer the question being asked?

  6. Does the answer to the reaction notes question include an explanation of why?

  7. Do the reaction notes demonstrate understanding of the paper(s)? It is not important that you are absolutely correct, but your reaction notes should convey some understanding about the paper that is deeper than a quick read through might yield.

  8. Reaction notes are well-written, without grammatical or spelling errors (run ispell on our system).

Grading Scale

  1. Check Plus: reaction notes are complete, well-written and provide insightful well-explained content in the author’s own words.

  2. Check: all reaction notes sections present, but some missing explanation, or some sloppy writing, or not clearly explained in writer’s own words.

  3. Check Minus: One or more of the required sections are incomplete. Much of the content does not reflect careful reading of the paper.

  4. Zero: not submitted

Viewing and Printing Papers

Papers that are available from ACM or IEEE digital library must be accessed from within swarthmore.edu. You can download a .pdf version of the paper, to print and read.

You can view and print pdf files using acroread or evince:

$ acroread file.pdf
$ evince file.pdf

You can view most postscript files (and gziped postscript files) using gv on our system:

$ gv file.ps.gz

gv cannot handle some version of postscript, in this case you should save a copy of the paper.ps.gz file, gunzip it, and try viewing in gs or convert it to pdf and view it using acroread:

$ gunzip file.ps.gz
$ gs file.ps
$ ps2pdf file.ps      # creates file.pdf you can open with acroread

You can print postscript using lpr:

$ lpr file.ps
$ mpage -2 -M-10 -dp file.ps | lpr     # using mpage to create a 2-up version

Reading List

In addition to the assigned weekly readings, there are some related paper references here: Additional Cluster and Distributed Computing Papers


Paper 1: Due Mon Jan. 27

This week is not a paper discussion, but a group presentation. Each Reading Group will prepare a 20 minute presentation on a specific parallel architecture and system that they will deliver in class week 2.


Paper 2: Due Mon Feb. 3

NOTE: your reactionsnotes.tex and QUESTIONNAIRE.adoc must be pushed to your repo by 9am

Reaction Notes paper on System Design:

Reaction Notes Question

+ What is meant by an endpoint? Is there any benefit to putting a function not at an endpoint (in a lower-level or intermediate point)? If yes, explain what is gained by doing so and if any guarantee about the functionality can be made by doing so. If no, explain why not. You may want to use an example to explain your answer.

Quick Read paper on Network Communication:

About Quick Read Papers

With the main Reaction Notes paper(s) each week, there may also be a Quick Read paper assignment. Quick Read papers are ones you should read through less thoroughly than the main paper(s)--read through one time to try to get a big picture ideas of the paper. They are related to the main Reaction Notes paper(s). They may present comparision systems, provide a example, or help explain some parts of the main Reaction Notes paper. We discus them in class, but not at the same depth level as the main paper(s).

We will discuss this paper briefly and at a high-level. As you skim through it try to understand the main goals and a rough idea of how those lead to separate protocol layers TCP and IP (and UDP-IP). You do NOT need to know, nor understand, the details of IP, UDP, TCP. Nor do you need to know any of the other protocols presented (just FYI: ISO-OSI is the original layered protocol model for communication networks, and X.25 is an older protocol for packet switched networks (pre-dating IP)).


Paper 3: Due Mon Feb. 11

Reaction Notes papers on Parallel Languages

Don’t get too bogged down in the code examples in these, focus on the language, goals, and types of parallelization and target systems. It is probably easier to understand the OpenMP paper if you read the MPI paper first.
  1. MPI: A message passing standard for MPP and workstations, Dongarra, Otto, Snir, and Walker, CACM, 39(7), 1996, pp. 84-90

  2. OpenMP: OpenMP: An Industry-Standard API for Shared-Memory Programming, by Leonardo Dagum and Ramesh Menon, in IEEE Computational Science and Engineering, January 1998

    Note: in the Fortran code examples, lines that begin with 'c' are comments. Chapt. 10.7 of Dive into Systems, and the Lawrence Livermore National Laboratory OpenMP tutorial have OpenMP examples in C (and C++).

Reaction Notes Question

What are the target systems for MPI and OpenMP? How well would each fit for programming on a cluster of multicore nodes? Explain the strengths and weakness of MPI and OpenMP for a cluster of multicore nodes.


Paper 4: Due Mon Feb. 18

Reaction Notes papers on Heterogeneous Computing

  1. Scalable Parallel Programming with CUDA by Nickolls, Buck, Garland, and Skadron, in ACM Queue Magazine, Volume 6 Issue 2, March/April 2008.

  2. OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems by Stone, Gohara, Shi. In IEEE Computing in Science and Engineering (Vol: 12, Issue: 3), 2010

Reaction Notes Question

For the Summary part of your Reaction Notes: breifly describe the purpose/goals of CUDA and OpenCL (the what and why of each).

Reaction Notes Question: Compare the the level of programming abstraction presented by CUDA to MPI and OpenMP. What is exposed to the programmer and what is abstracted away in CUDA? Which of these languages to you think are the easiest to program in and which the most difficult? Why?


Paper 5: Due Mon Feb. 24

Reaction Notes paper on Distributed Shared Memory

Reaction Notes Question

Describe Lazy Consistency. What data consistency guarentees does it make? Evaluate Lazy Consistency for Distributed Shared Memory Systems (why? what are the trade-offs? explain.)

Quick Read paper on TBA

  • TBA


Paper 6: Due Mon March 2

Reaction Notes paper on Map Reduce

Reaction Notes Question

Discuss the scalability of the Map Reduce Implementation. How well is it designed to scale to large-sized systems and large-sized applications? Explain/support your answer.


Paper 7: Due Mon March 23

Quick Read papers

No reaction notes this week, and no reaction notes papers. Instead, read through these 2 quick read papers, and be prepared to discuss them at a high-level on Monday.


Paper 8: Due Mon April 6

Reaction Notes paper on Google File System

Reaction Notes Question

In what ways did the intended use of the file system lead to its design? Pick one of these ways to discuss in more details (include explaination of why the resulting design choice fits its intended use, and critic the design choice in terms of how well it meets its goal (and explain why)).


Paper 9: Due Mon April 20

Reaction Notes papers Data Center and Cloud Computing

  • A Guided Tour through Data-center Networking, Dennis Abts, Bob Felderman, Google + (don’t get too bogged down in this one but read for big ideas)

  • A View of Cloud Compuring M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. H. Katz, A. Konwinski, G. Lee, D. A. Patterson, A. Rabkin, I. Stoica, M. Zaharia, Communications of the ACM, April 2010. (paper also available here: paper.pdf)

    Reaction Notes Question

    for the Summary part: instead of a typical summary paragraph for each paper, in a couple sentences for each, say what you think is the big idea/message/takeaway from each paper and why.

    Reaction Notes Question on 2nd paper: Pick one of the "top 10 obsticales or opportunities" that you thought was particularly interesting, or surprising, or the most important, or the most difficult and describe what about it (why) is the most interesting, surprising, important, or difficult to you. If your group disagrees, pick one and you can include the other(s) and in the optional reaction notes section if you’d like (you do not need to do this, but please just pick one for your reaction notes question).

Note: create a new paper9 subdirectory in your ReactionNotes repo for this paper, and copy over my starting point files for each reaction notes:

# cd into your ReactionNotes repo, then:
$ mkdir paper9
$ cd paper9
$ cp /home/newhall/public/latex_examples/reactionnotes .
$ ls
  Makefile  QUESTIONNAIRE.adoc  README.adoc  reactionnotes.tex

Paper 10: Due Mon April 27

Reaction Notes paper on Failure

  • The Byzantine Generals Problem, Leslie Lamport, Robert Shostak, and Marshall Pease, ACM Transactions on Programming Languages and Systems, Vol 4, No. 3, July 1982

    Just focus on sections 1-3, skim 4 and 6, and you can skip 5

Reaction Notes Question

No reaction notes this week, but your reading group should meet and together you should step through the example of applying the algorithm. Don’t get too bogged down by the proofs. Instead, make sure you understand the algorithm, can step through examples applying it, and have some intuition about the main proof results (ex, why need 3m+1 with m traitors). Also, be prepared to discuss the big ideas from the quick read paper/presentation.

Quick Read paper on Failure