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.31

What's Changed

  • Return nullptr on 0 byte alloc by @Thifhi in https://github.com/LLNL/metall/pull/347
  • Many updates in CMake especially for Boost

Full Changelog: https://github.com/LLNL/metall/compare/v0.30...v0.31

- C++
Published by KIwabuchi 8 months ago

metall - v0.30

What's Changed

  • Support Boost 1.87 by @KIwabuchi in https://github.com/LLNL/metall/pull/342

Full Changelog: https://github.com/LLNL/metall/compare/v0.29...v0.30

- C++
Published by KIwabuchi about 1 year 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 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 - 23rd pre-release version with a patch

- C++
Published by KIwabuchi about 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