March 2020 Summary

According to my time management app, this month I woke up around 9:40 everyday, and stayed focused for an average of 4 hours and 20 minutes daily. My most efficient time slots were 10AM – 1PM and 4PM – 6PM.

I watched lesson 1- 20 of CMU 15/445 and finished homework 1, 2 and project 1. I also watched 5 lessons of the TLA+ video course.

Book wise, I finished Concurrency Control and Recovery in Database Systems, by P.A. Bernstein, read chapter 10 and 13 of the Database System Concepts 7th Edition, and chapter 10 and 11 of Principles of Distributed Systems 3rd Edition.

I read the following papers word by word:

  • Comer, Douglas. Ubiquitous B-tree. ACM Computing Surveys (CSUR) 11.2 (1979): 121-137.
  • Joseph M. Hellerstein, Michael Stonebraker, James Hamilton. Architecture of a Database System. Foundations and Trends in Databases, 1, 2 (2007).
  • Morton M. Astrahan, Mike W. Blasgen, Donald D. Chamberlin, Kapali P. Eswaran, Jim Gray, Patricia P. Griffiths, W. Frank King III, Raymond A. Lorie, Paul R. McJones, James W. Mehl, Gianfranco R. Putzolu, Irving L. Traiger, Bradford W. Wade, Vera Watson. System R: Relational Approach to Database Management. ACM Transactions on Database Systems, 1(2), 1976, 97-137.
  • Patricia G. Selinger, Morton M. Astrahan, Donald D. Chamberlin, Raymond A. Lorie, Thomas G. Price. Access path selection in a relational database management system. SIGMOD, 1979.
  • Jim Gray, Raymond A. Lorie, Gianfranco R. Putzolu, Irving L. Traiger. Granularity of Locks and Degrees of Consistency in a Shared Data Base. , IBM, September, 1975.
  • Rakesh Agrawal, Michael J. Carey, Miron Livny. Concurrency Control Performance Modeling: Alternatives and Implications. ACM Transactions on Database Systems, 12(4), 1987, 609-654.
  • C. Mohan, Bruce G. Lindsay, Ron Obermarck. Transaction Management in the R* Distributed Database Management System. ACM Transactions on Database Systems, 11(4), 1986, 378-396.
  • Katsarakis, Antonios, et al. Hermes: a Fast, Fault-Tolerant and Linearizable Replication Protocol. Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems. 2020.

I read some parts of the following papers:

  • Michael Stonebraker and Lawrence A. Rowe. The design of POSTGRES. SIGMOD, 1986.
  • David J. DeWitt, Shahram Ghandeharizadeh, Donovan Schneider, Allan Bricker, Hui-I Hsiao, Rick Rasmussen. The Gamma Database Machine Project. IEEE Transactions on Knowledge and Data Engineering, 2(1), 1990, 44-62.
  • C. Mohan, Donald J. Haderle, Bruce G. Lindsay, Hamid Pirahesh, Peter M. Schwarz. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. ACM Transactions on Database Systems, 17(1), 1992, 94-162.


How to read a paper by Peter Carr

Today I watched a video by Prof. Peter Carr of University of Minnesota on how to read research papers. Here are the notes I took.

Most of the papers are organized like this:

  1. Title
  2. Keywords
  3. Abstract
  4. Introduction
  5. Experimental
  6. Results and Discussion
  7. Summary/Conclusion
  8. References

For computer science papers, especially systems papers, the layout can be a little different. After the introduction section there is usually a section that explains the design of the system. The experimental and results section are usually merged into one.

But regardless of the format of a paper, the last thing you want to do is to read it from start to end. Do NOT read a paper linearly.

Prof. Carr divided his paper reading method into two phases.

Phase 1: survey the paper

This phase should takes 5 to 30 minutes.

  1. read the title and keywords
  2. read the abstract
  3. read the conclusion

Phase 2: read the article

This phase might take between 1 hour to a few days

  1. look at the tables and the figures, including the captions
  2. read the introduction (for some background)
  3. read the results discussion (this is the heart of the paper)
  4. read the experimental/design (learn how the authors did the work)

At any point of the read process, if you feel that you have lost interest, feel free to stop reading. After reading the paper, it is a good idea to write down some notes (preferably in a notebook instead of in the margins) so you do not have to read the paper again.

Hello World!

I have been subscribing to and reading a lot of blogs, most of them are acedemic blogs that post research ideas and paper reading notes. They got me interested in the field of distributed systems and databases, and eventually motivated me to apply to Ph.D programs.

Now that my application season is almost over, I have decided to start a blog to keep my own paper reading notes and to track my research progress in my future years as a Ph.D student.