Recent Releases of metall
metall - v0.32
What's Changed
- Prevent opening datastore read-write after it was opened read-only
- CMake bugfix on MacOS
Internal
- Stop fclose call with nullptr
- Disable move constructor and assignment in manager_kernel
Full Changelog: https://github.com/LLNL/metall/compare/v0.31...v0.32
- C++
Published by KIwabuchi 7 months ago
metall - v0.29
What's Changed
- Remove explicit -fPIC for libmetall_c by @KIwabuchi in https://github.com/LLNL/metall/pull/324
- Update FB Allocator by @KIwabuchi in https://github.com/LLNL/metall/pull/327
- Decrease log levels of info entries to verbose. by @KIwabuchi in https://github.com/LLNL/metall/pull/329
- Support Boost v1.80—v1.86 by @KIwabuchi in https://github.com/LLNL/metall/pull/333
- Bugfix: close to VM capacity allocation by @KIwabuchi in https://github.com/LLNL/metall/pull/334
- Sync only parent dir when creating file by @KIwabuchi in https://github.com/LLNL/metall/pull/336
- Bugfix in object_cache::clear() by @KIwabuchi in https://github.com/LLNL/metall/pull/337
- Release/v0.29 by @KIwabuchi in https://github.com/LLNL/metall/pull/339
Full Changelog: https://github.com/LLNL/metall/compare/v0.28...v0.29
- C++
Published by KIwabuchi over 1 year ago
metall - v0.28
What's Changed
API:
- Add the ability to implement custom segment storage https://github.com/LLNL/metall/pull/310
- Add the ability to implement custom loggers https://github.com/LLNL/metall/pull/313
- New c interface https://github.com/LLNL/metall/pull/316
- Add
metall::manager::read_only()https://github.com/LLNL/metall/pull/318 - Enhancements on fallback-allocator https://github.com/LLNL/metall/pull/317 and https://github.com/LLNL/metall/pull/319
Major Internal Changes:
- Utilize std::filesystem https://github.com/LLNL/metall/pull/311
- Optimize and brush up on internal file copy operations https://github.com/LLNL/metall/pull/312
Bugfix:
- Deallocating object cache data https://github.com/LLNL/metall/pull/306 and https://github.com/LLNL/metall/pull/307
- Detect Linux in CMake https://github.com/LLNL/metall/pull/315
- C++
Published by KIwabuchi almost 2 years ago
metall - 27th pre-release version
Change Metall configuration macros (#293)
- New macros are in:
metall/include/metall/defs.hpp
- New macros are in:
New lightweight and performance-optimized object cache (#295)
- C++
Published by KIwabuchi about 2 years ago
metall - 26th pre-release version
Container
- Add Boost open-addressing set/map containers
Examples
- Add logger example
- Add allocator-aware type example
etc
- Remove warnings and many code brush-ups
CI
- Use GCC 12 and Boost 1.82
- Other brush-ups
- C++
Published by KIwabuchi over 2 years ago
metall - 25th pre-release version
JSON
- Move JSON headers to metall/json
- Add functions in JSON array
- Add an include guard for boost/json/src.hpp
- Add a macro for linking with Boost.JSON lib
- Bugfix: fixed memory leak in keyvaluepair.hpp
- Bugfix: regarding long object key
- Bugfix: JSON swap declaration error
- Bugfix: declaration and include related issues
Code brush up
- Start using ClangFormat
- Remove warnings
Doc
- Update Ripples' build instruction.
- C++
Published by KIwabuchi almost 3 years ago
metall - 24th pre-release version
- Bug fixes in Metall JSON Container w.r.t. copying Container objects between different allocator instances.
- Bug fixes in the iterators in the adjacency list containers in bench/.
- C++
Published by KIwabuchi almost 3 years ago
metall - 22nd pre-release version
Publish a list of works that use Metall.
- C++
Published by KIwabuchi over 3 years ago
metall - 23rd pre-release version
STL Allocator Change not to propagate allocator (see details: #253)
JSON Container Change to compliant with the allocator aware container concept.
Internal Change Optimize small allocation performance
CI Test Test with Boost 1.80.0
- C++
Published by KIwabuchi over 3 years ago
metall - 21st pre-release version
- Bugfix regarding the sparse copy
- Container: add stringkeystore example
- JSON Container: add string equal-to for boost::json::string
- Add new Boost versions for CI tests
- C++
Published by KIwabuchi over 3 years ago
metall - 20th pre-release version
Container
Add stringkeystore
CMake
Add alias target (Metall::Metall)
Documentation
Add CITATION file Update publication info
- C++
Published by KIwabuchi almost 4 years ago
metall - 19th pre-release version
Bugfix
- Added inline to logger.hpp and partial_range.
JSON
- Add JSON test programs.
- Add APIs in JSON object.
CI
- Change not to use docker on GitHub Action CI.
Documentation
- Update CMake file of FetchContent example
- C++
Published by KIwabuchi about 4 years ago
metall - 18th pre-release version
- Many updates and some bug fixes in JSON.
- Brush up CMake files.
- Brush up the code for handling errors and exceptions more properly.
- C++
Published by KIwabuchi about 4 years ago
metall - 17th pre-release version
What's Changed
CMake
Update CMake options.
Make CMake package config file for supporting CMake find_package().
Support CMake FetchContent().
JSON Container
- Add allocator-aware constructors.
- Add at() in object class.
Directory Structure
- Remove metallcontainer/ and metallutility/.
CI
- Switch to run CI on CentOS8 on GitHub Action.
- Add boost 1.77 test cases.
Full Changelog: https://github.com/LLNL/metall/compare/v0.16...v0.17
- C++
Published by KIwabuchi over 4 years ago
metall - 16th pre-release version
JSON and jgraph
Many updates in API and internal implementation
Add json::compact_object
Bugfix
- Remove minor memory leaks
- C++
Published by KIwabuchi over 4 years ago
metall - 15th pre-release version
JSON containers
- Major changes in the API and the code structure.
Documents
Update Metall 101 slides.
Fixed the badge links in README.
- C++
Published by KIwabuchi over 4 years ago
metall - 14th pre-release version
Metall JSON Container
- Add an initial version
Others
- Support Apple clang v12
- Add tutorial for ICS'21
- C++
Published by KIwabuchi over 4 years ago
metall - 13th pre-release version
API
- Add an initial version of check_sanity()
- Change the way to set the max num threads for parallel snaphot
Internal
- Handle exceptions properly
- Remove aborts in STL allocator
- Remove private mapping modes
Administrative
- Switch to GitHub Actions
- C++
Published by KIwabuchi almost 5 years ago
metall - 12th pre-release version
New Features
Support parallel snapshot and copy modes
Support anonymous mapping for a new region
Internal Changes
Clean up page uncommit methods
Call fsync after copying files
Bugfix
Stop using boost-cmake
Fixed a issue which creates data store root directories recursively when a data store is copied to the same location repeatedly
Some minor bugfixs in the manager kernel
- C++
Published by KIwabuchi almost 5 years ago
metall - 11th pre-release version
Add NVMW'21 tutorial materials
- C++
Published by KIwabuchi almost 5 years ago
metall - 10th pre-release version
Metall Containers
- The first version of Metall containers have been merged
UMap SparseStore
- Update and bugfix
- C++
Published by KIwabuchi almost 5 years ago
metall - 9th pre-release version
Bugfix & Internal Improvement
Bugfix for creating directory with multiple processes on NFS
Changed to use madvise more courteously
- C++
Published by KIwabuchi about 5 years ago
metall - 8th pre-release version
Metall data store
Can store a description (string) in a Metall data store.
Attributed Object
Add many API for attributed object. Sores a type-ID and a description for each object. Add 'metall ls' programs which can list the attributes of objects in a Metall data store. Handles exceptions properly thrown by the constructor of an object being constructed in a construct/destroy function.
Documentation
Add Metall overview slides.
Refactoring
Move include/metall_container/ and include/metall_utility/ to under include/metall/.
Bugfix
Fixed a directory existence checking function which returned false even if the directory exist on some systems (e.g., NetApp Filer).
- C++
Published by KIwabuchi about 5 years ago
metall - 7th pre-release version
Common * Add a workaround for gcc 87846 bug (fixed in GCC 8.3); however, change to recommend GCC 8.3 or more.
Metall Manager * Some member functions are changed to const ones. * Change API for UUID. * Stores Metall version into data store; checks version match when opening existing data store.
MPI Adaptor * Bugfix for creating a root dir globally
Internal Changes * Manager Kernel * Change internal metadata to store in PM. * Stop to take an allocator and use std::malloc for allocating management data on DRAM. * Take snapshot with more consistent way. * Named Object Directory * Significant API changes. * Add a field to store description (string). * Change directory structures during test. * Stop relying on zero-initialized page.
- C++
Published by KIwabuchi over 5 years ago
metall - 6th pre-release version
STL allocator
- Refactor the STL-style allocator
- First workable fallbackallocatoradaptor
MPI adaptor
- Utilize local root rank info
Many document updates
- C++
Published by KIwabuchi over 5 years ago
metall - 5th pre-release version
- Fix a bug in the create mode in the MPI adaptor.
- Change to use lighter docker image
- Update examples and test programs for clang (clang is not official support yet)
- C++
Published by KIwabuchi over 5 years ago
metall - 4th pre-release version
Update documents and examples
Many updates in MPI adaptor: e.g., changing to require a directory path that does not exist in the create mode.
Add latest GCC and Boost versions in the Travis CI configuration.
Clang supports (unofficial still): bugfix to build on macOS >= 10.15 with clang. update CMake files for clang support.
- C++
Published by KIwabuchi over 5 years ago
metall - 3rd pre-release version
Removed openorcreate mode. Replaced std::cerr with the logger. Bugfix in stl allocator regarding some member types such as propagateoncontainercopyassignment. Changed to store a UUID in a data store. Brushed up documents, CMake file, and internal implementation. Updated the CI configurations. Bugfix in the benchmark, the utility, and the containers.
- C++
Published by KIwabuchi over 5 years ago
metall - 2nd pre-release version
Significant external and internal updates from v0.1. Many public APIs are not backwards compatible.
Major updates are as follows: Provides a space efficient snapshot that leverages reflink. A lot of performance improvements, including employing thread- and CPU-level object caches. Uses multiple backing files to store application data. Application data segment (Metall heap) grows dynamically. Automatically runs CI on Travis CI and LC GItLab CI. Detailed document is available on Read the Docs. Add some utilities for OpenMP and MPI environments.
- C++
Published by KIwabuchi almost 6 years ago
metall - Initial (pre) release
The first tag after all put on GitHub.
- C++
Published by KIwabuchi almost 7 years ago