Horario
Carga horaria: 9 horas.
- Clase 1: Lunes 13/3, 14:00hs a 17:00hs
- Clase 2: Martes 14/3, 14:00hs a 17:00hs
- Clase 3: Miércoles 15/3, 14:00hs a 17:00hs
Programa abreviado
“Intelligent edge systems” constituyen un segmento creciente enmarcado en lo que se conoce como “cloud-backed cognitive IoT marketplace”. El proyecto de investigación “Efficient Programmability Of Cognitive Heterogeneous Systems” (“EPOCHS”), un proyecto financiado por el programa “Domain-Specific Systems-on-Chip” (DSSoC) de DARPA, se enfoca en el diseño de metodologías ágiles de desarrollo software-hardware para Sistemas en Chip (SoC) complejos que, se espera, sean incluidos en las próximas generaciones de vehículos autónomos y conectados. Estos SoCs deben cumplir con objetivos muy agresivos en cuanto a consumo, desempeño, confiabilidad, y criterios de seguridad para poder calificar para su adopción en aplicaciones reales.
Procesadores de propósito general con soporte de aceleradores especialmente seleccionados son la base para poder llegar a cumplir con los requisitos de desempeño y eficiencia. Esta heterogeneidad a nivel de procesamiento de hardware inmediatamente crea desafíos a nivel de programación. Co-diseñar estos sistemas desde el punto de vista del software y del hardware, y de una forma ágil (es decir, que no se necesite un equipo enorme de expertos) es otro de los aspectos clave de este proyecto. En este curso de tres clases, presentaremos la metodología de diseño ágil “EPOCHS” desde una perspectiva ‘‘full-stack’’, incluyendo la aplicación de software del dominio de vehículos autónomos y conectados, software de sistema (compilador y scheduler), y el diseño del SoC (hardware) que le da soporte a todo el sistema.
La metodología de diseño EPOCHS consiste de una serie de pasos que comienzan con la aplicación de software (adoptada del dominio de vehículos autónomos y conectados) hasta llegar a la implementación del SoC final. El código de la aplicación de software, el software de sistema (compilador y scheduler), y el conjunto de herramientas que forman parte de la metodología son de código abierto y disponible al público en general.
EPOCHS Demo: https://youtu.be/NXzZOX5Ukiw
Objetivos
En este curso, los participantes obtendrán una visión general del proceso a través del cual se diseñan, en la actualidad, nuevos sistemas en chip (SoC, del inglés system on a chip) para aplicaciones específicas, junto al software necesario para su programación y uso. El foco del curso se pondrá en la ‘‘programabilidad’’ (facilidad de ser programado y usado) de estos sistemas en chip a través del acceso a diferentes herramientas, incluyendo: una aplicación específica del domino de vehículos autónomos y conectados, un compilador avanzado, y un planificador de tareas (task scheduler) inteligente. Además, se abordarán conceptos básicos de diseño de hardware y aceleradores de propósito especial, que constituyen la base del diseño de sistemas en chip.
Temario
Utilizando las herramientas mencionadas, se presenta un curso estructurado en tres sesiones de tres horas cada una:
Clase 1:
* Introducción al proyecto EPOCHS por su Investigador Principal, Dr. Pradip Bose (IBM Research). *En inglés*
* Presentación de la metodología de diseño ágil EPOCHS.
* Introducción a los componentes principales de EPOCHS:
* Aplicación del dominio de vehículos autónomos y conectados, compilador, scheduler "inteligente", y SoC.
* Hands-on 1: Aplicación del dominio de vehículos autónomos y conectados.
Clase 2:
* Repaso de los tópicos vistos durante la clase anterior.
* Presentación del "software stack" completo:
* Introducción al compilador "Heterogeneous Parallel Virtual Machine" (HPVM) y al scheduler "inteligente".
* Interacción entre HPVM y el scheduler.
* Hands-on 2: "software stack" completo en acción.
Clase 3:
* Repaso de los tópicos vistos durante la clase anterior.
* Análisis ontológico para descubrir nuevos aceleradores.
* Diseño e implementación de SoCs usando la plataforma ESP ("Embedded Scalable Platform").
* Discusión de oportunidades de colaboración y conclusiones generales.