4 research outputs found
On the Scalability of Data Reduction Techniques in Current and Upcoming HPC Systems from an Application Perspective
We implement and benchmark parallel I/O methods for the fully-manycore driven
particle-in-cell code PIConGPU. Identifying throughput and overall I/O size as
a major challenge for applications on today's and future HPC systems, we
present a scaling law characterizing performance bottlenecks in
state-of-the-art approaches for data reduction. Consequently, we propose,
implement and verify multi-threaded data-transformations for the I/O library
ADIOS as a feasible way to trade underutilized host-side compute potential on
heterogeneous systems for reduced I/O latency.Comment: 15 pages, 5 figures, accepted for DRBSD-1 in conjunction with ISC'1
MPI-Vector-IO: Parallel I/O and Partitioning for Geospatial Vector Data
In recent times, geospatial datasets are growing in terms of size, complexity and heterogeneity. High performance systems are needed to analyze such data to produce actionable insights in an efficient manner. For polygonal a.k.a vector datasets, operations such as I/O, data partitioning, communication, and load balancing becomes challenging in a cluster environment. In this work, we present MPI-Vector-IO 1 , a parallel I/O library that we have designed using MPI-IO specifically for partitioning and reading irregular vector data formats such as Well Known Text. It makes MPI aware of spatial data, spatial primitives and provides support for spatial data types embedded within collective computation and communication using MPI message-passing library. These abstractions along with parallel I/O support are useful for parallel Geographic Information System (GIS) application development on HPC platforms
Adaptive Request Scheduling for the I/O Forwarding Layer using Reinforcement Learning
International audienceI/O optimization techniques such as request scheduling can improve performance mainly for the access patterns they target, or they depend on the precise tune of parameters. In this paper, we propose an approach to adapt the I/O forwarding layer of HPC systems to the application access patterns by tuning a request scheduler. Our case study is the TWINS scheduling algorithm, where performance improvements depend on the timewindow parameter, which depends on the current workload. Our approach uses a reinforcement learning technique – contextual bandits – to make the system capable of learning the best parameter value to each access pattern during its execution, without a previous training phase. We evaluate our proposal and demonstrate it can achieve a precision of 88% on the parameter selection in the first hundreds of observations of an access pattern. After having observed an access pattern for a few minutes (not necessarily contiguously), we demonstrate that the system will be able to optimize its performance for the rest of the life of the system (years)
Optimización de la Entrada Salida mediante librerÃas y lenguajes paralelos
Uno de los grandes retos de la HPC (High Performance Computing) consiste en
optimizar el subsistema de Entrada/Salida, (E/S), o I/O (Input/Output). Ken
Batcher resume este hecho en la siguiente frase: "Un supercomputador es un
dispositivo que convierte los problemas limitados por la potencia de cálculo en
problemas limitados por la E/S" ("A Supercomputer is a device for turning compute-bound
problems into I/O-bound problems") . En otras palabras, el cuello de botella ya no
reside tanto en el procesamiento de los datos como en la disponibilidad de los
mismos. Además, este problema se exacerbará con la llegada del Exascale y la
popularización de las aplicaciones Big Data.
En este contexto, esta tesis contribuye a mejorar el rendimiento y la facilidad
de uso del subsistema de E/S de los sistemas de supercomputación.
Principalmente se proponen dos contribuciones al respecto: i) una interfaz de
E/S desarrollada para el lenguaje Chapel que mejora la productividad del
programador a la hora de codificar las operaciones de E/S; y ii) una
implementación optimizada del almacenamiento de datos de secuencias genéticas.
Con más detalle, la primera contribución estudia y analiza distintas
optimizaciones de la E/S en Chapel, al tiempo que provee a los usuarios de una
interfaz simple para el acceso paralelo y distribuido a los datos contenidos en
ficheros. Por tanto, contribuimos tanto a aumentar la productividad de los
desarrolladores, como a que la implementación sea lo más óptima posible.
La segunda contribución también se enmarca dentro de los problemas de E/S, pero
en este caso se centra en mejorar el almacenamiento de los datos de secuencias
genéticas, incluyendo su compresión, y en permitir un uso eficiente de esos
datos por parte de las aplicaciones existentes, permitiendo una recuperación
eficiente tanto de forma secuencial como aleatoria. Adicionalmente, proponemos
una implementación paralela basada en Chapel