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

Benchmark times for REST VOL and ros3 VFD #16

Merged
merged 7 commits into from
Jun 15, 2023

Conversation

mattjala
Copy link
Contributor

@mattjala mattjala commented Jun 6, 2023

Because the ros3 VFD is (as the name suggests) read-only, I benchmarked the REST VOL with and without the writing parts of icesat2_selection.c to get a more 1:1 comparison between them.

New selection times can be seen in the table here

Pertinent to #14, logs tracking ros3 I/O during the benchmark can be found on the EC2 instance under ~/projects/nasa_cloud/benchmarks/C/ros3_out_paged (for the 10MiB version) and ~/projects/nasa_cloud/benchmarks/C/ros3_out_unpaged (for the regular version).

@mattjala mattjala requested a review from jreadey June 6, 2023 21:37
@jreadey
Copy link
Member

jreadey commented Jun 7, 2023

In the benchmark we are writing to a local file. Isn't it possible to open the s3 file with ros3 and standard vfd with the local file? Same thing with rest vol.

@mattjala
Copy link
Contributor Author

mattjala commented Jun 7, 2023

In the benchmark we are writing to a local file. Isn't it possible to open the s3 file with ros3 and standard vfd with the local file? Same thing with rest vol.

It is possible to read one file with ros3 and write to another with the standard VFD, I'll set that up and add the results to the table.

The REST VOL can't write to a local file since it entirely replaces the standard HDF write functions.

@mattjala mattjala force-pushed the c_benchmark branch 2 times, most recently from d82f384 to 4559db3 Compare June 7, 2023 17:17
@jreadey
Copy link
Member

jreadey commented Jun 8, 2023

But you have one file handle for reading and another for writing. You are saying you can't use different vol's for the two?

@mattjala
Copy link
Contributor Author

mattjala commented Jun 8, 2023

But you have one file handle for reading and another for writing. You are saying you can't use different vol's for the two?

Not to my knowledge. VOLs aren't tied to a particular file handle, but to the entire application at build time. This is why USE_REST_VOL is a preprocessor macro instead of being set at runtime.

EDIT: I was incorrect - VOL usage is tied to FAPL, I just didn't realize this because I was using the environment variable HDF5_VOL_CONNECTOR=REST, which automatically affects FAPLs under the hood.

@mattjala
Copy link
Contributor Author

mattjala commented Jun 8, 2023

The RV benchmarks are now recorded while it was writing to a local file.

@jreadey jreadey merged commit 3df4973 into HDFGroup:main Jun 15, 2023
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

Successfully merging this pull request may close these issues.

2 participants