-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add fork/join benchmarks #209
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Stefan Marr <git@stefan-marr.de>
This benchmark seems problematic, because we run out of stack, but the results seem fine. Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
This is better in case one reflects on a module, avoiding possible confusion. Implemented as a rule in the SOMns linter. Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Nice set of benchmarks! |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a few benchmarks based on the Work–Stealing Without The Baggage paper.
The original version originates from: https://github.com/vivkumar/TryCatchWS/tree/master/test
But was first ported to Java's fork/join framework here:
https://github.com/smarr/are-we-fast-yet/tree/fork-join/benchmarks/Java/src/forkjoin
The list of ported benchmarks includes:
It does not yet include FFT and UTS.
FFT is just too much code for the moment.
And UTS does some bit shifting, which is not yet nicely supported in SOMns.
The benchmarks are generally not very sophisticated, even in their optimized version, they rarely achieve good scalability on Java's fork/join framework. Most do not use a sequential cut off, and thus task creation overhead is rather high.
To assess the characteristics of the benchmarks, they are all available in four versions:
Thanks to @VAISHALI-DHANOA, who started this work.
@eleinadani @eregon, this might be interesting to you. If we continue this, it might be interesting to port to Ruby. The benchmarks I got are pretty straight forward to translate, one just needs a lightweight fork/join mechanism. And, of course, pretty heavy on array data structures.
@daumayr possibly interesting for you, another bunch of benchmarks, and a change to the harness to add support for running benchmarks by file name.