Skip to content

Memory Spaces

Naveen Namashivayam Ravichandrasekaran edited this page Jul 11, 2020 · 17 revisions

Related Issue:

Memory Spaces and support for different kinds of memory #195

What is Memory Space?

Spaces are Team-based symmetric heaps. As off OpenSHMEM-1.5, we have a single symmetric heap implicitly created by the OpenSHMEM implementation based on the size input from the users through the SHMEM_SYMMETRIC_SIZE environment variable.

What does Memory Space address?

  1. Emerging system architectures support different kinds of memory, hence we need to allow users to provide more information to OpenSHMEM implementation while creating a symmetric heap. Information might include memory traits like symmetric heap size, type of memory, NUMA details, hugepage usage, and information specific to special type of memory like FAM, HBM.
  2. Avoid unnecessarily allocating symmetric data objects across the global PEs, while the application is aware of symmetric data object within the sub-set of global PEs part of an OpenSHMEM Team.

What are different use-cases addressed?

Clone this wiki locally