Expand I/O tests for all possible I/O cases
Below a quick write up of tests we would need (from !47 (merged) discussion)
We would need tests for a single chunk and multiple chunks in terms of file size. In both cases we would need to consider the cases:
- I/O size (i.e., transfer size per RPC) smaller than chunk size. In this case, we probably need to differentiate between very small transfer sizes (1KB or even smaller) and bigger ones (like half the chunk size)
- I/O size (i.e., transfer size per RPC) equal the chunk size
- I/O size (i.e., transfer size per RPC) bigger than the chunk size.
There are more permutations that we need to consider: Does one server only get one chunk, do all servers get one chunk, do all servers get multiple chunks?
For example with 512KB chunk size and 2 servers the transfer sizes per test could be:
- Does one server only get one chunk: 1KB, 512KB
- Do all servers get one chunk: 700KB, 1024KB
- Do all servers get multiple chunks: 1MB, 2MB, 64MB, 64.1MB
I tried to catch most of these in the benchmark_check
script, but it is not complete.