Scaling Shared-Memory Data Structures as Distributed Global-View Data Structures in the Partitioned Global Address Space model
The Partitioned Global Address Space (PGAS), a memory model in which the global address space is explicitly partitioned across compute nodes in a cluster, strives to bridge the gap between shared-memory and distributed-memory programming. To further bridge this gap, there has been an adoption of global-view distributed data structures, such as 'global arrays' or 'distributed arrays'. This work demonstrates how shared-memory data structures can be modified to scale in distributed memory. Presented in this work is the Distributed Interlocked Hash Table (DIHT), a global-view distributed map data structure inpired by the Interlocked Hash Table (IHT). At 64 nodes with 44 cores per node, DIHT provides upto 110x the performance of the Chapel standard-library HashedDist.
READ FULL TEXT