Skip to content

Releases: OpenMPDK/dss-sdk

v3.0.0

08 May 17:17
005511c
Compare
Choose a tag to compare

Summary of changes:

  • In this release, we have made several significant updates to improve write performance and user experience.
    • We have revised our implementation of key-value store that translates key-value pairs in the request to block layer data written to device.
    • Specifically, we have replaced RocksDB with an internal implementation of a hash-based key-value translator and a hint-based logical block manager sensitive to optimal NVMe drive IO boundary to improve write performance.
  • For impacted users, these updates should provide a smoother, more intuitive experience with a noticeable improvement to write operation.
    • We have deprecated compaction and the requirement for written data to be compacted before reading to achieve maximum read performance is no longer needed.
    • We have introduced a new format tool called dss-formatter to format devices; similar to existing mkfs-blobfs tool which has now been deprecated.

Limitations

  • Persistent key listing is not yet implemented. This will result in MinIO failing to return object listing after a reboot.
  • Target startup time is presently longer than expected - and will be addressed in a future release.

What's Changed

  • Adding Pytest framework and unit tests to dss-sdk. Converted dss_target.py to be python3 compatible by @nsarras in #45
  • Enabling nkv_need_path_stat var by default by @nsarras in #46
  • Add unit tests to gitlab ci by @velomatt in #47
  • Add gitlab-ci enhancements by @velomatt in #48
  • Add unit tests and refactor stages by @velomatt in #50
  • Modifying logic for mountpoints to be mapped to both nqn and ip, correcting nkv config generation by @nsarras in #52
  • Download latest sonar-scanner and build-wrapper by @velomatt in #53
  • Add systemtests for host and target scripts by @Chenliang-Eric-Li in #54
  • Add unittests for dss_host.py and dss_target.py by @Chenliang-Eric-Li in #55
  • Write optimization by @velomatt in #56

New Contributors

Full Changelog: v2.0.0...v3.0.0

v2.0.0

30 Jun 22:11
20df06d
Compare
Choose a tag to compare

Gen2 Overview

  • DSS can now be deployed with gen2 mode, which utilizes RDD (RDMA Data Direct).
    • This feature enables clients to transfer object data directly from DSS targets without the need to go through the MinIO servers.
    • This allows better performance, as well as improved network and memory resource utilization in the DSS Stack.
    • This feature is integrated with DSS Client APIs and allows for seamless integration with applications using the thin DSS client library.
  • To deploy DSS with gen2 mode enabled, it is required that both front-end (in tcp_ip_list) and back-end (in rocev2_ip_list) IP addresses be from RDMA-enabled network interfaces. See dss-ansible README for details.
  • dss-ansible will deploy DSS in "gen2" mode simply by setting gen2=true in your Ansible inventory file. The default value is false, which will deploy DSS in gen1 mode (not using the RDD feature, does not require RDMA front-end network).

What's Changed

New Contributors

Full Changelog: v1.0.0...v2.0.0

Known Issues

  • target may be unstable when writing 4MB objects or larger (gen2 mode)
  • cannot deploy gen2 in disaggregated mode if using unequal number of target and host nodes
  • client library may not function in gen2 mode in disaggregated deployments, due to stand-alone MinIO sync issue
  • executing nkv_test_cli through dss_host.py requires additional arguments which are not documented

dss-sdk v1.0.0

27 Jan 00:15
414ef10
Compare
Choose a tag to compare

Initial public release

What's Changed

New Contributors

Full Changelog: https://github.com/OpenMPDK/dss-sdk/commits/v1.0.0

Artifact Downloads:

nkv-sdk-bin-v1.0.0.tgz
nkv-target-v1.0.0.tgz
nkvagent-0.1.0.414ef10-1.noarch.rpm
ufm-1.0.0.414ef10-1.noarch.rpm
ufmbroker-1.0.0.414ef10-1.noarch.rpm