Simulation rapide et précise de SoCs à plusieurs coeurs

par Marie Badaroux

Projet de thèse en Informatique

Sous la direction de Frédéric Pétrot.

Thèses en préparation à l'Université Grenoble Alpes , dans le cadre de École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble) , en partenariat avec Techniques de l'Informatique et de la Microélectronique pour l'Architecture des systèmes intégrés (laboratoire) et de SLS - System Level Synthesis (Olivier MULLER) (equipe de recherche) depuis le 01-10-2020 .


  • Résumé

    La façon de programmer des puces à plusieurs coeurs présume que la mémoire est partagée et que le support matériel pour cela est la cohérence du cache dans toute la hiérarchie de la mémoire. La question de permettre la mise à l'échelle du protocole nécessaire pour assurer la cohérence est récurrente car elle nécessite de diffuser des messages de cohérence vers tous les caches, ou de multicaster ces messages vers un sous-ensemble identifié des caches. De même, les synchronisations collectives telles que les barrières ou la signalisation d'état supportent difficilement la mise à l'échelle. Les simulateurs fonctionnels rapides actuels ne prennent pas en compte de modèles non fonctionnels comme les caches, TLB et d'autres. Plusieurs tentatives ont été faites pour introduire de telles informations dans les modèles, au prix de ralentissements importants. D'un autre côté, une simulation très rapide basée sur des traces a été développée. Dans ce cas, les traces recueillies lors des exécutions sont filtrées selon certains critères et rejouées sur une vue abstraite du système. Cependant, le comportement du système ne peut pas être influencé par les timings. Le but de cette recherche est d'étudier les stratégies de simulation nécessaires pour simuler à un niveau système mais avec une précision acceptable, un multiprocesseur et son infrastructure de communication sans fil pour prendre en charge la conception et l'implémentation de systèmes centrés sur le logiciel basés sur des NoCs sans fil. La partie "radio" sort du cadre de cette thèse mais les capacités qu'elle offre et les contraintes qu'elle impose sont à prendre en compte pour évaluer des solutions de cohérence de cache à grande échelle et certaines opérations collectives comme les barrières de synchronisation ou la signalisation d'état.

  • Titre traduit

    Fast and accurate simulation of multi/many-core SoCs


  • Résumé

    The de facto way of programming multi/manycore chips assumes that the memory is logically shared, and the hardware support for that is cache coherence throughout the memory hierarchy. The question of enabling the scaling of the protocol needed to ensure coherence is recurrent, because it requires to broadcast coherence messages to all the caches, or to multicast these messages to an identified subset of the caches. Similarly, collective synchronizations like barriers or condition signaling hardly scale. Current fast functional simulators do not take non-functional models, such as caches, TLB, and so on, into account. Several attempts have been made to introduce such information in the models, at the price of high slowdowns. At the other end of the spectrum, very fast trace-based simulation has been developed. In that case traces gathered during executions are filtered following certain criteria and replayed on an abstract view of the system. However, the behavior of the system cannot be influenced by timings. The goal of this research is to investigate the needed simulation strategies to simulate, at system level but with an acceptable accuracy, a multiprocessor and its wireless communication infrastructure to support the design and implementation of software-centric systems based around wireless NoCs. The “radio” part is out of the scope of this position proposal, but the capabilities it offers and the constraints it imposes are to be taken into account to evaluate solutions for large scale cache coherency and some collective operations like synchronization barriers or condition signaling.