Advanced atomics: leveraging memory hierarchies to improve atomic memory operations for next generation coherent manycores
(English) The continuous evolution of multiprocessor and heterogeneous computing systems has led to a dramatic increase in architectural complexity, providing higher throughput and energy efficiency. Such advancements have been boosted by the technological development of chiplet-based architectures, which enable further scaling of transistor count. The downside is that long-standing challenges, such as synchronization and data sharing, continue to worsen. At the heart of synchronization lie atomic memory operations (AMOs), hardware-supported read–modify–write primitives that ensure correctness and coordination among concurrent threads. However, as systems scale toward hundreds of cores, integrate heterogeneous compute engines, and adopt chiplet-based packaging, traditional AMO implementations face serious scalability and latency bottlenecks. This thesis presents a set of architectural and microarchitectural innovations to enhance the efficiency, flexibility, and adaptability of AMOs across future coherent manycore and heterogeneous systems. The thesis addresses three fundamental challenges. First, existing instruction set architectures (ISAs) lack direct support for floating-point atomic operations, forcing programmers to emulate them using compare-and-swap (CAS) loops that degrade performance and increase contention. Second, current AMO implementations employ static policies that determine their execution point, either near the core (in the L1 cache) or far in the memory hierarchy (e.g., at the last-level cache or directory), without adapting to application behavior. Third, far AMOs are typically centralized, meaning that all updates to a memory location are serialized through a single point, creating contention and coherence traffic that limit scalability in chiplet-based and distributed cache architectures. The first contribution extends the Arm architecture with Floating-Point Atomic Memory Operations (FAMOs). FAMOs enable hardware-level atomic operations on floating-point data, removing the need for inefficient CAS-based software constructs. Extensive evaluation across high-performance computing (HPC), graph analytics, and machine learning workloads demonstrates that FAMOs achieve up to 1.58x performance improvement and reduce synchronization latency by over 30%. The second contribution proposes DynAMO, a runtime mechanism that dynamically selects the optimal AMO execution placement based on data locality and reuse patterns. By analyzing temporal reuse and coherence activity, DynAMO predicts whether performing an AMO locally or remotely will minimize latency and data movement. Experimental results show that DynAMO outperforms the best static policy by an average of 1.09x across all workloads, and up to 1.31x in AMO-intensive applications, improving both performance and energy efficiency. The third contribution introduces a new class of delegated and migrating AMOs that eliminate the limitations of centralized far AMOs. Additionally, we propose Delegato, an AMO predictor at the directory level. Delegato allows the coherence directory to delegate the execution of an AMO to the current data owner or migrate the atomic operation to a more suitable cache level, effectively distributing synchronization across the memory hierarchy. Combined with predictive mechanisms that trace locality and reuse, Delegato achieves up to 1.13x speed-up over state-of-the-art approaches while reducing interconnect traffic and cache invalidations in chiplet-based systems. (Català) L'evolució contínua dels sistemes de computació multiprocessador i heterogènia ha provocat un augment dràstic en la complexitat arquitectònica, proporcionant un rendiment i una eficiència energètica més alts. Aquests avenços han estat impulsats pel desenvolupament tecnològic de les arquitectures basades en chiplets, que permeten una escalabilitat més gran en el nombre de transistors per reticle. L'inconvenient és que els problemes fonamentals dels multinúclis, com la sincronització i l'intercanvi de dades, continuen empitjorant. Al cor de la sincronització es troben les operacions atòmiques de memòria (AMO), primitives de lectura-modificació-escriptura suportades pel hardware que garanteixen l'execució correcta i la coordinació entre fils concurrents. No obstant això, a mesura que els sistemes escalen cap a centenars de nuclis, integren unitats de còmput heterogènies i adopten empaquetaments basats en chiplets, les implementacions tradicionals d'AMO s'enfronten a colls de botella greus d'escalabilitat i de latència. Aquesta tesi presenta un conjunt d'innovacions arquitectòniques i microarquitectòniques per millorar l'eficiència, la flexibilitat i l'adaptabilitat de les AMO en futurs sistemes coherents multinúcli i heterogenis. La tesi aborda tres desafiaments fonamentals. Primer, els conjunts d'instruccions (ISA) existents no tenen suport directe per a operacions atòmiques de coma flotant, obligant als programadors a emular-les mitjançant bucles de compare-and-swap (CAS) que degraden el rendiment i augmenten la contenció. Segon, les implementacions actuals d'AMO fan servir polítiques estàtiques que determinen el lloc d'execució, ja sigui prop del nucli (a la memòria cache L1) o lluny en la jerarquia de memòria (p. ex., a la memòria cache d'últim nivell o al directori), sense adaptar-se al comportament de l'aplicació. Tercer, les AMO remotes solen estar centralitzades, cosa que significa que totes les actualitzacions es serialitzen en un únic punt, generant contenció i tràfic de coherència que limiten l'escalabilitat en arquitectures de memòria cache distribuïdes i basades en chiplets. La primera contribució estén l'arquitectura Arm amb Operacions Atòmiques de Memòria de Punt Flotant (FAMOs). Les FAMOs permeten operacions atòmiques en hardware sobre dades de coma flotant, eliminant la necessitat de construccions de software ineficients basades en CAS. Una avaluació exhaustiva en càrregues de treball de computació d'alt rendiment (HPC), anàlisi de gràfics i aprenentatge automàtic demostra que les FAMOs assoleixen una millora de rendiment de fins a 1.58x i redueixen la latència de sincronització en més d'un 30%. La segona contribució proposa DynAMO, un mecanisme dinàmic en temps d'execució que selecciona dinàmicament la ubicació òptima d'execució d'AMO basant-se en la localitat de les dades i els patrons de reutilització. En analitzar la reutilització temporal i l'activitat de coherència, DynAMO prediu si realitzar una AMO local o remota minimitzarà la latència i el moviment de dades. Els resultats experimentals mostren que DynAMO supera la millor política estàtica en una mitjana de 1.09x en totes les càrregues de treball, i fins a 1.31x en aplicacions intensives en AMO, millorant tant el rendiment com l'eficiència energètica. La tercera contribució introdueix dues noves classes d'AMOs, delegades i migratòries, que eliminen les limitacions de les AMO remotes centralitzades. Addicionalment, es proposa Delegato, un predictor de localització d'AMOs en el nivell del directori. Delegato permet que el directori de coherència delegui l'execució d'una AMO al propietari actual de les dades o migri l'operació atòmica a un nivell de memòria cache més adequat, distribuint eficaçment la sincronització a través de la jerarquia de memòria. Delegato combinat amb mecanismes predictius que rastregen la localitat i la reutilització, Delegato assoleix una acceleració de fins a 1.13× sobre l'estat de l'art (Español) La evolución continua de los sistemas de computación multiprocesador y heterogénea ha provocado un aumento drástico en la complejidad arquitectónica, proporcionando mayor rendimiento y eficiencia energética. Tales avances han sido impulsados por el desarrollo tecnológico de las arquitecturas basadas en chiplets, que permiten una mayor escalabilidad en el número de transistores por retículo. La desventaja es que los problemas fundamentales de los multicores, como la sincronización y el intercambio de datos, continúan empeorando. En el núcleo de la sincronización se encuentran las operaciones atómicas de memoria (AMO), primitivas de lectura-modificación-escritura soportadas por el hardware, que garantizan la correcta ejecución y la coordinación entre hilos concurrentes. Sin embargo, a medida que los sistemas escalan hacia cientos de núcleos, integran unidades de cómputo heterogéneas y adoptan empaquetados basados en chiplets, las implementaciones tradicionales de AMO enfrentan serios cuellos de botella de escalabilidad y de latencia. Esta tesis presenta un conjunto de innovaciones arquitectónicas y microarquitectónicas para mejorar la eficiencia, la flexibilidad y la adaptabilidad de las AMO en futuros sistemas coherentes multinúcleo y heterogéneos. La tesis aborda tres desafíos fundamentales. Primero, los conjuntos de instrucciones (ISA) existentes carecen de soporte directo para operaciones atómicas de coma flotante, obligando a los programadores a emularlas mediante bucles de compare-and-swap (CAS) que degradan el rendimiento y aumentan la contención. Segundo, las implementaciones actuales de AMO emplean políticas estáticas que determinan el lugar de ejecución, ya sea cerca del núcleo (en la cache L1) o lejos en la jerarquía de memoria (p. ej., en la cache de último nivel o en el directorio), sin adaptarse al comportamiento de la aplicación. Tercero, las AMO remotas suelen estar centralizadas, lo que significa que todas las actualizaciones a una ubicación de memoria se serializan en un único punto, generando contención y tráfico de coherencia que limitan la escalabilidad en arquitecturas de cache distribuidas y basadas en chiplets. La primera contribución extiende la arquitectura Arm con Operaciones Atómicas de Memoria de Punto Flotante (FAMOs). Las FAMOs permiten operaciones atómicas en hardware sobre datos de coma flotante, eliminando la necesidad de construcciones de software ineficientes basadas en CAS. Una evaluación exhaustiva en cargas de trabajo de compu