-
Notifications
You must be signed in to change notification settings - Fork 14
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
Predictive model to find optimal reduction parameters #459
Comments
Thanks for doing this work @balanz24! It would be interesting to see if the results changed with larger datasets on the same quadratic means. In particular, does the optimal value of Making this easy to use for Cubed users, or integrating it as a plugin would be a great addition. |
During this week I've been testing the model with larger datasets and the results look promising. Particulary I've used a >300GB dataset, setting The next steps would be:
|
FYI we're gonna skip the meeting this coming Monday - see https://discourse.pangeo.io/t/new-working-group-for-distributed-array-computing/2734/56?u=tomnicholas |
I wouldn't set |
This is a possible solution to #418
Our model aims to predict the optimal
split_every
value that makes the reduction as fast as possible.This parameter affects the input data size of each function, the total number of stages and the number of functions x stage.
Evaluation has only be done in Lithops, but should be extended to further backends.
The model predicts 3 components of the execution time separately:
Invocation and CPU times are easy to predict using linear regression, as they increase linearly as the dataset to reduce increases. As for the I/O time, it is predicted using the primula-plug presented in Primula paper.
Here we see a comparison of the real vs predicted times in a quadratic means test of 15 GB. This has been measured using lithops on AWS Lambda and S3.
As we can see the model is able to predict the optimal
split_every=4
which gives the lowest execution time.Some observations on the results:
The text was updated successfully, but these errors were encountered: