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

_______________________________________________
lustre-discuss mailing list
[email protected]
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

Reply via email to