Classic Systems Papers

Many of the ideas that drive today’s “innovations” trace their origins to the groundbreaking work done between the 1950s and 1980s. Back then resources were scarse so people had to think and work harder than we do today.

I strongly encourage people working on computing systems to read classic systems papers. These are papers that first introduced key ideas that have shaped our understanding of computing and often illuminate fundamentals more effectively than later papers.

Technologies come and go, but foundations, core principles endure. Understanding the fundamental concepts ensures long-term adaptability and relevance in a fast changing world. I have found that reading classic papers has enabled me to reason from first principle and saved me from learning many lessons “the hard way.”

My Reading List

I was asked by some students for a list of classic system papers. Unfortunately the lists of papers I made for previous classic systems reading groups aren’t in my possession. So… the following is a list of papers I made this afternoon by harvesting my “outbox”. These are the papers that I have most frequently recommended to people in email. Sometime later I will update this page with a more carefully curated list of papers which will also include some more recent papers such as MapReduce which I consider classic, even if it was published in the 21st century :). I am sure there are important topics not covered below, but this can be a starting point. Ordered by the frequency I sent them, not by importance.

Other People’s Classic Systems Papers List

Reading Groups

I have been part numerous “reading groups” which focused on “systems”. The participates would identify both classic and current papers  they thought were important. Just making the list together was instructive and often led to a spirited discussion. Once we made a list of papers we would make a schedule that listed which papers were going to be covered and who was going to lead the discussion.  We would typically met once per week, often over lunch. Everyone in the group would read the designated paper.

For a more complete set of guidelines, see How to Lead a Technical Reading Group by Cathy Wu of MIT. I am sure there are other good materials out there about reading groups.

Related

Are there papers that changed your perspective or have been foundational to you as a software engineer, systems designer, etc? Drop me a note because I would love to read it and potentially add it to my list.

“Instead of standing on each other’s shoulders, we stand on each other’s toes”. – Butler Lampson, quoted Hamming

1 Comment

  1. Hayek, F.A. “The Theory of
    Complex Phenomena.” In The
    Critical Approach to Science and
    Philosophy. Mario Bunge (ed.),
    The Free Press of Glencoe, 1964,
    pp. 332-349.

Leave a Reply

Your email address will not be published. Required fields are marked *