Releases: OpenFAM/OpenFAM
OpenFAM 3.1.0 release
-
Added thallium as an alternate RPC framework for control path operations. Thallium can be used as RPC framework by passing --rpc_framework=thallium to openfam_adm script (or in the arg file). Steps for thallium installation can be found here.
To fall back to grpc, --rpc_framework=grpc can be used by application developers. The default option is grpc.
-
Improvements to memory registrations: OpenFAM 3.0 registered each data item separately with libfabric, leading to excessive memory registrations as the number of data items increases. As a result, scalability suffers because the underlying memory registration caches become inefficient. OpenFAM 3.1 introduces an alternative approach to register entire region in place of registering data items, thereby reducing the number of memory registrations needed.
-
OpenFAM APIs changes:
- fam_create_region API has been modified. A new region specific attribute called permissionLevel has been added to a structure called Fam_Region_Attributes. See fam_create_region API for more details.
- A new API by name fam_close has been added. This API reduces the reference count of the region within which the data item represented by the descriptor is allocated. OpenFAM internally uses this reference count for optimal usage of resources. This API helps to release unused resources back to the system. See fam_close API for more details.
-
Known Issues:
If a region is destroyed without opening any data items within it, or if a region is destroyed without closing all the opened data items, the registered memory might be stranded
OpenFAM 3.0.0 release
- Added support for volatile and persistent memory types.
- Multi-threaded support has been added that enables OpenFAM to be used with multi-threaded applications.
- Performance improvements: Data item interleaving feature has been added in which a given data item will span across multiple memory servers. This has been done to uniformly distribute the load across multiple memory servers, thus reducing the network bottlenecks, and thereby improving the overall performance. Data item interleaving is enabled by default.
- Added support for multiple contexts. The data path APIs (get,put, scatter, gather and atomics) can be invoked from user defined contexts.
- OpenFAM APIs changes:
- fam_create_region API has been modified. Region specific attributes like redundancyLevel, etc should now be specified using a structure called Fam_Region_Attributes.
- Two new APIs have been added to support multiple contexts namely fam_context_open() and fam_context_close(). These APIs provide the flexibility to threads to invoke data path operations in parallel.
- A new API fam_progress has been provided that returns the count of pending data path and atomic operations.
- Few APIs have been added to enable backing up and restoring of data items namely - fam_backup() and fam_restore(). An API has been provided to delete the unused backup in the memory server.
OpenFAM Version 2.0.1
See NEWS.md for the list of bug fixes that have been added since the last release. Build and installation instructions are listed in the corresponding README.md file located in the source tree.
OpenFAM Version 2.0.0
See NEWS.md for the list of features and enhancements that have been added since the last release. Build and installation instructions are listed in the corresponding README.md file located in the source tree.
OpenFAM Version 0.4.0
Merge pull request #51 from OpenFAM/devel Version 0.4.0