Journal of Systems Engineering and Electronics ›› 2014, Vol. 25 ›› Issue (1): 158-167.doi: 10.1109/JSEE.2014.00019

• SOFTWARE ALGORITHM AND SIMULATION • Previous Articles     Next Articles

Elastic pointer directory organization for scalable shared memory multiprocessors

Yuhang Liu1,2,*, Mingfa Zhu1,2, and Limin Xiao1,2   

  1. 1. Laboratory of Software Development Environment, Beihang University, Beijing 100191, China;
    2. School of Computer Science and Engineering, Beihang University, Beijing 100191, China
  • Online:2014-02-25 Published:2010-01-03

Abstract:

In the field of supercomputing, one key issue for scalable shared-memory multiprocessors is the design of the directory which denotes the sharing state for a cache block. A good directory design intends to achieve three key attributes: reasonable memory overhead, sharer position precision and implementation complexity. However, researchers often face the problem that gaining one attribute may result in losing another. The paper proposes an elastic pointer directory (EPD) structure based on the analysis of shared-memory applications, taking the fact that the number of sharers for each directory entry is typically small. Analysis results show that for 4 096 nodes, the ratio of memory overhead to the full-map directory is 2.7%. Theoretical analysis and cycleaccurate execution-driven simulations on a 16 and 64-node cache coherence non uniform memory access (CC-NUMA) multiprocessor show that the corresponding pointer overflow probability is reduced significantly. The performance is observed to be better than that of a limited pointers directory and almost identical to the full-map directory, except for the slight implementation complexity. Using the directory cache to explore directory access locality is also studied. The experimental result shows that this is a promising approach to be used in the state-of-the-art high performance computing domain.