Releases: nkallima/Synch-Framework
Releases · nkallima/Synch-Framework
Version v3.3.0
This release introduces the following changes/improvements:
- Bug fixes and improvements for architectures with weak memory models (i.e., non TSO).
- Using the
synchGetNCores
functionality provided byprimitives.h
instead ofnuma_num_configured_cpus
provided bylibnuma
. codecov
workflow removed.
Version 3.2.0
This release introduces the following changes/improvements:
- Adding support for various thread placement policies.
- Improvements to the
threadtools.h
API; some basic NUMA functionality is added. - A patch on
hsynch.c
for supporting the various thread placement policies. - Improvements of the performance of
synchResched
for many multicore machines (e.g., AMD, Intel, etc.). - Improvements of the performance of the
synchGetMachineModel
function in the case of multiple calls. - The performance of algorithms based on
hsynch.c
is substantially improved (more than X2 in many cases). - Various fixes and improvements.
Version 3.1.4
This release introduces the following changes/improvements:
- Documentation updates.
Version 3.1.3
This release introduces the following changes/improvements:
- Fix for the
chlhash.c
anddsmhash.c
concurrent hash-tables. - Fix for the functionality of
synchFastRandomRange32
andsynchFastRandomRange
provided byfastrand.c
. - Improvements for the benchmarking infrastructure of hash-tables.
- Adding code for validating the data-structures provided by
clhhash.c
anddsmhash.c
. - Increasing code coverage by
codecov
.
Version 3.1.2
This release introduces the following changes/improvements:
- Expanding
validate.sh
to cover a few more concurrent objects. - Increasing code coverage by codecov.
- Enhancing the API of
threadtools.h
. - Code cleanup for the provided benchmark files.
Version 3.1.1
This release introduces the following changes/improvements:
- Bug fix for the pool objects on the recycling functionality.
Version 3.1.0
This release introduces the following changes/improvements:
- A new high-performant, optimized implementation for the flat-combining synchronization technique. This new implementation provided by the Synch framework is written from the scratch.
- A few API fixes.
Version 3.0.1
This release introduces the following changes/improvements:
README.md
updated.- Adding the JOSS paper to the repository.
Version 3.0.0
This release introduces the following changes/improvements:
- Header-files cleanup in order to provide a better and consistent API.
- Adding the
Synch
prefix to all structs provided by the runtime/primitives to the end-user. - Adding the
synch
prefix to all functions provided by the runtime/primitives to the end-user. - Extensive documentation for the API.
- Create a
doxygen
configuration file for auto-generating man-pages/documentation. - API documentation is now provided at GitHub pages: https://nkallima.github.io/sim-universal-construction/index.html.
- A code coverage report is provided through codecov.io for the validation script.
- Support for installing the framework.
- Improvements on the build environment.
- Expansion of the CONTRIBUTING.md.
- Providing a short discussion (see PERFORMANCE.md) of the expected performance for the various objects provided by the framework.
- The
bench.sh
andvalidate.sh
scripts use similar arguments as the provided benchmarks.
Version 2.4.0
The most important changes/improvements of v2.4.0 are the following:
- Adding the LCRQ Queue implementation (Adam Morrison and Yehuda Afek, PPoPP 2013, http://mcg.cs.tau.ac.il/projects/lcrq).
- Memory reclamation for SimStack is supported.
- Adding support for 128 bit Compare&Swap.
- Documentation improvements; a memory reclamation section was added in
README.md
.