9 research outputs found

    Combining Grid and Cloud Resources by Use of Middleware for SPMD Application

    Get PDF
    International audienceDistributed computing environments have evolved from in-house clusters to Grids and now Cloud platforms. We, as others, provide HPC benchmarks results over Amazon EC2 that show a lower performance of Cloud resources compared to private resources. So, it is not yet clear how much of impact Clouds will have in high performance computing (HPC). But hybrid Grid/Cloud computing may offer opportunities to increase overall applications performance, while benefiting from in-house computational resources extending them by Cloud ones only whenever needed. In this paper, we advocate the usage of ProActive, a well established middleware in the grid community, for mixed Grid/Cloud computing, extended with features to address Grid/Cloud issues with little or no effort for application developers. We also introduce a framework, developed in the context of the DiscoGrid project, based upon the ProActive middleware to couple HPC domain-decomposition SPMD applications in heterogeneous multi-domain environments. Performance results coupling Grid and Cloud resources for the execution of such kind of highly communicating and processing intensive applications have shown an overhead of about 15%, which is a non-negligible value, but lower enough to consider using such environments to achieve a better cost-performance trade-off than using exclusively Cloud resources

    Current State of Java for HPC

    Get PDF
    About ten years after the Java Grande effort, this paper aims at providing a snapshot of the current status of Java for High Performance Computing. Multi-core chips are becoming mainstream, offering many ways for a Java Virtual Machine (JVM) to take advantage of such systems for critical tasks such as Just-In-Time compilation or Garbage Collection. We first perform some micro benchmarks for various JVMs, showing the overall good performance for basic arithmetic operations. Then we study a Java implementation of the Nas Parallel Benchmarks, using the ProActive middleware for distribution. Comparing this implementation with a Fortran/MPI one, we show that they have similar performance on computation intensive benchmarks, but still have scalability issues when performing intensive communications. Using experiments on clusters and multi-core machines, we show that the performance varies greatly, depending on the Java Virtual Machine used (version and vendor) and the kind of computation performed

    HPC in Java: Experiences in Implementing the NAS Parallel Benchmarks

    Get PDF
    International audienceThis paper reports on the design, implementation and benchmarking of a Java version of the Nas Parallel Benchmarks. We first briefly describe the implementation and the performance pitfalls. We then compare the overall performance of the Fortran MPI (PGI) version with a Java implementation using the ProActive middleware for distribution. All Java experiments were conducted on virtual machines with different vendors and versions. We show that the performance varies with the type of computation but also with the Java Virtual Machine, no single one providing the best performance in all experiments. We also show that the performance of the Java version is close to the Fortran one on computational intensive benchmarks. However, on some communications intensive benchmarks, the Java version exhibits scalability issues, even when using a high performance socket implementation (JFS)

    HPC in Java: Experiences in Implementing the NAS Parallel Benchmarks

    Get PDF
    International audienceThis paper reports on the design, implementation and benchmarking of a Java version of the Nas Parallel Benchmarks. We first briefly describe the implementation and the performance pitfalls. We then compare the overall performance of the Fortran MPI (PGI) version with a Java implementation using the ProActive middleware for distribution. All Java experiments were conducted on virtual machines with different vendors and versions. We show that the performance varies with the type of computation but also with the Java Virtual Machine, no single one providing the best performance in all experiments. We also show that the performance of the Java version is close to the Fortran one on computational intensive benchmarks. However, on some communications intensive benchmarks, the Java version exhibits scalability issues, even when using a high performance socket implementation (JFS)

    Optimisation d'une architecture logicielle Ă  objets actifs (des processeurs multi-coeurs aux architectures multi-clouds)

    No full text
    Les processeurs modernes tendent à devenir massivement multi-coeurs, tandis que les clusters s ouvrent vers l Internet pour devenir des "Clouds". Ainsi, d ici à quelques années, nous par- lerons peut-être de Cloud Haute Performance. Cette ouverture rend les plateformes de calcul plus accessibles et induit un intérêt croissant pour les langages de programmation adaptés à ces architectures hybrides où l on rencontre aussi bien des espaces mémoire partagé que distribués. Cette thèse de doctorat s inscrit dans ce contexte et présente ainsi la conception, l implémentation et l évaluation de différentes solutions ayant pour but commun d optimiser l exécution d applications numériques haute performance sur ces environnements. Nous proposons un ensembles d extensions pour le modèle à objets actifs asynchrones com- municants ASP (Asynchronous Sequential Process), avec des constructions améliorant le développement et l exécution d applications. En particulier, ce travail explore le domaine des communications asynchrones entre activités, en étudiant les différentes propriétés de con- fluence et de déterminisme qui peuvent être assurées. Ainsi nous proposons plusieurs construc- tions de langage et approches plus générales au niveau de l intergiciel (middleware), s appuyant sur le comportement de l application pour en optimiser les communications. Une autre contribution de ce manuscrit consiste en une étude avancée des performances de Java ainsi que de l intergiciel ProActive, l implémentation du modèle ASP. Tout en se concentrant sur les applications dites "hautes performance", notre analyse montre comment utiliser les plateformes Java et ProActive pour rendre un programme plus efficace, en s appuyant sur différentes architectures, comme le suggère le sous-titre de cette thèse: "Des processeurs multi- coeurs aux architectures multi-clouds".Modern processors become massively multi-cores, and clusters become clouds. Within a few years, we may even speak about HPC as High Performance Clouds.This openness makes com- puting platforms more accessible and induces a increasing interest in programming languages adapted to these hybrid shared/distributed memory architectures. This PhD Thesis presents the design, implementation and evaluation of several solutions to optimize the execution of HPC numerical applications in such situation.We propose some extensions to the asynchronous communicating Active Objects model ASP (Asynchronous Sequential Process), with constructs that improve the execution of applica- tions. In particular, this work explores the era of asynchronous communications between activities, by studying the different properties that can be ensured. Thus, we proposes various language constructs or rather general middleware approaches based on the behavior of the program to optimize communications. Another contribution of this thesis consists in an advanced analysis of the performance of a middleware-based ASP model for high performance applications. This work is based on ProActive, a Java implementation of the model, which has been evaluated in a heterogeneous context characterized by the subtitle of this manuscript "from multi-cores to multi-clouds".NICE-BU Sciences (060882101) / SudocSudocFranceF

    ProActive: Using a Java Middleware for HPC Design, Implementation and Benchmarks

    No full text
    Abstract-Although Java is among the most used programming languages, its use for HPC applications is still marginal. This article reports on the design, implementation and benchmarking of a Java version of the NAS Parallel Benchmarks translated from their original Fortran / MPI implementation. We have based our version on ProActive, an open source middleware designed for parallel and distributed computing. This paper gives a description of the ProActive middleware principles, and how we have implemented the NAS Parallel Benchmark on such Java library. We Also gives some basic rules to write HPC code in Java. Finally, we have compared the overall performance between the legacy and the Java ProActive version. We show that the performance varies with the type of computation but also with the Java Virtual Machine, no single one providing the best performance in all experiments. We also show that the performance of the Java version is close to the Fortran one on computational intensive benchmarks. However, on some communications intensive benchmarks, the Java version exhibits scalability issues, even when using a high performance socket implementation (JFS)

    An efficient framework for running applications on clusters, grids, and clouds

    No full text
    International audienceSince the appearance of distributed computing technology, there has been a significant effort in designing and building the infrastructure needed to tackle the challenges raised by complex scientific applications that require massive computational resources. This increases the awareness to harness the power and flexibility of Clouds that have recently emerged as an alternative to data centers or private clusters. We describe in this chapter an efficient high-level Grid and Cloud framework that allows a smooth transition from clusters and Grids to Clouds. The main lever is the ability to move application infrastructure-specific information away from the code and manage them in a deployment file. An application can thus easily run on a cluster, a grid, or a cloud, or any mix of them without modification
    corecore