Passage à l'échelle d'applications java ...
Type de document :
Habilitation à diriger des recherches
Titre :
Passage à l'échelle d'applications java distribuées auto-adaptatives
Titre en anglais :
Scale up of Java distributed self-adaptive applications
Auteur(s) :
Olejnik, Richard [Auteur]
LIFL - DART/Émeraude
Laboratoire d'Informatique Fondamentale de Lille [LIFL]

LIFL - DART/Émeraude
Laboratoire d'Informatique Fondamentale de Lille [LIFL]
Directeur(s) de thèse :
Pierre Boulet(Pierre.Boulet@lifl.fr)
Date de soutenance :
2011-06-26
Président du jury :
Directeur : Bernard TOURSEL Professeur Université de Lille I
Rapporteur : Beniamino DI MARTINO, Professeur, Second University of Napoli
Rapporteur : Marek TUDRUJ, Professeur, Acaémie des Sciences de Pologne
Rapporteur : Thierry PRIOL, Directeur de Recherche, INRIA
Examinateur : Christophe CERIN, Professeur Paris 13
Rapporteur : Beniamino DI MARTINO, Professeur, Second University of Napoli
Rapporteur : Marek TUDRUJ, Professeur, Acaémie des Sciences de Pologne
Rapporteur : Thierry PRIOL, Directeur de Recherche, INRIA
Examinateur : Christophe CERIN, Professeur Paris 13
Membre(s) du jury :
Directeur : Bernard TOURSEL Professeur Université de Lille I
Rapporteur : Beniamino DI MARTINO, Professeur, Second University of Napoli
Rapporteur : Marek TUDRUJ, Professeur, Acaémie des Sciences de Pologne
Rapporteur : Thierry PRIOL, Directeur de Recherche, INRIA
Examinateur : Christophe CERIN, Professeur Paris 13
Rapporteur : Beniamino DI MARTINO, Professeur, Second University of Napoli
Rapporteur : Marek TUDRUJ, Professeur, Acaémie des Sciences de Pologne
Rapporteur : Thierry PRIOL, Directeur de Recherche, INRIA
Examinateur : Christophe CERIN, Professeur Paris 13
Organisme de délivrance :
Université des Sciences et Technologie de Lille - Lille I
Mot(s)-clé(s) :
Grille de calcul
application auto-adaptatives
équilibrage dynamique de la charge
systèmes SOKU
fouille de données
application auto-adaptatives
équilibrage dynamique de la charge
systèmes SOKU
fouille de données
Mot(s)-clé(s) en anglais :
Grid computing
auto-adaptive application
dynamic load balancing
SOKU systems
datamining
auto-adaptive application
dynamic load balancing
SOKU systems
datamining
Discipline(s) HAL :
Informatique [cs]/Calcul parallèle, distribué et partagé [cs.DC]
Résumé :
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. ...
Lire la suite >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.Lire moins >
Lire la suite >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.Lire moins >
Résumé en anglais : [en]
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 ...
Lire la suite >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.Lire moins >
Lire la suite >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.Lire moins >
Langue :
Français
Collections :
Source :
Fichiers
- https://tel.archives-ouvertes.fr/tel-00833237v2/document
- Accès libre
- Accéder au document
- https://tel.archives-ouvertes.fr/tel-00833237v2/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- hdr-olejnik-volume1.pdf
- Accès libre
- Accéder au document