Exploration of reconfigurable tiles of computing-in-memory architecture for data-intensive applications
Exploration d'une architecture tuilée reconfigurable de mémoire calculante pour les applications gourmandes en données
Résumé
Current computing architectures for data-intensive applications are facing severe memory access limitations.Power hungry caches are not efficient anymore, the memory available to the cores is more and more limited in both capacity and latency.Unfortunately, the trend in memory technologies does not scale as fast as the computing performances, leading to the so called memory wall.To address these challenges, the main directions followed in the research community are both at the architecture level and technology level: new architecture with computation immersed in memory, coupled to on-chip Non-Volatile Memory (NVM) for increased density, and advanced 3D architectures for increased memory capacity while offering more tightly coupled computing and memory.As a first step towards these directions, this PhD thesis addresses the architectural study of computation immersed in memory architecture with an increased memory sizing, scalability and reconfigurability using standard CMOS technologies.Recent techniques that bringing computing as close as possible to the memory array such as, In-Memory Computing (IMC), Near-Memory Computing (NMC), are expected to solve these limitations, but are facing limitations such as, fixed vector size and total available memory capacity.To process data-intensive applications with larger datasets, in this thesis, I propose a scalable and reconfigurable tile-based architecture composed of SRAM-based NMC tiles, each enabling arithmetic and logic operations within the memory.The combination of a horizontal scalability scheme and a vertical data communication offers an adaptive vector size for maximum performance onto the NMC tiles.In terms of programming model, this architecture can be programmed as an accelerator and executes vector-based kernels available on existing SIMD engines.For architecture exploration, performance and energy of data-intensive kernels are quantified using an instruction-accurate simulation platform using SystemC/TLM, calibrated on existing NMC SRAM tile designed in 22 nm FDSOI technology.Compared to 512-bit SIMD architecture, the proposed NMC architecture achieves an Energy-Delay Product (EDP) reduction up to 52x and 71x for linear and quadratic computational complexity kernels, respectively.
Les architectures de calcul actuelles dédiée aux applications gourmandes en données sont confrontées à de graves limitations d'accès à la mémoire.Les caches gourmands en énergie ne sont plus efficaces et la mémoire disponible pour les processeurs est de plus en plus limitée en termes de capacité et de latence.Malheureusement, l'évolution technologique des mémoires ne s'adapte pas aussi rapidement que les performances de calcul, ce qui conduit à ce que l'on appelle le "mur mémoire".Pour relever ces défis, les principaux axes de recherche suivies dans la communauté se situent à la fois au niveau de l'architecture et au niveau technologique : des nouvelles architectures avec du calcul immergé dans la mémoire, couplée à une mémoire non-volatile (NVM) sur puce pour une densité accrue, et des architectures 3D pour une capacité de mémoire accrue tout en offrant un couplage étroit entre le calcul et la mémoire.Afin d'avancer vers ces directions, cette thèse de doctorat porte sur l'étude architecturale du calcul immergé dans la mémoire, de son dimensionnement, son extensibilité et sa reconfigurabilité en utilisant des technologies CMOS standard.Les techniques récentes qui rapprochent le plus possible le calcul de la matrice mémoire, telles que le calcul en-mémoire (IMC) et le calcul proche-mémoire (NMC), devraient permettre de résoudre ces problèmes, mais sont confrontées à des limitations telles que la taille fixe des vecteurs et la capacité totale de mémoire disponible.Pour traiter des applications avec des ensembles de données plus importants, je propose dans cette thèse, une architecture modulable et reconfigurable basée sur des tuiles NMC à base de SRAM, chacune permettant des opérations arithmétiques et logiques au sein de la mémoire.La combinaison d'un schéma d'extensibilité horizontale et d'une communication de données verticale offre une taille de vecteur adaptable pour des performances maximales sur les tuiles NMC.En termes de modèle de programmation, cette architecture peut être programmée comme un accélérateur et exécute les applications vectorisées disponibles sur les accélérateurs SIMD existants.Pour l'exploration architecturale, les performances et l'énergie des applications à forte intensité de données sont quantifiées à l'aide d'une plateforme de simulation précise à l'instruction, utilisant le langage SystemC/TLM et calibrée sur une implémentation de la tuile NMC en SRAM conçue avec la technologie FDSOI 22 nm.Par rapport à l'architecture SIMD 512 bits, l'architecture NMC proposée permet une réduction énergétique et des délais (EDP) allant jusqu'à 52x et 71x pour les applications à complexité de calcul linéaire et quadratique, respectivement.
Origine | Version validée par le jury (STAR) |
---|