Carlo Marchetti

Building Reliable Distributed Systems

Course of Distributed Systems Seminars

Principal Instructor: Carlo Marchetti

Lecturers: Carlo Marchetti, Stefano Cimmino, Giorgia Lodi, Davide Gorini


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 recent J2EE clustering technologies complements the lectures, along with a comprehensive overview of recent advances on middleware services in the Jboss J2EE platform.
Students will be engaged in implementing solutions during the course.

Practical works on one of the examined technologies will be part of the exam.

Lectures, references and provisional course schedule

 

1st Lecture

Wednesday,
March the 4th, 2009
15.45-19.00

Lecture-hall B1
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

Wednesday,
March the 11th, 2009
15.45-19.00

Lecture-hall B1
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

Wednesday,
March the 18th, 2009
15.45-19.00

Lecture-hall B1
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

Wednesday,
March the 25th, 2009
15.45-19.00

Lecture-hall B1
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

Wednesday,
April the 1st, 2009
15.45-19.00

Lecture-hall B1
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.

6th Lecture

Wednesday,
April the 1st, 2009
15.45-19.00

Lecture-hall B1
DIS - Via Ariosto

 

Lecturer: Andrea Leoncini (RedHat), Stefano Linguerri (Pronetics)

Covered topics:
-  JBOSS Enterprise middleware : an overview
-  Cooperazione applicativa: Standard and Technology
-  Cooperazione applicativa: Project Description
-  Demo and Workshop

 

Slides - pdf

 

References and material


[Back to the home page]