[lustre-discuss] Read/Write on specific stripe of file via C api
Apostolis Stamatis
el18034 at mail.ntua.gr
Wed Sep 18 07:47:34 PDT 2024
Hello everyone,
I am trying to read/write a specific stripe for files striped across
multiple OSTs. I've been looking around the C api but with no success so
far.
Let's say I have a big file which is striped across multiple OSTs. I
have a cluster of compute nodes which perform some computation on the
data of the file. Each node needs only a subset of that data.
I want each node to be able to read/write only the needed information,
so that all reads/writes can happen in parallel. The desired data may or
may not be aligned with the stripes (this is secondary).
It is my understanding that stripes are just parts of the file. Meaning
that if I have an array of 100 rows and stripe A contains the first
half, then it would contain the first 50 rows, is this correct?
To sum up my questions are:
1) Can I read/write a specific stripe of a file via the C api to achieve
better performance/locality?
2) Is it correct that stripes include parts of the file, meaning the raw
data? If not, can the raw data be extracted from any additional
information stored in the stripe?
3) If each compute node is run on top of a different OST where stripes
of the file are stored, would it be better in terms of performance to
have the node read the stripe of its OST? (because e.g. it avoids data
transfer over the network)
Thanks in advance,
Apostolis
More information about the lustre-discuss
mailing list