This project is read-only.
These link to YouTube.
  1. Introduction... Video ... Slides This video (fairly long) is basically a lecture on the Isis2 system as a whole: why we built it, how to think about it, what kinds of things it can do for you.
  2. Demo... In this thrilling short movie, I build a small Isis2 application for you, run it, and then explain it rather carefully. You can download the code and try it out for yourself, and I include a small homework problem for you. Sorry about the sinister lighting.
  3. Basics... Video ... Slides The introduction gives the big picture. In this (only slightly shorter) video, I dive into the details of how Isis2 process groups work, the View and Address objects, Group and Client portals into a group, event handers of various kinds, etc. I also explain how to register new types of your own definition.
  4. Ordering... Video ... Slides The core of the Isis2 advantage is the strong consistency model, which centers on two properties: ordering and durability. But what are these properties, and how strong do the guarantees need to be to ensure that an application will operate correctly? The reason this matters is that the strongest guarantees, matching the famous Paxos protocols (Leslie Lamport recently commented that we should rename the virtual synchrony model used by Isis2 as "virtually synchronous Paxos") are quite costly. We'll show you precisely why and how costly these Paxos-style properties are, and also how tricky it can be to use a Paxos protocol correctly (you need to go through some surprisingly complex actions on recovery from failure). Then we'll see that Isis2 has much cheaper alternatives, such as logging the state of a group and using optimistic delivery together with a call to Flush, that can save you computer time and reduce delay for the end-user, while still yielding as safe a solution as with Paxos (we call it SafeSend, if you were wondering). This is a technically challenging video and you may find that you need to watch it a few times to fully understand the material. The other option is to read the corresponding manual pages carefully, or to consult my textbook, which has a whole chapter on this topic.
  5. Synchronization... Video ... Slides Isis2 offers all sorts of ways to obtain synchronized behavior. We'll look at a bunch of them here. They include locking, time-based coordination, barriers of various kinds, and there are other options too.
  6. Sharding... Video ... Slides Big data is often spread over groups by smashing it into little pieces (individual data items) and then replicating those to a small degree. We call these little replicated data pieces "shards" and Isis2 supports them. That part is easy, as is the Isis2 DHT, which has just two operations (put and get). More tricky are the fancy tools for consistent access to a DHT. Isis2 carries these to such an extreme that it can support full transactional database behavior.
  7. OutOfBand... Video ... Slides This is a very cool topic, at least in my opinion. Isis2 lets you move big objects, like files, at the "speed of light" using Ethernet multicast or Infiniband direct copying to basically DMA the data from source to sender (ok, I'm exaggerating: Isis2 will have this soon; today in February 2014 the mechanism isn't running at full speed by a long shot yet). Anyhow, we think this is a killer story and are putting a ton of effort into it. Learn about it int this video.
  8. Runtime... Video ... Slides A dull topic but everyone needs to know about it. How Isis2 handles bootstrapping. What the membership Oracle does, how many copies will run, and where. How to customize various features of the system.

Now test your knowledge...

  1. Ordering. Link (Note that this link and the others are to ppsx files; they work best if you run them as a powerpoint "show").
  2. Designing an application with external clients. Link
  3. The Isis2 DHT. Link

Last edited Apr 14, 2014 at 5:47 PM by birman, version 1


No comments yet.