Passage à l'échelle d'applications java distribuées auto-adaptatives - TEL - Thèses en ligne Accéder directement au contenu
Hdr Année : 2011

Scale up of Java distributed self-adaptive applications

Passage à l'échelle d'applications java distribuées auto-adaptatives

Résumé

A rapid evolution of networks, workstations, large supercomputers and personal computers, gives rise to new architectural alternatives for parallel and distributed computing. Clusters, grids and, more recently, cloud computing can therefore give an answer to constantly growing demands for computational resources, thanks to new paradigms, software concepts and systems, which are all based on distributed programming. The main features of distributed and heterogeneous applications are their irregularity and unpredictability. To enable efficient execution of such applications, we propose a programming environment for distributed applications in Java and the runtime environment ADAJ (Adaptive Distributed Applications in Java), which optimizes dynamic placement of application objects on clusters and computers within a grid. This distribution is based on a novel mechanism of observation of object work, and the relationships between the objects. The gain from this flexible and adaptive object distribution results in better execution efficiency and in better use of the power of different computers. At the same time it minimizes communication costs and reduces extra cost associated with application control. With these mechanisms, ADAJ provides automatic and adaptive distribution of application elements across the job execution platform, giving thus a reply to the computing and resource availability changes. This operation is based on a cycle stealing method and can control of the application execution granularity. As a result, the programmer does not need to worry about it anymore. Mechanisms have been implemented for various platforms and technologies. Initially, they have been designed to run on clusters of workstations containing no more than a hundred computers. In order to scale up the solution designed for cluster computing, we have re-engineered, processed and completed it. Specifically, we have introduced a framework based on software components, to help the designer to build applications for grids of computers. This work was then extended so that the platform ADAJ is today a full middleware stack. It is based on web services and it's information system is based on agents. Mechanisms of ADAJ can now manage grid execution platforms, consisting of thousands of nodes. Finally we have tested this approach on datamining problems with some distributed algorithms, which have been specifically developed. By this work, we have responded to the current problems concerning the implementation and use of grids by designing a new SOKU (Service Oriented Knowledge Utilities) architecture. Finally, we show how this research can be integrated in the theme of embedded systems.
L'évolution rapide des réseaux, des stations de travail, des gros calculateurs sans oublier les ordinateurs personnels, donne naissance à de nouvelles alternatives architecturales pour les traitements parallèles et distribués. Les Grappes, les grilles de calcul et plus récemment le calcul en nuages (Cloud Computing) répondent aux besoins en calcul sans cesse croissants, grâce à des nouveaux paradigmes et concepts logiciels et systèmes basés sur la programmation distribuée. Les principales caractéristiques des applications développées dans ce cadre sont d'être hétérogènes, irrégulières et imprévisibles. Pour permettre une exécution efficace des applications réparties en Java, nous proposons un environnement de programmation et un environnement d'exécution (ADAJ : Adaptative Distributed Applications in Java) qui optimise le placement dynamique des objets de l'application sur les grappes et les grilles d'ordinateurs. Cette répartition s'appuie sur de nouveaux mécanismes d'observation de l'activité des objets et des relations entre eux. Le gain de cette distribution flexible et adaptative des objets se traduit par une meilleure efficacité de l'exécution et la possibilité d'utiliser au mieux la puissance des différents calculateurs, tout en minimisant les coûts de communication et les surcoûts liés au contrôle de l'application. Munie de ces mécanismes, la plate-forme logicielle ADAJ assure une répartition adaptative et automatique des éléments de l'application sur la plateforme d'exécution, répondant de cette façon, aux évolutions du calcul et aux modifications de la disponibilité des ressources. Ce fonctionnement est basé sur un procédé de vol de cycle et permet de contrôler la granularité du traitement. Le programmeur n'a plus en principe, à s'en préoccuper. Les mécanismes ont été implémentés pour diverses plateformes et technologies. Dans un premier temps, ils ont été conçus pour fonctionner sur des grappes de stations de travail. Nous avons ensuite fait évoluer les solutions adoptées pour fonctionner sur des réseaux plus vastes (passage à l'échelle). En particulier, nous avons introduit un framework basé sur des composants logiciels, qui aide le concepteur à bâtir des applications pour grilles d'ordinateurs. Puis, ces travaux ont été étendus, de sorte que la plateforme ADAJ est aujourd'hui, un intergiciel à part entière. Elle est basée sur des web services et son système d'information, sur des systèmes à agents. Les mécanismes d'ADAJ peuvent maintenant gérer des plateformes d'exécution de type grille composées, à priori de milliers de machines. Nous avons finalement testé cette approche pour des problèmes de fouille de données à l'aide d'algorithmes distribués, spécifiquement développés. De cette façon nous avons répondu à la problématique actuelle concernant la mise en oeuvre et l'exploitation d'architecture de grille par des systèmes de type SOKU (Service Oriented Knowledge Utilities). Pour conclure, nous montrons comment nos travaux pourraient être utilisés dans l'environnement des systèmes-sur-puce de nouvelle génération.
Fichier principal
Vignette du fichier
hdr-olejnik-volume1.pdf (540.04 Ko) Télécharger le fichier
Loading...

Dates et versions

tel-00833237 , version 1 (12-06-2013)
tel-00833237 , version 2 (12-06-2013)

Identifiants

  • HAL Id : tel-00833237 , version 2

Citer

Richard Olejnik. Passage à l'échelle d'applications java distribuées auto-adaptatives. Calcul parallèle, distribué et partagé [cs.DC]. Université des Sciences et Technologie de Lille - Lille I, 2011. ⟨tel-00833237v2⟩
331 Consultations
651 Téléchargements

Partager

Gmail Facebook X LinkedIn More