Persona:
Moreno Álvarez, Sergio

Cargando...
Foto de perfil
Dirección de correo electrónico
ORCID
0000-0002-1858-9920
Fecha de nacimiento
Proyectos de investigación
Unidades organizativas
Puesto de trabajo
Apellidos
Moreno Álvarez
Nombre de pila
Sergio
Nombre

Resultados de la búsqueda

Mostrando 1 - 6 de 6
  • Publicación
    Analytical Communication Performance Models as a metric in the partitioning of data-parallel kernels on heterogeneous platforms
    (Springer, 2019) Rico Gallego, Juan Antonio; Díaz Martín, Juan Carlos; Calvo Jurado, Carmen; Moreno Álvarez, Sergio; García Zapata, Juan Luis; https://orcid.org/0000-0002-4264-7473; https://orcid.org/0000-0002-8435-3844; https://orcid.org/0000-0001-9842-081X; https://orcid.org/0000-0003-1419-1672
    Data partitioning on heterogeneous HPC platforms is formulated as an optimization problem. The algorithm departs from the communication performance models of the processes representing their speeds and outputs a data tiling that minimizes the communication cost. Traditionally, communication volume is the metric used to guide the partitioning, but such metric is unable to capture the complexities introduced by uneven communication channels and the variety of patterns in the kernel communications. We discuss Analytical Communication Performance Models as a new metric in partitioning algorithms. They have not been considered in the past because of two reasons: prediction inaccuracy and lack of tools to automatically build and solve kernel communication formal expressions. We show how communication performance models fit the specific kernel and platform, and we present results that equal or even improve previous volume-based strategies.
  • Publicación
    Evaluación de Rendimiento del Entrenamiento Distribuido de Redes Neuronales Profundas en Plataformas Heterogéneas
    (Universidad de Extremadura, 2019) Moreno Álvarez, Sergio; Paoletti, Mercedes Eugenia; Haut, Juan Mario; Rico Gallego, Juan Antonio; Plaza, Javier; Díaz Martín, Juan Carlos; Vega Rodriguez, Miguel ángel; Plaza Miguel, Antonio J.; https://orcid.org/0000-0003-1030-3729; https://orcid.org/0000-0001-6701-961X; https://orcid.org/0000-0002-4264-7473; https://orcid.org/0000-0002-8908-1606; https://orcid.org/0000-0002-8435-3844
    Asynchronous stochastic gradient descent es una tecnica de optimizacion comunmente utilizada en el entrenamiento distribuido de redes neuronales profundas. En distribuciones basadas en particionamiento de datos, se entrena una replica del modelo en cada unidad de procesamiento de la plataforma, utilizando conjuntos de muestras denominados mini-batches. Este es un proceso iterativo en el que al nal de cada mini-batch, las replicas combinan los gradientes calculados para actualizar su copia local de los parametros. Sin embargo, al utilizar asincronismo, las diferencias en el tiempo de entrenamiento por iteracion entre replicas provocan la aparicion del staleness, esto es, las replicas progresan a diferente velocidad y en el entrenamiento de cada replica se utiliza una vers on no actualizada de los parametros. Un alto gradde staleness tiene un impacto negativo en la precision del modelo resultante. Ademas, las plataformas de computacion de alto rendimiento suelen ser heterogeneas, compuestas por CPUs y GPUs de diferentes capacidades, lo que agrava el problema de staleness. En este trabajo, se propone aplicar t ecnicas de equilibrio de carga computacional, bien conocidas en el campo de la Computaci on de Altas Prestaciones, al entrenamiento distribuido de modelos profundos. A cada r eplica se asignar a un n umero de mini-batches en proporci on a su velocidad relativa. Los resultados experimentales obtenidos en una plataforma hete-rog enea muestran que, si bien la precisi on se mantiene constante, el rendimiento del entrenamiento aumenta considerablemente, o desde otro punto de vista, en el mismo tiempo de entrenamiento, se alcanza una mayor precisi on en las estimaciones del modelo. Discutimos las causas de tal incremento en el rendimiento y proponemos los pr oximos pasos para futuras investigaciones.
  • Publicación
    Estimación Automática del Coste de Comunicación de Aplicaciones Paralelas en Plataformas Heterogéneas
    (Universidad Extremadura, 2018) Moreno Álvarez, Sergio; Rico Gallego, Juan A.; Díaz Martín, Juan Carlos; https://orcid.org/0000-0002-4264-7473; https://orcid.org/0000-0002-8435-3844
    Optimizar el tiempo de ejecución de aplicaciones paralelas en plataformas heterogéneas de altas prestaciones es un problema complejo. Estas aplicaciones cient´ıficas normalmente se componen de kernels que implementan algoritmos como la multiplicación de matrices, ecuaciones en derivadas parciales o Transformadas de Fourier. Los kernels son ejecutados por los procesos desplegados en los diferentes recursos de cómputo de una plataforma, por ejemplo, en procesadores multi-core o aceleradores (GPUs, Xeon PHIs, etc.). El volumen de datos del kernel se distribuye entre los procesos de forma proporcional a su capacidad de cómputo, de forma que se equilibra la carga computacional global. Este equilibrado de carga no homogéneo tiene un impacto importante en el coste de las comunicaciones. La optimización del coste de las comunicaciones de éstas aplicaciones se aborda habitualmente mediante pruebas exhaustivas en la plataforma destino. Sin embargo, estas pruebas consumen recursos y tiempo, y a menudo se basan en la extrapolación de los resultados obtenidos con la ejecución de una versión reducida de la aplicación en la plataforma. Los Modelos Anal´ıticos de Rendimiento de Comunicaciones ofrecen una alternativa factible y prometedora en este sentido. Estos modelos representan el coste de las comunicaciones de un kernel en una plataforma heterogénea, ofreciendo una estimación precisa de su tiempo de comunicación de forma no invasiva, esto es, sin utilizar recursos de cómputo HPC en la estimación. Este trabajo contribuye ofreciendo una herramienta de estimación que permite representar y evaluar expresiones de coste de comunicaciones que siguen el modelo t- Lop. Adem´as, permite incluir el c´alculo de coste de las comunicaciones de forma autom´atica en algoritmos de particionamiento y optimización de comunicaciones. En este documento se proporcionan ejemplos tanto de uso b´asico como avanzado. Se incluyen tres casos de ejemplo de modelado de comunicaciones en kernels representativos utilizando la herramienta: la solución de una ecuación diferencial utilizando la técnica de elementos finitos, un algoritmo paralelo de multiplicación de matrices densas, y una simulación N-Body. Estos kernels utilizan diferentes patrones de comunicación y particionamiento del espacio de datos.
  • Publicación
    Performance evaluation of model-driven partitioning algorithms for data-parallel kernels on heterogeneous platforms
    (Wiley, 2019) Rico Gallego, Juan Antonio; Díaz Martín, Juan Carlos; Moreno Álvarez, Sergio; Calvo Jurado, Carmen; García Zapata, Juan Luis; https://orcid.org/0000-0002-4264-7473; https://orcid.org/0000-0002-8435-3844; https://orcid.org/0000-0001-9842-081X; https://orcid.org/0000-0003-1419-1672
    Data- parallel applications running on heterogeneous high-performance computing platforms require a nonuniform distribution of the workload between available processes. Data partitioning algorithms are formulated as an optimization problem. Departing from the computational performance models of the processes, the goal is to find the partition that minimizes the communication cost. Traditionally, communication volume is the metric used to guide the partitioning. This metric, however, is unable to capture the complexity of current heterogeneous systems, which show uneven communication channels and execute applications with different communication patterns. In this paper, we discuss the role of analytical communication performance models as a metric in partitioning algorithms. First, we describe a method to programmatically predict the communication cost of a data-parallel kernel based on the τ-Lop analytical model. We show that this figure better captures the communication features of applications and platforms. We present results showing that this approach builds partitions that equal or improve the performance of data parallel applications on heterogeneous platforms with respect to previous volume-based strategies.
  • Publicación
    Training deep neural networks: a static load balancing approach
    (Springer, 2020-03-02) Moreno Álvarez, Sergio; Haut, Juan Mario; Paoletti, Mercedes Eugenia; Rico Gallego, Juan Antonio; Díaz Martín, Juan Carlos; Plaza, Javier; https://orcid.org/0000-0003-1030-3729; https://orcid.org/0000-0002-4264-7473; https://orcid.org/0000-0002-8435-3844; https://orcid.org/0000-0002-8908-1606
    Deep neural networks are currently trained under data-parallel setups on high-performance computing (HPC) platforms, so that a replica of the full model is charged to each computational resource using non-overlapped subsets known as batches. Replicas combine the computed gradients to update their local copies at the end of each batch. However, differences in performance of resources assigned to replicas in current heterogeneous platforms induce waiting times when synchronously combining gradients, leading to an overall performance degradation. Albeit asynchronous communication of gradients has been proposed as an alternative, it suffers from the so-called staleness problem. This is due to the fact that the training in each replica is computed using a stale version of the parameters, which negatively impacts the accuracy of the resulting model. In this work, we study the application of well-known HPC static load balancing techniques to the distributed training of deep models. Our approach is assigning a different batch size to each replica, proportional to its relative computing capacity, hence minimizing the staleness problem. Our experimental results (obtained in the context of a remotely sensed hyperspectral image processing application) show that, while the classification accuracy is kept constant, the training time substantially decreases with respect to unbalanced training. This is illustrated using heterogeneous computing platforms, made up of CPUs and GPUs with different performance.
  • Publicación
    A tool to assess the communication cost of parallel kernels on heterogeneous platforms
    (Springer, 2020) Rico Gallego, Juan Antonio; Moreno Álvarez, Sergio; Díaz Martín, Juan Carlos; Lastovetsky, Alexey L.; https://orcid.org/0000-0002-4264-7473; https://orcid.org/0000-0002-8435-3844; https://orcid.org/0000-0001-9460-3897
    Ensuring applications to achieve an efficient usage of resources and fast execution time in the complex current heterogeneous high-performance computing platforms is a paramount problem. Essential efforts to reach the goal are the optimal partitioning of the data space between the processes composing a typical task/data-parallel application, and their right mapping and deployment on the platform. The computational and communication performance modeling describing the platform and the application behaviors is an increasingly recognized approach. This paper discusses the utility of the τ–Lop analytic communication performance model in facing these issues and contributes with a practical symbolic computation tool that represents, manipulates and accurately evaluates the formal communication cost expression derived from a hybrid kernel. We identify a set of scenarios where the tool could be applied, provide with both basic and advanced use examples and evaluate the tool on real-life kernels.