Bug #74781 flexAsync uses 32bit math, leading to incorrect summary on POWER8
Submitted: 11 Nov 2014 9:30 Modified: 17 Nov 2014 9:44
Reporter: Stewart Smith Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: NDB API Severity:S3 (Non-critical)
Version:7.3.7 OS:Linux
Assigned to: CPU Architecture:Any
Tags: flexAsync, PowerPC

[11 Nov 2014 9:30] Stewart Smith
Description:
Summary is obviously incorrect:

<snip>
Executing reads
22400000 transactions, 22400000 read total time = 7825 ms
Average 0.000349 ms/transaction, 0.000349 ms/read.
0.127796 transactions/second, 2862619.808307 reads/second.

Executing deletes
22400000 transactions, 22400000 delete total time = 9811 ms
Average 0.000438 ms/transaction, 0.000438 ms/delete.
0.101926 transactions/second, 2283151.564570 deletes/second.

--------------------------------------------------
Dropping table TAB0_1922318796...
insert average: 87502/s min: 87502/s max: 87502/s stddev: 0%
update average: 95871/s min: 95871/s max: 95871/s stddev: 0%
delete average: 94298/s min: 94298/s max: 94298/s stddev: 0%
read   average: 116980/s min: 111910/s max: 119762/s stddev: 2%

How to repeat:
run flexAsync on POWER8 or something else that's decently fast.

Suggested fix:
attaching a patch
[11 Nov 2014 9:31] Stewart Smith
patch to flexAsync to not use 32bit math, leading to incorrect benchmark results.

Attachment: flexasync-math.patch (text/x-patch), 2.19 KiB.

[11 Nov 2014 9:31] Stewart Smith
(same patch, but remembered to attach here)

(*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

Contribution: flexasync-math.patch (text/x-patch), 2.19 KiB.

[11 Nov 2014 9:34] Stewart Smith
With my patch, the results are much better:

insert average: 2159452/s min: 2159452/s max: 2159452/s stddev: 0%
update average: 2241793/s min: 2241793/s max: 2241793/s stddev: 0%
delete average: 2273650/s min: 2273650/s max: 2273650/s stddev: 0%
read   average: 2799228/s min: 2783992/s max: 2826498/s stddev: 0%

Which is much closer to what it should be for my preliminary patch :)
[11 Nov 2014 9:43] MySQL Verification Team
Hello Stewart,

Thank you for the report and contribution.

Thanks,
Umesh
[17 Nov 2014 9:44] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

Fixed in MySQL Cluster NDB 7.3.8. This effects testing only; no user-facing changes to document. Closed.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html