Merge branch 'amiranda/19-add-a-cli-tool-for-requesting-data-transfers' into 'main'
Resolve "Add a CLI tool for requesting data transfers."
This MR adds the `ccp` tool to Cargo so that data transfers can be started
from the command line. The tool supports the following arguments:
```console
$ ccp -h
Cargo parallel copy tool
Usage: ccp [OPTIONS]
Options:
-h,--help Print this help message and exit
-s,--server ADDRESS Address of the Cargo server (can also be
provided via the CCP_SERVER environment
variable).
-i,--input SRC... Input dataset(s)
-o,--output DST... Output dataset(s)
--if FLAGS Flags for input datasets. Accepted values
- posix: read data using POSIX (default)
- mpio: read data using MPI-IO
--of FLAGS Flags for output datasets. Accepted values
- posix: write data using POSIX (default)
- mpio: write data using MPI-IO
```
Once a Cargo server is up and running, `ccp` can be used as follows:
```console
$ srun -N4 cargo -l ofi+tcp://192.18.0.10:62000 -o cargo.log
[...]
$ ccp -s ofi+tcp://192.18.0.10:62000 -i input0.dat input1.dat -o output0.dat output1.dat
```
Modes of operation that control how transfers should be executed can be selected
through the the `--if` and `--of` options. For now, `posix` and `mpio` modes are
supported. Note however that not all combinations are supported yet, and that
performance will depend on whether the underlying file system supports parallel
I/O through MPI-IO.
Closes #19
See merge request !13