**Monday,
Wednesday 1:25PM - 2:40PM in Phillips 307**

CS7412 will be an advanced graduate course exploring
consistency issues seen in large-scale computing environments such as
modern cloud-computing data centers. The course will read papers
on this and related topics, looking at the major scalable computing
applications, such as scalable storage systems, web services built using
Google AppEngine or Azure, and internal tools like MapReduce (Hadoop),
GFS, BigTable, ZooKeeper, Amazon's shopping cart, etc. In each
case we'll look at what has been done, and then will try to tease out
the underlying consistency assumptions, model and properties or
guarantees of the solution. Cloud computing doesn't have much of a
theoretical basis right now, so one might think of a course like this as
laying the foundation for trying to tackle that question (namely, what
would a theory of scalable consistency look like, if we had one?)

We assume a normal graduate background in systems: the equivalent of Cornell's CS4410, and perhaps a basic exposure to computer networks (not in the sense of formal prerequisites, but just the same, this won't be the place for remedial help in computer architecture). Prior exposure to the theoretical side of distributed computing would be helpful, but you can also pick up what you'll need by reading some of the supplemental materials on the side. Everyone who attends is expected to participate.

The course will start with a few weeks of lectures by Professor Birman, aimed at getting us all on the same footing. Students will then present papers and lead the associated discussion. Grading will be based on short weekly essays: a page or so per week, discussing topics in that week's reading. We won't have any big projects or other required homework or exams.

*Cornell PhD students in CS, IS, ECE, CAM, Math, OR/IE or similar
programs are welcome to attend this course without special permission.
*

Undergraduates and MEng students should meet with the instructor, Ken Birman, to make sure they have the right background. Our basic policy is that anyone can attend this course, but only if they have an equivalent level of background to the PhD students, and are equally prepared to participate. Students who feel unprepared for CS7412 should consider taking CS5412 instead. That class isn't offered every year, but we do offer it often enough so that in any three-semester period you should have a chance to take it.

We assume a normal graduate background in systems: the equivalent of Cornell's CS4410, and perhaps a basic exposure to computer networks (not in the sense of formal prerequisites, but just the same, this won't be the place for remedial help in computer architecture). Prior exposure to the theoretical side of distributed computing would be helpful, but you can also pick up what you'll need by reading some of the supplemental materials on the side. Everyone who attends is expected to participate.

The course will start with a few weeks of lectures by Professor Birman, aimed at getting us all on the same footing. Students will then present papers and lead the associated discussion. Grading will be based on short weekly essays: a page or so per week, discussing topics in that week's reading. We won't have any big projects or other required homework or exams.

Undergraduates and MEng students should meet with the instructor, Ken Birman, to make sure they have the right background. Our basic policy is that anyone can attend this course, but only if they have an equivalent level of background to the PhD students, and are equally prepared to participate. Students who feel unprepared for CS7412 should consider taking CS5412 instead. That class isn't offered every year, but we do offer it often enough so that in any three-semester period you should have a chance to take it.