entorno para multitarea hardware en dispositivos reconfigurables 2014-02-06آ  entorno para...

Download Entorno para multitarea hardware en dispositivos reconfigurables 2014-02-06آ  Entorno para Multitarea

Post on 06-Apr-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • UNIVERSIDAD COMPLUTENSE DE MADRID

    FACULTAD DE INFORMÁTICA

    DEPARTAMENTO DE ARQUITECTURA DE COMPUTADORES Y AUTOMÁTICA

    TESIS DOCTORAL

     

    Entorno para multitarea hardware en dispositivos reconfigurables

    con gestión dinámica de particiones y complejidad constante

    MEMORIA PARA OPTAR AL GRADO DE DOCTOR

    PRESENTADA POR

    Sara Román Navarro

    Bajo la dirección de los doctores:

    Hortensia Mecha López, Daniel Mozos Muñoz y Julio Septién del Castillo

    Madrid, 2010

    ISBN: 978-84-693-3227-6

  • Entorno para multitarea hardware en dispositivos recon�gurables

    con gestión dinámica de particiones y complejidad constante

    Universidad Complutense de Madrid Departamento de Arquitectura de Computadores y Automática

    Sara Román Navarro 2009

  • Entorno para Multitarea Hardware en Dispositivos Recon�gurables

    con Gestión Dinámica de Particiones

    Memoria presentada por Sara Román Navarro pa- ra optar al grado de Doctora por la Universidad Complutense de Madrid. Trabajo realizado en el Departamento de Arquitectura de Computadores y Automática de la Facultad de Informática de la Universidad Complutense de Madrid bajo la direc- ción de los doctores Hortensia Mecha López, Da- niel Mozos Muñoz y Julio Septién del Castillo.

    Madrid Mayo 2009

  • A Román y Carmen A todos los Budas

  • Esta tesis ha sido posible gracias a la �nanciación de la Comisión Inter- ministerial de Ciencia y Tecnología, a través de los proyectos TIC2002-00160, TEC2005-04752 y TIN2006-03274

  • Todas las olas del mar deben la belleza de su per�l a las que precedieron y se retiraron

    André Gide

    Las cosas importantes no son cosas Anónimo

    No hay un camino que lleve a la felicidad: la felicidad ES el camino Buda Sakyamuni

  • Agradecimientos

    Ninguno estaríamos hoy donde estamos si no fuera por los que nos han precedido, como expresa André Gide de una forma tan bella. Es por esto que la lista de personas a las que agradecer el que se haya podido realizar este trabajo es, en realidad, in�nita ...

    Los más cercanos y evidentes, sin cuya valiosa existencia y ayuda no ten- dríamos hoy estas páginas en las manos, son mis directores de tesis : Horten, Daniel y Julio, que además fueron compañera y profesores en la carrera, res- pectivamente.

    Y otros que, no siendo tan evidentes, son sin embargo importantes, porque han ayudado con muchos pequeños detalles, engorrosos pero imprescindibles: a Marcos por su insuperable capacidad crítica y a Juan Carlos por su maestría con el LATEX y su generosidad con el tiempo.

    A todos mis compañeros de pasillo por su paciencia y cariño, especialmente a Guadalupe, compañera de despacho y de sincronías.

    Y a todos los de los pasillos de más allá, por orden geográ�co: Josele, Inma, Victoria, David, Javi, Jose Luis, Ángel, Miguel. A los compañeros de otros edi�cios: Silvia, Dani, Nacho, Manel. A los que ya no vemos por estos pasillos: Jose, Javi, Fredy. A todos ellos por los buenos ratos, los consejos y el

  • apoyo. También a mi padre y mi hermana María, por compartir conmigo su valiosa

    experiencia como doctores. Y a mi madre, por ser mi madre. A la hermana Jotika por ayudarme a ampliar la visión y poner las cosas en

    contexto en esos momentos en que la mente se cierne sobre un solo objeto de concentración y parece que no existiera nada más.

    A Ross Freeman, visionario inventor y con un precioso apellido. Y a la in�nita lista de todos lo seres, sin los cuales nos estaríamos ninguno

    aquí ahora.

    GRACIAS

  • Índice general

    1. Introducción 1

    1.1. Demandas actuales en computación . . . . . . . . . . . . . . . . 2 1.2. Dispositivos HW recon�gurables . . . . . . . . . . . . . . . . . . 4

    1.2.1. Grano �no vs. grano grueso . . . . . . . . . . . . . . . . 5 1.2.2. Evolución de las FPGAs . . . . . . . . . . . . . . . . . . 7 1.2.3. Diseño con FPGAs . . . . . . . . . . . . . . . . . . . . . 15

    1.3. Ventajas e inconvenientes de las FPGAs . . . . . . . . . . . . . 17 1.3.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.2. Inconvenientes . . . . . . . . . . . . . . . . . . . . . . . . 19

    1.4. Extensión del Sistema Operativo . . . . . . . . . . . . . . . . . 21 1.5. Objetivos de este trabajo . . . . . . . . . . . . . . . . . . . . . . 25

    2. Estado del arte 29

    2.1. Algoritmos complejos, avariciosos en uso de área . . . . . . . . . 31 2.1.1. Trabajo de O. Diessel . . . . . . . . . . . . . . . . . . . . 31 2.1.2. Trabajo de K.Bazargan . . . . . . . . . . . . . . . . . . . 34 2.1.3. Trabajo de H. Walder (I) . . . . . . . . . . . . . . . . . . 36 2.1.4. Trabajo de A. Ahmadinia . . . . . . . . . . . . . . . . . 38

    i

  • ÍNDICE GENERAL

    2.1.5. Trabajo de J. Tabero . . . . . . . . . . . . . . . . . . . . 42 2.1.6. Trabajo de H. Kalte . . . . . . . . . . . . . . . . . . . . 44 2.1.7. Trabajo de M. Handa . . . . . . . . . . . . . . . . . . . 46 2.1.8. Conclusiones: algoritmos complejos . . . . . . . . . . . . 48

    2.2. Algoritmos sencillos . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.2.1. Trabajo de P. Merino . . . . . . . . . . . . . . . . . . . . 49 2.2.2. Trabajo de H. Walder (II) . . . . . . . . . . . . . . . . . 50 2.2.3. Conclusiones: algoritmos sencillos . . . . . . . . . . . . . 53

    3. Arquitectura del sistema y algoritmo básico 55

    3.1. Arquitectura global del sistema . . . . . . . . . . . . . . . . . . 55 3.2. Modelo de FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.3. Modelo de tarea . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4. Esquema del plani�cador . . . . . . . . . . . . . . . . . . . . . . 62 3.5. Algoritmo para asignación de espacio . . . . . . . . . . . . . . . 64 3.6. Ejemplo de funcionamiento . . . . . . . . . . . . . . . . . . . . . 69 3.7. Fusión de particiones . . . . . . . . . . . . . . . . . . . . . . . . 77

    3.7.1. Descripción de la fusión de particiones . . . . . . . . . . 79 3.7.2. Ejemplo de fusión de particiones . . . . . . . . . . . . . . 79 3.7.3. Implementación de la fusión de particiones . . . . . . . 81

    3.8. Algoritmo con fusión de particiones . . . . . . . . . . . . . . . . 82 3.9. Comparación de resultados con y sin fusión . . . . . . . . . . . . 85

    4. Gestión basada en particiones con adaptación dinámica 87

    4.1. Análisis del problema para una FPGA sin particiones . . . . . . 89 4.1.1. Carga de trabajo ideal . . . . . . . . . . . . . . . . . . . 89

    ii

  • ÍNDICE GENERAL

    4.1.2. Frecuencia ideal de llegada de tareas . . . . . . . . . . . 93 4.1.3. Carga de trabajo real. De�nición del parámetro α . . . . 95 4.1.4. Ejemplo de variaciones de la carga de trabajo . . . . . . 97 4.1.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . 98

    4.2. Análisis del problema para una FPGA con particiones . . . . . . 99 4.2.1. Distribución de particiones ideal. Parámetro Dp . . . . . 99 4.2.2. Distribución de particiones no adecuada . . . . . . . . . 102

    4.3. Cambio dinámico del número de particiones . . . . . . . . . . . 102 4.4. Estimación del número de particiones adecuado a una carga de

    trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.4.1. Caracterización de la carga de trabajo . . . . . . . . . . 106

    4.4.1.1. Campana de Gauss . . . . . . . . . . . . . . . . 107 4.4.1.2. Distribución de la carga de trabajo en el espa-

    cio: parámetros β, δ y γ . . . . . . . . . . . . . 110 4.4.1.3. Número de particiones ideal para cada tipo de

    distribución . . . . . . . . . . . . . . . . . . . . 113 4.4.1.4. Veri�cación con resultados experimentales . . . 118

    4.4.2. Forma y tamaño de las distintas distribuciones en parti- ciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    4.4.3. Resultados experimentales . . . . . . . . . . . . . . . . . 124 4.4.3.1. Ejecución de lotes de tareas medianas y grandes 124 4.4.3.2. Ejecución de tareas fundamentalmente pequeñas126

    4.5. Observación del sistema en tiempo real . . . . . . . . . . . . . . 128 4.5.1. Variación de Dp en tiempo real . . . . . . . . . . . . . . 128 4.5.2. Ejemplo de variación de Dp en tiempo real . . . . . . . . 129

    iii

  • ÍNDICE GENERAL

    4.5.3. Valores críticos de Dp . . . . . . . . . . . . . . . . . . . . 134 4.5.4. Ventana de observación del sistema . . . . . . . . . . . . 139

    4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

    5. Implementación de la Adaptación Dinámica 153

    5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.2. De�nición de parámetros . . . . . . . . . . . . . . . . . . . . . . 154

    5.2.1. Cambio de particiones . . . . . . . . . . . . . . . . . . . 156 5.2.2. Posiciones de las bus macros . . . . . . . . . . . . . . . . 157 5.2.3. Implementación del cambio gradual . . . . . . . . . . . . 160

    5.3. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 5.4. Algoritmo de la UAD . . . . . . . . . . . . . . . . . . . . . . . . 172

    6. Resultados experimentales 175

    6.1. Experimentos con el algoritmo básico 4P . . . . . . . . . . . . . 176 6.1.1. Benchmark arti�ciales . . . . . . . . . . . . . . . . . . . 177

    6

Recommended

View more >