CS 848 (Spring 2015)

Advanced Topics in Databases: Database Systems on Modern Hardware


Course evaluation surveys for CS848 will be open from Sunday July 19th (23:59) to Sunday August 02 (23:59). Registered students can complete a course evaluation survey by using the on-line course evaluation system. You'll need to authenticate using your WatIAM credentials (to show that you are registered in the course), but the survey itself is anonymous.

Course Information

Instructor: Ken Salem
Meeting Time: Thursday 1:00-3:50
Meeting Place: DC 3313
URL: https://cs.uwaterloo.ca/~kmsalem/courses/cs848S15/
Office Hours: by appointment

Course Description and Objectives

This course will focus on trends in server hardware and the implications of those trends for database systems. In particular, we will consider storage class (non-volatile) memories, characteristics of modern processors, energy efficiency, transactional memory, and RDMA.

It will be run as a seminar course, meaning that we will be reading and discussing papers.


CS848 course marks will be determined as follows:

Paper Reviews

Before each class, each student must submit a review for one of the papers being discussed that day. Each review should include one or two paragraphs summarizing the core contributions of the paper, and one paragraph of opinion. The opinion paragraph should be present your thoughts about the paper, e.g., what are its strengths and weaknesses, how could it be improved, or what is most interesting about it.

Each review should have a header that indicates that title of the paper being reviewed, your name, and the date. Paper reviews are limited to a single page. Please use a 10 point font (or larger), 1.5x line spacing, and one inch margins all around.

Submit your reviews in hard copy at the beginning of class.

Paper Discussion Questions

Before each class, each student must submit one discussion question for each paper being presented in that class, except the paper they reviewed. These questions will be used to "seed" the paper discussions in class.

Each question should be short, i.e., a sentence or two. It should identify some substantial concern or observation that arose (in your mind) when you read the paper. For example, is there a better way to solve the problem considered by the paper? Does the paper use questionable assumptions or present questionable results? Might the ideas in the paper be useful in other settings? Are you aware of related work that is not discussed in the paper?

Submit discussion questions in an e-mail to the instructor. Send a single message each week, which may include discussion questions for multiple papers. Make sure that your message identifies which paper each question is about. Questions should be mailed by 10am on the day of class. Please send the mail from your UW account, and use an informative e-mail subject, e.g., "CS848 discussion questions for 28 May".

Paper Presentations

One student will be assigned to present each paper on the schedule. Presentation length should be limited to 20 minutes. It is acceptable to include in the presentation some figures or other material from the paper or other sources, provided proper attribution is used. However, I expect each presentation to be the work of the presenter. In particular, the presenter must determine how to present a coherent overview of the material in the paper within the 20 minute time limit. Deciding what to leave out and what to include is part of the task.

You need not submit paper reviews or paper discussion questions for any weeks in which you are presenting a paper.

CS848 Presentation Evaluation form (PDF)


Information about projects can be found on a separate projects page.


Date Topic
7/5 Organizational Meeting
14/5 Topic Overview and Background

SNIA Storage Class Memory tutorial

C. Mohan's NEDS SCM talk

Kozyrakis DAMON'14 keynote

energy/scaling overview

21/5 Storage-Class Memories

Better I/O Through Byte-Addressable, Persistent Memory (Jaemyung)

Mnemosyne: lightweight persistent memory (Xinan)

Whole-system persistence (Ken)

28/5 Processors I

Complex event detection at wire speed with FPGAs (Adrian)

Relational Joins on Graphics Processors (Dhruv)

Query Processing on Smart SSDs: Opportunities and Challenges (Navreet)

4/6 Energy Efficiency

Analyzing the Energy Efficiency of a Database Server. (Udit)

Exploring Power-Performance Tradeoffs in Database Systems (Afiya)

Towards Energy Proportionality for Large-Scale Latency-CriticalWorkloads (Hasan)

11/6 Transactional Memory

Exploiting Hardware Transactional Memory in Main-Memory Databases (Jose)

Using restricted Transactional memory to build a scalable in-memory DBMS (Robina)

Improving In-Memory Database Index Performance with Intel Transactional Synchronization Extensions (Harsha)

18/6 RDMA

Using RDMA Efficiently for Key-Value Services (Adrian)

FaRM: Fast Remote Memory (Xinan)

High-performance Design of HBase with RDMA over InfiniBand

25/6 Processors and SCM

ATraPos: Adaptive transaction processing on hardware Islands (Jaemyung)

Heterogeneity-Conscious Parallel Query Execution: Getting a better mileage while driving faster! (Dhruv)

Let's Talk About Storage and Recovery Methods for Non-Volatile Memory Database Systems (Robina)

2/7 Storage-Class Memories II

Storage Management in the NVRAM Era (Udit)

Rethinking Database Algorithms for Phase Change Memory (Jose)

High Performance Database Logging using Storage Class Memory (Navreet)

9/7 No Class
16/7 Clusters

FAWN: a Fast Array of Wimpy Nodes (Afiya)

Energy Management for MapReduce Clusters (Harsha)

Towards Energy-Efficient Database Cluster Design (Hasan)

23/7 Project Presentations

SSDs in Relational Database Systems (Robina)

Energy-Efficient Data Processing in Clusters (Hasan)

Optimizing Many-core Hash Join (Jaemyung)

Server Consolidation (Udit)

Energy Management in Map-Reduce Clusters (Harsha)

Relational Query Processing with SSDs (Dhruv)

Energy Efficiency in Database Systems (Navreet)

RDMA Based Data Migration for Elastic Databases (Adrian, Afiya, Jose)

Academic Integrity

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research. The Office of Academic Integrity's website (www.uwaterloo.ca/academicintegrity) contains detailed information on UW policy for students and faculty. This site explains why academic integrity is important and how students can avoid academic misconduct. It also identifies resources available on campus for students and faculty to help achieve academic integrity in - and out - of the classroom.

Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4, http://www.adm.uwaterloo.ca/infosec/Policies/policy70.htm

Discipline: A student is expected to know what constitutes academic integrity, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about "rules" for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 - Student Discipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline, http://www.adm.uwaterloo.ca/infosec/Policies/policy71.htm

Avoiding Academic Offenses: Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy, http://www.math.uwaterloo.ca/navigation/Current/cheating_policy.shtml

Appeals: A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Discipline if a ground for an appeal can be established. Read Policy 72 - Student Appeals, http://www.adm.uwaterloo.ca/infosec/Policies/policy72.htm