Persona: Moreno Álvarez, Sergio
Cargando...
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
4 resultados
Resultados de la búsqueda
Mostrando 1 - 4 de 4
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-1672Data 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-3844Asynchronous 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-3844Optimizar 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-1672Data- 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.