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

  1. WALLACE, RICHARD MICHAEL
unter der Leitung von:
  1. José Luis Vázquez Poletti Doktorvater
  2. Daniel Mozos Muñoz Doktorvater

Universität der Verteidigung: Universidad Complutense de Madrid

Fecha de defensa: 17 von Februar von 2016

Gericht:
  1. Rafael Aurelio Moreno Vozmediano Präsident
  2. Joaquin Recas Piorno Sekretär
  3. Rafael Mayo García Vocal
  4. Agustín C. Caminero Vocal
  5. María de los Santos Pérez Hernández Vocal
Fachbereiche:
  1. Arquitectura de Computadores y Automática

Art: Dissertation

Teseo: 121136 DIALNET

Zusammenfassung

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...