17 research outputs found
Developments in ROOT I/O and trees
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++
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
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
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