Recent Releases of Synch
Synch - 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 by primitives.h instead of numa_num_configured_cpus provided by libnuma.
- codecov workflow removed.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 1 year ago
Synch - 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.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 2 years ago
Synch - Version 3.1.4
This release introduces the following changes/improvements: - Documentation updates.
Scientific Software - Peer-reviewed
- C
Published by nkallima almost 3 years ago
Synch - Version 3.1.3
This release introduces the following changes/improvements:
- Fix for the chlhash.c and dsmhash.c concurrent hash-tables.
- Fix for the functionality of synchFastRandomRange32 and synchFastRandomRange provided by fastrand.c.
- Improvements for the benchmarking infrastructure of hash-tables.
- Adding code for validating the data-structures provided by clhhash.c and dsmhash.c.
- Increasing code coverage by codecov.
Scientific Software - Peer-reviewed
- C
Published by nkallima almost 4 years ago
Synch - Version 3.1.2
This release introduces the following changes/improvements:
- Expanding
validate.shto cover a few more concurrent objects. - Increasing code coverage by codecov.
- Enhancing the API of
threadtools.h. - Code cleanup for the provided benchmark files.
Scientific Software - Peer-reviewed
- C
Published by nkallima almost 4 years ago
Synch - Version 3.1.1
This release introduces the following changes/improvements:
- Bug fix for the pool objects on the recycling functionality.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 4 years ago
Synch - 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.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 4 years ago
Synch - Version 3.0.1
This release introduces the following changes/improvements:
- README.md updated.
- Adding the JOSS paper to the repository.
Scientific Software - Peer-reviewed
- C
Published by nkallima over 4 years ago
Synch - 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 and validate.sh scripts use similar arguments as the provided benchmarks.
Scientific Software - Peer-reviewed
- C
Published by nkallima over 4 years ago
Synch - 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.
Scientific Software - Peer-reviewed
- C
Published by nkallima almost 5 years ago
Synch - Version 2.3.1
The most important changes/improvements of v2.3.1 are the following:
- Improvements on validate.sh for better error reporting.
- Enhancements on README.md.
- Improved logo.
Scientific Software - Peer-reviewed
- C
Published by nkallima almost 5 years ago
Synch - Version 2.3.0
The most important changes/improvements of v2.3.0 are the following:
- Introducing validate.sh, a smoke/validation script that verifies many of the provided data structures.
- A few improvements on some benchmarks in order to be conformed with validate.sh.
- Introducing the logo of the repository.
- Enhancements on README.md.
Scientific Software - Peer-reviewed
- C
Published by nkallima almost 5 years ago
Synch - Version 2.2.1
The most important changes/improvements of v2.2.1 are the following:
- Executing Pause instructions on spinning-loops for the X86 architecture. Spin-locks and some lock-free algorithms may have performance benefits in SMT architectures.
- Documentation improvements.
Scientific Software - Peer-reviewed
- C
Published by nkallima almost 5 years ago
Synch - Version 2.2.0
This is the v2.2.0 release. This is the most stable and high-performant version of our source, so far. The most important changes/improvements of v2.2.0 are the following: - A new implementation of the pool.c functionality. Most stack and queue implementations support memory reclamation, the only exception are the simstack, simqueue, lfstack and msqueue implementations. - Code clean-up for the Sim family of algorithms. - Improvements on the H-Synch family of algorithms. - Enhanced NUMA support for the NUMA-aware data-structures. - Homogenized code for stack and queue implementations. - Better output for bench.sh script. - Numerous performance optimizations and bug-fixes, especially in machines with weak memory models. - Documentation improvements.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 5 years ago
Synch - Version 2.1.1
The most important changes/improvements of v2.1.1 are the following: - Improving the output messages of build-system. - Adding support for clang in Makefile (i.e.,use make clang for building the sources with the clang compile). - A few bug-fixes and minor improvements. - Dropped support for Intel icc compiler and added support for Intel icx compiler. Tested with Intel(R) oneAPI DPC++ Compiler 2021.1.2.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 5 years ago
Synch - Version 2.1.0
The most important changes/improvements of v2.1.0 are the following:
- Significant enhancements on bench.sh.
- New folder/file library structure.
- ftime is replaced by clock_gettime.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 5 years ago
Synch - Version 2.0.1
This is mostly a stability release. The most important changes/improvements are the following:
- Removing dead-code from the unsupported sparc/solaris architecture.
- PAPI and NUMA libraries automatically used depending user's settings in config.h.
- Pid fix for the Sync family of algorithms.
- Code-cleanup.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 5 years ago
Synch - Version 2.0
This is the v2.0 version of the code. This version introduces numerous bug fixes and features. In short, some of the features/enhancements of this release are the following: - Initial support for ARM-V8 and RISC-V machine architectures. - Significant performance optimizations for the Synch family of algorithms on modern NUMA machines. - The produced binaries can run with any number of threads/fibers without re-compilation. - All the produced benchmark binaries can accept arguments, such as the number of threads, the number of benchmark's iterations, etc. - Enhancements on how the runtime handles the NUMA characteristics of modern multiprocessors. - Better thread affinity policy in NUMA machines. - A new script called run_all.sh is provided for automatically testing all the produced binaries. - A .clang-format file is provided in order to maintain the styling-consistency of the source code. - Numerous performance optimizations and bug-fixes.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 5 years ago
Synch - Towards v2.0
This version introduces a series of bug fixes and performance improvements. More testing has been performed in RISC-V and aarch64 machine architectures.
Scientific Software - Peer-reviewed
- C
Published by nkallima about 5 years ago
Synch - Initial support for ARM-V8 and RISC-V architectures
This release is successfully tested in X8664, ARM-V8 and RISC-V machine architecture. However, it is optimized in terms of performance only for the X8664 architecture.
Scientific Software - Peer-reviewed
- C
Published by nkallima over 5 years ago
Synch - Last version that supports solaris/sparc architecture
This commit is the latest that provides some untested support for the Solaris/Sparc architecture. From now on, the Solaris/Sparc architecture will not be not supported due to lack of access on this platform. However, sparc machines that are running linux should be work without any serious flaw.
Scientific Software - Peer-reviewed
- C
Published by nkallima over 5 years ago