CS349G: Selected Reading of Ph.D. Dissertations


Winter 2021
Mondays and Wednesdays 2:30-3:50, Online
One-page course flyer

Instructor: John Hennessy
  • Office hours: TBD
  • Instructor: Philip Levis
  • Office hours: TBD
  • cs349g-win2021-staff@lists.stanford.edu

    Over the 10 weeks of a quarter, the students read 5 Ph.D. dissertations by leading scholars in a field of computer science, spending 2 weeks on each one. The author of dissertation gives a guest lecture, followed by a lecture by a Stanford colleague who discusses the impact of the guest's work. The selected dissertations change with each offering but are always from a coherent time period and topic area.

    Coursework involves writing a 2 page report on 4 of the 5 covered dissertations, as well as reading and reporting on a 5th dissertation. This fifth paper may either be on 5th dissertation covered, or one of the student's choosing. Undergraduate reports are required to ask 3 detailed technical questions, which course staff will organize and answer. Graduate reports are required to discuss how they see similarities, analogies, or differences with other research papers they have read. Students are encouraged to take the course S/NC but may take it for a grade after discussing it with the instructors.

    In Winter 2021, the course focuses on computer architecture in the period of 1980-1992. Based on their background, students may classify as either "inexperienced" or "experienced" in computer architecture based on their prior coursework. Students who have completed CS110 but no computer architecture courses, or EE108 are "inexperienced". Students who have completed EE282 (or equivalent) are "experienced." "Inexperienced" students replace the first dissertation with background reading in computer architecture.

    Due to the depth of the technical material, we do not recommend the course to students who have not completed at least one of CS110, EE108, or EE282. If you have questions about these preprequisites, please contact the course staff.

    Syllabus

    Date Topic Reading (Inexperienced) Reading (Experienced) Assignment
    1/11 Introduction, Foundations of Architecture: Logic, Delay, and Timing
    1/13 Foundations of Architecture: Instructions, Pipelining, and Caches Reader, Chapter 15;
    P&H, AQA: B.1-3, C.1-2
    (both in Canvas)
    Dean, Ch. 1-3
    1/18 Martin Luther King holiday, no class
    1/20 Reading a Dissertation Dean, Ch. 1-3, 6 Dean, Ch. 4-6 Report on Dean: 1/22
    1/25 Mark Dean's work (Phil) Hannah, Ch. 1, 2, Geometry Engine
    1/27 Marc Hannah's work (Phil) Hannah, Ch. 3, 4
    2/1 Valerie Taylor's work (Phil) Hannah, Ch. 5
    2/3 Kunle Olukotun's work (John): speculation, multicore Hannah, Ch. 6 Report on Hannah: 2/5
    2/8 Mark Dean lecture Taylor, Ch. 1-3
    2/10 Mark Horowitz: clocking today Taylor, Ch. 4, 5
    2/15 President's Day, no class
    2/17 Marc Hannah lecture Taylor, Ch. 6-8 Report on Taylor: 2/19
    2/22 Pat Hanrahan: graphics hardware today Olukotun, Ch. 1
    2/24 Timothy Pinkston's work (John): interconnection networks Olukotun, Ch. 2
    3/1 Valerie Taylor lecture Olukotun, Ch. 3, 5
    3/3 Fredrik Kjolstad: computing sparse systems today Pinkston, Ch. 1-3 Report on Olukotun: 3/5
    3/8 Kunle Olukotun lecture Pinkston, Ch. 4
    3/10 Christos Kozyrakis, the billion transistor era and why multicore won: Intro, One chip, Superspeculative, Trace, SMT, IRAM, Multicore, Raw, Retrospective Pinkston, Ch. 5
    3/15 Timothy Pinkston lecture Pinkston, Ch. 6-7
    3/17 Bill Dally: interconnects today Report on Pinkston: Thursday 3/18

    Reports

    Each student is required to write a 2-page (~1000 words) report on each dissertation. Inexperienced students read half of the Dean's dissertation and complement it with background reading in architecture. A student may opt to replace one of the assigned dissertations with one of their own choosing. The dissertation should be in the field of computer architecture, but may be more modern.

    An undergraduate report should include:

    • A summary of the 2-3 points that you found the most interesting/educational.
    • A list of the web pages or other sources you used to fill in anything you did not know.
    • Any aspect of the technical work which you had a lot of trouble understanding or could not figure out. If the latter, explain your best guess about it.

    A graduate report should include:

    • The ideas you found the most interesting/educational and why.
    • Whether you think the dissertation delivered on its claimed contributions and why.
    • Where you think the ideas in the dissertation could manifest in future computer hardware.

    The report must be sent as a PDF document to the staff mailing list by 9:59PM on the day it is due.