Skip to content

[ntuple] Add new performance counters to RPageSink{File,Daos}#8328

Merged
jalopezg-git merged 2 commits intoroot-project:masterfrom
jalopezg-git:jalopezg-rntuple-sinkcounters
Jun 9, 2021
Merged

[ntuple] Add new performance counters to RPageSink{File,Daos}#8328
jalopezg-git merged 2 commits intoroot-project:masterfrom
jalopezg-git:jalopezg-rntuple-sinkcounters

Conversation

@jalopezg-git
Copy link
Copy Markdown
Contributor

@jalopezg-git jalopezg-git commented Jun 3, 2021

This pull-request adds new write performance counters to the file/DAOS backends:

  • fSzWritePayload: that keeps track of the total volume written in committed pages.
  • fSzZip: volume before zipping
  • fTime{Wall,Cpu}Zip: that measure the wall clock/cpu time spent compressing.

This suffices to compute the actual write throughput, where needed.

Closes issue #8283.

@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

Copy link
Copy Markdown
Contributor

@mxxo mxxo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey Javier, looks good to me! Just saw some typos. Maybe ("szZip", "B", "volume before zipping") makes sense to add as well for symmetry with the page source?

*fMetrics.MakeCounter<RNTupleAtomicCounter*>("szUnzip", "B", "volume after unzipping"),

@jalopezg-git
Copy link
Copy Markdown
Contributor Author

Hey Javier, looks good to me! Just saw some typos. Maybe ("szZip", "B", "volume before zipping") makes sense to add as well for symmetry with the page source?

*fMetrics.MakeCounter<RNTupleAtomicCounter*>("szUnzip", "B", "volume after unzipping"),

Thanks for reviewing @mxxo! +1 for that or not, @jblomer?

@jblomer
Copy link
Copy Markdown
Contributor

jblomer commented Jun 3, 2021

Thanks for reviewing @mxxo! +1 for that or not, @jblomer?

+1

@jalopezg-git jalopezg-git force-pushed the jalopezg-rntuple-sinkcounters branch from 954f5a7 to bb5a3a2 Compare June 4, 2021 11:06
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

@jalopezg-git
Copy link
Copy Markdown
Contributor Author

Thanks for reviewing @mxxo! +1 for that or not, @jblomer?

+1

Done. :-)

@jalopezg-git
Copy link
Copy Markdown
Contributor Author

@phsft-bot build

@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

Copy link
Copy Markdown
Contributor

@jblomer jblomer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very well! I think we are almost there.

@jalopezg-git jalopezg-git force-pushed the jalopezg-rntuple-sinkcounters branch from bb5a3a2 to 394bf1c Compare June 8, 2021 15:20
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

Copy link
Copy Markdown
Contributor

@jblomer jblomer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just one more warning needs removal

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft11.dyndns.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Warnings:

  • [2021-06-08T15:50:18.494Z] /home/sftnight/build/workspace/root-pullrequests-build/root/tree/ntuple/v7/src/RPageStorageDaos.cxx:169:19: warning: unused parameter ‘columnId’ [-Wunused-parameter]

@phsft-bot
Copy link
Copy Markdown

Build failed on mac11.0/cxx17.
Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Warnings:

  • [2021-06-08T16:39:08.640Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/tree/ntuple/v7/src/RPageStorageDaos.cxx:169:19: warning: unused parameter 'columnId' [-Wunused-parameter]

@phsft-bot
Copy link
Copy Markdown

Build failed on windows10/cxx14.
Running on null:C:\build\workspace\root-pullrequests-build
See console output.

Errors:

  • [2021-06-08T18:05:03.243Z] LINK : fatal error LNK1104: cannot open file 'C:\build\workspace\root-pullrequests-build\build\bin\libCore.dll' [C:\build\workspace\root-pullrequests-build\build\core\Core.vcxproj]

Several new counters were added to the file backend:
- fSzWritePayload: that keeps track of the total volume written in commited pages.
- fSzZip: total size of data before zipping
- fTime{Wall,Cpu}Zip: that measure the wall clock/cpu time spent compressing.

This suffices to compute the actual write throughput, where needed.
Port of the available performance counters for RPageSinkFile to the DAOS
backend.
Note however, that common performance metrics might be probably handled by the
base class; to be discussed.
@jalopezg-git jalopezg-git force-pushed the jalopezg-rntuple-sinkcounters branch from 394bf1c to a46758a Compare June 8, 2021 18:18
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@jalopezg-git jalopezg-git merged commit 490710c into root-project:master Jun 9, 2021
@jalopezg-git jalopezg-git deleted the jalopezg-rntuple-sinkcounters branch June 9, 2021 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[rntuple] Add performance counters to classes derived from RPageSink

4 participants