Skip to content
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

Adding FRD file header (DAQ) #27750

Merged

Conversation

smorovic
Copy link
Contributor

PR description:

Addition of file header to Fed Raw Data format. This header contains metadata description of the content (file size without header and number of events, LS and versioning). Aim is to replace separate JSON file which can take a lot of space in ramdisk with 2 MB huge pages (minimum per file).

File broker will switch protocol to v2 when detecting raw files with header, and Input source assumes i in this case . In addition there is also format autodetection when using fileListMode and in FRDSource, as well as generation support for the new format in the fake BU module.

Additional optimization is added: input source will, in case of using a single reader thread with double buffering (default mode), open raw file only once and reuse the same FD to read file sequentially until done (reducing number file operations performed).

PR validation:

This has been developed and tested in DAQ3VAL system.

identification and version fields, as well as metadata (file size and
number of events), which are used for consistency checks in HLT nodes.

In case of HLT (NFS) mode this is activated only when using file broker
protocol v2. In this case accompanying JSON file is no longer present. In
case of fileListMode of the FedRawDataSource and with FRDStramSource,
it is autodetected based on reading the raw file.

Commit includes a bugfix: use separate variable for reading second field
in JSON file (affecting protocol with separate JSON index file; fortunately
the bug has not been hit in the production system.

Note: code-format-all has been executed and manually fixed due to changes
being made prior to reformatting campaign
…adding after uint16 as reserved 16-bit field.

Size is in either case 24, not 22. Use uint8 for consistency
in Streamer should also be migrated eventually.
- format update and change in initialization of the header structure
…ition when inheriting.

In case of 2 buffers (1 thread) only a single fd will be used with only
sequential reading
- fix amount read into chunk in case of skipping header payload
@cmsbuild
Copy link
Contributor

@smorovic, CMSSW_11_0_X branch is closed for direct updates. cms-bot is going to move this PR to master branch.
In future, please use cmssw master branch to submit your changes.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 14, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/2016/console Started: 2019/08/14 13:06

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0dcc38/2016/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2939508
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2939166
  • DQMHistoTests: Total skipped: 341
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 142 log files, 14 edm output root files, 34 DQM output files

@slava77
Copy link
Contributor

slava77 commented Aug 15, 2019

+1

for #27750 71cf55c

  • the modified code is not in the reco responsibility, related only to the data I/O in the online applications (even though it's in EventFilter/Utilities which holds some reco-related code as well)
  • jenkins tests pass

@emeschi
Copy link
Contributor

emeschi commented Aug 15, 2019

+1

@Dr15Jones
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@fabiocos
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 981dc36 into cms-sw:master Aug 15, 2019
@smorovic smorovic deleted the 110X-rawfile-reuse-fd-with-compression_v7 branch October 22, 2019 08:27
@smorovic smorovic restored the 110X-rawfile-reuse-fd-with-compression_v7 branch October 22, 2019 08:27
@smorovic smorovic deleted the 110X-rawfile-reuse-fd-with-compression_v7 branch May 9, 2020 15:15
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.

None yet

7 participants