{"id":121,"date":"2022-02-13T17:36:04","date_gmt":"2022-02-13T17:36:04","guid":{"rendered":"https:\/\/193.144.50.23\/~gac\/wordpress\/?page_id=121"},"modified":"2022-02-13T17:36:04","modified_gmt":"2022-02-13T17:36:04","slug":"nuestras-lineas-de-investigacion","status":"publish","type":"page","link":"https:\/\/gac.udc.es\/index.php\/nuestras-lineas-de-investigacion\/","title":{"rendered":"Nuestras l\u00edneas de Investigaci\u00f3n:"},"content":{"rendered":"\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#03c4eb\"><strong>COMPUTACI\u00d3N PARALELA Y DISTRIBU\u00cdDA<\/strong><\/p>\n\n\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Compiladores para arquitecturas paralelas:<\/em><\/span><\/summary>\n<p><strong>Generaci\u00f3n autom\u00e1tica de c\u00f3digo paralelo: Esta l\u00ednea de investigaci\u00f3n direcciona la paralelizaci\u00f3n autom\u00e1tica de programas secuenciales.&nbsp;<\/strong><strong>Se aborda el desarrollo de t\u00e9cnicas de compilaci\u00f3n para convertir un programa secuencial en un programa concurrente ejecutable en arquitecturas multi-core y many-core. En concreto, estamos trabajando en el desarrollo de t\u00e9cnicas de an\u00e1lisis avanzado de programas para descubrir el paralelismo impl\u00edcito en los programas secuenciales y el desarrollo de t\u00e9cnicas de transformaci\u00f3n de c\u00f3digo orientadas a la construcci\u00f3n de la versi\u00f3n paralela m\u00e1s eficiente de un programa secuencial.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Optimizaci\u00f3n iterativa: Nuestro grupo est\u00e1 trabajando en la optimizaci\u00f3n iterativa de c\u00f3digos sobre arquitecturas heterog\u00e9neas que incluyen GPUs y\/o CPUs.&nbsp;<\/strong><strong>La optimizaci\u00f3n iterativa permite generar un enorme n\u00famero de versiones optimizadas de la misma aplicaci\u00f3n y selecciona la versi\u00f3n m\u00e1s r\u00e1pida para una arquitectura dada por medio de modelos anal\u00edticos, heur\u00edsticas o la ejecuci\u00f3n del c\u00f3digo real.<\/strong><\/p>\n<\/details>\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Lenguajes y librer\u00edas para computaci\u00f3n paralela:<\/em><\/span><\/summary>\n<p><strong>Nuestro grupo dise\u00f1a y elabora herramientas (Servet) y librer\u00edas (HTA, UPCBLAS) para mejorar la productividad de los programadores, en especial en el desarrollo de aplicaciones paralelas.&nbsp;<a href=\"http:\/\/servet.des.udc.es\/\">Servet&nbsp;<\/a>es un conjunto de benchmarks portables utilizados para medir los par\u00e1metros hardware m\u00e1s representativos que permitan la optimizaci\u00f3n autom\u00e1tica de aplicaciones en clusters de multicores. Hierarchically Tiled Array o&nbsp;<a href=\"http:\/\/polaris.cs.uiuc.edu\/hta\/\">HTA<\/a>&nbsp;es una librer\u00eda dise\u00f1ada para facilitar la escritura de programas basados en bloques en lenguajes orientados a objetos.&nbsp;<\/strong><strong>Su objetivo es mejorar la localidad de los accesos a memoria y facilitar al programador la explotaci\u00f3n del paralelismo de datos. UPCBLAS es una librer\u00eda num\u00e9rica paralela para computaciones con matrices densas utilizando el lenguaje de programaci\u00f3n PGAS (Partitioned Global Address Space) UPC (Unified Parallel C). La popularidad de los lenguajes PGAS ha incrementado en los \u00faltimos a\u00f1os gracias a su alta programabilidad y rendimiento, especialmente en arquitecturas jer\u00e1rquicas como los clusters de multicores.<\/strong><\/p>\n<p><strong>Nuestras propuestas, que cubren sistemas de memoria distribuida, compartida e h\u00edbrida, dan lugar a c\u00f3digos mejor estructurados, m\u00e1s legibles y f\u00e1ciles de mantener que aquellos construidos con las herramientas est\u00e1ndar, mientras que el rendimiento es muy similar. Gran parte de esta investigaci\u00f3n se ha desarrollado en colaboraci\u00f3n con universidades l\u00edderes como la University of Illinois at Urbana-Champaign o empresas de primer nivel como HP \u00f3 IBM.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<details>\n<summary><em><span style=\"color: #00ccff;\"><span style=\"color: #03c4eb;\">Tolerancia a fallos y maleabilidad de aplicaciones paralelas:<\/span><\/span><\/em><\/summary>\n<p><strong>Los sistemas utilizados para le ejecuci\u00f3n de aplicaciones paralelas de larga duraci\u00f3n deber\u00edan proporcionar alg\u00fan mecanismo de tolerancia a fallos ya que la probabilidad de fallo aumenta con el tiempo de ejecuci\u00f3n y el n\u00famero de nodos. El checkpointing y la posterior recuperaci\u00f3n es una de las t\u00e9cnicas m\u00e1s populares para proporcionar soporte de tolerancia a fallos. Nosotros hemos desarrollado&nbsp;<a href=\"http:\/\/cppc.des.udc.es\/\">CPPC<\/a>&nbsp;(ComPiler for Portable Checkpointing), una herramienta de tolerancia a fallos a nivel de aplicaci\u00f3n para aplicaciones paralelas de paso de mensajes dise\u00f1ada con especial \u00e9nfasis en la portabilidad.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><strong>Actualmente estamos explorando la posibilidad de implementar maleabilidad en las aplicaciones MPI como una extensi\u00f3n de la herramienta CPPC, de forma que la aproximaci\u00f3n final permita la reconfiguraci\u00f3n transparente durante la ejecuci\u00f3n de la aplicaci\u00f3n.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Computaci\u00f3n de prop\u00f3sito general sobre GPUs:<\/em><\/span><\/summary>\n<p><strong>En este campo se est\u00e1 trabajando en el desarrollo de una herramienta que permita la implementaci\u00f3n autom\u00e1tica o semiautom\u00e1tica de un algoritmo sobre una GPU. Otra meta de esta l\u00ednea de investigaci\u00f3n es la implementaci\u00f3n de bibliotecas de funciones para sistemas multi-GPU que faciliten el desarrollo de aplicaciones que necesiten una comunicaci\u00f3n eficiente entre las diferentes GPUS. En ambos casos se plantea que el trabajo desarrollado sea \u00fatil para los principales lenguajes de programaci\u00f3n usados en este tipo de sistemas, como OpenCl y Cuda.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<p><strong><a href=\"https:\/\/pluton.dec.udc.es\/\" target=\"_blank\" rel=\"noreferrer noopener\">CLUSTER PLUT\u00d3N<\/a><\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph {\"backgroundColor\":\"pale-cyan-blue\",\"textColor\":\"white\"} --><\/p>\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#03c4eb\"><strong>COMUNICACIONES JAVA<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Comunicaciones Java de alta velocidad:<\/em><\/span><\/summary>\n<p><strong>Estamos trabajando en&nbsp;<a href=\"http:\/\/jfs.des.udc.es\/\">middleware de comunicaciones de baja latencia<\/a>&nbsp;en Java para redes de altas prestaciones tales como 10\/40 Gigabit Ethernet e InfiniBand. El middleware desarrollado soporta comunicaciones mediante paso de mensajes (Fast MPJ), adem\u00e1s de permitir la aceleraci\u00f3n de las comunicaciones de forma transparente para el usuario (Java Fast Sockets). Su principal objetivo es la reducci\u00f3n del tiempo de respuesta de aplicaciones paralelas y distribuidas en Java, algo estrat\u00e9gico en numerosos \u00e1mbitos como el trading financiero.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph {\"backgroundColor\":\"pale-cyan-blue\",\"textColor\":\"white\"} --><\/p>\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#03c4eb\"><strong>GR\u00c1FICOS POR COMPUTADOR<\/strong><\/p>\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Gr\u00e1ficos por computador y visualizaci\u00f3n cient\u00edfica:<\/em><\/span><\/summary>\n<p><strong>El principal objetivo de esta l\u00ednea de investigaci\u00f3n es el procesamiento eficiente de diversas formas de representaci\u00f3n de modelos gr\u00e1ficos complejos, como subdivisi\u00f3n de superficies, superficies param\u00e9tricas o representaci\u00f3n h\u00edbrida de terrenos. Hacemos especial hincapi\u00e9 en la b\u00fasqueda de un procesamiento interactivo en tiempo real, para lo que se plantea la explotaci\u00f3n eficiente del hardware presente en los sistemas actuales: CPUs multin\u00facleo y GPUs (Graphics Processing Unit).<\/strong><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Otro aspecto que se plantea dentro de esta l\u00ednea de investigaci\u00f3n es el de la representaci\u00f3n de im\u00e1genes sint\u00e9ticas con un alto grado de realismo, tanto a trav\u00e9s de m\u00e9todos de iluminaci\u00f3n realistas como del procesamiento correcto de transparencias y texturas.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph {\"backgroundColor\":\"pale-cyan-blue\",\"textColor\":\"white\"} --><\/p>\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#03c4eb\"><strong>MICROPROCESADORES DE ALTAS PRESTACIONES<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Dise\u00f1o de microarquitecturas de computadores:<\/em><\/span><\/summary>\n<p><strong>El GAC ha participado en el desarrollo de<a href=\"http:\/\/sesc.sourceforge.net\/\">&nbsp;SESC<\/a>, un simulador microarquitectural de investigaci\u00f3n usado en todo el mundo. El grupo tambi\u00e9n innova en este campo proponiendo nuevas arquitecturas y pol\u00edticas de gesti\u00f3n de la jerarqu\u00eda de memoria con el objetivo de reducir tanto los tiempos de ejecuci\u00f3n como la energ\u00eda consumida por la ejecuci\u00f3n de aplicaciones en sistemas de un solo procesador y multicores.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Dise\u00f1o de aceleradores hardware para multimedia y computaci\u00f3n eficiente:<\/em><\/span><\/summary>\n<p><strong>En t\u00e9rminos de eficiencia energ\u00e9tica, la diferencia entre microprocesadores y circuitos de aplicaci\u00f3n espec\u00edfica crece de forma sostenida. La aceleraci\u00f3n hardware es, por tanto, una herramienta poderosa para reducir costes y mejorar en el respeto al medio ambiente.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Mientras que los costes de dise\u00f1ar y manufacturar circuitos de aplicaci\u00f3n espec\u00edfica es muy elevado, existen varias alternativas disponibles, tales como FPGAs, ASICs estructurados o ASIPs. En su mayor parte, las nuevas plataformas provienen del mundo de los sistemas empotrados, donde ya han aportado velocidad y bajo consumo.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Esta l\u00ednea de investigaci\u00f3n explora el potencial de mapear las tareas m\u00e1s comunes sobre aceleradores hardware con el prop\u00f3sito de mejorar la eficiencia energ\u00e9tica, aumentar la velocidad y reducir la cantidad de hardware necesario. Los principales escenarios que se contemplan son la computaci\u00f3n de altas prestaciones, Software-as-a-Service y Web 2.0, donde un gran n\u00famero de servidores pueden compartir un n\u00famero reducido de aceleradores que se hacen cargo de las tareas de m\u00e1s peso.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<details>\n<summary><span style=\"color: #03c4eb;\"><em>Modelado y predicci\u00f3n del rendimiento de la jerarqu\u00eda de memoria:<\/em><\/span><\/summary>\n<p><strong>Nuestro grupo ha desarrollado una herramienta anal\u00edtica que permite predecir de forma precisa el comportamiento cach\u00e9. Nuestra plataforma, que permite obtener predicciones en menos de un segundo, solo requiere como entrada el c\u00f3digo fuente y la configuraci\u00f3n de la jerarqu\u00eda de memoria. Nuestra aproximaci\u00f3n es totalmente automatizable y puede ser usada en un compilador. Nuestra herramienta ha sido usada de forma exitosa para guiar optimizaciones de compilaci\u00f3n complejas tales como la selecci\u00f3n del tama\u00f1o de bloque \u00f3ptimo as\u00ed como para predecir el peor tiempo de ejecuci\u00f3n en sistemas en tiempo real.<\/strong><\/p>\n<\/details>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph {\"backgroundColor\":\"pale-cyan-blue\",\"textColor\":\"white\"} --><\/p>\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#03c4eb\"><strong>ROB\u00d3TICA M\u00d3VIL<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Uno de los actuales desaf\u00edos en rob\u00f3tica es la integraci\u00f3n de robots en los ambientes cotidianos. Para ello es necesario desarrollar un sistema de despliegue r\u00e1pido y sencillo que permita a los robots salir de los centros de investigaci\u00f3n y estar fuera de la continua supervisi\u00f3n de expertos en rob\u00f3tica. Los robots deber\u00edan poder ser instalados y puestos en operaci\u00f3n en cortos periodos de tiempo.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>En esta l\u00ednea, nuestros principales objetivos son: evitar completamente predefinir el control de los robots y aprender este control a partir de la interacci\u00f3n con el entorno y de la observaci\u00f3n de los seres humanos; identificar y localizar personas y robots en interiores; e interactuar con la gente de modo amigable y natural.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Otra importante cuesti\u00f3n abierta es permitir que los robots se muevan aut\u00f3nomamente en entornos no estructurados, complejos y din\u00e1micos. Para ello es necesario desarrollar eficientes sistemas de percepci\u00f3n 3D, m\u00e9todos de representaci\u00f3n del entorno y fusi\u00f3n de datos sensoriales. Finalmente, los robots tienen que mapear y localizarse a si mismos en su entorno. Estamos desarrollando algoritmos para localizar el robot a partir de mapas conocidos y para simult\u00e1neamente mapear y localizar el robot en el entorno. Como sensores principales estamos usando c\u00e1maras de omnivisi\u00f3n, c\u00e1maras est\u00e9reo, sensores Kinect y l\u00e1seres 3D.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p class=\"has-white-color has-text-color has-background\" style=\"background-color:#03c4eb\"><strong>SISTEMAS DE INFORMACI\u00d3N GEOGR\u00c1FICA<\/strong><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>El Grupo de Arquitectura de Computadores tiene 15 a\u00f1os de experiencia en el campo de los Sistemas de Informaci\u00f3n Geogr\u00e1fica (SIG). Ha desarrollado diversos proyectos en \u00e1mbitos como las infraestructuras, la ordenaci\u00f3n del suelo, la concentraci\u00f3n parcelaria, la informaci\u00f3n meteorol\u00f3gica, el aprovechamiento de tierras y la gesti\u00f3n forestal. Los tipos de desarrollo que se realizan incluyen sistemas de informaci\u00f3n SIG-web, algoritmos de optimizaci\u00f3n de altas prestaciones para la resoluci\u00f3n de problemas con componentes espaciales, aplicaciones para dispositivos m\u00f3viles, servicios web, m\u00f3dulos para aplicaciones de escritorio, y visualizaci\u00f3n de conjuntos masivos de datos georreferenciados. En la mayor parte de los proyectos que se llevan a cabo se prima el empleo de software libre y de est\u00e1ndares SIG, contribuyendo al desarrollo de las llamadas Infraestructuras de Datos Espaciales.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Los principales campos de aplicaci\u00f3n de las investigaciones y trabajos que se realizan son la ordenaci\u00f3n territorial y el desarrollo rural. Cabe destacar la contribuci\u00f3n realizada en estos campos a la innovaci\u00f3n dentro de la administraci\u00f3n p\u00fablica. Mediante diversos contratos con distintas administraciones se han desarrollado sistemas que, adem\u00e1s de mejorar la gesti\u00f3n, fomentan y facilitan la participaci\u00f3n p\u00fablica, la transparencia y el gobierno electr\u00f3nico.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Otra l\u00ednea de trabajo dentro de este campo es la aplicaci\u00f3n de t\u00e9cnicas de computaci\u00f3n de altas prestaciones a los SIG, como por ejemplo la paralelizaci\u00f3n de algoritmos para la elaboraci\u00f3n de planes urban\u00edsticos sobre sistemas multin\u00facleo y cl\u00fasters. Esta es una l\u00ednea en la que se pretende ahondar. Entre los planes de trabajo futuro se encuentra la aplicaci\u00f3n de este tipo de t\u00e9cnicas a algoritmos de teledetecci\u00f3n, los cuales tambi\u00e9n presentan importantes costes computacionales.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>\n<p><!-- wp:paragraph --><\/p>\n<p><strong>Entre las herramientas desarrolladas o en las que colabora se pueden citar&nbsp;<a href=\"http:\/\/sitegal.xunta.es\/sitegal\/\" target=\"_blank\" rel=\"noreferrer noopener\">SITEGAL<\/a>, Sistema de Informaci\u00f3n de Tierras de Galicia, para la gesti\u00f3n del Banco de Terras de Galicia,&nbsp;<a href=\"http:\/\/www.meteogalicia.es\/web\/proxectos\/meteosix.action\" target=\"_blank\" rel=\"noreferrer noopener\">MeteoSIX mobile<\/a>, aplicaci\u00f3n m\u00f3vil para Android e iPhone que ofrece la informaci\u00f3n de predicci\u00f3n num\u00e9rica de Meteogalicia,&nbsp;<a href=\"http:\/\/www.meteogalicia.es\/web\/proxectos\/meteoroute.action\" target=\"_blank\" rel=\"noreferrer noopener\">MeteoRoute<\/a>, aplicaci\u00f3n para Android e iOS que ofrece predicci\u00f3n meteorol\u00f3gica sobre rutas, la&nbsp;<a href=\"http:\/\/servizos.meteogalicia.es\/api_manual\/gl\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">API de MeteoSIX<\/a>, el&nbsp;<a href=\"http:\/\/visor.marnaraia.org\/visor_marnaraia\/visor\" target=\"_blank\" rel=\"noreferrer noopener\">visor geogr\u00e1fico del Observatorio Raia<\/a>&nbsp;y SIUXFor, sistema para la creaci\u00f3n de las antiguas Unidades de Xesti\u00f3n Forestal. El GAC tambi\u00e9n ha desarrollado herramientas experimentales para concentraci\u00f3n parcelaria, permuta de parcelas entre particulares, apoyo en la elaboraci\u00f3n de planes de ordenaci\u00f3n municipal y visualizaci\u00f3n de datos tridimensionales, por ejemplo datos de vuelos LiDAR.<\/strong><\/p>\n<p><!-- \/wp:paragraph --><\/p>","protected":false},"excerpt":{"rendered":"<p>COMPUTACI\u00d3N PARALELA Y DISTRIBU\u00cdDA Compiladores para arquitecturas paralelas: Generaci\u00f3n autom\u00e1tica de c\u00f3digo paralelo: Esta l\u00ednea de investigaci\u00f3n direcciona la paralelizaci\u00f3n autom\u00e1tica de programas secuenciales.&nbsp;Se aborda el desarrollo de t\u00e9cnicas de &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-121","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gac.udc.es\/index.php\/wp-json\/wp\/v2\/pages\/121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gac.udc.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gac.udc.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gac.udc.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gac.udc.es\/index.php\/wp-json\/wp\/v2\/comments?post=121"}],"version-history":[{"count":0,"href":"https:\/\/gac.udc.es\/index.php\/wp-json\/wp\/v2\/pages\/121\/revisions"}],"wp:attachment":[{"href":"https:\/\/gac.udc.es\/index.php\/wp-json\/wp\/v2\/media?parent=121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}