Skip to content

v0.1.9

Latest

Choose a tag to compare

@0oshowero0 0oshowero0 released this 12 Jul 12:28
c516143

Highlight

🚀 New Features

  • Save/Load Checkpoint Interfaces: Introduce tq.save_checkpoint() and tq.load_checkpoint() as top-level public APIs, enabling fault-tolerant training workflows with atomic checkpointing semantics. Controller and storage unit states are persisted directly to disk without large-payload transmission over Ray. Please refer to the doc for detailed information.(#124)

  • GDR Support for Mooncake Backend: Add GPU Direct RDMA (GDR) support in the Mooncake backend to enable direct GPU-to-GPU data transfers, bypassing CPU memory copies for high-performance distributed training. doc(#131)

  • P2PHANDSHAKE Metadata Mode & SSD Offload for MooncakeStore: Support peer-to-peer handshake metadata discovery mode that eliminates the need for a separate HTTP metadata server. Additionally, introduce SSD offload capability to evict and persist data to NVMe SSD when CPU DRAM is scarce, with automatic hard_pin adjustment. (#133)

  • Optional Unlimited Storage Capacity: Make total_storage_size optional (nullable) in StorageUnitData and SimpleStorageUnit. When set to null, capacity checks are skipped and storage grows on demand, with zero performance overhead. Fully backward compatible with existing integer capacity configurations. (#130)

🐛 Fixes & Improvements

  • Idempotent Clear Operations: Make kv_clear, (async_)clear_samples, and (async_)clear_partition operations idempotent. Clearing non-existent keys or partitions is now a no-op with an info-level log, instead of raising ValueError. (#126)

  • Isolate Shared production_status Tensor: Fix a bug where production_status tensor was shared across DataPartitionStatus instances at class definition time, causing a cleared partition to incorrectly observe stale ready metadata when another partition reused a released global index. (#127)

  • IPv6 Network Compatibility: Fix get_free_port to correctly bind IPv6 sockets to :: wildcard address. (#132) Bind Mooncake master RPC to the configured host from master_server_address via --rpc_address, fixing connection refused errors in IPv6 deployments. (#136) Fix simple storage unit tests on IPv6 nodes by using the shared create_zmq_socket() helper with proper IPv6 socket option propagation. (#135)

  • Clear-Release Ordering Fix: Reverse the order of clear operations to free storage memory before releasing controller indexes, preventing a concurrent actor from acquiring a released index and suffering silent data loss due to trailing storage cleanup. [Note] this hot fix is not perfect yet. (#137)

  • Yuanrong Exception Messages: Improve exception message clarity for Yuanrong DataSystem when the storage strategy does not support a certain data type, and add FAQ documentation for the "Cannot retrieve stored data" scenario. (#120)


What's Changed

  • [chore] Bump version from 0.1.8 to 0.1.9.dev0 by @0oshowero0 in #119
  • [chore] Update README by @0oshowero0 in #122
  • [optim] Optimize the exception message for Yuanrong when storage strategy does not support a certain type of data by @dpj135 in #120
  • [fix] Make clear operations idempotent by @0oshowero0 in #126
  • [chore] Update README by @0oshowero0 in #128
  • [fix] shared production_status tensor across data partitions by @zTonyZhao in #127
  • [feat] Make total_storage_size optional to support unlimited storage capacity by @huniu20 in #130
  • [fix] Fix get_free_port in ipv6 environment by @0oshowero0 in #132
  • [chore] refactor: check docstrings only for public API symbols by @ji-huazhong in #134
  • [feat] Support P2PHANDSHAKE metadata mode and SSD offload for MooncakeStore by @huniu20 in #133
  • [fix] Fix simple storage unit tests on IPv6 nodes by @0oshowero0 in #135
  • [feat] Provide save/load checkpoint interfaces by @dodatboii in #124
  • [fix] Bind Mooncake master RPC to configured host by @0oshowero0 in #136
  • [fix] Clear storage data before releasing controller indexes by @dodatboii in #137
  • [fix] Skip storage capacity/utilization gauges when capacity is None by @huniu20 in #138
  • [feat] support GDR in mooncake backend by @xupinjie in #131
  • [chore] Bump version from 0.1.9.dev0 to 0.1.9 & update dependency by @0oshowero0 in #139

New Contributors

Full Changelog: v0.1.8...v0.1.9