Skip to content
Snippets Groups Projects
Commit 4b860ce1 authored by David Auer's avatar David Auer
Browse files

Rename shuffle to relocation

parent 4af6da6c
No related branches found
No related tags found
No related merge requests found
......@@ -13,7 +13,7 @@
"-r", "/dev/shm/gkfs_rootdir", "-m", "/dev/shm/gkfs_mountdir",
"-H", "/run/media/da/rocket1tb/gekko-localinstall/gkfs_hostfile",
"-l", "enp0s25",
"--shuffle",
"--start-relocation",
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
......
......@@ -64,10 +64,13 @@ public:
get_dirents(const std::string& dir) const;
void
iterate_all();
iterate_all() const;
void
print_all();
print_all() const;
std::vector<std::pair<std::string, std::string>>
get_all() const;
};
} // namespace gkfs::metadata
......
......@@ -45,7 +45,7 @@ DECLARE_MARGO_RPC_HANDLER(rpc_srv_mk_symlink)
#endif
DECLARE_MARGO_RPC_HANDLER(rpc_srv_shuffle_start)
DECLARE_MARGO_RPC_HANDLER(rpc_srv_relocation_start)
// data
......
......@@ -34,7 +34,7 @@ constexpr auto get_dirents = "rpc_srv_get_dirents";
#ifdef HAS_SYMLINKS
constexpr auto mk_symlink = "rpc_srv_mk_symlink";
#endif
constexpr auto shuffle_start = "rpc_srv_shuffle_start";
constexpr auto relocation_start = "rpc_srv_relocation_start";
constexpr auto write = "rpc_srv_write_data";
constexpr auto read = "rpc_srv_read_data";
constexpr auto truncate = "rpc_srv_trunc_data";
......
......@@ -189,7 +189,7 @@ MetadataDB::get_dirents(const std::string& dir) const {
}
void
MetadataDB::iterate_all() {
MetadataDB::iterate_all() const {
std::string key;
std::string val;
// Do RangeScan on parent inode
......@@ -201,10 +201,9 @@ MetadataDB::iterate_all() {
}
void
MetadataDB::print_all() {
MetadataDB::print_all() const {
std::string key;
std::string val;
// Do RangeScan on parent inode
auto iter = db->NewIterator(rdb::ReadOptions());
for(iter->SeekToFirst(); iter->Valid(); iter->Next()) {
key = iter->key().ToString();
......@@ -213,6 +212,23 @@ MetadataDB::print_all() {
}
}
std::vector<std::pair<std::string, std::string>>
MetadataDB::get_all() const {
// replacing this with an iterator to pass down to the consumers
// would be more space efficient
std::vector<std::pair<std::string, std::string>> entries;
std::string key;
std::string val;
auto iter = db->NewIterator(rdb::ReadOptions());
for(iter->SeekToFirst(); iter->Valid(); iter->Next()) {
key = iter->key().ToString();
val = iter->value().ToString();
entries.emplace_back(std::move(key), std::move(val));
}
return entries;
}
void
MetadataDB::optimize_rocksdb_options(rdb::Options& options) {
options.max_successive_merges = 128;
......
......@@ -120,8 +120,8 @@ register_server_rpcs(margo_instance_id mid) {
MARGO_REGISTER(mid, gkfs::rpc::tag::get_chunk_stat, rpc_chunk_stat_in_t,
rpc_chunk_stat_out_t, rpc_srv_get_chunk_stat);
if(gkfs::config::dynamic_placement) {
MARGO_REGISTER(mid, gkfs::rpc::tag::shuffle_start, void, void,
rpc_srv_shuffle_start);
MARGO_REGISTER(mid, gkfs::rpc::tag::relocation_start, void, void,
rpc_srv_relocation_start);
}
}
......@@ -495,8 +495,8 @@ main(int argc, const char* argv[]) {
"Libfabric must have enabled support verbs or psm2.");
if(gkfs::config::dynamic_placement) {
desc.add_options()(
"shuffle",
"WIP: Send signal for shuffle phase to all running daemons, then quit.");
"start-relocation",
"WIP: Send signal for relocation phase to all running daemons, then quit.");
}
desc.add_options()(
"auto-sm",
......@@ -548,8 +548,8 @@ main(int argc, const char* argv[]) {
exit(EXIT_FAILURE);
}
if(gkfs::config::dynamic_placement && vm.count("shuffle")) {
cout << "Starting shuffle...\n";
if(gkfs::config::dynamic_placement && vm.count("start-relocation")) {
cout << "Starting relocation...\n";
gkfs::relocation::test_d2d_rpc();
return 0;
}
......
......@@ -58,18 +58,25 @@ rpc_srv_get_fs_config(hg_handle_t handle) {
}
hg_return_t
rpc_srv_shuffle_start(hg_handle_t handle) {
cout << "TODO shuffle start received\n";
rpc_srv_relocation_start(hg_handle_t handle) {
cout << "TODO relocation start received\n";
auto hret = margo_respond(handle, nullptr);
// GKFS_DATA->mdb()->print_all();
auto metadata_dump = GKFS_DATA->mdb()->get_all();
for(auto metadatum : metadata_dump) {
cout <<
}
if(hret != HG_SUCCESS) {
GKFS_DATA->spdlogger()->error(
"{}() Failed to respond to client to serve file system configurations",
__func__);
"{}() Failed to respond to relocation start", __func__);
}
margo_destroy(handle);
GKFS_DATA->mdb()->print_all();
return HG_SUCCESS;
}
......@@ -77,4 +84,4 @@ rpc_srv_shuffle_start(hg_handle_t handle) {
DEFINE_MARGO_RPC_HANDLER(rpc_srv_get_fs_config)
DEFINE_MARGO_RPC_HANDLER(rpc_srv_shuffle_start)
DEFINE_MARGO_RPC_HANDLER(rpc_srv_relocation_start)
......@@ -78,9 +78,9 @@ test_d2d_rpc() {
assert(mid);
hg_id_t shuffle_start_id =
MARGO_REGISTER(mid, gkfs::rpc::tag::shuffle_start, void, void,
rpc_srv_shuffle_start);
hg_id_t relocation_start_id =
MARGO_REGISTER(mid, gkfs::rpc::tag::relocation_start, void, void,
rpc_srv_relocation_start);
for(auto host : hosts) {
......@@ -91,7 +91,7 @@ test_d2d_rpc() {
// let's do this sequential first
hg_handle_t handle;
ret = margo_create(mid, host_addr, shuffle_start_id, &handle);
ret = margo_create(mid, host_addr, relocation_start_id, &handle);
assert(ret == HG_SUCCESS);
ret = margo_forward(handle, nullptr); // blocking
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment