Purdue CS592: Disaggregated Database Systems
(Spring 2023)




Course Description

Database systems are ubiquitous and fundamental to our information society by managing large-scale data efficiently. Since the inception in the 1970s, database systems are optimized for the monolithic server architecture that physically includes CPU, memory, and storage into the same server box. However, this is completely changed with the emerging trend of resource disaggregation in modern data centers, especially cloud data centers. Resource disaggregation separates CPU, memory, and disk into disaggregated components connected by a fast network fabric, e.g., RDMA. This brings in many benefits including higher resource utilization, better elasticity, and lower cost.

In this course, we will explore the implications of resource disaggregation to building scalable database systems. We will study storage disaggregation, memory disaggregation, and non-volatile memory disaggregation to OLAP/OLTP/HTAP databases. Students are expected to read recent papers from top-tier venues, and work on a semester-long research project on disaggregated database systems. Students can partner in a group (of size up to 3) depending on the scope of the project and the prior approval of the instructor. The lecture is a combination of instructor presentation and student presentation.

This course requires basic knowledge on database systems. Coverage of CS448 or CS541 or CS542 or equivalent courses would be sufficient.




Instructor




Logistics

  • When: TTh 4:30p-5:45p
  • Where: GRIS 133
  • Office hour: after class or make appointment
  • Pre-requisites: CS448, CS541, or CS542



Online communications

  • We'll use Piazza, e.g., announcements, discussions, and Q&A.
  • We'll NOT use Brightspace except for sending emails occasionally.



Grading

  • Class participation: 10%
  • Paper reading and review: 15%
  • Paper presentation: 25%
  • Project: 50%



Schedule

Lecture

Topic

Readings

Presenter

Lec 1 (01/10) Introduction
  • N/A
Jianguo Wang
Lec 2 (01/12) Introduction 2
  • N/A
Jianguo Wang
Lec 3 (01/17) Storage Disaggregation
Xi Pang
Lec 4 (01/19) Storage Disaggregation
Xi Pang
Lec 5 (01/24) Storage Disaggregation
Xi Pang
Lec 6 (01/26) Storage Disaggregation
Shige Liu
Lec 7 (01/31) Storage Disaggregation
  • Oracle RAC
Shige Liu
Lec 8 (02/02) Storage Disaggregation
Chenzhe Jin
Lec 9 (02/07) Storage Disaggregation
Yongye Su
Lec 10 (02/09) Distributed Shared Storage
Parth Ahuja
Lec 11 (02/14) Distributed Shared Storage
Chenzhe Jin
Lec 12 (02/16) Distributed Shared Storage
Yongye Su
Lec 13 (02/21) Distributed Shared Storage
Chuqing Gao
Lec 14 (02/23) Memory Disaggregation
Hao Wang
Lec 15 (02/28) Memory Disaggregation
Chenzhe Jin
Lec 16 (03/02) Memory Disaggregation
Hao Wang
Lec 17 (03/07) Memory Disaggregation
Chuqing Gao
Lec 18 (03/09) Memory Disaggregation
Chuqing Gao
Lec 19 (03/14) N/A
N/A
Lec 20 (03/16) N/A
N/A
Lec 21 (03/21) Distributed Shared Memory
Yongye Su
Lec 22 (03/23) Distributed Shared Memory
Xiangyuan Zheng
Lec 23 (03/28) Distributed Shared Memory
Shige Liu
Lec 24 (03/30) Persistent Memory Disaggregation
Ruihong Wang
Lec 25 (04/04) Disaggregation for HTAP
Parth Ahuja
Lec 26 (04/06) Disaggregation for HTAP
Xiangyuan Zheng
Lec 27 (04/11) CXL-Based Disaggregation
Parth Ahuja
Lec 28 (04/13) CXL-Based Disaggregation
Xiangyuan Zheng
Lec 29 (04/18) Other Databases
Chenzhe Jin
Lec 30 (04/20) Other Databases
Hao Wang
Lec 31 (04/25) Guest Speaker
Dr. Yingjie He (Staff Software Engineer @ Google)
Lec 32 (04/27) Review
  • N/A
Jianguo Wang