17 research outputs found

    A Practical Implementation of Parallel Ordered Maps and Sets with just Join

    Get PDF

    Developments in ROOT I/O and trees

    Full text link
    For the last several months the main focus of development in the ROOT I/O package has been code consolidation and performance improvements. Access to remote files is affected both by bandwidth and latency. We introduced a pre-fetch mechanism to minimize the number of transactions between client and server and hence reducing the effect of latency. We will review the implementation and how well it works in different conditions (gain of an order of magnitude for remote file access). We will also review new utilities, including a faster implementation of TTree cloning (gain of an order of magnitude), a generic mechanism for object references, and a new entry list mechanism tuned both for small and large number of selections. In addition to reducing the coupling with the core module and becoming its owns library (libRIO) (as part of the general restructuration of the ROOT libraries), the I/O package has been enhanced in the area of XML and SQL support, thread safety, schema evolution, TTreeFormula, and many other areas. We will also discuss various ways, ROOT will be able to benefit from multi-core architecture to improve I/O performances

    Revisiting Actor Programming in C++

    Full text link
    The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction makes it appealing for concurrent applications in parallel and distributed systems. However, designing a real-world actor framework that subsumes full scalability, strong reliability, and high resource efficiency requires many conceptual and algorithmic additives to the original model. In this paper, we report on designing and building CAF, the "C++ Actor Framework". CAF targets at providing a concurrent and distributed native environment for scaling up to very large, high-performance applications, and equally well down to small constrained systems. We present the key specifications and design concepts---in particular a message-transparent architecture, type-safe message interfaces, and pattern matching facilities---that make native actors a viable approach for many robust, elastic, and highly distributed developments. We demonstrate the feasibility of CAF in three scenarios: first for elastic, upscaling environments, second for including heterogeneous hardware like GPGPUs, and third for distributed runtime systems. Extensive performance evaluations indicate ideal runtime behaviour for up to 64 cores at very low memory footprint, or in the presence of GPUs. In these tests, CAF continuously outperforms the competing actor environments Erlang, Charm++, SalsaLite, Scala, ActorFoundry, and even the OpenMPI.Comment: 33 page

    Easing parallel programming on heterogeneous systems

    Get PDF
    El modo más frecuente de resolver aplicaciones de HPC (High performance Computing) en tiempos de ejecución razonables y de una forma escalable es mediante el uso de sistemas de cómputo paralelo. La tendencia actual en los sistemas de HPC es la inclusión en la misma máquina de ejecución de varios dispositivos de cómputo, de diferente tipo y arquitectura. Sin embargo, su uso impone al programador retos específicos. Un programador debe ser experto en las herramientas y abstracciones existentes para memoria distribuida, los modelos de programación para sistemas de memoria compartida, y los modelos de programación específicos para para cada tipo de co-procesador, con el fin de crear programas híbridos que puedan explotar eficientemente todas las capacidades de la máquina. Actualmente, todos estos problemas deben ser resueltos por el programador, haciendo así la programación de una máquina heterogénea un auténtico reto. Esta Tesis trata varios de los problemas principales relacionados con la programación en paralelo de los sistemas altamente heterogéneos y distribuidos. En ella se realizan propuestas que resuelven problemas que van desde la creación de códigos portables entre diferentes tipos de dispositivos, aceleradores, y arquitecturas, consiguiendo a su vez máxima eficiencia, hasta los problemas que aparecen en los sistemas de memoria distribuida relacionados con las comunicaciones y la partición de estructuras de datosDepartamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)Doctorado en Informátic

    Computational Fluid Dynamics in Unconsolidated Sediments: Model Generation and Discrete Flow Simulations

    Get PDF
    Numerical solutions of the Navier-Stokes Equations became more popular in recent decades with increasingly accessible and powerful computational resources. Simulations in reconstructed or artificial pore geometries are often performed to gain insight into microscopic fluid flow structures or are used for upscaling quantities of interest, like hydraulic conductivity. A physically adequate representation of pore-scale flow fields requires analysis of large domains. We solve the incompressible NSE in artificial ordered and random pore-space structures. A simple cubic and face-centred packings of spheres placed in a square duct are analysed. For the fluid flow simulations of random media, packings of spheres, icosahedra, and cubes forming unconsolidated sediments are generated using a rigid body simulation software. The Direct Numerical Simulation method is used for the solution of the NSE implemented in the open-source computational fluid dynamics software OpenFOAM. The influence of the number of spheres in ordered packings, the mesh type, and the mesh resolution is investigated for fluid flow up to Reynolds numbers of 100 based on the spheres' diameter. The random media mesh generation method relies on approximate surface reconstruction. The resulting tetrahedral meshes are then used for steady-state simulations and refined based on an a-posteriori error estimator. The fluid flow simulation results can further be used twofold: 1) They provide homogenized hydro-mechanical properties of the analysed medium for the larger meso and macro groundwater flow simulations. A concept of one-way binding for large-scale simulations is presented. 2) Visualisation: A post-processing image rendering technique was employed in interactive and still image visualisation environments allowing better overview over local fluid flow structures. The ogs FEM code for the solution of large-scale groundwater processes was inspected for computational efficiency. The conclusions drawn from this analysis formed the~basis for the implementation of the~new version of the code---ogs6. The improvements include comparison of linear algebra software realisations and an implementation of optimized memory access patterns in FEM-local assembler part
    corecore