11 #include <rapidsmpf/bootstrap/backend.hpp>
12 #include <rapidsmpf/bootstrap/bootstrap.hpp>
47 void put(std::string
const& key, std::string
const& value)
override;
52 std::string
get(std::string
const& key,
Duration timeout)
override;
66 std::string coord_dir_;
68 std::string barrier_dir_;
69 std::size_t barrier_count_{0};
76 [[nodiscard]] std::string get_kv_path(std::string
const& key)
const;
83 [[nodiscard]] std::string get_barrier_path(std::size_t barrier_id)
const;
90 [[nodiscard]] std::string get_rank_alive_path(
Rank rank)
const;
100 std::string
const& path,
Duration timeout = std::chrono::seconds{30}
109 void write_file(std::string
const& path, std::string
const& content);
116 std::string read_file(std::string
const& path);
125 void cleanup_coordination_directory();
Abstract interface for bootstrap coordination backends.
File-based coordination backend implementation.
FileBackend(Context ctx)
Construct a file backend.
void barrier() override
Perform a barrier synchronization.
void put(std::string const &key, std::string const &value) override
Store a key-value pair (rank 0 only).
void sync() override
Ensure all previous put() operations are globally visible.
std::string get(std::string const &key, Duration timeout) override
Retrieve a value, blocking until available or timeout occurs.
std::int32_t Rank
Type alias for communicator::Rank.
std::chrono::duration< double > Duration
Type alias for Duration type.
Context information for the current process/rank.