15-749: Engineering Distributed Systems
Spring 2014
Professor Mahadev Satyanarayanan &
Jan Harkes
Logistics
- 12 units
- MWF 12:00-13:20 in GHC 4301
- This course replaces 15-610
Description
Computing has changed beyond
recognition in half a century, from the room-filling mainframes of the
1960s to today's smartphones and wearable devices. Networks have
also changed dramatically: from the 300-baud dialup modems of the early
networking era to gigabit LANs, Wi-Fi and 4G today.
Who knows what changes are in store for us over the next half
century? Astonishingly, in spite of this tremendous change in
hardware technology over time, a small core set of techniques for
building distributed systems has emerged and remained surprisingly stable and applicable across many system
layers. Many flavors of these techniques exist, and they continously evolve
over time to reflect changing trade-offs in the design space. What are these core techniques, and how can we leverage
them in creating distributed systems today and in the
future? That is the central question addressed
by this course. Students will acquire the
knowledge base, intellectual
tools, hands-on skills and modes of thought needed to build
well-engineered distributed systems that withstand the test of time,
growth in scale, and stresses of live use. Strong design and
implementation skills are expected of all students. The course
assumes a high level of
proficiency in all aspects of operating system design and
implementation. A substantial project component is an integral
part of
the course.
Prerequisites
- Grade of B or better in 15-410 at Carnegie Mellon
(or an
Operating Systems course elsewhere that has the same level of rigor and hands-on
experience)
OR
- extensive systems programming experience in C/C++, and permission of instructor
Resources
Policy on Academic Integrity
The Carnegie Mellon University Policy on Academic Integrity
applies to this course. All students are expected to
carefully review this policy and to adhere to it for all aspects of
this course. Additional information can be found at this helpful CMU web site that explains why academic integrity is so important.
Last updated 02/14/2014 by Satya