Skip to content

Releases: OpenFAM/OpenFAM

OpenFAM 3.1.0 release

19 Jan 18:06
c9802f0
Compare
Choose a tag to compare
  • 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

01 Feb 10:19
6185786
Compare
Choose a tag to compare
  • 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

16 Jun 07:31
dcb276b
Compare
Choose a tag to compare

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

19 Mar 03:46
Compare
Choose a tag to compare

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

10 Jun 11:39
9ecf420
Compare
Choose a tag to compare
Merge pull request #51 from OpenFAM/devel

Version 0.4.0