Source: http://docplayer.es/8650625-Resolucion-eficiente-de-problemas-complejos-mediante-hardware-reconfigurable.html
Timestamp: 2018-07-18 21:01:04+00:00

Document:
RESOLUCIÓN EFICIENTE DE PROBLEMAS COMPLEJOS MEDIANTE HARDWARE RECONFIGURABLE - PDF
Download "RESOLUCIÓN EFICIENTE DE PROBLEMAS COMPLEJOS MEDIANTE HARDWARE RECONFIGURABLE"
Elisa Godoy Carmona
1 RESOLUCIÓN EFICIENTE DE PROBLEMAS COMPLEJOS MEDIANTE HARDWARE RECONFIGURABLE Miguel A. Vega Rodríguez, Juan A. Gómez Pulido, Juan M. Sánchez Pérez Univ. de Extremadura. Dept. de Informática Escuela Politécnica. Campus Universitario, s/n Cáceres. Spain {mavega, jangomez, FAX: Resumen En este artículo se presentan los trabajos realizados, hasta la fecha, por el grupo ARCO de la Universidad de Extremadura dentro del proyecto TRACER. El objetivo general de TRACER es la resolución eficiente de problemas complejos de interés científico, industrial, social y empresarial. Problemas que para el caso de ARCO se centran en el campo de la Automática: visión artificial, series temporales, identificación de sistemas, etc. Por otro lado, las técnicas de resolución que proponemos para estos problemas se basan en el uso de hardware reconfigurable (FPGAs) y algoritmos evolutivos, buscando una mejora del rendimiento (procesamiento en tiempo real, reutilización de recursos, ). Como valor añadido al proyecto se ofertan dos resultados concretos. El primero es un sistema cliente/servidor a través de Internet, útil para que la comunidad científica en general pueda contribuir con sus propios problemas y elegir cualquiera de las técnicas de resolución desarrolladas (variantes de las soluciones posibles en hardware reconfigurable, software, ). El segundo consiste en el diseño e implementación de un repositorio web sobre problemas incluyendo teoría, hardware, software, resultados prácticos y enlaces de interés. Palabras Clave: Visión Artificial, Serie Temporal, Identificación de Sistemas, Tiempo Real, Hardware Reconfigurable, Cliente/Servidor de Internet, Repositorio Web. 1 INTRODUCCIÓN El proyecto TRACER es un proyecto coordinado, realizado por grupos de investigación de cinco Universidades españolas. El proyecto pretende cubrir una necesidad existente, tanto en el ámbito de la investigación como en el de la Sociedad, relativa a la resolución de problemas complejos. Además de usar tecnologías actuales para este fin, el proyecto incorpora importantes valores añadidos en el terreno del uso de Internet y del avance en técnicas modernas de resolución (optimización) de problemas. Entre los grupos de investigación que participan en este proyecto se encuentra el grupo ARCO (ARquitectura de COmputadores y Diseño Lógico) de la Universidad de Extremadura. Los problemas tratados por este grupo dentro del proyecto se centran en el campo de la Automática, y más concretamente en las series temporales, la identificación de sistemas, la visión artificial, etc. Además, este proyecto tiene el valor añadido de ser ofrecido como un servicio a través de Internet. Este servicio permitirá a sus usuarios utilizar un programa cliente desde cualquier plataforma de trabajo para proponer a un servidor remoto un problema que éste debe resolver. Un segundo valor añadido lo constituye la creación de un repositorio web conteniendo instancias de problemas complejos, así como identificando soluciones, simplificaciones y extensiones de impacto social de dichos problemas. El resto del artículo describe todos estos aspectos. En la sección 2 se detallan los problemas que se están estudiando dentro del grupo ARCO. En la sección 3 se explican las características fundamentales del servicio via Internet que se está desarrollando tanto para la resolución de problemas propuestos por los usuarios como para la creación de un repositorio web de problemas típicos. La sección 4 muestra los resultados obtenidos hasta la fecha, mientras en la sección 5 se dan las conclusiones de este trabajo. 2 PROBLEMAS A RESOLVER Para el caso concreto del grupo ARCO, los problemas planteados se resuelven utilizando mecanismos basados en hardware reconfigurable y algoritmos evolutivos. El uso de hardware reconfigurable (FPGAs, Field Programmable Gate Arrays [2]) es de gran interés, ya que permite obtener las soluciones de forma más eficiente, sobre todo desde el punto de vista del rendimiento: procesamiento en tiempo real, reutilización de
2 recursos, etc. En particular, las líneas en las que estamos trabajando son: Modelado de Series Temporales. Dado un fenómeno que siga una serie temporal, es decir, en el que se generan datos a lo largo del tiempo, se intenta predecir qué datos van a generarse en el futuro. Existe un gran número de problemas que pueden catalogarse en esta categoría: evolución de las cotizaciones bursátiles, evolución del mercado de divisas, evolución del nivel de las mareas, evolución de las temperaturas, etc. Este tipo de problemas lo abordamos usando algoritmos evolutivos; adicionalmente, se pretenden sentar las bases teóricas y tecnológicas para adecuar una arquitectura paralela reconfigurable al modelado matemático de series temporales en tiempo real que representen un sistema dinámico genérico. Inspección Automática de Calidad. Se busca el desarrollo de una plataforma reconfigurable con capacidad de acción directa en entornos industriales para la inspección de materiales (por ejemplo corcho). Optimización usando Programación Genética. Se utiliza el paradigma de programación genética en tareas de optimización de diversos problemas. Como puede observarse, se han buscado problemas de interés actual y de dimensiones reales. Además, de ser problemas directamente útiles a la comunidad científica y al mercado actual. 3 CLIENTE/SERVIDOR EN INTERNET Y REPOSITORIO En este proyecto, además de la resolución de diversos problemas de manera eficiente y competitiva mediante técnicas modernas (como el uso de hardware reconfigurable o algoritmos evolutivos), también se han añadido otros servicios gracias al uso de Internet. Básicamente, los servicios de valor añadido que se están creando son dos: Un sistema cliente/servidor para acceder a cualquiera de las técnicas de resolución que desarrollemos, de manera que el usuario envíe su problema codificado y pueda elegir entre un abanico de resolutores, para posteriormente obtener la solución a su problema. Un repositorio de problemas complejos con dimensiones crecientes, incluyendo una descripción completa del mismo, soluciones hardware y software, resultados prácticos y enlaces de interés. resultado de este proyecto se está diseñando un cliente que permita el acceso al servicio de optimización. Este cliente podrá personalizarse para varios perfiles de usuario, contemplando al menos dos tipos: (a) usuarios técnicos que desconozcan los detalles de los servicios de resolución y (b) usuarios expertos en dichos servicios. Ambos tipos de usuarios tendrán a su disposición una serie de recursos remotos para resolver sus problemas. El usuario entrega su problema al cliente y lo instruye de acuerdo a sus conocimientos para llevar a cabo el proceso de resolución. El cliente recoge la información del usuario (incluyendo la especificación del problema más los parámetros para el motor de resolución) y genera una petición de servicio para el servidor remoto. El intercambio de información entre el cliente y el servidor se realiza a través de Internet en un formato flexible, como XML (extended Markup Language) [5]. El servidor, en función de la información recibida en la petición, arrancará un motor de resolución apropiado para resolver el problema planteado. Para finalmente retornar los resultados, es decir, la solución del problema (también en formato XML). Nuestro servicio web incorporará distintos resolutores del problema de tal forma que el usuario pueda navegar por ellos usando un navegador web, seleccionar el deseado, establecer sus parámetros y ejecutarlo desde un computador remoto para resolver un problema concreto. El objetivo es que el usuario pueda estar informado en tiempo real sobre el progreso de su petición, así como realizar nuevas peticiones. El servidor debe aceptar peticiones de uno o varios clientes y utilizar racionalmente los recursos computacionales a su disposición para resolver eficientemente cada petición. Para proporcionar el servicio se están analizando diversas técnicas para Internet. En particular, es de interés estudiar la viabilidad del proyecto utilizando Java 2 Enterprise Edition (J2EE) [9] frente a la nueva plataforma de servicio.net de Microsoft [6], que utiliza extensivamente Active Server Pages (ASP) y promociona el uso de lenguajes de programación como C# [4] y protocolos de comunicación como SOAP (Simple Object Access Protocol) [1]. En la figura 1 puede observarse un esquema del sistema que estamos construyendo. Para utilizar el
3 Aplicaciones: visión artificial, series temporales, identificación de sistemas, etc. Plataforma de servicio: ASP (.NET), J2EE, modelos más simples CLIENTE Problema + motor de solución en formato XML INTERNET Información on-line + solución al problema en formato XML SERVIDOR Resolver Solución Recursos computacionales [LAN, WAN o Internet] Ejecución en FPGAs, software, del servicio Figura 1: Arquitectura del sistema cliente/servidor a través de Internet La arquitectura software del sistema debe cumplir varios requisitos. Además de ofrecer configuraciones por defecto y una interfaz de uso para el cliente, deben incluirse en el diseño mecanismos de extensión futura y de conexión a motores de resolución existentes distintos a los generados con este proyecto. Los resolutores se ejecutarán idealmente en FPGAs. Esto es independiente del servicio en sí, del cliente y de otros posibles problemas a resolver, aunque nada impide que tanto el servidor como los algoritmos de resolución utilicen políticas sofisticadas para asignación de tareas a FPGAs basándose en su carga, uso, potencia relativa, etc. Asimismo, el servicio puede satisfacerse en FPGAs situadas geográficamente lejos del servidor, dando lugar a un uso más eficiente de Internet. 4 RESULTADOS En [7] puede observarse el estado actual del proyecto TRACER, mientras que en [3] se encuentra el nodo asociado con el subproyecto TRACER::UNEX, es decir, el nodo responsabilidad del grupo ARCO. La figura 2 presenta el aspecto actual de este sitio web. Figura 2: Aspecto actual de TRACER::UNEX Como se muestra en la figura, hasta la fecha se han iniciado las siguientes líneas de investigación: MOSET. Destinada al procesado de series temporales (procesado del habla, análisis financiero, meteorología, etc.). Muchos de estos casos requieren una computación rápida, debida a la gran variabilidad de su comportamiento, y una modelación matemática en tiempo real con vistas a la simulación y anticipación de comportamientos, para así poder incorporar señales de control en el sistema. Por ello, en esta línea se busca conseguir sistemas computacionales de alta velocidad para la optimización y modelación matemática de las series temporales, ofrecidos como servicios a través de Internet, computación que puede acelerarse mediante el uso de las tecnologías de circuitos reconfigurables (FPGAs). SIRVA. En esta línea se están desarrollando servicios de procesado óptimo de la imagen a través de Internet mediante algoritmos implementados en circuitos reconfigurables (FPGAs). De esta forma es posible ofrecer una plataforma abierta a la comunidad científica a través de un sistema de comunicación preparado al efecto, que ofrezca las ventajas de la computación reconfigurable allá donde estos recursos no están físicamente disponibles. SIPGE. El objetivo de esta línea es el desarrollo de una metodología basada en Programación Genética para el aprendizaje y para la optimización (resolución) de problemas, metodología ofrecida como servicio a través de Internet. Como ejemplo, la figura 3 muestra uno de los sitios web que se están desarrollando para la línea SIRVA. En este sitio web se describe el problema de la aplicación del filtro mediana dentro del campo de la visión artificial, y en particular, para el caso de aplicaciones en tiempo real. Se analiza la funcionalidad y problemática de este filtro, y se llega a la conclusión de que su mayor problema está en la dificultad de aplicarlo en tiempo real (30 imágenes
4 por segundo). Tras mostrar varias alternativas para solucionar este problema (uso de ASICs, paralelismo, ) se indica que una solución prometedora es la utilización de FPGAs para realizar una implementación hardware de este filtro. Las FPGAs poseen los beneficios de la velocidad hardware y la flexibilidad software; además, tienen una relación precio/rendimiento mucho más favorable que los ASICs. Lógicamente, estas conclusiones vienen avaladas por investigaciones que se van realizando al mismo tiempo para cada problema concreto (por ejemplo, en [8] se presenta la investigación realizada para el problema de la implementación del filtro mediana en FPGAs). Figura 3: Sitio web para el problema del filtro mediana (línea SIRVA) Por su parte, la figura 4 presenta el sitio web donde el usuario selecciona la serie temporal a modelar (línea MOSET), así como los parámetros necesarios para el motor de resolución de este problema (serie temporal concreta). Para, posteriormente, lanzar el motor de resolución y obtener los resultados de ese modelado (valores óptimos modelados, etc.) en forma de gráficos, archivos de resultados,... 5 CONCLUSIONES En este trabajo se han presentado las iniciativas que se están llevando a cabo desde el grupo ARCO dentro del proyecto TRACER. Nuestro objetivo primario consiste en abordar problemas complejos para hacer trasvase de conocimientos entre ellos, y poder extender las técnicas modernas de resolución (uso de FPGAs, algoritmos evolutivos, etc.) de forma que resulten eficientes y competitivas. Esto supone un estudio teórico de los problemas y los métodos de resolución, y la realización de numerosos estudios comparativos considerando además técnicas existentes en los dominios de donde provienen dichos problemas. La integración de los métodos desarrollados en una plataforma común basada en Internet permitirá que las aplicaciones estén disponibles tanto a usuarios no expertos, que quieran utilizar las características básicas de los métodos de resolución, como a usuarios expertos que puedan utilizarlos en toda su potencia. Además, se está incluyendo un repositorio web de problemas, donde se da información de interés sobre los mismos. En resumen, nuestros objetivos básicos consisten en extender las técnicas desarrolladas para que resulten eficientes en problemas complejos y reales (visión artificial, series temporales, identificación de sistemas, ), en ofertar dichas técnicas y sus resultados en Internet para que puedan ser utilizados por la comunidad científica en general, y en incorporar a este campo las nuevas tecnologías surgidas en los últimos años, como el uso de hardware reconfigurable. Agradecimientos Los trabajos que han derivado en este artículo han sido financiados por el proyecto de investigación TRACER (TIC C05-01). Figura 4: Sitio web para el modelado de series temporales (línea MOSET)
5 Referencias [1] Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H. F., Thatte, S., Winer, D., (2003) Simple Object Access Protocol (SOAP), [2] Brown, S. D., Rose, J., (Verano 1996) FPGA and CLPD Architectures: A Tutorial, IEEE Design & Test of Computers, 13(2), pp [3] Grupo ARCO, (2003) TRACER::UNEX, [4] Gunnerson, E., (2001) A Programmer s Introduction to C#, Apress, 2ª edición. [5] Holzner, S., (1998) XML Complete, McGraw-Hill. [6] Platt, D.S., (2003) Introducing Microsoft.NET, Microsoft Press, 3ª edición. [7] UMA, ULL, UC3M, UPC, UEX, (2003) TRACER, [8] Vega, M. A., Sánchez, J. M., Gómez, J. A., (Julio 2002) An FPGA-Based Implementation for Median Filter Meeting the Real-Time Requirements of Automated Visual Inspection Systems, 10 th IEEE Mediterranean Conference on Control and Automation (MED 02), Lisboa, Portugal, pp [9] Zaman-Ahmed, K., Umrysh, C. E., (2002) Developing Enterprise Java Applications with J2EE TM and UML, Addison-Wesley.

References: RESOLUCIÓN 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución