29 research outputs found
DIET : new developments and recent results
Among existing grid middleware approaches, one simple, powerful, and flexibleapproach consists of using servers available in different administrative domainsthrough the classic client-server or Remote Procedure Call (RPC) paradigm.Network Enabled Servers (NES) implement this model also called GridRPC.Clients submit computation requests to a scheduler whose goal is to find aserver available on the grid. The aim of this paper is to give an overview of anNES middleware developed in the GRAAL team called DIET and to describerecent developments. DIET (Distributed Interactive Engineering Toolbox) is ahierarchical set of components used for the development of applications basedon computational servers on the grid.Parmi les intergiciels de grilles existants, une approche simple, flexible et performante consiste a utiliser des serveurs disponibles dans des domaines administratifs différents à travers le paradigme classique de l’appel de procédure à distance (RPC). Les environnements de ce type, connus sous le terme de Network Enabled Servers, implémentent ce modèle appelé GridRPC. Des clientssoumettent des requêtes de calcul à un ordonnanceur dont le but consiste à trouver un serveur disponible sur la grille.Le but de cet article est de donner un tour d’horizon d’un intergiciel développédans le projet GRAAL appelé DIET 1. DIET (Distributed Interactive Engineering Toolbox) est un ensemble hiérarchique de composants utilisés pour ledéveloppement d’applications basées sur des serveurs de calcul sur la grille
Interactive grid-access using GridSolve and Giggle
General purpose Problem Solving Environments (PSEs) like Matlab are widely used in the fields of science for development of new algorithms. If a lot of computing power is required to run these algorithms, today's PSEs lack support for accessing the distributed infrastructures of the organisation (i.e. grids), which limits the size of the problems that can be solved. This contribution shows a new approach to utilize the grid from within PSEs without major adjustments by the user. The primary tools are GridSolve and and the grid-middleware gLite. The applicability is illustrated by an exemplary algorithm (Mandelbrot calculations)
Use of A Network Enabled Server System for a Sparse Linear Algebra Grid Application
Solving systems of linear equations is one of the key operations in linear algebra. Many different algorithms are available in that purpose. These algorithms require a very accurate tuning to minimise runtime and memory consumption. The TLSE project provides, on one hand, a scenario-driven expert site to help users choose the right algorithm according to their problem and tune accurately this algorithm, and, on the other hand, a test-bed for experts in order to compare algorithms and define scenarios for the expert site. Both features require to run the available solvers a large number of times with many different values for the control parameters (and maybe with many different architectures). Currently, only the grid can provide enough computing power for this kind of application. The DIET middleware is the GRID backbone for TLSE. It manages the solver services and their scheduling in a scalable way.La résolution de systèmes linéaires creux est une opération clé en algèbre linéaire. Beaucoup d’algorithmes sont utilisés pour cela, qui dépendent de nombreux paramètres, afin d’offrir une robustesse, une performance et une consommation mémoire optimales. Le projet GRID-TLSE fournit d’une part, un site d’expertise basé sur l’utilisation de scénarios pour aider les utilisateurs à choisir l’algorithme qui convient le mieux à leur problème ainsi que les paramètres associés; et d’autre part, un environnement pour les experts du domaine leur permettant de comparer efficacement des algorithmes et de définir dynamiquement de nouveaux scénarios d’utilisation. Ces fonctionnalités nécessitent de pouvoir exécuter les logiciels de résolution disponibles un grand nombre de fois,avec beaucoup de valeurs différentes des paramètres de contrôle (et éventuellement sur plusieurs architectures de machines). Actuellement, seule la grille peut fournir la puissance de calcul pour ce type d’applications. L’intergiciel DIETest utilisé pour gérer la grille, les différents services, et leur ordonnancement efficace
DTM: a service for managing data persistency and data replication in network-enabled server environments
International audienceNetwork-Enabled Servers (NES) environments are valuable candidates to provide simple computing grid access. These environments allow transparent access to a set of computational servers via Remote Procedure Call mechanisms. In this context, a challenge is to increase performances by decreasing data tra?c. This paper presents DTM (Data Tree Manager) a data management service for NES environments. Based on the notions of data persistency and data replication, DTM proposes a set of e?cient policies which minimise computation times by decreasing data transfers between the clients and the platform. From the end-user point of view, DTM is accessible through a simple and transparent API. In the remainder, we describe DTM and its implementation in the DIET platform. We also present a set of experimental results which exhibit the feasibility and the e?ciency of our approach
GRID superscalar: a programming model for the Grid
Durant els darrers anys el Grid ha sorgit com una nova plataforma per la computaciĂł distribuĂŻda. La tecnologia Gris permet unir diferents recursos de diferents dominis administratius i formar un superordinador virtual amb tots ells. Molts grups de recerca han dedicat els seus esforços a desenvolupar un conjunt de serveis bĂ sics per oferir un middleware de Grid: una capa que permet l'Ăşs del Grid. De tota manera, utilitzar aquests serveis no Ă©s una tasca fácil per molts usuaris finals, cosa que empitjora si l'expertesa d'aquests usuaris no estĂ relacionada amb la informĂ tica.Això tĂ© una influència negativa a l'hora de que la comunitat cientĂfica adopti la tecnologia Grid. Es veu com una tecnologia potent però molt difĂcil de fer servir. Per facilitar l'Ăşs del Grid Ă©s necessĂ ria una capa extra que amagui la complexitat d'aquest i permeti als usuaris programar o portar les seves aplicacions de manera senzilla.Existeixen moltes propostes d'eines de programaciĂł pel Grid. En aquesta tesi fem un resum d'algunes d'elles, i podem veure que existeixen eines conscients i no-conscients del Grid (es programen especificant o no els detalls del Grid, respectivament). A mĂ©s, molt poques d'aquestes eines poden explotar el paral·lelisme implĂcit de l'aplicaciĂł, i en la majoria d'elles, l'usuari ha de definir aquest paral·lelisme de manera explĂcita. Una altra caracterĂstica que considerem important Ă©s si es basen en llenguatges de programaciĂł molt populars (com C++ o Java), cosa que facilita l'adopciĂł per part dels usuaris finals.En aquesta tesi, el nostre objectiu principal ha estat crear un model de programaciĂł pel Grid basat en la programaciĂł seqĂĽencial i els llenguatges mĂ©s coneguts de la programaciĂł imperativa, capaç d'explotar el paral·lelisme implĂcit de les aplicacions i d'accelerar-les fent servir els recursos del Grid de manera concurrent. A mĂ©s, com el Grid Ă©s de naturalesa distribuĂŻda, heterogènia i dinĂ mica i degut tambĂ© a que el nombre de recursos que pot formar un Grid pot ser molt gran, la probabilitat de que es produeixi una errada durant l'execuciĂł d'una aplicaciĂł Ă©s elevada. Per tant, un altre dels nostres objectius ha estat tractar qualsevol tipus d'error que pugui sorgir durant l'execuciĂł d'una aplicaciĂł de manera automĂ tica (ja siguin errors relacionats amb l'aplicaciĂł o amb el Grid). GRID superscalar (GRIDSs), la principal contribuciĂł d'aquesta tesi, Ă©s un model de programaciĂł que assoleix elsobjectius mencionats proporcionant una interfĂcie molt petita i simple i un entorn d'execuciĂł que Ă©s capaç d'executar en paral·lel el codi proporcionat fent servir el Grid. La nostra interfĂcie de programaciĂł permet a un usuari programar una aplicaciĂł no-conscient del Grid, amb llenguatges imperatius coneguts i populars (com C/C++, Java, Perl o Shell script) i de manera seqĂĽencial, per tant dĂłna un pas important per ajudar als usuaris a adoptar la tecnologia Grid.Hem aplicat el nostre coneixement de l'arquitectura de computadors i el disseny de microprocessadors a l'entorn d'execuciĂł de GRIDSs. Tal com es fa a un processador superescalar, l'entorn d'execuciĂł de GRIDSs Ă©s capaç de realitzar un anĂ lisi de dependències entre les tasques que formen l'aplicaciĂł, i d'aplicar tècniques de renombrament per incrementar el seu paral·lelisme. GRIDSs genera automĂ ticament a partir del codi principal de l'usuari un graf que descriu les dependències de dades en l'aplicaciĂł. TambĂ© presentem casos d'Ăşs reals del model de programaciĂł en els camps de la quĂmica computacional i la bioinformĂ tica, que demostren que els nostres objectius han estat assolits.Finalment, hem estudiat l'aplicaciĂł de diferents tècniques per detectar i tractar fallades: checkpoint, reintent i replicaciĂł de tasques. La nostra proposta Ă©s proporcionar un entorn capaç de tractar qualsevol tipus d'errors, de manera transparent a l'usuari sempre que sigui possible. El principal avantatge d'implementar aquests mecanismos al nivell del model de programaciĂł Ă©s que el coneixement a nivell de l'aplicaciĂł pot ser explotat per crear dinĂ micament una estratègia de tolerĂ ncia a fallades per cada aplicaciĂł, i evitar introduir sobrecĂ rrega en entorns lliures d'errors.During last years, the Grid has emerged as a new platform for distributed computing. The Grid technology allows joining different resources from different administrative domains and forming a virtual supercomputer with all of them.Many research groups have dedicated their efforts to develop a set of basic services to offer a Grid middleware: a layer that enables the use of the Grid. Anyway, using these services is not an easy task for many end users, even more if their expertise is not related to computer science. This has a negative influence in the adoption of the Grid technology by the scientific community. They see it as a powerful technology but very difficult to exploit. In order to ease the way the Grid must be used, there is a need for an extra layer which hides all the complexity of the Grid, and allows users to program or port their applications in an easy way.There has been many proposals of programming tools for the Grid. In this thesis we give an overview on some of them, and we can see that there exist both Grid-aware and Grid-unaware environments (programmed with or without specifying details of the Grid respectively). Besides, very few existing tools can exploit the implicit parallelism of the application and in the majority of them, the user must define the parallelism explicitly. Another important feature we consider is if they are based in widely used programming languages (as C++ or Java), so the adoption is easier for end users.In this thesis, our main objective has been to create a programming model for the Grid based on sequential programming and well-known imperative programming languages, able to exploit the implicit parallelism of applications and to speed them up by using the Grid resources concurrently. Moreover, because the Grid has a distributed, heterogeneous and dynamic nature and also because the number of resources that form a Grid can be very big, the probability that an error arises during an application's execution is big. Thus, another of our objectives has been to automatically deal with any type of errors which may arise during the execution of the application (application related or Grid related).GRID superscalar (GRIDSs), the main contribution of this thesis, is a programming model that achieves these mentioned objectives by providing a very small and simple interface and a runtime that is able to execute in parallel the code provided using the Grid. Our programming interface allows a user to program a Grid-unaware application with already known and popular imperative languages (such as C/C++, Java, Perl or Shell script) and in a sequential fashion, therefore giving an important step to assist end users in the adoption of the Grid technology.We have applied our knowledge from computer architecture and microprocessor design to the GRIDSs runtime. As it is done in a superscalar processor, the GRIDSs runtime system is able to perform a data dependence analysis between the tasks that form an application, and to apply renaming techniques in order to increase its parallelism. GRIDSs generates automatically from user's main code a graph describing the data dependencies in the application.We present real use cases of the programming model in the fields of computational chemistry and bioinformatics, which demonstrate that our objectives have been achieved.Finally, we have studied the application of several fault detection and treatment techniques: checkpointing, task retry and task replication. Our proposal is to provide an environment able to deal with all types of failures, transparently for the user whenever possible. The main advantage in implementing these mechanisms at the programming model level is that application-level knowledge can be exploited in order to dynamically create a fault tolerance strategy for each application, and avoiding to introduce overhead in error-free environments
Grid'5000: a large scale and highly reconfigurable grid experimental testbed
Large scale distributed systems such as Grids are difficult to study from theoretical models and simulators only. Most Grids deployed at large scale are production plat-forms that are inappropriate research tools because of their limited reconfiguration, control and monitoring capa-bilities. In this paper, we present Grid’5000, a 5000 CPU nation-wide infrastructure for research in Grid computing. Grid’5000 is designed to provide a scientific tool for com-puter scientists similar to the large-scale instruments used by physicists, astronomers, and biologists. We describe the motivations, design considerations, architec-ture, control, and monitoring infrastructure of this experi-mental platform. We present configuration examples and performance results for the reconfiguration subsystem