Reading Schedule for CS87, Spring 2016


Reading Groups
Reaction Notes
Submitting Reaction Notes
Reading List of Papers

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.

Reading groups will meet weekly, their main tasks are:

  1. 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 we will discuss the paper (typically during Monday lab, later in the semester we may use Tuesday class time as well).

    2. Prior to meeting with your Reading group, each group member should have read the paper (typically more than once: tips for reading papers), and written their own notes for the three sections of the Reaction Notes document that you will write together.

    3. After/during your discussion of the paper, together you will work on a single Reaction Notes document (1-2 pages) that will be submitted by your Reading Group in class on the day we discuss the paper. One Reaction Notes write-up will be submitted per Reading Group. Group members should take turns with the actual write-up. However, you are all responsible for its content and will all receive the same grade on it.

      At the top of your document include:

      1. Group: list the names of all group members
      2. Write-up: list the name of the group member who wrote-up these particular Reaction Notes for the group.
      3. wiki indicate if your Reading Group is responsible for the wiki discussion summary for this paper.
    If your group is responsible for posting the discussion summary of the paper to the wiki, then you should

  2. Meet after the in-class discusion to share notes on the in-class discussion and work together to post them to the wiki.
    1. The discussion notes should be posted on or before Saturday of the week we discussed the paper.

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

Reaction Notes

For most papers we read, your reading group will together write reaction notes prior to our class meeting to help prepare you for discussing the paper. You should bring a print out of your reaction notes and the paper to class with you. Reaction notes can be written in ascii, or Word, or latex, or whatever you'd like. They should be about 1 page in length (not counting the optional section).

The point of Reaction Notes is not that you demonsrate that you have interpreted everything in the paper 100% correctly (although you should strive for good interpretation), but that you have thought about the important ideas presented, that you have thought about a specific question about the paper, and that you are thinking about questions prior to in-class discussion. Having an interesting question about the paper is meaningful and important Reaction Notes content. It is also to give you practice with written presentation of your evaluation of a technical paper.

Reaction notes should should reflect your critical reading of the paper. Reaction notes should be in your own words. Cutting and pasting prose from the paper into your notes is plagerism.

Some questions to think about as you read: Did the authors do what they said they were going to do? What are the important ideas (just because an author says something is important doesn't mean it necessarily is)? Do their results make sense? Are their methods sound? Are there weaknesses in their solution? What assumptions are they making? How does their work fit in with other similar work? What improvements and/or extensions to the area do they contribute? Are there terms, ideas, techniques, that you don't understand?

Here are some tips for reading research papers.
My tips for reading CS textbooks may also be helpful, but this is a different type of reading.

Reaction notes should be no more than one page in length and structured in the following way:

  1. Summary:
    A 1 paragraph summary of the paper. A summary of what the work is, what problem(s) it addresses, and the results or new technique (if applicable). Also, include a short list of the strengths and weaknesses of the work, and list how it is related to other work we have read (when applicable).
  2. Answer to Specific Question(s):
    A 1-2 paragraph answer to the specific question(s) associated with this paper.
  3. You are welcome to discuss other parts of the paper in addition to answering the specific question. However, it is not required that you do so.

  4. A list of questions you have about this paper:
    If there are terms, ideas, techniques that you don't understand, list them here. However, for terms you don't understand, also try to find the answer yourself by using on-line sources such as If you find an answer, please leave the listing of the term on your reaction notes; it is helpful to me to see which terms are new to students so that I can make sure that we discuss their meaning.
  5. Optional Section: Group Discussion :
    An addtional, and optional, extra page to your Group's Reaction Notes document (and please make this a separate page if you submit this), is to present/explain/list of any differences of interpretation about part of the paper on which your group was unable to reach a consensus. Differences about big ideas can go in your paper summary: "Some in our group thought that the main contribution of the work was X bacause Y. Others thought it was Z because of Q." But this optional section can be for other discussions that don't fit well into the required parts.

Submitting Reaction Notes

Bring to class a printout of your reaction notes and the paper to discuss. You will hand in your reaction notes at the end of class.

Discussion Summary

For the weeks in which we read and discuss research papers, one reading group in each discussion section will be responsible for posting notes from the discussion on the class wiki: CS87 wiki.

Discussion summaries should not be a verbatim transcript of the class discussion, but should capture the main points discussed, what we thought were the most important parts of the paper(s), include any comparisions of systems/approachs that were discussed, trade-offs, strengths and weaknesses, applications of, interesting examples, etc. Unlike Reaction Notes where I want them written in a prose-style, using lists and bullets points for parts of this is fine. These should be a few paragraphs long.

Viewing and Printing Papers

You can view most postscript files (and gziped postscript files) using gv on our system:
$ gv
gv cannot handle some version of postscript, in this case you should save a copy of the file, gunzip it, and then either view it using gs or convert it to pdf and view it using acroread or xpdf:
$ gunzip
$ gs
$ ps2pdf
$ acroread file.pdf
You can print postscript using lpr, or print 2-up postscript files using mpage and lpr:
$ lpr
$ mpage -2 -M-10 -dp | lpr
You can view (and print) pdf files using acroread or xpdf:
$ acroread file.pdf
$ xpdf file.pdf

Reading List

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

Paper Assignement 1: Due Monday Jan 25 in lab

Paper Assignment 2: Due Monday Feb 1 in lab

Paper Assignment 3: Due Monday Feb 8 in lab

    Reaction Notes Papers (2 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.

  1. OpenMP: An Industry-Standard API for Shared-Memory Programming by Leonardo Dagum and Ramesh Menon, in IEEE Computational Science and Engineering, January 1998
    (local copy: openmp.pdf)

    Note: in the Fortran code examples, lines that begin with 'c' are comments. The Lawrence Livermore National Laboratory OpenMP tutorial has examples in C and C++.

  2. A message passing standard for MPP and workstations J. J. Dongarra, S. W. Otto, M. Snir, and D. Walker, CACM, 39(7), 1996, pp. 84-90
    (local copy: mpi.pdf)

    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 each for such a system.

Paper Assignment 4: Due Monday Feb 15 in lab

Paper Assignment 5: Due Monday Feb 22 in lab

Some related work (FYI) on languages and libraries for DSM: Unified Parallel C (UPC), Titanium, Chapel, openSHMEM. has links to others.

Paper Assignment 6: Due Monday Feb 29 in lab

Paper Assignment 7: Due Monday March 14 in lab

Paper Assignment 8: Due Monday March 21 in lab

Paper Assignment 9: Due Monday March 28 in lab

Week 11(April 4): No paper discusion: Project Work Week

Paper Assignment 10: Due Monday April 11 in lab

Paper Assignment 11: Due Monday April 18 in lab