11 #include <rapidsmpf/bootstrap/bootstrap.hpp>
49 void put(std::string
const& key, std::string
const& value);
58 std::string
get(std::string
const& key, Duration timeout);
78 std::string coord_dir_;
80 std::string barrier_dir_;
81 std::size_t barrier_count_{0};
88 [[nodiscard]] std::string get_kv_path(std::string
const& key)
const;
95 [[nodiscard]] std::string get_barrier_path(std::size_t barrier_id)
const;
102 [[nodiscard]] std::string get_rank_alive_path(
Rank rank)
const;
112 std::string
const& path, Duration timeout = std::chrono::seconds{30}
121 void write_file(std::string
const& path, std::string
const& content);
128 std::string read_file(std::string
const& path);
137 void cleanup_coordination_directory();
File-based coordination backend implementation.
FileBackend(Context ctx)
Construct a file backend.
void barrier()
Perform a barrier synchronization.
void put(std::string const &key, std::string const &value)
Store a key-value pair.
std::string get(std::string const &key, Duration timeout)
Retrieve a value, blocking until available or timeout occurs.
void broadcast(void *data, std::size_t size, Rank root)
Broadcast data from root to all ranks.
std::int32_t Rank
Type alias for communicator::Rank.
Context information for the current process/rank.