OpenFAM 2.0 Services
The initial reference implementation of OpenFAM was built using a single memory server. OpenFAM version 2.0 contains significant design changes to the memory server.
- The design supports a larger pool of memory by supporting multiple memory servers.
- Regions can now span multiple memory servers, thus reducing performance bottlenecks.
- Memory servers can be addeded to the pool as needed without disturbing previously allocated memory.
- Metadata services have been separated from the memory server, enabling scalability.
Figure 1 shows the new design. There are three main components in the design.
- The client interface service (CIS):
- All PEs talk to the CIS for memory server operations.
- The metadata management service:
- Region and data item metadata is hosted by the metadata management service. The service can be co-located in the same node as a CIS server or a memory server, or it can be run in dedicated metadata management nodes.
- The memory management service:
- The actual memory is served from memory servers.
For data path (
get
,put
andatomic
) operations PEs talk to the memory servers directly. For memory management and metadata operations, e.g.,allocate
,lookup
,create_region
, etc., the CIS communicates with memory servers via an RPC service or via direct functions calls.
See configuration and startup of OpenFAM 2.0 services in the Configuration Files section.