UW-Logo

CS 854: Advanced Topics in Computer Systems

Experimental Performance Evaluation

Fall 2020

 

 

 

 

 

Home Video Logistics Schedule
Projects Resources Integrity

 

 

 

Course Schedule and Readings

NOTE: Due to the switch from Mondays to Tuesdays we are currently short one meeting but we may leave things as they are due to the extra meeting added after the last official day of classes.

UNDER CONSTRUCTION: I'm adding more information and many of the links on this page will not work yet

If you have suggestions for papers you would like to read or topics you would like to cover please let me know.

Paper Summaries *** NEW ***

There may be two different types of summaries for different types of papers. Research papers will require research paper summaries. Other papers (e.g., survey papers) will require a survey paper summary. The format of these can be found by following the links below.

Recorded Class Videos

The recorded videos of the course meetings from each week can be accessed using the link below.

Week 1: Monday Sept. 14, 2020 (Topic: Introduction)

Week 2: Tuesday Sept. 22, 2020 (Topic: Measuring WiFi Throughput)

Week 3: Tuesday Sept. 29, 2020 (Topic: Variability)

  1. Some Statistics / Background (watch some Khan Academy Videos)
    [NO SUMMARY REQUIRED]
  2. How to read a paper
    [NO SUMMARIES REQUIRED]
    1. Paper Reading Check List,
      Sugih Jamin, jamin@eecs.umich.edu.
    2. How to Read a Research Paper,
      by Spencer Rugaber
    3. Efficient Reading of Papers in Science and Technology
      Prepared by Michael J. Hanson, Updated by Dylan J. McNamee, January 6, 2000.
    4. How to Read a Paper
      S. Keshav, ACM SIGCOMM Computer Communication Review, Volume 37, Number 3, July 2007.
  3. Conducting Repeatable Experiments and Fair Comparisons using 802.11n MIMO Network
    [RESEARCH SUMMARY REQUIRED]
    Ali Abedi, Andrew Heard and Tim Brecht
    Operating System Review, 2015.

