Course Syllabus

Welcome!  My name is Vijay Nagarajan, and I am excited to teach this advanced research-focussed course on Modern Distributed Memory Systems.

Recent technological advances have meant that computing today is predominantly concurrent and heterogeneous. Today's mobile phones, desktops and servers consist of multiple different processors including CPUs, GPUs and other accelerators. Therefore, applications written for these systems are typically concurrent with communication and coordination bottlenecking the performance and energy efficiency of the system. One effective way to reduce data movement is to replicate objects in multiple locations, abstractly speaking, in hardware or software. When there are multiple replicas of a data item the question of consistency comes into play, since a precise notion of a consistency model is essential to to be able to reason about what value an object read will return. How does one precisely specify a consistency model? How does one design protocols that ensure that the replicas are kept consistent as per the requirements of the consistency model efficiently and correctly? How to take advantage of modern technological innovations such as RDMA, CXL and Non-volatile memory technologies

This research-oriented course will strive to answer these questions by studying memory consistency  from multiple perspectives: computer-architecture predominantly but also formal methods and verification, programming languages, and distributed systems. In that sense, this is a unique course as it spans the system stack, and is a useful opportunity for you to assimilate all of the concepts you may have learned in each of these individual courses. 

You will read lots of papers (~15), taking turns to present them during the class. We'll be reading both classic and cutting-edge research papers. You will also review every paper before the class, and turn in a brief review before the class. 

A significant chunk of the course will focus on a research project. Research projects can be done in groups of up to three. The goal is to develop a publishable workshop-style research paper by the end of the course. You will present a proposal after you have decided your project, and there will be a final presentation at the end of the course. 

Lectures

TuTh/03:40PM-05:00PM           WBB 207

Piazza

  • Please sign up as a student at this link: https://piazza.com/utah/spring2024/cs7810
  • Please post any question about the course at Piazza. You are actively encouraged to answer questions too. Actively engaging over Piazza will contribute to earning Participation credits. 

Material

  • No required textbooks.
  • Links to papers will be available in the schedule. 

Instructor and Office Hours

Assessment: 

  • Paper reviews. We will be reading close to 15 papers and you will need to review them before that lecture. Your best 10 paper reviews will count, each contributing 2 points for a total of 20 points. Here are some review guidelines. 
  • Paper presentation. You will need to present one paper each, answer questions, and lead the discussion on the paper. 10 points. 
  • Project presentation. Proposal presentation and final presentation. 5 points each for a total of 10. 
  • Project Final Report. 50 points.  
  • Participation. There will be 10 points for participation during the lectures and/or on Piazza. 
  • Grading: 100--94: A, 93.9--90: A-, 89.9--87: B+, 86.9--84: B, 83.9 --80: B-, 79.9 --77: C+, 76.9--74: C, 73.9--70: C-, 69.9--67: D+, 66.9--64: D, 63.9--60: D-, 59.9--0: E

Prerequisites:

  • Required: You must have taken and passed 6810
  • Recommended: Must have done well in 6810 or equivalent. In addition, must have taken at least two of the following graduate level courses: programming languages, compilers, distributed systems, or databases. This is a research-intensive course so take this course only if you are interested in (trying out) research. 

Policies: 

  • We have zero tolerance for cheating. Please read the SoC policy on Academic Misconduct.
  • Each paper review will be due before the class in which the paper is discussed. Late reviews are not accepted. 
  • Use of tools such as ChatGPT or Bard is not permitted in producing reviews, presentations, or reports. (You may use the tools to understand the topics at hand and for general research,  but be careful as the tools are known to make things up.) 
  • When producing paper presentations you may use the slides from the original authors but only with proper attribution -- i.e., make that clear in the presentation.  
Class Schedule (Tentative. Schedule might drift and that's ok.)
Date Topic Slides Before class Event

Jan 9

Introduction

pptx

pdf

Read up on the course policies, read the abstract of the papers, and projects ideas
Jan 11 Consistency/Coherence

pptx

pdf

Primer ch 2,3,5, 6,8 

 RISC-V spec Appendix A. 

Read up on project ideas. Decide team and send me email. One joint email per team with all members copied. 
Jan 15  Consistency/Coherence Read up on papers list to select a paper. Here are guidelines on reviewing a paper. 
Jan 18 GPU Coherence and Consistency; Heterogeneous Consistency

pptx

pdf

Primer ch 10 Please fill in google sheet with your selected paper. 
Jan 23  Coherence Protocol Specifications, CXL  CXL Spec ch 1,2,3 Start thinking about projects. 
Jan 25 Specifying and Validating Consistency Models and Coherence Protocols

pptx

pdf

Primer ch 11 Each team meet with me during office hours to decide project. 
Jan 30  Replicated Key-value-stores

pptx

pdf

Background from thesis; Skim the following:  Linearizability, FLP result, PaxosABD protocol, CAP theorem, Perspective on CAP after 12 years, Start working on project.
Feb 1 A Taxonomy of Coherence/Replication Protocols

paper

pptx

pdf

Read paper; No review necessary; if you review paper and send via email, will offer feedback.  Last date to email me about the project - one email per team. 
Feb 6 Soham Bagchi paper Read paper, turn in review
Feb 8 An Qi Zhang paper Read paper, turn in review. 
Feb 13 Yuvaraj Chesetti paper Read paper, turn in review. 
Feb 15 Vinita Pawar paper Read paper, turn in review. 
Feb 20 Md Ashfaqur Rahaman paper Read paper, turn in review. 
Feb 22 Project proposal presentations
Feb 27 Project proposal presentations
Feb 29 Guest lecture: Dr. Tyler Torenson, UC Santa Cruz
Mar 5 SPRING BREAK
Mar 7 SPRING BREAK
Mar 12 Sangshin Park paper Read paper, turn in review. 
Mar 14 Disha Kunjadia paper Read paper, turn in review. 
Mar 19 Jarett Minton paper Read paper, turn in review. 
Mar 21 James McMohan paper Read paper, turn in review. 
Mar 26 Ashish Tiwari paper Read paper, turn in review. 
Mar 28 Sameeran Joshi paper Read paper, turn in review. 
Apr 2 Hunter McCoy paper Read paper, turn in review. 
Apr 4 Amir Mohammad  paper Read paper, turn in review. 
Apr 9 Muteeb Akram Nawaz paper Read paper, turn in review. 
Apr 11 Shreyas Singh paper Read paper, turn in review. 
Apr 16 No class
Apr 18 Final project presentation
Apr 23 Final project presentation
Apr 25 No class
Apr 30 No class Final paper due 5 PM; no extensions.