La fonction des ordinateurs dépend d’une myriade d’interactions complexes entre le matériel et les logiciels à l’intérieur de la machine. Au fur et à mesure que les ordinateurs deviennent plus rapides, plus puissants et de plus en plus sophistiqués, la complexité de ces « conversations » matérielles et logicielles est également plus complexe, ce qui pose un problème important aux ingénieurs informaticiens.
« En examinant l’adéquation entre le matériel et les logiciels parallèles, nous pourrons aborder des problèmes plus intéressants, tels que des performances informatiques plus élevées », déclare AJ Guillon, diplômé en informatique de l’Université de Toronto et développeur de logiciels axés sur la conception de systèmes informatiques parallèles.
La promesse d’une informatique hétérogène, dans laquelle plusieurs processeurs différents travaillent ensemble pour accomplir une tâche compliquée, a rendu l’élimination de cet écart matériel-logiciel encore plus urgente.
Pour M. Guillon, cet écart représentait une occasion et, aujourd’hui, sa société en démarrage, YetiWare, offre une nouvelle solution pour la mise au point de programmes logiciels parallèles qui fonctionnent beaucoup plus efficacement sur les systèmes matériels modernes.
Le résultat, une plateforme intergicielle informatique hétérogène (PIIH), qui est un système d’exploitation pour les processeurs hétérogènes, ce qui permet aux développeurs d’applications d’élaborer des programmes plus facilement pour ces systèmes matériels complexes.
L’idée du produit YetiWare a été facilitée par le recrutement de M. Guillon au groupe de travail OpenCL de Khronos, un consortium d’entreprises et d’universités sans but lucratif dédié à la création de normes ouvertes pour le développement d’applications informatiques sophistiquées. Grâce à ce groupe, il a rencontré le professeur Paul Chow, de l’Université de Toronto, très respecté pour son travail dans les architectures informatiques. « Nous avons réalisé que nous ferions de meilleurs progrès si nous travaillions ensemble », dit Guillon.
Leur but était de développer quelque chose de semblable à un système d’exploitation afin que les différents processeurs d’un ordinateur puissent « coopérer » entre eux en utilisant OpenCL, une norme commune d’accès ouvert pris en charge par les principales entreprises de processeurs.
« Nous nous sommes demandés : pouvons-nous fournir quelque chose pour que les applications continuent à fonctionner même si les nouveaux processeurs viennent avec des fonctionnalités que nous ne connaissons pas? », a déclaré M. Guillon.
C’était un plan ambitieux, mais la relation du professeur Chow avec CMC Microsystèmes les a aidés à surmonter un premier obstacle. Le professeur Chow avait déjà identifié des problèmes avec l’infrastructure informatique hétérogène existante qui entravaient sa propre recherche et pouvait voir comment l’idée de YetiWare pourrait rendre la plateforme plus facile à utiliser. Ils ont approché CMC Solutions pour obtenir de l’assistance en recherche et développement. Reconnaissant que le travail pourrait également profiter à d’autres chercheurs du Réseau national de conception du Canada (RNCC), CMC a fourni 50 000 $ et 100 heures de temps d’ingénierie pour développer la technologie qui serait dans le premier produit de Yeti.
Avec l’aide de M. Yassine Hariri, ingénieur principal en conception de plateformes chez CMC, M. Guillon a utilisé OpenCL comme base de son logiciel, puis s’est appuyé sur ses capacités. « OpenCL fournit une vision de la façon dont le matériel fonctionne vraiment, mais il y avait des abstractions qui n’étaient pas tout à fait justes », a déclaré M. Guillon. « Une partie de notre projet consistait à changer ces abstractions de base. » M. Hariri a intégré et testé le logiciel, alors que le professeur Chow conseillait et testait le produit.
« La valeur ajoutée de travailler avec CMC était substantielle », a déclaré Guillon. « CMC comprend la technologie – ils peuvent juger du mérite de notre proposition parce qu’ils ont une profonde compréhension technique. C’est un avantage incroyable, qui place CMC à la fine pointe de la recherche au Canada. »
La solution de YetiWare réduit la complexité de la programmation de logiciels hétérogènes par ordre de grandeur en déplaçant des opérations complexes vers la PIIH, a déclaré M. Guillon, rendant les développeurs plus productifs et raccourcissant les durées des projets de plusieurs années à plusieurs mois. « Cela se fait d’une manière telle que, en tant que développeur, vous devez en savoir relativement peu sur le fonctionnement de la plateforme sous-jacente et cela vous permet d’exécuter le même programme sur n’importe quel système. »
La plateforme est maintenant accessible aux universitaires du Réseau national de conception du Canada, lesquels explorent actuellement ses capacités. M. Guillon dit que cet accès permet également la préparation et la formation des professeurs et des étudiants de second cycle pour l’utiliser dans leurs recherches. « Et cela aide notre capacité à recruter du personnel talentueux. »
La prochaine cible de YetiWare est les centres de données, l’une des nombreuses applications futures, a déclaré John Reynolds, co-fondateur de l’enterprise. « Ce produit s’adresse à tous les secteurs qui veulent des performances plus rapides, qu’il s’agisse d’informatique haute performance, de recherche mathématique pour la modélisation climatique, de recherche guidée par l’image, d’intelligence artificielle ou de véhicules autonomes », explique-t-il. « Nous sommes vraiment à la fine pointe en matière d’innovation. »
« L’ampleur de ce que nous avons fait est phénoménale et n’aurait pas été couronnée de succès sans CMC », affirme Guillon. « Notre défi consiste maintenant à étendre nos activités et à attirer des investisseurs afin que nous puissions croître rapidement et conquérir ce marché émergent. »
Photo : Rodney Daw
Mars 2018