Week 4: Tuesday Oct. 6, 2020 (Topic: Background and Motivation) *** NEW ***

  1. From Repeatability to Reproducibility and Corroboration
    (Survey Paper Summary required -- skip the last question (i.e., just cover questions 1-3).
    Dror Feitelson
    Operating Systems Review, 2015.
  2. Producing Wrong Data Without Doing Anything Obviously Wrong!
    (Research Paper Summary required)
    Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, and Peter F. Sweeney
    ASPLOS, 2009.
  3. Come up with a potential group and potential project. See more details in the CHECKLIST below.

Reading Week : Tuesday Oct. 13, 2020 (TBA)

Week 5: Tuesday Oct. 20, 2020 (Topic: Workloads and Benchmarks)

  1. Workloads (Creation and Use),
    (No Summary required)
    Alan Jay Smith,
    CACM, November, 2007.
  2. httperf -- tool for measuring web server performance
    (No Summary required),
    David Mosberger and Tai Jin ,
    ACM SIGMETRICS Performance Evaluation Review (PER), Volume 26 Issue 3, Dec. 1998.
  3. Methodologies for Generating HTTP Streaming Video Workloads to Evaluate Web Server Performance,
    (Research Paper Summary required)
    Jim Summers, Tim Brecht, Derek Eager, and Bernard Wong,
    5th Annual International Systems and Storage Conference (SYSTOR), 2012.
  4. Characterizing the Workload of a Netflix Streaming Video Server,
    (No Summary required)
    Jim Summers, Tim Brecht, Derek Eager and Alex Gutarin,
    IEEE International Symposium on Workload Characterization (IISWC), 2016.
    You are not required to do a really detailed reading of this paper and don't need to understand all of the results. Focus on what is being done, why, and how. Read the questions below first and ensure that you read the paper well enough to answer all of them.
  5. Answer the following questions about this week's papers.
    1. Why is it important to understand workloads?
    2. Do you think httperf is a good tool or not and justify/explain your answer?
    3. What is the difference between a workload generator, a workload and a benchmark?
    4. Explain why you think you've been asked you to read (in order) papers 2, 3, and 4.
    5. Describe *** exactly two *** (no more and no less) ideas for research that could be conducted as followup work to the "Characterizing the Workload of a Netflix Streaming Video Server" paper.
    The answers to all questions must all fit on a single page (I expect most will be much shorter). Your solution must be submitted to Crowdmark as a PDF file.
  6. Course Project Proposal: Submit a PDF slide presentation for your course project proposal. See the information on the course project page for details and please follow the instructions there.
    **** NOTE: This is due Wed. Oct 21 11:59 pm eastern (just before midnight)

Week 6: Tuesday Oct. 27, 2020 (Topic: Conducting Evaluations and Common Mistakes)

  1. The Truth, The Whole Truth, and Nothing But the Truth: A Pragmatic Guide to Assessing Empirical Evaluations
    (Survey Paper Summary required -- skip the last question (i.e., just cover questions 1-3).
    Blackburn et al.,
    Transactions on Programming Languages and Operating Systems, 2016.
  2. Systems Benchmarking Crimes
    (No survey required)
    Gernot Heiser
  3. Watch the this video until the 19:19 mark (feel free to watch more if you wish).
    Common Mistakes and How to Avoid Them by Raj Jain.
    (No survey required)
    Here is a copy of the slides are used in the video (approximately the slides)
    Common Mistakes and How to Avoid Them

    The lecture and slides are based on (from) Raj Jain's textbook.
    The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling, Wiley- Interscience, New York, NY, April 1991,

Week 7: Tuesday Nov. 3, 2020 (Topic: Dynamic Instrumentation)

  1. Dynamic Program Instrumentation for Scalable Performance Tools,
    (Research Paper Summary required)
    Jeffrey K. Hollingsworth Barton P. Miller Jon Cargille,
    HPCC 1994.
  2. Dynamic Instrumentation of Production Systems,
    (Research Paper Summary required)
    Bryan M. Cantrill, Michael W. Shapiro and Adam H. Leventhal
    USENIX ATC 2004.

Week 8: Tuesday Nov. 10, 2020 (Topic: Miscellaneous)

  1. Learning in situ: a randomized experiment in video streaming
    (Answer the questions provided below -- instead of a paper summary)
    Francis Y. Yan, Hudson Ayers, Chenzhi Zhu, Sadjad Fouladi, James Hong, Keyi Zhang, Philip Levis, and Keith Winstein, NSDI 2020.
    If you follow the link below you can also get access to the talk slides and a video of the talk.
    Link to the NSDI page that contains talk slides and the video.
    I don't know but I suspect that to answer the questions it would be best to be sure that you read the paper. Watching the video is not required but you may find it useful to help understand that paper. You might want to watch the talk first and then read the paper.
    1. How would you rate the performance evaluations in this paper?
      Be sure to state what is good and bad about the evaluations and be clear which evaluations you are referring to.
    2. How would you rate the paper in terms of the claims it is making? Describe if you think the claim(s) made are sound or not and explain your reasoning. Be sure to describe which claim(s) you are referring to.
    Your answers must fit on one page (single sided). Use the same font size and margin restrictions as for summaries. Produce a PDF file to be uploaded via Crowdmark. Using point form is fine.
  2. An introduction to Docker for reproducible research
    (No Summary Required)
    Carl Boettiger
    Operating Systems Review, 2015.
  3. Choose the tool you will describe for Week 9.
    This is being done via Piazza.
    • Working together as a group choose a tool that is used to help measure and/or understand performance and create a slide deck (presentation) describing that tool and what it can be used for. If possible include a small example of how it can be used and an example of the output.
    • Examples of some possible tools include but are not limited to: gprof, Instruments, vmstat, iostat, oprofile, vtune, TAU, JMeter, iperf
    • NVIDIA seems to have several GPU profiling tools.
    • Here is a list of performance analysis tools
    • This seems to refer to some tools for profiling python programs.

Week 9: Tuesday Nov. 17, 2020 (Topic: Performance Tools)

  1. As a group, create a slide deck describing the tool you have chosen to present and upload them to the Piazza thread about the tools.
  2. As individuals, pick and read two slide decks and be prepared to discuss and ask questions about those tools in class.

Week 10: Tuesday Nov. 24, 2020 (Topic: Reproducibility in Machine Learning)

  1. Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program)
    (Answer the questions below about this week's paper)
    Joelle Pineau, Philippe Vincent-Lamarre, Koustuv Sinha, Vincent Lariviere, Alina Beygelzimer, Florence d'Alche-Buc, Emily Fox, Hugo Larochelle
  2. Answer the following questions about this week's paper.
    1. In your own words briefly (in one paragraph) summarize the paper.
    2. What if anything new did you learn from this paper?
    3. Is there anything from this paper that you think you can apply to your course project? If so briefly describe what applies and why it is relevant to your project.
    4. Provide any other points that you would like to make about the paper (optional).
  3. OPTIONAL reading, if you are interested in finding out more about the "NIPS" experiments described on page 6 of this week's paper. This is the experiment conducted to examine the consistency of their reviewing process. You can find a starting point for reading below. Many people have interpreted that experiments as showing that getting your paper accepted to that conference (and possibly others) was/is fairly random.
    The NIPS experiment
    Eric Price, Dec 15, 2014,
    If you know of or find a better source (starting point) please let me know.

Week 11: Tuesday Dec. 1, 2020 (Topic: Variability in Clouds)

  1. Is Big Data Performance Reproducible in Modern Cloud Networks?
    (Write a Research Paper Summary)
    Alexandru Uta, Alexandru Custura, Dmitry Duplyakin, Ivo Jimenez, Jan Rellermeyer, Carlos Maltzahn, Robert Ricci, and Alexandru Iosup,
    NSDI, 2020.
    If you follow the link below you can also get access to the talk slides and a video of the talk.
    Link to the NSDI page that contains talk slides and the video.
  2. OPTIONAL reading, if you are interested this is our paper suggesting that RMIT should be used for cloud experiments.
    Conducting Repeatable Experiments in Highly Variable Cloud Computing Environments,
    Ali Abedi and Tim Brecht, 8th ACM/SPEC International Conference on Performance Engineering (ICPE), 2017.

Friday Dec. 11, 2020 (Topic: Project Paper Submission)

Note that you can continue to submit new versions of your paper and abstract right up to the deadlines.
I suggest that you submit early and update your paper as you near the deadline.

Wednesday Dec. 16, 2020 (Topic: Paper Reviews)

Friday Dec. 18, 2020 (Topic: Program Committee Meeting)

 

 

 

Home Video Logistics Schedule
Projects Resources Integrity

 

 

 

Last modified: Fri Dec 4 14:51:28 EST 2020