Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support readV/writeV #11

Open
PerilousApricot opened this issue Oct 9, 2019 · 2 comments
Open

Support readV/writeV #11

PerilousApricot opened this issue Oct 9, 2019 · 2 comments

Comments

@PerilousApricot
Copy link
Contributor

When reading files via Xrootd with Spark (https://github.com/spark-root/laurelin) doing profiling with the code shows there's significant RTTs being burned because the HadoopFile interface doesn't support vectorized read/writes, meaning each TTree basket incurs its own RTT penalty compared with (e.g.) CMSSW who issues reads for multiple baskets with a single preadv() call. Not to mention, the backing filesystem on the other end typically supports vectorized I/O as well, so it would be a win on that side too.

If hadoop-xrootd was to implement a readv()/writev() interface, I could use that to vastly reduce the number of I/O round-trips for spark. XrdCl itself supports this via the synchronous XrdCl::File::VectorRead call, so if that C++ function could be exported up to XRootDClFile and then XRootDInputStream, I can use that to issue a single read at a time instead of potentially hundreds/thousands.

@mrow4a
Copy link
Collaborator

mrow4a commented Oct 9, 2019

@PerilousApricot let me understand - some library will call readv()/writev() on Hadoop interface level (hadoop does not have it however) and this will be translated to xrootd-client calls, am I correct?

@PerilousApricot
Copy link
Contributor Author

PerilousApricot commented Oct 9, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants