Carlo Marchetti

Building Reliable Distributed Systems

Course of Distributed Systems Seminars

Principal Instructor: Carlo Marchetti

Lecturers: Stefano Cimmino, Giorgia Lodi


This series of lectures is aimed at introducing students to the main problems, methodologies, techniques and tools related to building reliable distributed computing systems and applications. Rather than on hardware and OS aspects, the emphasis is on models, software techniques and software technologies enabling the development of distributed services that stay correct and responsive even in presence of (some) faults. In particular, it will be presented how the software replication and group communication paradigms can be used to implement reliable systems on top of COTS (commercial off-the-shelf) hardware. Then, a detailed presentation of one of the most widely used group communication toolkit (JGroups) will be given, along with demonstrations of its practical applications to software replication. Finally, Information about the use of these techniques in the Java Enterprise Edition architecture for implementing clustering complements the lectures, along with a comprehensive overview of recent advances on middleware services in the Jboss Java EE platform.
Students will be engaged in implementing solutions during the course.

Lectures, references and provisional course schedule

 

1st Lecture

Thursday,
March the 4th, 2010
14.00-17.15

Lecture-hall A5
DIS - Via Ariosto

Lecturer: Carlo Marchetti

Covered topics:
- course introduction
- failure and consistency models
- software replication techniques
- introducing group communications

References and material

Slides - pdf

Kenneth P. Birman, Reliable Distributed Systems: Technologies, Web Services and Applications, Springer-Verlag

R. Guerraoui, A. Schiper, Fault tolerance by replication in distributed systems, in Proc. of Ada-Europe 1996, Springer Verlag - pdf

2nd Lecture

Thursday,
March the 11th, 2010
14.00-17.15

Lecture-hall A5
DIS - Via Ariosto

Lecturer: Carlo Marchetti

Covered topics:
- group communications and the virtual synchrony model
   - group membership service and view delivery properties
   - ordered communications and state transfer
- sum up: virtual synchrony, replication, consistency, and consensus
- middleware for reliable distributed systems: group communications toolkits, transparent software replication frameworks and architectures

References and material

Slides - pdf

Kenneth P. Birman, Reliable Distributed Systems: Technologies, Web Services and Applications, Springer-Verlag

Gregory V. Chockler, Idit Keidar, and Roman Vitenberg, Group Communication Specifications: A Comprehensive Study, ACM Computing Surveys 33(4), pages 1-43, December 2001 - pdf.

3rd Lecture

Thursday,
March the 18th, 2010
14.00-17.15

Lecture-hall A5
DIS - Via Ariosto

Lecturer: Stefano Cimmino

Covered topics:
- introduction to group communication systems
   - brief history
   - architectures and services offered
- The JGroups toolkit
   - architecture
   - main API
   - protocol stack
- Example: active replication with JGroups

References and material

Slides - pdf

Bela Ban, Reliable Multicasting with the JGroups Toolkit

4th Lecture

Thursday,
March the 25th, 2010
14.00-17.15

Lecture-hall A5
DIS - Via Ariosto

Lecturer: Stefano Cimmino

Covered topics:
- Hands on lab: passive replication with JGroups
- Extending JGroups with new protocols
- Hands on lab: implementation of a simple protocol

References and material

Slides - pdf

Active replication - Source Code

Bela Ban, Reliable Multicasting with the JGroups Toolkit

5th Lecture

Thursday,
April the 8st, 2010
14.00-17.15

Lecture-hall A5
DIS - Via Ariosto

 

Lecturer: Giogia Lodi

Covered topics:
- Brief introduction to JBoss application server: basic known concepts

- JBoss Clustering Service: what is good for and how it works

  - The clustering framework

  - Automatic discovery of clustered nodes (use of JGroups)

  - Fail-over and load balancing (at RMI and HTTP level)

  - Distributed cluster-wide hot deployment (farming service)

  - How JBoss clustering framework uses JGroups for group

    communication

 

References and material

Slides - pdf

JBoss Inc, The JBoss 4 Application Server Clustering Guide, 2006.


[Back to the home page]