Memory allocation constructs to complement NUMA memory management
R.L. Adema, Carla Schlatter Ellis · 2002
Nonuniform memory access time (referred to as NUMA) is an important feature in the design of large scale shared memory multiprocessors. However, one implication of the NUMA architecture is that locality of the data is crucial to performance. In the absence of any system support, the programmer is forced to explicitly manage these locality issues, significantly increasing the development time for parallel applications. The authors have enhanced the uniform system programming environment of BBN to allow a programmer to easily separate data structures based on expected reference patterns instead of requiring an understanding of the NUMA memory architecture as the basis for allocation decisions. An operating system providing dynamic page placement can exploit the more homogeneous allocation of data structures to virtual pages.>