===== Applications Distribuées ===== * [[http://icps.u-strasbg.fr/~genaud|Prof. Stéphane Genaud]] * [[http://www.metz.supelec.fr/metz/personnel/vialle/| Prof. Stéphane Vialle]] pour sa page perso, et [[http://www.metz.supelec.fr/metz/personnel/vialle/course/Unistra-M2-ILC-PSDG/|page avec supports spécifique à notre cours]]. * [[parallelisme_2|]] * [[parallelisme_3|]] > Objectif : connaître les technologies disponibles pour réaliser des traitements (et stockage?) informatiques répartis. * [[http://icps.u-strasbg.fr/people/genaud/public_html/courses/sd/intro.html|Intro]] -- 9 septembre 2010 -- [[sd_1|]] Ce deuxième est ma reformattage (non autorisé) pour pouvoir visualiser une partie du contenu qui sortait de mon cadre. * [[http://icps.u-strasbg.fr/people/genaud/public_html/courses/sd/soap-td.html|SOAP TP]] -- 8 décembre 2010 -- [[sd_1|]] * [[http://icps.u-strasbg.fr/people/genaud/public_html/courses/sd/web-services.html|web-services]] -- 8 décembre 2010 . Attention, la navigation se fait par des boutons qui apparaissent en bas de la page lorsque le curseur y passe. Il est aussi possible de le voir en vrac avec fond blanc (mais pas de zoom possible) en choisissant "basculer". Selon l'écran, parfois tout le contenu n'est pas visible dans le format transparents. * [[http://icps.u-strasbg.fr/people/genaud/public_html/courses/sd/mapreduce.pdf|map-reduce]] * [[parallelisme_mpi|mpi]] ==== Systèmes Distribués ==== Un extrait des idées clés du livre "Distributed Systems: Principles and Paradigms" de Andrew S. Tanenbaum et Maarten Van Steen, pour (re-)situer le contexte : ?? système distribué :: une collection d'ordinateurs indépendants qui semble à ses utilisateurs être un seul système cohérent. * composé de composants (ordinateurs) autonomes * présente une semblance d'unité !! ?? middleware :: une couche logiciel entre la couche utilisateurs/applications et la couche systèmes d'exploitation/communication. Chaque application est offerte la même interface, et les applications peuvent communiquer entre elles; les différences de matériel et de systèmes d'exploitation sont cachées. !! === Pourquoi? === * fournir un accès aux ressources, même à distance. * permettre et faciliter le travail collaboratif. === Transparence === ?? transparent :: un système distribué (ou réparti) qui est capable de paraître uni aux utilisateurs et applications est dit __transparent__. !! == Types de transparence == ^ Transparence ^ Description ^ | Accès | Cacher des différences de représentation des données et d'accès aux ressources. | | Localisation | Cacher la localisation (sans importance?) des ressources. | | Migration | Cacher les déplacements (délocalisations) des ressources (entre utilisations). | | Rélocalisation | Cacher les déplacements des ressources en cours d'utilisation. //exemple : mobilité --wifi, gprs -- avec continuité de la connection.// | | Réplication | Cacher le fait qu'une ressource est répliquée. | | Concurrency | Cacher le fait qu'une ressource est partagée par plusieurs utilisateurs en concurrence pour être servi par la ressource. | | Failure | Cacher les plantages et redémarrages. | * Accès transparent : * Localisation transparent * transparence de migration * transparence de déplacement * transparence de réplication * //concurrency transparency// * //failure transparency// == Degrés de transparence == Bien que souvent désirable, la transparence n'est pas toujours un bon objectif, ni toujours réaliste. Il y a des temps de transmission de communications, par exemple. En plus, la transparence a des coûts et peut nuire à la performance. === Ouverture === === Scalability === === Pièges === ==== Types de Systèmes Distribués ==== === Systèmes de Calculs Distribués === ?? cluster :: !! ?? grille (grid) :: !! ((deflist syntax : deux espaces avant %%??%% et deux %%\n%% après %%!!%%))