Descripción del proyecto
LAS NUEVAS PLATAFORMAS COMPUTACIONALES NOS PROVEEN CADA VEZ DE MAS CAPACIDAD DE COMPUTO, TANTO EN LOS PEQUEÑOS DISPOSITIVOS, COMO EN LOS GRANDES SISTEMAS DE ALTO RENDIMIENTO, SUPERCOMPUTACION, TRATAMIENTO MASIVO DE DATOS O DEEP-LEARNING, SIN EMBARGO, DICHAS PLATAFORMAS SON CADA VEZ MAS HETEROGENEAS, INCLUYENDO PROCESADORES, DISPOSITIVOS Y ACELERADORES HARDWARE DE DIFERENTES TIPOS, QUE SE COMBINAN E INTERCONECTAN PARA FORMAR COMPLEJOS SISTEMAS EN LOS QUE LOS DATOS DEBEN MOVERSE ENTRE ESPACIOS DE MEMORIA ALTAMENTE JERARQUIZADOS Y DISTRIBUIDOS,EN ESTE PROYECTO SE PROPONE UN NUEVO CONJUNTO DE ABSTRACCIONES PARA FACILITAR LA PROGRAMACION DE PROPOSITO GENERAL PARA APLICACIONES PARALELAS ESCALABLES, CAPACES DE EJECUTARSE EFICIENTEMENTE EN TERMINOS DE RENDIMIENTO Y SOSTENIBILIDAD, EN PLATAFORMAS Y ENTORNOS HETEROGENEOS DE CUALQUIER NIVEL, DESDE SISTEMAS AISLADOS HASTA GRANDES CLUSTERS CON DIVERSIDAD DE DISPOSITIVOS, INCLUYENDO ACELERADORES, LA IDEA SE BASA EN CREAR MECANISMOS DE PROGRAMACION QUE PERMITAN: (1) DECLARAR Y UTILIZAR ESTRUCTURAS DE DATOS QUE SE REPARTAN DE FORMA TRANSPARENTE EN UN ESPACIO DE MEMORIA GLOBAL FORMADO POR LOS ESPACIOS DE MEMORIA DE DISPOSITIVOS DE NATURALEZA HETEROGENEA DISTRIBUIDOS EN DIFERENTES MAQUINAS INTERCONECTADAS, (2) ESPECIFICAR DE FORMA ABSTRACTA LOS INTERACCIONES NECESARIAS EN EL ESPACIO DE DATOS GLOBAL, DE FORMA QUE SE GESTIONE TAMBIEN DE FORMA TRANSPARENTE LA ESTRUCTURA DE CONTROL Y SINCRONIZACION NECESARIA PARA COMUNICAR LOS ESPACIOS DE MEMORIA REMOTOS DE FORMA AGRUPADA Y ASINCRONA, PARA ELLO SERA NECESARIO EXPLOTAR MODELOS DE COMUNICACION REMOTA ENTRE PROCESOS Y MAQUINAS, E INTEGRAR DE FORMA MODULAR Y EXTENSIBLE LOS MODELOS Y TECNICAS DE PROGRAMACION ESPECIFICAS DE LOS DIFERENTES DISPOSITIVOS CONECTADOS, PARA CONSEGUIR LA EFICIENCIA, SOSTENIBILIDAD Y ESCALABILIDAD DESEADAS, (3) DEFINIR INTERFACES ABSTRACTAS QUE PERMITAN CONSTRUIR BIBLIOTECAS DE FUNCIONES HETEROGENEAS, CON DIVERSAS IMPLEMENTACIONES OPTIMIZADAS PARA CADA TIPO DE DISPOSITIVO, (4) CONSTRUIR EL SISTEMA COMO UNA BIBLIOTECA DE FUNCIONES U OBJETOS, PARA FACILITAR SU PORTABILIDAD Y ADOPCION,LAS ABSTRACCIONES PROPUESTAS PERMITIRAN INTEGRAR EN UN UNICO MODELO DIFERENTES TECNICAS DE PROGRAMACION Y COORDINACION DE DISTINTOS TIPOS DE DISPOSITIVOS ACELERADORES, CON MECANISMOS EFICIENTES DE COMUNICACION EN SISTEMAS DISTRIBUIDOS, EL RESULTADO FACILITARA LA PROGRAMACION DE APLICACIONES PARALELAS QUE SE DESPLEGARAN, EJECUTARAN Y COMUNICARAN DE FORMA EFICIENTE Y SOSTENIBLE, ADAPTANDOSE AL NIVEL DE ESCALA DE LA PLATAFORMA, PROGRAMACIÓN PARALELA\PROGRAMACIÓN HETEROGÉNEA\ESCALABILIDAD\CLUSTERS\ACELERADORES