presentacion agentes hardware

Post on 14-Jul-2015

716 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Agentes Hardware

Carlos Pérez Fernández.

Introducción.

La tecnología de agentes no es solo aplicable al entorno software, sino que esta puede ser aplicada a un entorno hardware, mucho mas fiable y rápido.Los agentes hardware no se componen de secuencias de instrucciones, sino que son circuitos electrónicos en si mismos, controlados o no por señales de reloj.Para materializar los Agentes Hardware son necesario unos dispositivo llamados FPGAs.

  

¿Que son los FPGAs?

Son matrices de bloques lógicos programables (CLB), y en su interior hay elementos de lógica computacional, memorias y multiplexores, entre otras muchas cosas.

Formas de configurar un FPGA

Reconfiguración total, en tiempo de compilación o reconfiguración estática.Se descargan los bits de configuración (bitstream) para configurar tanto los bloques funcionales, como las conexiones.Se tiene que detener la operación del FPGA, configurarlo todo y volver a ponerlo en marcha . Reconfiguración dinámica*.Determinadas partes se actualizan, mientras otras estan en funcionamiento.

Tipos de reconfiguración dinámica.

Único contexto: Se carga toda la configuración aunque sólo se haya modificado una parte. Multicontexto*: Existen varios grupos de bits de configuración, permitiendo ser cargados en planos no activos durante la ejecución. Permite la reconfiguración parcial y en pipeline. Otros métodos: prefetching de configuración, compresión de la configuración, uso de caché de configuraciones en el dispositivo (se reduce la cantidad de información transmitida).

Estructura interna

Un frame es la unidad mínima que se puede cambiar.

Interconexión

Los Bus-Macros comunican los modulos reconfigurables.

Metodología

Metodología basada en Java* (JBits).Lo ve como objetos Java, de tal manera que puede hacer uso de otros componentes usando la matriz de CLBs dinámicamente.Metodología basada en modificación directa del bitstram.Extrae dinámicamente la parte del circuito del bitstream y componer un bitestram parcial.Existen dos flujos de diseño: manipulación directa de bits y basadas en módulos (varios bitstrams parciales, uno total para la carga inicial.)

Computo de la reconfiguracion

Los FPGAs se utilizan para implementar prototipos, pero el hecho de que sea una unidad reconfigurable deprocesamiento (RPU), hace mucho mas versátil su utilización, desde el punto de vista de la manipulación lógica en tiempo de ejecución, como puede verse un bloque que permite la ejecución de varias funciones en hardware (computo espacial).

  La tecnología permite aplicaciones: reconfiguración en tiempo de ejecución con elbeneficio de reducción en el consumo de potencia.• FPGAs de AMTEL.• FPGAs Virtex de Xilinx*.

Ventajas e inconvenientes

VentajasMayor velocidadParalelismoEstabilidadOptimizaciónTolerante a fallos

InconvenientesUso de al menos un módulo CPU, uso de Software Herramientas de desarrollo complejasEstandarización del mercado

 

Cores

A los módulos que ya tienen cierta envergadura y estabilidad se les denominarán Cores. Por tanto un Agente hardware es en si un Core, compuesto a su vez por múltiples cores, tanto en su comportamiento (cores activos), como en su base de conocimiento (memoria externa).En la actualidad podemos encontrar múltiples cores de código abierto en www.opencores.orgNormalmente suelen ser CPU, unidades Aritmético-lógicas especificas, comunicación (Eth,USB,UART).

Implementación

Un Agente Hardware, estará formado por una serie de cores fundamentales, pero aquello por lo que se diferenciaran,son por aquellos cores específicos de su base de conocimiento. Ejemplo de tipos de Core de la base de conocimiento de un robot.

Core de mobilidadCore de adquisición y tratamiento de datos visualesCore de generación de mapas virtualesCore de comunicación

Características de los agentes

Reactividad: características ofrecidas por los cores inherentes al agente, por condiciones físicas.Pro-actividad: Acciones destinadas a un determinado objetivo, uso paralelismo y prioridades.Sociabilidad: Capacidad de comunicación, trasmitir conocimientos.Conocimiento adquirido y almacenado mor multiples métodos, almacenamiento interno y externo.

Agente reactivo

Las agentes presentan cores fundamentales que no dependen del conocimiento adquirido, sino que son inherente al agente ya sea por sus características físicas o de arquitectura.Ejemplos:  Físicas

Gestión de energía, desactivación de cores no utilizados, necesidades de obtención de energía como valor.

 Arquitectura

Gestión de recursos de memoria, CLBs y Bus-MACRO. 

Bases del conocimiento

Los cores poseen elementos de memoria, si estos se modifican afectará en tiempo de ejecución pero no en el bitstream para posteriores cargas.

Por lo que estableceremos un core de memoria encargado de procesar y almacenar el estado de los cores y los propios cores en memoria exterior.

Esto permitirá la comunicación de conocimiento a otros agentes.

Los cores necesitará inicializarse con datos genericos o especificos, y sincronizarse para adquirir las habilidades adquiridas

Comunicación

 Comunicación basada en estandarización de protocolo.Ejemplos.

Cores lingüísticos: a partir de cores de pronunciación, procesamiento del lenguaje natural, diccionarios y ontologías, el agente podrá mantener una conversación.Cores expresivos: un adecuado protocolo de movimientos en el caso de un robot, podria crear una comunicacion de signos.Cores específicos de comunicación entre Agentes: un agente puede comunicar a otro cómo conducir, pasándole cores que haya elaborado para una mejor precisión en la conducción, junto con la memoria de inicialización, aportándole las habilidades en la conducción.

 

Sistemas multiagentes

OntologíaComunicación de bases del conocimiento, transmisión de cores. En Agentes Hardware, los elementos de ontologías son cores que a su vez pueden hacer uso de otros cores, y que contienen la memoria de inicialización y en algunas ocasiones datos de sincronización, pues es una manera de transmitir conocimientos y habilidades a otros agentes.

Aplicaciones practicas

En la actualidad y en el futuro veremos aplicada esta tecnología en numerosos campos, pues es una tecnología emergente y en evolución.

Aeronáutica (aviones y satelites)Comunicación (routers y redes eléctricas)Robotica y automociónSistemas de alto rendimiento y militar.

Bibliografía

Introducción a los FPGAs y el Cómputo ReconfigurableMiguel Morales SandovalINAOE, 2006

Gracias por su atención.

top related