You are on page 1of 32

CAPÍTULO 1

DEFINICIÓN DE HARDWARE EVOLUTIVO

UNIVERSIDAD CATÓLICA DE CÓRDOBA


Año 2013 FACULTAD DE INGENIERÍA
Hardware Evolutivo:
CONCEPTOS GENERALES

Definición
Hardware que puede cambiar su arquitectura y
comportamiento de manera dinámica y autónoma
mediante la interacción con su entorno.

Características
 Habilidad de adaptación.
 Inspirado en los principios de la Naturaleza.

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
CONCEPTOS GENERALES
Combinación de RHW y EA
Hardware Reconfigurable Algoritmos Evolutivos
(RHW) (EA)

Hardware Evolutivo
(EHW)

Adaptación

 RWH: posibilita la adaptación mediante la


reprogramación de los circuitos implementados en el
mismo.
 EA: dirige la adaptación mediante un proceso evolutivo
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
CONCEPTOS GENERALES
l
Ejemplo de aplicación sobre un único circuito inicial
bits de configuración bits de configuración
Algoritmo Proceso
Evolutivo Evolutivo

representa representa

Evolución
Hardware
Reconfigurable

Circuito inicial Circuito evolucionado

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ENFOQUES
1. Hardware evolutivo orientado al diseño: permite la
generación automática (mediante un EA) de diseños
originales de hardware. El EA busca entre todos los
circuitos posibles aquellos que satisfacen las
especificaciones impuestas

Ampliación del rango de alternativas explorado.


No se requieren conocimientos previos de un
Ventajas dominio de diseño particular.
Alternativa más económica (menor cantidad de
diseñadores).
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ENFOQUES
2. Hardware adaptivo: Se refiere a dotar al
hardware de la capacidad de poder reconfigurarse
para continuar funcionando correctamente en un
entorno cambiante, sin intervención humana directa.

Cambios en el entorno:
2.1. Variaciones en requerimientos funcionales:
=> Hardware adaptivo respecto a cambios en el
ambiente externo

Contribucio-
2.2. Mantenimiento de la funcionalidad bajo la presencia
nes de esta de fallas:
Tesis: => Tolerancia a fallas adaptiva
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE ADAPTIVO
2.1. Hardware adaptivo respecto a cambios en el
ambiente externo
Adaptación ante cambios en el entorno que provocan
que el sistema deba alterar algunas de sus funciones
para responder adecuadamente a dichas variaciones.

 Mecanismo sensor para detectar las alteraciones del


entorno.
 Área clásica de aplicación: robótica (la navegación de
robots es una tarea que implica la adaptación constante
de éstos al entorno en el que se encuentran.

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE ADAPTIVO

2.2. Tolerancia a fallas adaptiva


La adaptación ante la presencia de fallas implica la
reconfiguración del sistema, mediante:
 Alteración de la topología del circuito, y/o
 Variación de los valores de los componentes.

Carácterísticas:
 Alternativa ante los esquemas de tolerancia a
fallas tradicionales.
 Requiere de una estrategia de test.
 RHW: permite la corrección en tiempo de ejecución.

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
TOLERANCIA A FALLAS ADAPTIVA

Proceso de adaptación

Especificaciones

Respuesta
objetivo
Verificar existencia
de fallas
Estrategia de
RHW
Test
Iniciar Proceso
de Adaptación
Configuración
(si hay fallas)
del circuito
solución
EA

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
EVALUACIÓN EXTRÍNSECA E INTRÍNSECA
 Evaluación extrínseca: Cada circuito generado por el EA es
simulado en software mediante un modelo de simulación.
Solamente la mejor configuración (circuito solución) es
implementada en el RHW, por lo cual el mismo es
reconfigurado sólo al final de la evolución.
Proceso evolutivo simulado
Modelos de
circuitos generados

EA Simulador
Respuesta simulada de Aplicación:
circuitos
Configuración EHW orientado al
del circuito
solución diseño
objetivo

RHW

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
EVALUACIÓN EXTRÍNSECA E INTRÍNSECA
 Evaluación intrínseca: Cada circuito generado por el EA es
programado en el RHW. La evaluación es efectuada
directamente en el hardware, lo cual implica que el mismo es
reconfigurado repetidas veces hasta encontrar una
configuración de circuito apropiada.

EA
Proceso evolutivo
Aplicación:
Proc
Respuesta Configuraciones Configuración del Hardware Adaptivo:
de circuitos de circuitos
generados
Circuito Solución Tolerancia a fallas
adaptiva
RHW

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
EVALUACIÓN EXTRÍNSECA E INTRÍNSECA

Ventajas de la evaluación intrínseca

 Es posible evaluar de manera real la respuesta del circuito, ya


que el mismo es configurado en el RHW directamente.

 Cuando se aplica en tolerancia a fallas adaptiva, es posible


utilizar en la evolución y como parte del circuito solución,
componentes que presentan degradaciones, aun cuando éstas
no son conocidas por el EA.

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE RECONFIGURABLE (RHW)
 El EHW aplicado a adaptación, requiere de
hardware específico con capacidades de
reconfiguración.
 El RHW ofrece la posibilidad de cambiar repetidas
veces su arquitectura para adoptar estructuras de
hardware específicas, y también cambiar el valor
de los componentes utilizados.
 Campo digital:  Campo digital y analógico:
 FPGA  PSoC
 Campo analógico:  FPTA
 Familia ispPAC
 Familia de Anadigm
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE RECONFIGURABLE (RHW): Campo digital

FPGA (Field Programmable Gate Arrays)


 Son chips programables utilizados para la rápida
implementación de circuitos digitales.
 Estructura clásica: array de bloques lógicos configurables
conectados mediante interconexiones programables.
 Gran flexibilidad: enorme libertad disponible en la
interconexión de los bloques.
 Bits de configuración: definen
Interconexiones
Bloques de
la funcionalidad completa del programables
Entrada/Salida

dispositivo.
Bloques
Lógicos

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE RECONFIGURABLE (RHW): Campo analógico

FPAA (Field Programmable Analogue Arrays)


 Familia ispPAC:
 Permiten la reconfiguración de bloques analógicos básicos,
basados en amplificadores operacionales.
Circuitos comprendidos: ispPAC10, ispPAC20, ispPAC30,
ispPAC80, ispPAC81, ispPAC-POWR1208.
 4 celdas analógicas.

 Elementos programables:

Capacitores(128 valores posibles)


Ganancia de los IA (-5 a +5 en pasos
de 0.5)
Dispositivo ispPAC10
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE RECONFIGURABLE (RHW): Campo analógico

FPAA (Field Programmable Analogue Arrays)


 Dispositivos de Anadigm:
Dispositivo AN121E04
Disponen de circuitos macros
con funciones preestablecidas
(amplificación, suma, integra-
ción, diferenciación, compara-
ción, filtros, osciladores).

 Dispositivo AN121E04:
 Matrizde 2x2 CABs.
 Red de recursos de interconexión
programables.

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE RECONFIGURABLE (RHW): Campo digital y analógico

PSoC (Programmable System on Chip)


 Múltiples posibilidades de configuración, flexibilidad

de interconexión y procesamiento de datos.


Salidas
analógicas Bloques analógicos programables

Memoria Micro de 8

Arquitectura:
CT CT CT CT

 Flash bits
SC SC SC SC

Un procesador. Fuentes SRAM SC SC SC SC

Bus de interconexión
múltiples de

Bus del Sistema


Módulos digitales. reloj
MAC

Módulos analógicos. Bloques digitales programables


Recursos

Recursos generales del sist.


D0 D1 D2 D3
del Sistema Sleep/
watchdog
D4 D5 D6 D7

Conjunto de buses y multiple- Generador


de reloj

xores globales configurables. E/S de propósito


general

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE RECONFIGURABLE (RHW): Campo digital y analógico

FPTA (Field Programmable Transistor Array)


 Desarrollado para trabajar en el entorno de EHW.

 Permite la reconfigurabilidad a nivel transistor.

 Celda FPTA:
8 transistores
 24 conmutadores

 El estado de los conmutadores

determina la topología del circuito.

Celda FPTA
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
HARDWARE RECONFIGURABLE (RHW): Campo digital y analógico
FPTA-2 (último chip de la familia FPTA)
Matriz de 8x8 celdas
reconfigurables.

 Cada celda:
 14 transistores
 44 conmutadores
 Resistencias programables
 Capacitores estáticos

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS EVOLUTIVOS
 Rol en el EHW: Dirigir el proceso de adaptación
mediante la búsqueda de la configuración de circuito
más adecuada.
 Características:
 Algoritmos informáticos que imitan las fuerzas de la
evolución natural y la autoadaptación.
 Se basan en una población de individuos.
 Eficientes en espacios de búsqueda muy grandes.

 Algoritmos evolutivos más utilizados:


 Algoritmos Genéticos (AG).
 Programación Genética, Programación Evolutiva, Estrategias
Evolutivas.
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS (AG)
Basados en los principios de la genética y la selección
natural, estos algoritmos buscan la mejor solución para un
determinado problema, mediante la evolución de una
población de individuos.
Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
parada
generación= generación+1 cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
Aspectos a tener en cuenta:
 Exploración del espacio de búsqueda: búsqueda en
amplitud para localizar zonas prometedoras del
espacio de búsqueda
 Explotación de la mejor solución: búsqueda en
profundidad sobre las zonas prometedoras localizadas,
con el objetivo de encontrar en ellas la mejor solución.
Equilibrio entre ambos aspectos éxito del proceso
evolutivo
depende de los operadores genéticos
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
 Inicializar Población: Generación aleatoria de la
población inicial, constituida por un conjunto de individuos
(cromosomas). Cada cromosoma es una estructura de
datos que representa una de las posibles soluciones.
Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
parada
generación= generación+1 cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
 Evaluación: Cada individuo es evaluado de acuerdo a un
criterio de calidad predefinido, denominado función de
aptitud o fitness.

Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
parada
generación= generación+1 cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
 Selección: Para generar una nueva población (la
siguiente generación), los individuos son seleccionados de
acuerdo a su valor de fitness.

Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
parada
generación= generación+1
cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
 Cruce: Los individuos seleccionados son sometidos al
operador de cruce, el cual permite la selección aleatoria
de los progenitores y la creación de nuevos individuos
mediante el intercambio de material genético.
Operadores genéticos

Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
generación= generación+1 parada
cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
 Mutación: La población de individuos resultante es sometida
al operador de mutación, el cual efectúa de manera aleatoria
una alteración en la estructura de algunos cromosomas, con el
propósito de evitar la pérdida de diversidad.
Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
parada
generación= generación+1
cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
 Criterio de parada: Las alternativas más comunes son:
 Tiempo de ejecución.
 Número de generaciones.
 Alcanzar un criterio de performance.

Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
parada
generación= generación+1 cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ALGORITMOS GENÉTICOS
 Solución: La solución al problema de optimización
depende de la manera en que finalizó la ejecución del
AG.

Operadores genéticos
Inicializar
Evaluación Selección Cruce Mutación
Población

No
Criterio de
parada
generación= generación+1 cumplido?

Si

Solución

Diagrama de flujo de un AG clásico.


“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
PROGRAMACIÓN GENÉTICA (PG)

 Es una aproximación evolutiva que extiende el modelo


genérico de aprendizaje al espacio de programas.
 Los individuos evolucionados son programas
representados mediante árboles.
 La selección de padres está basada en el fitness.
 El operador de cruce efectúa el intercambio de
subárboles y la mutación realiza cambios aleatorios en el
árbol.
 Utilizada en aprendizaje de máquinas y tareas de data
mining.
 Inconveniente: crecimiento descontrolado de los árboles.
“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
ESTRATEGIAS EVOLUTIVAS (EE)

 La representación utilizada es un vector de valores reales.

 Principales operadores de reproducción:


 Operador de mutación Gaussiano.
 Operador de recombinación intermedia.

 Selección de padres de manera aleatoria y uniforme (sin


considerar un valor de fitness para cada individuo).

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”
Hardware Evolutivo
PROGRAMACIÓN EVOLUTIVA (PE)

 Es utilizada para la evolución de máquinas de estado finito.

 Las representaciones utilizadas son generalmente adaptadas


al dominio del problema (la más utilizada es la representación
mediante un vector real).

 No existe intercambio de información entre individuos, debido


a que solamente el operador de mutación es utilizado.

“Aportes novedosos a la tolerancia a fallas de sistemas embebidos utilizando metodologías de Hardware Evolutivo”

You might also like