L’éditeur Green Hills Software a étendu à l’architecture 64 bits Arm Cortex-A72 (présente notamment dans les Layerscape LX2160A de NXP) sa solution compatible DO-178C Level A de réduction des interférences entre cœurs de processeur au sein d’un environnement multicœur. ...Mise en œuvre dans le système d’exploitation temps réel Integrity-178 tuMP (Time-Variant Unified Multi-Processing) de l’éditeur, la fonction BAM (Bandwidth Allocation and Monitoring) permet aux architectes logiciels d’allouer, pour chaque cœur de processeur, des limites de bande passante pour l'accès aux ressources partagées .
Ainsi, en garantissant l’accès à ces ressources partagées (mémoire, cache partagé, entrées/sorties, interconnexions sur la puce…) en fonction des besoins applicatifs ou du niveau de sécurité fonctionnelle requis, la fonction BAM réduit effectivement l’interférence multicœur et minimise le pire cas de temps d'exécution (WCET, Worst-Case Execution Time) en environnement multicœur, précise Green Hills.
Selon l’éditeur, l’interférence multicœur se produit au moment où plusieurs cœurs tentent d’accéder à la même ressource partagée. Ce problème est loin d’être anodin. La Certification Authorities Software Team (CAST), dont le rôle est d’identifier les points pouvant poser problème en termes de sûreté, de performances et d’intégrité du logiciel dans un système multicœur embarqué dans un aéronef, lui a en effet consacré une publication entière (CAST-32A). De son côté, Green Hills a démontré que le WCET au niveau applicatif pouvait être multiplié par 8 avec un seul cœur "interféreur" et jusqu’à 13 avec 3 cœurs "interféreurs".
Lorsqu’elle est couplée avec les bibliothèques d’utilitaires WCET spécifiques à une puce-système SoC donnée, la fonction BAM, détaille la société américaine, s’assure que les partitions critiques respectent leurs échéances spécifiques tout en permettant à des partitions moins critiques de s’exécuter simultanément sur d’autres cœurs sans impact sur les applications critiques. Cette caractéristique reste vraie même si les autres partitions sont modifiées ou si de nouvelles partitions sont introduites dans le système, assure Green Hills.
Selon l’éditeur, la fonction BAM aurait été fournie à des utilisateurs depuis plusieurs années, notamment sur des cœurs Power e500mc. « A l’heure actuelle, aucun fournisseur de système d’exploitation temps réel, hormis Green Hills, n’est en mesure de fournir une solution compatible DO-178 Level A pour la réduction des interférences multicœurs qui remplit les exigences CAST-32A », indique Dan O’Dowd, le fondateur et CEO de Green Hills Software.
Pour rappel, Integrity-178 tuMP est un système d’exploitation temps réel qui s’accommode de n’importe quelle combinaison de traitements AMP (Asymetric Multi-Processing), SMP (Symmetric Multi-Processing) et BMP (Bound Multi-Processing). Il peut exécuter une partition multithread DO-178C DAL A sur plusieurs cœurs de processeur dans une configuration BMP tel que spécifié dans la norme Arinc 653 Part 1, Suppléments 4 et 5, et dans des configurations SMP tel que spécifié dans la norme Arinc 653 Part 2 Multicore Services Extensions, Suppléments 3 et 4. Integrity-178 TuMP a également été le premier RTOS certifié conforme au standard technique FACE 3.0 pour les trois architectures de processeur pour l’avionique, Arm, Intel et Power.