Reading Groups
You have been assigned to a reading group for the semester:
Your reading group will meet weekly to discuss the weekly paper assignment, and to write reacation notes (Reacation Notes Guidlines) together that you will submit prior to the Monday class meeting where we discuss the paper(s). Note that this must be completed prior to the class meeting when we discuss the assigned paper(s).
Specifically, each week your group will:
-
Meet to discuss the weekly paper prior to the class meeting in which the paper will be discussed. Prior to meeting with your reading group, each group member should have critically read the paper(s) ( Tips for reading research papers), and taken some notes on their reading to prepare for the discussion.
-
After your group’s discussion of the paper(s), together you will work on a single Reaction Notes document by your reading group. One Reaction Notes document 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.
The purpose of your weekly reading group meetings and reaction notes writing is to help you prepare for in-class discussions of papers.
Requirements
READ THIS: Reading Group and Reacation Notes Guide. It contains detailed requirements for reading notes and reading groups, as well as tips for reading research papers, reading group meetings, and information about how to access your ReactionNotes repo from CS87 github org, and write-up and submit your group’s reaction notes.
Because your reading group will meet weekly, you should schedule a regular weekly meeting time for your group.
Finally, remember to bring a print-out or electronic version of your reaction notes and the paper(s) to class with you each week.
Viewing and Printing Papers
Papers that are available from ACM or IEEE digital library must be accessed from within swarthmore.edu to download a .pdf version of the paper that you can then 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 evince or acroread:
$ gunzip file.ps.gz
$ gs file.ps
$ ps2pdf file.ps # creates file.pdf you can open with acroread
You can print a postscript file using lpr (but lpr is not pdf files!):
$ lpr file.ps
$ mpage -2 -M-10 -dp file.ps | lpr # using mpage to create a 2-up version
You can print a pdf file from evince or acroread. You could also
convert a pdf file to postcript using pdf2ps
and then print the
postscript conversion using lpr
.
$ pdf2ps file.pdf # creates file.ps you can print with lpr
Fall 2023 Papers
In addition to the assigned weekly readings, there are some related paper references here: Additional Cluster and Distributed Computing Papers
Paper 1: Due Monday Sept 11
This week is not a paper discussion, but a group presentation. Each Reading Group will prepare a 15 minute presentation on a specific parallel architecture and system that they will deliver in class week 2.
The assignment: Parallel System Presentation and Report
Paper 2: Due Sept. 18
NOTE: your reactionsnotes.tex and QUESTIONNAIRE.adoc must be pushed to your repo by 9am
Reaction Notes paper on System Design:
-
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed and D.D. Clark. ACM Transactions on Computer Systems, 4(4):277-288, November 1984
Quick Read paper* on Network Communication:
-
The Design Philosophy of the DARPA Internet Procotols David D. Clark, Proceedings of the 1988 SIGCOMM Symposium, pp 106-114, Stanford, CA, August 1988. (note: David Clark is a Swarthmore alumnus)
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.
*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 Sept. 25
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. |
-
MPI: A message passing standard for MPP and workstations, Dongarra, Otto, Snir, and Walker, CACM, 39(7), 1996, pp. 84-90
-
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. 14.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 Oct. 2
Reaction Notes papers Heterogenous Computing
-
Scalable Parallel Programming with CUDA by Nickolls, Buck, Garland, and Skadron, in ACM Queue Magazine, Volume 6 Issue 2, March/April 2008.
-
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 big 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 three languages to you think are the easiest to program in and which the most difficult? Why?
Paper 5: Due. Oct 9
Reaction Notes papers Map Reduce
-
MapReduce: Simplified Data Processing on Large Clusters, by Jeffrey Dean and Sanjay Ghemawat, in OSDI'04
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 6: Due. Oct 23
Because this is due right after fall break, there are no reaction notes this week, and no requirements to meet with your reading group. Instead, read the first paper in such a way that you are prepared to discuss the main ideas and its message (a bit less in depth than a Reaction Notes paper, but more in depth than a Quick Read paper). Read through the Skim paper for the big ideas of what the system is and how it is designed/implemented (a bit less in depth than a Quick Read paper).
Read Through paper The future of HPC
-
HPC Forecast: Cloudy and Uncertain, by Daniel A. Reed, Dennis Gannon, Jack J. Dongarra: Commun. ACM 66(2), February 2023. (or here is an online version)
Skim paper Peer to Peer
-
PeerMon: A Peer-to-Peer Network Monitoring System, Tia Newhall, Jānis Lībeks, Ross Greenwood, Jeff Knerr, LISA'10
Paper 7: Due. Oct 30
Reaction Notes papers GFS
-
The Google File system by Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung, SOSP'03.
Quick Read paper GFS today
Just skim this for an update about GFS: update on GFS
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 critique the design choice in terms of how well it meets its goal (and explain why)).
Paper 8: Due. Nov 6
Prior to reading the Chord paper, very briefly skim over some information about Peer-to-Peer systems from Wikipedia P2P. In particular, look at the difference between structured and unstructured P2P network architectures.
Reaction Notes papers Peer-to-Peer Systems
-
"Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications by Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashoek, Frank Dabek, Hari Balakrishnan, IEEE/ACM Transactions on Networking, Vol. 11, No. 1, February 2003
focus on sections I-IV, and don’t worry to much about the theorms and proofs. Just skim other sections.
Reaction Notes Question
No reaction notes this week due to project proposal
Here is the one I would have given you, and something to think about this as you read the paper for understanding: Explain in your own words how the Chord lookup protocol works; do not repeat all the details, but describe the big idea of how it works and why it is desgined that way.
Paper 9: Due. Nov. 20
Reaction Notes papers Failure and Consensus
-
The Byzantine Generals Problem by 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.
Quick Read paper Failure
-
Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems, Yuan, Luo, Zhuang, Rodrigues, Zhao, Zhang, Jain, Stumm, USENIX OSDI'14
Either skim this paper or watch the presentation to just get the big idea/message from this work.
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 Byzantine Generals 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 is 3m+1 needed with m traitors?). Also, be prepared to discuss the big ideas from the quick read paper/presentation.
Paper 10: Due. Nov 27
Skim paper Cloud Computing Stack Definitions
-
This is a nice reference for the Cloud Computing Stack that you should skim to get an idea of the the definitions of SaaS, PaaS, and IaaS: Understanding the cloud computing stack: SaaS, PaaS, IaaS, Rackspace.com, updated August 2023.
Reaction Notes papers Cloud and Green Computing
-
Owning Computing’s Environmental Impact, Andrew A. Chien, Communications of the ACM, Vol. 62 No. 3, March 2019.
-
The Carbon Footprint of Artificial Intelligence, Keith Kirkpatrick, Communications of the ACM (CACM), Vol. 66, No 8, August 2023. And here is the Andrew Chien column from same issue that is refered to in this article: GenAI: Giga$$$, TeraWatt-Hours, and GigaTons of CO2.
-
Cloud Multi-Tenancy: Issues and Developments, Odun-Ayo, Misra, Abayomi-Alli, Ajayi, Companion Proceedings of the 10th International Conference on Utility and Cloud Computing, December 2017 (another link to paper)
Even though there are three papers, all are short (1 page, 3 pages, 5.5 pages) |
Reaction Notes Question
No reaction notes this week due to Thanksgiving break. However, you should read these papers in the same way as other reaction notes papers, and be ready to discuss them in class.
Paper 11: Due. Dec. 4
Reaction Notes papers Cloud and Edge Computing
-
The Emergence of Edge Computing, Satyanarayanan, IEEE Computer, 2017. (also available here)
Quick Read paper Containers
-
Borg, Omega, and Kubernetes, Burns, Grant, Oppenheimer, Brewer, Wilkes, Communications of the ACM, Vol. 59, No. 5, May, 2016.
Read this to get and understanding of the big ideas about containers, what they are and what they provide (what, why), and also some of the solutions that Kubernetes implements that solve problems with the Borg (and Omega) approaches.
Reaction Notes Question on Emergence of Edge Computing
Pick one of the four ways that proximity helps (listed on page 32), and expain in your own words what the issue/problem is related to proximity, and how edge computing helps to solve it. I encourage you to think of your own examples to use to help explain your answer.
Paper 12: just for fun some security readings
Because we have project presentations next week, there is no paper 12 assignment. However, since we did not get much chance to read and discuss security issues this semester, here are a couple papers I may have assigned for paper 12. The first is a classic paper about security issues in distributed systems. The second is a interesting story about the first computer worm, how it worked, what happened, and the aftermath. A worm is malware that can independently propogate, attack and infect a system connected to a NW (vs. a computer virus that requires a user to explicitly catch by running a binary, clicking on an email attachment, etc.).
Optional (for fun) papers some readings on computer security
-
Computer Security in the Real World, Butler W. Lampson, IEEE Computer, June 2004 (vol. 37 no. 6)
-
The Internet Worm: Crisis and Aftermath, Eugene H. Spafford, Communications of the ACM, 32 (6): 678-687, June 1989