RDataFrame in MultiThread with RNTuples
Maintainer thường phản hồi trong vòng 1 ngày
@jblomer đang làm issue này rồi.
Từ ngày 24/8/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Check duplicate issues.
- Checked for duplicates
Description
Dear ROOT developers,
We have an analysis framework for CMS data that uses ROOT RDataFrame in MultiThread. In view of the expected adoption of RNTuples, we tried to use an RDataFrame script to convert CMS data stored in ROOT files as flat ntuples (NanoAOD, TTree structure) to RNTuples, which we can then read with our usual framework.
However, when running on the RNTuples the program opens a number of files equal to the number of available threads, waits for all of these files to be processed, and only then opens the next batch. As a result, the execution is limited by the slowest file-thread combination of the batch.
We have prepared a reproducer [linked below with instructions and comments] that generates a set of files as RNTuples, processes the events, and reproduces the issue. We have observed the same behavior on lxplus, on our institute's cluster and our laptop.
On lxplus and our institute cluster we also get the warning
Warning in <RIoUring>: io_uring is unexpectedly not available because:
Error initializing io_uring: Operation not permitted
Warning in <RRawFileUnix>: io_uring setup failed, falling back to blocking I/O in ReadV
Thank you in advance for your help!
Francesco Orlandi and Federico Ferri (@ferriff)
Reproducer
On lxplus:
- copy
reproduce_problem.ccandj.jsonin a folder - compile:
clang++ reproduce_problem.cc $(root-config --cflags --libs) -o reproduce_problem - execute:
./reproduce_problem -g -n 3 -j j.json
Options:
g(activate generation of files, necessary only the first time)n(number of threads for MT execution)j(json file name containing the input files name)
The program generates 100 files: the odd-numbered files contain 9 entries, while the even-numbered files contain 10000 entries. During the execution, we use CPU time by performing some mathematical computations for each entry. For each “batch”, we print the file names and the number of entries contained in each file. Together with the progress bar from RDataFrame, this shows the problem.
ROOT version
6.40.02, built on Jun 20 2026
Installation method
lxplus
Operating system
Linux
Additional context
No response
- Ngôn ngữ chính
- C++
- Star
- 3.3k
- Fork
- 1.6k
- Merge trung bình
- 2 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 188
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của root-project/root
-
thisroot.sh: wrong ROOTSYS in zsh when the shell's command line has a newlineCó thể đã có người làm @dpiparo đã nhận 4 ngày trước. Đang mởbug in:Build System
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
root-project/root#23746 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[tmva][sofie] Inputs of unsupported type (e.g. float16) give code that does not compile instead of an errorCó thể đã có người làm @lmoneta đã nhận 14 ngày trước. Đang mởAI-Assisted bug in:SOFIE
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
root-project/root#23655 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[RDataFrame] Code that transforms `#var` alias to `R_rdf_sizeof_var` does not respect string literalsCó thể đã có người làm @vepadulano đã nhận 1 ngày trước. Đang mởbug in:RDataFrame
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 71/100
root-project/root#23790 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
TDataMember::GetOffset interfers to TDataMember::GetOffsetCintCó thể đã có người làm @pcanal đã nhận 1 ngày trước. Đang mởbug in:Core Libraries
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
root-project/root#23777 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`TChain::GetEntries` internal caching ineffective?Có thể đã có người làm @pcanal đã nhận 7 ngày trước. Đang mởimprovement in:TTree
root-project/root#23738 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của root-project/root
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
[BUG] Failed archive extraction deletes the dataset cacheCó thể đã có người làm @dajiaohuang đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
alibaba/GraphScope#4674 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 93/100
webarkit/WebARKitLib#107 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
--view / --edit / --review passed without '=' abort the app with an uncaught std::out_of_rangeĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ONLYOFFICE/DesktopEditors#2527 ·
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
HEL3AN/econspace-mmo#529 ·
Maintainer thường phản hồi trong vòng 1 ngày