Some Contributions to The Programming of Large-Scale Distributed Systems: Mechanisms, Abstractions, and Tools - Archive ouverte HAL Access content directly
Habilitation À Diriger Des Recherches Year : 2011

Some Contributions to The Programming of Large-Scale Distributed Systems: Mechanisms, Abstractions, and Tools

Programmation des grands systèmes distribués: quelques mécanismes, abstractions, et outils

(1, 2)
1
2

Abstract

At the interface between distributed computing and software engineering, we present three contributions that seek to help developers build better large-scale distributed computer systems. More precisely, we look a some key research problems related to software reuse in three representative instances of large-scale networked systems: peer-to-peer overlays, gossip-based protocols, and grid middleware. The work we present touches on three different, but interrelated, aspects of these systems: modular fault-tolerance (in peer-peer overlays), component-based development and programmability (in gossip-based protocols), and interactive performance analysis (in grid middleware). The message emerging from our contributions is twofold: first we demonstrate in concrete terms that today's large-scale distributed systems can greatly benefit from reusable software abstractions. Second, we also illustrate the inherent tension between high-reuse approaches and software complexity, and suggest possible avenues of improvement. Our work on gossip-based systems shows for instance how components can benefit from being combined to a more imperative programming paradigm. Similarly our study of a typical grid middleware exemplifies the difficulties introduced by high levels of reuse in modern distributed platforms, and how these difficulties can be mitigated by combining architectural reverse engineering with dynamic performance analysis.
À l'interface entre informatique distribuée et en génie logiciel, nous présentons trois contributions liées aux problématiques de réutilisation du logiciel dans trois cas représentatifs de systèmes distribués grande échelle: les réseaux logiques pair-à-pair, les protocoles épidémiques, et les intergiciels de grille. Les travaux que nous présentons portent sur trois problématiques différentes mais néanmoins liées de ces systèmes: la tolérance aux pannes modulaire (dans les réseaux pair-à-pair), la programmabilité des systèmes à composants (dans les protocoles épidémiques), et l'analyse interactive de performances (dans les intergiciels de grille). Le message qui se dégage de nos travaux est double. Nos contributions démontrent tout d'abord en termes concrets l'intérêt d'abstractions logicielles réutilisables pour les systèmes distribués grande échelle. Nos travaux illustrent par ailleurs la tension inhérente entre réutilisation et complexité logicielle dans les plates-formes distribuées modernes. Notre travail sur les protocoles épidémiques montre par exemple comment une approche de développement par composants peut être combinée à un langage métier dédié pour une plus grande programmabilité. De même notre analyse d'un intergiciel de grille (Globus) illustre clairement les difficultés introduites par la réutilisation logicielle dans les plates-formes distribuées d'aujourd'hui, et comment ces difficultés peuvent être abordées dans le cas du diagnostic en combinant des principes de rétro-conception architecturale avec une analyse dynamique de performances.
Fichier principal
Vignette du fichier
hdr-taiani-with-links.pdf (3.51 Mo) Télécharger le fichier
Vignette du fichier
HDR-defense-final-V2.pdf (5.82 Mo) Télécharger le fichier
Format : Other

Dates and versions

tel-00643729 , version 1 (22-11-2011)
tel-00643729 , version 2 (22-11-2011)

Identifiers

  • HAL Id : tel-00643729 , version 2

Cite

François Taïani. Some Contributions to The Programming of Large-Scale Distributed Systems: Mechanisms, Abstractions, and Tools. Distributed, Parallel, and Cluster Computing [cs.DC]. Université Rennes 1, 2011. ⟨tel-00643729v2⟩
294 View
1005 Download

Share

Gmail Facebook Twitter LinkedIn More