This release adds support for a shared object store for MPI backend,
which can be enabled with UNIDIST_MPI_SHARED_OBJECT_STORE environment variable,
contains a lot of performance enhancements, includes several features,
important documentation updates and a bunch of bugfixes.
Key Features and Updates
------------------------
* Stability and Bugfixes
* FIX-329: Allow remaining communication requests to complete (330)
* FIX-343: Get rid of the hacks in the MPI backend (344)
* FIX-345: Test both modes of MPI execution on Linux only (346)
* FIX-349: Remove the warning regarding MpiPickleThreshold (350)
* FIX-354: Fix unidist.wait for MPI backend (355)
* FIX-363: Fix DataID usage between different MPI processes (364)
* FIX-371: Fix check for out of bounds reserved memory in shared storage (372)
* FIX-375: Fix running an MPI cluster without using shared memory (377)
* FIX-340: Fix hangs at low UNIDIST_MPI_SHARED_OBJECT_STORE_THRESHOLD (380)
* FIX-376: Partition buffers of size larger than the _bigmpi.blocksize into blocks while sending and receiving with MPI (383)
* FIX-337: Fix MpiHosts parameter usage (378)
* FIX-000: Revert PR 387 (388)
* FEAT-392: Raise a warning if shared object storage is enabled but the MPI library does not support it (393)
* FIX-389: Revert async get changes made in 359 (390)
* FIX-394: Fix CI running on Windows (395)
* FIX-396: Fix Split_type call for Unidist on MSMPI (397)
* Performance enhancements
* PERF-365: Cache info about sent metadata of shared data (366)
* PERF-360: Implement asyncronous get request (359)
* PERF-367: Use std::fill to fill service shared buffer with a given value (373)
* New Features
* FEAT-285: Implement shared object storage for MPI backend (286)
* FEAT-341: Add the ability to specify environment variables for MPI workers (352)
* FEAT-347: Get rid of mpi4py-mpich dependency (358)
* FEAT-386: Make MPI shared object store default option (387)
* Refactor Codebase
* REFACTOR-000: Remove unnecessary build step in CI (339)
* REFACTOR-000: Introduce task_info metadata package (348)
* REFACTOR-000: Remove unncessary else branch in mpi init (351)
* REFACTOR-000: Change mpi_state.comm to mpi_state.global_comm (379)
* REFACTOR-000: Change IsMpiSpawnWorkers to MpiSpawn to make it more concise (382)
* Documentation improvements
* DOCS-000: Update the workflow status badge (332)
* DOCS-000: Add the downloads badge in readme (333)
* DOCS-384: Fix warnings when building documentation (385)
* DOCS-336: Add documentation about shared object storage (391)
Contributors
------------
YarShev
Retribution98
arunjose696