Projet ARCHEOCS: Architectural Exploration and Optimization on Complex SoCs.

Le projet ARCHEOCS lancé en novembre 2020 a pour objectif de doter les industriels des filières aéronautiques, spatiales et automobiles d’un cadre méthodologique et d’outils logiciels répondant aux enjeux de la distribution d’applications critiques sur des plateformes d’exécution multicoeurs et multiprocesseurs distribuées. En effet, pour assurer l’efficacité des processus de développement et de déploiement de telles applications et garantir leurs performances et sûreté à l’exécution, ces capacités de calcul parallèle requièrent des méthodes et des outils spécifiques, en particulier lorsque les systèmes exploitant ces capacités sont soumis à un processus de certification formelle.

L’IRT Saint Exupéry, IRT des filières aéronautiques, espace et systèmes embarqués disposant d’un centre de compétences en ingénierie des systèmes temps-réel critiques lance le projet ARCHEOCS.
Un système temps-réel doit réagir à son environnement en respectant des contraintes temporelles strictes. Pour un tel système, disposer d’une architecture à plusieurs unités de calcul permet d’accroître la capacité de traitement et ainsi de réaliser des calculs plus lourds en des temps plus courts. Ce parallélisme matériel est aussi un moyen de faciliter le traitement simultané d’événements multiples. Les architectures multicoeurs sont ainsi devenues le standard de fait pour une très grande partie des systèmes d’usage général. À titre d’exemple, bon nombre des appareils de notre quotidien sont désormais dotés de telles plateformes: ordinateurs de bureau, téléphones mobiles, etc.

Dans le domaine des systèmes critiques, avoir la capacité d’intégrer de telles architectures est un enjeu majeur dans l’objectif d’amélioration des performances, de la sûreté et de l’évolutivité de ces systèmes. Cette capacité repose sur l’exploitation du parallélisme intrinsèque offert par ces architectures, et notamment sur la capacité à décomposer les applications logicielles en composants parallélisables, à déployer ces composants et à en assurer l’exécution parallèle tout en préservant les propriétés fonctionnelles et temporelles attendues. Cela requiert de maitriser le parallélisme sur les unités de calcul, mais également celui des flots de communications inter-unités pour lesquels la garantie de testabilité (et donc de déterminisme), de ponctualité et de tolérance aux fautes est attendue au niveau global du système.

Send this to a friend