-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fixes for sb_rand and sb_memory and supported parameters extension for memory test #455
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
base: master
Are you sure you want to change the base?
Conversation
…' distribution has been dropped Zero initialized rand_iter variable led to zero offset returnd by sb_rand_gaussian function resulting in broken gaussian distribution accessing only index 0 in the workset array
@akopytov ping... |
I faced the broken |
@akopytov, could you please review these patches? Random memory access patterns are broken. |
1 similar comment
@akopytov, could you please review these patches? Random memory access patterns are broken. |
@akopytov, I'd really appreciate your feedback on these fixes. Currently, gaussian random generator is broken and returns zero offsets always which results in corrupted memory access throughput in benchmarks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all looks ok to me, but I don't use/know this part of sysbench very well.
First commit fixes critical bug in sb_rand which broke Gaussian distribution due to 'rand_iter' initialized to zero after Special distribution has got dropped.
Second commit extends supported --memory-total-size and --memory-block-size parameters values allowing total size to be smaller than block size. This allows another level of control of benchmarking to the user.
Third commit provides support of periodic statistics in memory tests which is not supported currently. It allows to periodically report throughput during memory test run. On the other hand it decreases benchmark throughput roughly by 5% depending on access type and distribution used and underlying hardware.
Fourth commit extends sb_rand to use 64-bits variables and functions parameters which allows to use --memory-block-size values larger than 16GB.