Back to Search Start Over

Optimización de la ejecución de aplicaciones en entornos heterogeneos de computación de altas prestaciones

Authors :
Vázquez-Poletti, José Luis
Mozos Muñoz, Daniel
Wallace, Richard Michael
Vázquez-Poletti, José Luis
Mozos Muñoz, Daniel
Wallace, Richard Michael
Publication Year :
2017

Abstract

Los sistemas de computaci on de altas prestaciones se componen de una simple m aquina, de un cl uster o de recursos cloud que requieren una reescritura total del c odigo para tratar estos entornos como una plataforma de computaci on homog enea, incluso cuando estos sistemas est an compuestos t picamente de elementos de computaci on heterog eneos. Estos sistemas agregados dependen de un software de gesti on cuidadosamente controlado, complejo y distribuido, o de unidades de control hardware. El desarrollo de sistemas para la computaci on de altas prestaciones nos muestra que la diferencia entre hardware y software es bastante difusa. El incremento de la demanda de prestaciones va acompa~nado de una creciente necesidad de explotar todos los elementos de computaci on que son CPUs, GPUs, as como otros sistemas multicore en chip. Los sistemas de computaci on m as populares est an basados en procesadores multicore con coherencia en la cache. Las herramientas convencionales usadas para el software concurrente y paralelo para dichos sistemas multicore est an basados en abstracciones de bloqueo y monitorizaci on, desarrolladas para dise~nar sistemas operativos, no siendo adecuadas para los desarrolladores de aplicaciones paralelas. En vez de componer varios elementos que asemejan a CPUs est andar, una mejor estrategia desde el punto de vista de la latencia y el consumo de energ a, ser a usar una colecci on variada de elementos de proceso optimizados para realizar diferentes tipos de c alculos y comunicaci on. Estos sistemas combinados son conocidos como arquitecturas de sistemas heterog eneos. Los desarrolladores se apoyan en pragmas de nidos por el lenguaje de programaci on, librer as de comunicaci on entre procesos, directivas de compilaci on, y directivas de carga-enlazado para controlar la ejecuci on de programas en el procesador apropiado, mediante unos ciclos de optimizaci on que permiten reducir la latencia...<br />High performance computing systems are constructed from single system, cluster, or cloud resources that require writing software to treat these resources as a homogeneous compute platform although these systems are typically composed of heterogeneous computing elements. These aggregated systems depend on carefully controlled, complex, distributed management software or hardware control units. System development for high performing computing systems shows that the distinction between hardware and software is blurred. With increasing performance expectations there is an increasing need to exploit all computing elements (CE) that are CPUs, GPUs, and other multicore systems on chip (SoC). Mainstream computing architectures are based on cache-coherent multicore processors and conventional tools used for concurrent and parallel software for such multicore systems are largely based on lock and monitor abstractions developed for writing operating systems, which are not the right tools for parallel application developers. Rather than composing many elements that look like regular CPUs, a better approach, from a latency and energy-consumption perspective, is to use a diverse collection of processing elements working in concert and \tuned" to perform di erent types of computation and communication. These combined systems are produced as heterogeneous system architectures (HSA). As such, developers rely on source language pragmas, inter-process communication libraries, compiler directives, and link-loader directives to control programs executed on the appropriate computational processor performing empirical, manual tuning cycles for system for latency reduction...

Details

Database :
OAIster
Notes :
Spanish
Publication Type :
Electronic Resource
Accession number :
edsoai.on1399964116
Document Type :
Electronic Resource