The authors focus on designing efficient distributed data structures for future many-core architectures with non or partially cache-coherent memory. They propose a comprehensive collection of data structures, including stacks, queues, and deques, that are optimized for such architectures.
The key highlights and insights are:
The authors employ a highly scalable distributed hash table (DHT) as the underlying directory to store the state of the data structures. This allows them to distribute the data across the local memory modules of the servers.
They introduce a generic hierarchical scheme that makes all their implementations scalable. In this approach, only one core from each island (the island master) participates in the execution of the distributed algorithm, while the rest of the cores submit their requests to this core.
For the directory-based stack, the synchronizer maintains a counter (top_key) to assign unique keys to the pushed elements. Clients use these keys to insert and remove elements from the directory.
For the directory-based queue, the synchronizer maintains two counters (head_key and tail_key) to track the first and last elements in the queue. Clients use these keys to enqueue and dequeue elements from the directory.
The authors provide formal proofs of correctness (linearizability) for their directory-based stack and queue implementations.
Experimental results on a 512-core non cache-coherent architecture demonstrate the scalability and performance benefits of the proposed techniques, especially the hierarchical approach.
Başka Bir Dile
kaynak içeriğinden
arxiv.org
Önemli Bilgiler Şuradan Elde Edildi
by Panagiota Fa... : arxiv.org 04-09-2024
https://arxiv.org/pdf/2404.05515.pdfDaha Derin Sorular