summaryrefslogtreecommitdiff
path: root/klm/util/parallel_read.hh
blob: 1e96e79035a93a4a669a9d7d7bd14b146e0cb96a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef UTIL_PARALLEL_READ__
#define UTIL_PARALLEL_READ__

/* Read pieces of a file in parallel.  This has a very specific use case:
 * reading files from Lustre is CPU bound so multiple threads actually
 * increases throughput.  Speed matters when an LM takes a terabyte.
 */

#include <cstddef>
#include <stdint.h>

namespace util {
void ParallelRead(int fd, void *to, std::size_t amount, uint64_t offset);
} // namespace util

#endif // UTIL_PARALLEL_READ__