Uso de Contadores Hardware para a mellora do rendemento da memoria: Códigos irregulares e migración de páxinas

Uso de Contadores Hardware para a mellora do rendemento da memoria: Códigos irregulares e migración de páxinas

Descrición

O obxectivo deste proxecto é lograr un emprego eficaz dos contadores hardware integrados nos procesadores, para mellorar o rendemento dos accesos a memoria en tempo de execución. Seleccionamos dous contextos nos que esta idea pode ser especialmente relevante: a execución eficiente de códigos irregulares e as migracións de páxinas para mellorar a execución de códigos paralelos. Aínda que se trata de escenarios que en principio non están relacionados, na nosa proposta exponse aplicar ao problema das migracións de páxinas as mesmas técnicas empregadas para incrementar a localidade dos accesos irregulares.

Obxectivos

Os obxectivos principais para acadar os beneficios mencionados previamente son os seguintes:

  1. Validar o uso de contadores hardware como unha fonte de información para guiar a optimización de códigos irregulares secuenciais e paralelos. Isto implica o establecemento de procedementos para conseguir, almacenar e manexar a información obtida dos contadores hardware. Ademais, precísase especificar os mecanismos para seleccionar arrays irregulares e os punteiros para os que se intentará optimizar o acceso. Por outra banda, debe considerarse a influenza da naturecia estatística do acceso aos contadores hardware para todas as fases do proxecto.
  2. Caracterizar a localidade (entre pares de referencias a memoria) e a afinidade (entre referencias a memoria e procesos) dos accesos irregulares a través de modelos obtidos a partir da información proporcionada polos contadores hardware. Esta información obterase a nivel de liñas cache. Os modelos para caracterizar a localidade e a afinidade basearanse na localidade temporal, na localidade espacial e na latencia do acceso. A maiores, considerarase o desenvolvemento de modelos baseados en páxinas de memoria, co obxectivo de considerar o problema da migración de páxinas.
  3. Desenvolver estratexias para optimizar os diferentes problemas de rendemento baseados en técnicas pertencentes á teoría de grafos, a clusterización, as heurísticas xenéticas, etc. Deste xeito, o problema de optimización pode reinterpretarse como un problema de maximización da localidade e a afinidade. Para manexar este problema empregaranse as técnicas mencionadas para a definición de modelos suscitadas no obxectivo 2. Os problemas que se considerarán son:
    • Reordenar os accesos para optimizar a localidade (para un proceso) e/ou a afinidade (para certo número de procesos e fíos do código paralelo).
    • A migración de páxinas de códigos paralelos.
  4. Adaptar o modelo ao comportamento da xerarquía de memoria da arquitectura do FinisTerrae en tempo de compilación. Nunha primeira fase propoñemos mellorar a integración do modelo nun compilador da infraestrutura, tal como gcc, para mellorar a súa usabilidade. Como un segundo paso, o modelo adaptarase á arquitectura dos procesadores do supercomputador FinisTerrae. Esta tarefa englobará o modelado de novas situacións complexas non consideradas ata agora, tales como a interacción entre diferentes fíos das cachés compartidas.

Investigadores

Detalles

Data de execución:01/05/2008 - 30/04/2011
Consorcio
  • Hewlett-Packard (líder)
  • CESGA
  • Grupo de Arquitectura de Computadores, Universidade da Coruña
  • CiTIUS
Contratado por: Hewlett-Packard
23.jpg

Programas científicos