Skip to content

Releases: otatebe/chfs

CHFS 3.0.3

29 Oct 02:19
Compare
Choose a tag to compare

Release note for CHFS/Cache 3.0.3 (2024/10/16)

New API

  • chfs_access()
  • chfs_fstat()
  • chfs_ftruncate()

Updated features

  • Server-initiated caching
  • Default is number-aware hashing, a.k.a. Koyama hashing.
  • chfs_unlink() - wait for removing all chunks
  • Log open, close, read and write in info level

Bug fixes

  • (chfsd) fix incorrect KV_ERR_NO_BACKEND_PATH error
  • (chfsd) plug memory leak when flushing

CHFS 3.0.2

01 Mar 19:20
Compare
Choose a tag to compare

Release note for CHFS/Cache 3.0.2 (2024/3/2)

New documents

  • chfind

New environment variables

  • CHFS_LOOKUP_RELAY_GROUP - specify the number of groups for relayed connections to chfsd
  • CHFS_LOOKUP_RELAY_GROUP_AUTO - use relayed connections to chfsd. The number of groups is automatically specified.

Updated features

  • chfind - MPI size check
  • chstagein - build without mpi if mpi is not found

Bug fixes

  • chfind - size should be rounding up
  • chstagein - fix -b and -c options

CHFS/Cache 3.0.1

13 Dec 09:44
Compare
Choose a tag to compare

Release note for CHFS/Cache 3.0.1 (2023/12/13)

Updated features

  • configure - --with-fuse option to specify the prefix

CHFS/Cache 3.0.0

11 Sep 05:15
Compare
Choose a tag to compare

Release note for CHFS/Cache 3.0.0 (2023/9/11)

CHFS/Cache is a parallel caching file system for node-local storages based on CHFS ad hoc parallel file system. It provides a caching mechanism against a backend parallel file system. Files in the backend parallel file system are automatically cached. Output files are automatically flushed.

How to create file system

   % eval `chfsctl [-h hostfile] [-p verbs] [-D] [-c /dev/dax0.0] [-b /back/end/path] [-m /mount/point] start`

The backend directory typically in a parallel file system can be specified by the -b option. Files in the backend directory can be transparently accessed by CHFS. For efficient access, files can be staged-in by chstagein command beforehand. The output files will be flushed automatically to the backend directory. It is possible to ensure flushing all dirty files by chfs_sync() or chfsctl stop.

Technical details

Osamu Tatebe, Hiroki Ohtsuji, "Caching Support for CHFS Node-local Persistent Memory File System", Proceedings of 3rd Workshop on Extreme-Scale Storage and Analysis (ESSA 2022), pp.1103-1110, 2022

CHFS 2.1.2

11 Sep 04:59
Compare
Choose a tag to compare

Release note for CHFS 2.1.2 (2023/9/11)

New API

  • chfs_initialized() - check whether chfs_init() is called or not

Updated features

  • chfs_init() - display parameters in info level

Bug fixes

  • chfs_open() - return EISDIR when opening a directory

CHFS 2.1.1

06 Jul 05:06
Compare
Choose a tag to compare

Release note for CHFS 2.1.1 (2023/7/6)

Updated features

  • chfsctl - -NUMACTL option to specify options for numactl

Bug fixes

  • fix chfs_pread may return no such file or directory

CHFS 2.1.0

11 May 13:58
Compare
Choose a tag to compare

Release note for CHFS 2.1.0 (2023/5/11)

New environment variables

  • CHFS_LOOKUP_LOCAL - connect to a local chfsd only

New features

  • chfsctl - -x option to export environment variable
  • chfsctl - -i option to specify an interval in seconds to execute chfsd

Updated features

  • libchfs - randomize order for RPCs for all servers
  • chfsctl - warn if less number of servers running

Bug fixes

  • fix compilation error in gcc 9.4.0
  • chfsd - chfsd does not terminate
  • chfsd - chfs_symlink may fail

CHFS 2.0.0

21 Oct 02:01
Compare
Choose a tag to compare

Release note for CHFS 2.0.0 (2022/10/21)

New commands

  • chfind - parallel find

New environment variables

  • CHFS_ASYNC_ACCESS - enable asynchronous read and write
  • CHFS_BUF_SIZE - specify client buffer size. Default is zero.

New APIs

  • chfs_seek - reposition read/write file offset
  • chfs_readdir_index - read a directory in a specified server

New features

  • support pkgconfig
  • support rpath
  • Docker containers for developers

Updated features

  • chfs_unlink - improve performance
  • change defaults. Default chunk size is 64 KiB.

Bug fixes

  • libchfs - chfs_init returns no server when it is called more than the number of servers
  • chfsd - fix memory leak when margo_get_input fails
  • chfsd - fix election sometimes failing
  • chfsd - introduce lock in KV backend
  • chfsd - fix segfaults when shutting down

CHFS 1.0.0

29 Mar 13:31
Compare
Choose a tag to compare

CHFS - Consistent hashing file system

CHFS is a parallel consistent hashing file system for node-local storages. File chunks are distributed among file servers using consistent hashing.

How to create file system

   % eval `chfsctl [-h hostfile] [-p verbs] [-c /scr] [-m /mount/point] start`

This executes chfsd servers and mounts the CHFS at /mount/point on hosts specified by the hostfile. The -p option specifies communication protocol. The -c option specifies a scratch directory on each host.

Technical details

https://dl.acm.org/doi/fullHtml/10.1145/3492805.3492807