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, Lecture-hall B1 |
Lecturer: Carlo Marchetti Covered topics: 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, Lecture-hall B1 |
Lecturer: Carlo Marchetti Covered topics: 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, Lecture-hall B1 |
Lecturer: Stefano Cimmino Covered topics: References and material Slides - pdf |
|
4th Lecture Wednesday, Lecture-hall B1 |
Lecturer: Stefano Cimmino Covered topics: References and material Slides - pdf Active replication - Source Code |
|
5th Lecture Wednesday, Lecture-hall B1
|
Lecturer: Giogia Lodi Covered topics: - 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, Lecture-hall B1
|
Lecturer: Andrea Leoncini (RedHat), Stefano Linguerri (Pronetics) Covered topics:
Slides -
pdf
References and material |