F2B101A: Paradigms and Models for distributed software systems


Coordinator:  Yvon KERMARREC   

Presentation

This module deals with computer systems in a network context. Networks supply means of communication, sharing and interaction for computer applications and have thus introduced major changes in the design of computer systems and software. We will do a brief overview of the theme before presenting different models such as message transfer, objects distributed and UNIX IPCs.
After presenting these models in class they will experimented in laboratory practice and computer applications designed to function on such networks will be developed.

Prerequisites

none

Objectives

The aim of this module is to explore the theme of this association and can be divided in three main parts:
- to know the principles of distributed systems programming
- to discover the principles of software development for networked machines
- to discover a new approach to computer system design and to experiment on machines in a network .

Duration: 30h


Content

The module is made up of two parts
Part 1 : A common core : short – 6hours

Introduction

- short history
- the « rationale » of distributed systems for sharing resources
- targeted applications
- some reminders about networks
- the importance of the network and its impact on applications: topology, meshing, behavioural properties of the network, etc…
- interaction models
- short-comings and breakdowns
- the stakes and imperatives middleware and basic service architecture

Inter Process Communication

- Revision of synchronisation and process

- synchronisation by message
- representation of interaction between process by MSCs
- connected and non-connected modes
- UNIX IPCs : sockets, RPC, TLI, POSIX…




Part2 : Paradigms and models


Models of programming of distributed applications
Our objective is to show that distributed systems propose original approaches to solve problems and especially different levels of abstraction…
We shall particularly look at :

- paradigms based on message, sharing, peer-to-peer, cooperation, etc…
- classes of application targeted by these models



The client server model
Key point : to show all the advantages of a services based organisation and architecture

- le model et its organisation
- the sub-jacent protocols
- software architecture and services
- thedifferent models
- with or without state mode


The paradigm of passage by message :
key point : to show the simplicity but also the dangers of this much used paradigm. A series of lab experiments around PVM (or MPI)will allow students to practise the themes studied in classand to experiment interblockages, problems of termanaison, problems of naming, etc… Among the themes tackled in this section we find:

- message passing
- data coding using XDR, ASN1 considering heterogeneity
- coding parameters for complex data : marshalling, serialization
- designation de correspondent : direct or communication or through an intermediary (mailbox, channel).
- 1 to 1 communication , diffusion et notions of group communication
- One system : PVM or MPI and experiments.



Organization

Team




Educational resource

Les différentes parties de ce cours seront adaptés de deux principaux ouvrages:
« Distributed systems : principles and paradigms" de A. Tannenbaum
"Distributed computing : principles and applications" de M.L. Liu

Le lecteur intéressé trouvera également des références complémentaires dans :
- « Distributed Systems Concepts and Design, 3rd ed » de G Colouris et J Dolimore
- les notes de cours et articles qui seront distribués

Recommended reading

Le lecteur intéressé trouvera également des références complémentaires dans :
- « Distributed Systems Concepts and Design, 3rd ed » de G Colouris et J Dolimore
- les notes de cours et articles qui seront distribués


  Year 2006/2007
Last update: 03-JUL-06
Last validation:

IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00