« Vous avez besoin d'un expert en matériel qui comprend ce qui se cache sous le capot afin que vous puissiez restructurer vos algorithmes, ", a déclaré Ali Akoglu à propos des difficultés à faire correspondre le code au matériel. Les systèmes sur puces permettront aux informaticiens de se concentrer sur le pilotage, pas la mécanique. 'Ce n'est qu'alors que vous obtenez des performances optimales.' Crédit :Dietmar Becker
Les informaticiens développent des algorithmes qui contrôlent tout, des véhicules aériens sans pilote aux ordinateurs de bureau en passant par les téléphones portables dans nos poches. Mais il peut être compliqué de faire correspondre le code qu'ils développent à des systèmes matériels qui varient tellement.
"Chacune de ces architectures matérielles est livrée avec son propre environnement de programmation, et vous avez besoin d'un expert en matériel qui comprend ce qui se cache sous le capot afin que vous puissiez restructurer vos algorithmes pour chevaucher l'architecture matérielle cible, " dit Ali Akoglu, Professeur agrégé UA au Département de génie électrique et informatique et à l'Institut BIO5, directeur du Reconfigurable Computing Lab et directeur du site UA du NSF Center for Cloud and Autonomic Computing. "Ce n'est qu'alors que vous obtenez des performances optimales."
Akoglu collabore avec des chercheurs de l'Arizona State University, l'Université Carnegie Mellon et l'Université du Michigan, et des sociétés Arm, EpiSys et GDMS, résoudre ce problème en développant des systèmes sur puces, ou SoC, qui permettent aux développeurs de logiciels de concentrer leurs efforts sur la conception d'algorithmes et d'applications, pas sur les faire correspondre aux structures des puces. Ils utilisent une subvention de la Defense Advanced Research Projects Agency, ou DARPA—dont la portion UC est de 820 $, 000—pour le faire.
Conception pour la DARPA
Ces nouveaux systèmes basés sur des puces ne se contenteront pas de mapper automatiquement le logiciel sur le matériel. La DARPA souhaite que les chercheurs les conçoivent pour être « spécifiques à un domaine » afin de trouver un équilibre entre efficacité et flexibilité, c'est-à-dire encore capable d'accomplir plus d'une tâche, mais pas si généralisé qu'ils sacrifient la vitesse ou la qualité des fonctions pour la quantité.
Ils doivent également être capables d'intégrer de nouvelles applications au fur et à mesure des progrès technologiques. Si un informaticien développe du code pour une toute nouvelle fonction, comme l'envoi d'hologrammes par texte, le SoC devrait être en mesure de mapper le logiciel de cette technologie sur le matériel de la puce.
La réponse de l'équipe au défi de la DARPA est un « SoC hétérogène reconfigurable par logiciel avancé axé sur le domaine, " ou DASH-SoC. C'est une bouchée, mais le temps passé à le dire sera plus que rattrapé par les mois de travail que cela pourrait économiser aux informaticiens.
« Lorsque vous faites appel à un étudiant diplômé pour travailler avec une nouvelle architecture matérielle, il leur faut trois à six mois pour apprendre l'environnement de programmation, et encore six mois pour l'optimiser, " a déclaré Akoglu. " Lorsque vous considérez ce problème de productivité, avoir une interface système qui traduit votre code en une architecture cible d'une simple pression sur un bouton est un objectif très ambitieux."
Alors que les informaticiens comme Akoglu créent des algorithmes que tout le monde, des chirurgiens cardiaques aux biologistes, utilise pour améliorer sa capacité à prédire les résultats, La DARPA veut spécifiquement des systèmes pour le domaine de la radio logicielle, qui comprend des applications allant des téléphones portables à la sécurité nationale.
Cinq tâches et cinq nanosecondes
Il y a un autre élément qui distingue cette nouvelle technologie :la subvention DARPA stipule que le SoC peut exécuter cinq applications à la fois, ce qui signifie équilibrer les exigences de cinq priorités différentes aussi rapidement et efficacement que possible. Comme un élève qui suit cinq cours qui impliquent tous de terminer une série de devoirs, la puce doit effectuer une planification minutieuse et une allocation des ressources pour effectuer chaque tâche pour chaque application.
C'est la partie du projet qu'Akoglu et son collaborateur Umit Ogras d'ASU mènent :développer un ordonnanceur intelligent qui cartographie quelles zones physiques de la puce terminent quelles tâches et quand. "Intelligent" signifie ici que le planificateur s'améliorera au fil du temps via l'apprentissage automatique, la façon dont un étudiant pourrait être mieux en mesure de créer un emploi du temps efficace pendant la dernière année que la première année.
"Le planificateur intelligent apprendra à planifier les tâches des processeurs spécialisés et à contrôler la puissance nécessaire pour les traiter." dit Ogras. "Par conséquent, nous allons livrer très puissant, SoC écoénergétiques et faciles à utiliser qui peuvent être utilisés dans un large éventail d'applications de communication et de radar.
L'objectif de la DARPA est un ordonnanceur intelligent qui ne prend que cinq nanosecondes pour chaque décision. Les puces avec une telle technologie de planification intelligente n'existent pas aujourd'hui, leur création est donc ambitieuse - la création d'un système aussi rapide ajoute une dimension entièrement différente, dit Akoglu.
"Cette entreprise de cinq nanosecondes me donne une pression artérielle élevée, " a-t-il plaisanté. " Mais sans fixer ces objectifs agressifs, nous ne pouvons pas pousser la technologie au niveau supérieur."