C-AMAT : un modèle mathématique pour les accès Big Data
By   |  May 27, 2014

Nous nous sommes intéressés à la performance mémoire depuis 1990 et aux modèles d’accès aux données depuis 2004. Après dix ans à croiser le fer, nous sommes finalement parvenus à notre objectif en produisant la métrique de performance APC (Access Per Cycle) [6] et le modèle de performance C-AMAT (Concurrent-AMAT) [1]. APC cible les systèmes mémoire modernes en tenant compte des accès concurrents. C-AMAT, plus axé sur l’analyse de la performance des systèmes mémoire, intègre une élégante expression mathématique basée sur des preuves rigoureuses. C-AMAT est un sur-ensemble d’AMAT qu’il étend pour permettre la prise en considération de la localité des données et leurs accès concurrents.

C-AMAT se compose de cinq paramètres qui décrivent la durée des accès réussis (hit time), la concurrence des accès réussis (hit concurrency), la concurrence des défauts purs (pure miss concurrency), le taux de défauts purs (pure miss rate) et les pénalités moyennes dues aux défauts (pure miss penalty). C’est ainsi qu’avec un minimum de paramètres, C-AMAT est capable de capturer à la fois la localité et la concurrence des accès mémoire ainsi que leur interaction. Il permet de caractériser les informations de performance issues d’AMAT et de MLP et de les unifier en une seule expression mathématique. Nos résultats montrent que les temps d’attente mémoire et la performance CPU peuvent être explicitement décrits par C-AMAT. En conséquence, améliorer la performance d’un système informatique revient à une réduction de l’expression C-AMAT.

C’est encore plus vrai dans le cas d’applications traitant de larges volumes de données. Quatre des cinq paramètres de C-AMAT sont nouveaux. Grâce à eux, C-AMAT offre quatre nouvelles pistes pour améliorer la performance mémoire. De plus, le regroupement de ces cinq paramètres permet, en les combinant au plus juste, d’offrir un outil efficace d’analyse de performance. Nos récents résultats ont également montré que C-AMAT peut être amélioré plus de six fois en utilisant une combinaison optimisée des paramètres, et, comparé à AMAT, les performances mémoire peuvent être améliorées plus de 200 fois dans des environnements de calcul actuels. Et si les systèmes matériel et logiciel peuvent être ajustés en conséquence, alors les capacités d’optimisation peuvent s’avérer encore plus élevées.

L’Eq. 1 est la formule conventionnelle d’AMAT où H (hit) représente le temps des accès mémoire ; MR (Miss Rate) le taux de défaut des accès au cache ; et AMP (Average Miss Penalty) la moyenne des pénalités dues aux défauts de cache. AMP est calculé comme étant la somme des latences de tous les défauts de cache divisée par le nombre total de défauts de cache.

Eq. 1 – \(AMAT = H + MR \times AMP\)

Eq. 2 – \(C{-}AMAT = \frac{H}{C_{H}} + pMR \times \frac{pAMP}{C_{M}}\)

L’Eq. 2 est la formule C-AMAT. Son premier paramètre H a la même signification que dans AMAT. Le deuxième paramètre, CH, représente les accès concurrents réussis (hit concurrency) et le troisième paramètre, CM, les défauts d’accès concurrents (miss concurrency). CH intervient dans les cas de structures de caches multiports, multibancs ou pipelinés tandis que CM s’applique aux structures de caches non bloquants ou à pré chargement. En outre, les techniques ILP de conception des processeurs telles qu’exécution dans le désordre, pipelines à sorties multiples, SMT, CMT, etc. peuvent accroître le nombre d’accès concurrents réussis ou échecs. Le taux de défauts purs, PMR (Pure Miss Rate) est le nombre de défauts purs sur le nombre total d’accès. Un défaut “pur” signifie ici un défaut de cache engendrant au moins un cycle dû à un défaut et ce, sans aucun autre accès réussi. Concrètement, pour les caches privés des processeurs CMP, comme le cache L1, un défaut pur est mesuré dans le contexte d’un cœur de processeur. Ce qui implique que chaque cœur possède sa propre logique de détection des défauts de son cache privé. Lorsqu’au sein d’un cache privé un défaut de cache est déclenché sans aucun accès réussi, les cycles correspondants sont marqués comme étant des “défauts purs” au niveau du cœur de processeur. Pour les caches partagés de niveau supérieur, les cycles dus aux défauts purs de cache sont cette fois associés à tous les cœurs de processeur. Ce qui signifie que lorsqu’il n’y a aucun accès réussi de la part de tous les cœurs, alors les cycles d’un défaut de cache sont comptabilisés comme étant des cycles de défauts “purs”. La moyenne des pénalités dues à des défauts purs, pAMP (pure Average Miss Penalty), représente la moyenne du nombre de cycles pour l’ensemble des défauts purs de cache.

Le “défaut pur” de cache est un concept très important introduit par C-AMAT. Il se fonde sur le fait que tous les défauts de cache ne provoquent pas nécessairement une suspension du processeur. Seuls les défauts purs de cache bloquent l’exécution du processeur. Ils sont l’interaction de la localité et de la concurrence d’accès aux données. Le concept de défaut pur s’oppose au principe “locality is always good”, principe à la base de la conception des systèmes matériels et logiciels classiques.

La notion de défauts purs de cache dans C-AMAT dévoile ainsi une approche de l’architecture des ordinateurs et des algorithmes différente. A eux deux, ils présentent un nouveau paradigme dans la conception et le développement de la prochaine génération d’ordinateurs.

[Références]

[6] D. Wang, X. H. Sun. APC: A Novel Memory Metric and Measurement Methodology for Modern Memory Systems in IEEE Transactions on Computers, in press, IEEE TC digital print (DOI Bookmark).

[7] Y. H. Liu, X. H. Sun, Reevaluating Memory Stall Time via Concurrent AMAT in Illinois Institute of Technology Technical Report (IIT/CS-SCS-2013-12), 2013.

Navigation

<123>

© HPC Today 2024 - All rights reserved.

Thank you for reading HPC Today.

Express poll

Do you use multi-screen
visualization technologies?

Industry news

Brands / Products index