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.
|
Lecture |
Topic |
Readings |
Presenter |
Lec 1 (01/10) |
Introduction |
|
Jianguo Wang |
Lec 2 (01/12) |
Introduction 2 |
|
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 |
|
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 |
|
Jianguo Wang |