Loading CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ cmake_minimum_required(VERSION 3.19) project( cargo VERSION 0.3.1 VERSION 0.3.2 LANGUAGES C CXX ) Loading README.md +21 −0 Original line number Diff line number Diff line Loading @@ -170,3 +170,24 @@ mpirun -np 4 ${INSTALL_DIR}/bin/cargo -l ofi+tcp://127.0.0.1:62000 cd build RUNNER_SKIP_START=1 ctest -VV --output-on-failure --stop-on-failure -j 8 ``` ## Options Cargo supports the following option: ``` b --blocksize (default is 512). Transfers will use this blocksize in kbytes. ``` ## Utilities There are a few utility command line programs that can be used to interact with Cargo. ```shell cli/ccp --server ofi+tcp://127.0.0.1:62000 --input /directory/subdir --output /directorydst/subdirdst --if <method> --of <method> ``` `--input` and `--output` are required arguments, and can be a directory or a file path. `--if` and `--of`select the specific transfer method, on V0.3.2 there are only to possibilities: `--if mpio` (It will read in parallel from i.e. lustre using MPI, and write using posix calls.) `--of mpio` (It will read using posix calls, and write using MPI (i.e. to lustre)) Other commands are `ping`, `shutdown` and `shaping` (for bw control). No newline at end of file cli/shaping.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ main(int argc, char* argv[]) { if(const auto result = rpc_client.lookup(address); result.has_value()) { const auto& endpoint = result.value(); const auto retval = endpoint.call("bw_shaping", cfg.tid, cfg.shaping); const auto retval = endpoint.call("bw_control", cfg.tid, cfg.shaping); if(retval.has_value()) { Loading @@ -100,7 +100,7 @@ main(int argc, char* argv[]) { return EXIT_SUCCESS; } fmt::print(stderr, "bw_shaping RPC failed\n"); fmt::print(stderr, "bw_control RPC failed\n"); return EXIT_FAILURE; } else { Loading etc/cargo.conf.in +3 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,7 @@ global_settings: [ # number of worker threads to serve I/O requests workers: 4, # Block Size (in kb) for I/O requestss blocksize: 512, ] lib/cargo.hpp +12 −3 Original line number Diff line number Diff line Loading @@ -61,12 +61,12 @@ private: class dataset { public: enum class type { posix, parallel }; enum class type { posix, parallel, none, gekkofs, hercules, expand, dataclay }; dataset() noexcept = default; explicit dataset(std::string path, dataset::type type = dataset::type::posix) noexcept; dataset::type type = dataset::type::none) noexcept; [[nodiscard]] std::string path() const noexcept; Loading @@ -86,7 +86,7 @@ public: private: std::string m_path; dataset::type m_type = dataset::type::posix; dataset::type m_type = dataset::type::none; }; Loading Loading @@ -121,6 +121,15 @@ public: [[nodiscard]] transfer_status status() const; /** * @brief updates the bw control of the transfer * * @param bw_control */ void bw_control (std::int16_t bw_control) const; /** * Wait for the associated transfer to complete. * Loading Loading
CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ cmake_minimum_required(VERSION 3.19) project( cargo VERSION 0.3.1 VERSION 0.3.2 LANGUAGES C CXX ) Loading
README.md +21 −0 Original line number Diff line number Diff line Loading @@ -170,3 +170,24 @@ mpirun -np 4 ${INSTALL_DIR}/bin/cargo -l ofi+tcp://127.0.0.1:62000 cd build RUNNER_SKIP_START=1 ctest -VV --output-on-failure --stop-on-failure -j 8 ``` ## Options Cargo supports the following option: ``` b --blocksize (default is 512). Transfers will use this blocksize in kbytes. ``` ## Utilities There are a few utility command line programs that can be used to interact with Cargo. ```shell cli/ccp --server ofi+tcp://127.0.0.1:62000 --input /directory/subdir --output /directorydst/subdirdst --if <method> --of <method> ``` `--input` and `--output` are required arguments, and can be a directory or a file path. `--if` and `--of`select the specific transfer method, on V0.3.2 there are only to possibilities: `--if mpio` (It will read in parallel from i.e. lustre using MPI, and write using posix calls.) `--of mpio` (It will read using posix calls, and write using MPI (i.e. to lustre)) Other commands are `ping`, `shutdown` and `shaping` (for bw control). No newline at end of file
cli/shaping.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ main(int argc, char* argv[]) { if(const auto result = rpc_client.lookup(address); result.has_value()) { const auto& endpoint = result.value(); const auto retval = endpoint.call("bw_shaping", cfg.tid, cfg.shaping); const auto retval = endpoint.call("bw_control", cfg.tid, cfg.shaping); if(retval.has_value()) { Loading @@ -100,7 +100,7 @@ main(int argc, char* argv[]) { return EXIT_SUCCESS; } fmt::print(stderr, "bw_shaping RPC failed\n"); fmt::print(stderr, "bw_control RPC failed\n"); return EXIT_FAILURE; } else { Loading
etc/cargo.conf.in +3 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,7 @@ global_settings: [ # number of worker threads to serve I/O requests workers: 4, # Block Size (in kb) for I/O requestss blocksize: 512, ]
lib/cargo.hpp +12 −3 Original line number Diff line number Diff line Loading @@ -61,12 +61,12 @@ private: class dataset { public: enum class type { posix, parallel }; enum class type { posix, parallel, none, gekkofs, hercules, expand, dataclay }; dataset() noexcept = default; explicit dataset(std::string path, dataset::type type = dataset::type::posix) noexcept; dataset::type type = dataset::type::none) noexcept; [[nodiscard]] std::string path() const noexcept; Loading @@ -86,7 +86,7 @@ public: private: std::string m_path; dataset::type m_type = dataset::type::posix; dataset::type m_type = dataset::type::none; }; Loading Loading @@ -121,6 +121,15 @@ public: [[nodiscard]] transfer_status status() const; /** * @brief updates the bw control of the transfer * * @param bw_control */ void bw_control (std::int16_t bw_control) const; /** * Wait for the associated transfer to complete. * Loading