REVIEW 3 major objections 6 minor 17 references
Data Movement Model for the Vera C. Rubin Observatory
T0 review · 3 major / 6 minor · reviewed 2026-08-06 · deepseek-v4-flash
Pith's one-line read The paper argues that Rubin's replicated data can be made self-registering at every facility by chaining Rucio and FTS transfers into Butler ingestion via three custom daemons, guaranteeing that pipelines see transferred data immediately.
desk verdict A clear, honest systems description of Rubin's data movement stack; the load-bearing path-preservation claim needs one end-to-end check before publication. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing mechanism is the registration-to-ingestion chain: rucio_register → Rucio Datasets and subscriptions → FTS transfer → HermesK Kafka topic → ingestd → Butler ingestion, with identity filename mapping preserving the paths the Butler expects at the destination. The named objects are the three custom components: rucio_register, which registers selected Butler files into Rucio with Rubin metadata; HermesK, which reroutes Rucio transfer-completion notices through Kafka topics named per RSE; and ingestd, a stateless daemon that performs idempotent batch ingestion of newly arrived files into the local Butler. The chain also solves a small-file problem: JSON and YAML metadata files from a processing run are zipped into single containers so Rucio and FTS move one large object instead of tens of thousands of tiny ones.
What would settle it
Measure the wall-clock time from a completed exposure readout at the summit to its ingestion into the US archive Butler repository via the production transfer path: a consistent per-exposure time above about seven seconds, or an alert issued more than sixty seconds after readout, would falsify the prompt-processing model; likewise, any file Rucio marks as transferred but that is missing from the destination Butler registry would show the synchronization chain is broken.
Extended reading notes
Core claim
The central claim is that a closed integration loop makes inter-facility replication self-registering. rucio_register selects already-written files from a source Butler repository, attaches a compact JSON record of Rubin-specific metadata, and groups them into Rucio Datasets; preconfigured subscriptions translate dataset registrations into transfer rules that Rucio hands to FTS. Each facility exposes Rucio Storage Elements configured with identity logical-to-physical filename mapping, so pathnames relative to the Butler datastore are preserved verbatim. When FTS reports a completed transfer, HermesK, a modification of Rucio's Hermes daemon, publishes a message to a Kafka topic named after the destination storage element, and the receiving facility's ingestd daemon consumes that message and ingests the new file into the local Butler repository. If the model behaves as designed, every replicated file is automatically registered at its destination and immediately visible to the processing pipelines.
Load-bearing premise
The design assumes the end-to-end latency target of seven seconds for four gigabytes of compressed data per exposure is actually achievable over the international network links, but the paper states this as a target without presenting measurements or network validation.
Editorial extensions
If this is right
- A successfully replicated file is automatically ingested into the destination Butler repository, so science pipelines see newly arrived data without any manual registration step.
- Rucio tracks only files that are replicated between facilities; intermediates, which can be ten times more numerous than final products, stay in local Butler registries and keep the global catalog small.
- Naming Kafka topics after the destination storage element means each facility receives only notifications for its own endpoints, letting ingestd scale to multiple consumers as the file count grows.
- Grouping files into Rucio Datasets with spatially meaningful names lets subscriptions associate sky regions with storage elements and provides a deterministic dataset-closure signal.
- Maintaining separate input and products storage elements lets the project prioritize raw-data transfers over regenerable data products and protects raw data against modification.
Reading between the lines
- Editorial inference: the register-transfer-notify-ingest pattern is generic; any multi-site experiment whose local catalog must reflect replicated files could reuse this design, because the daemons are stateless and ingestion is batched and idempotent.
- Editorial inference: the seven-second transfer target is a design budget, not a measured result, so an instrumented end-to-end test of exposure-to-ingestion latency on the production links would be the natural validation of the 60-second alert commitment.
- Editorial inference: the paper does not describe monitoring for divergence between Rucio's record of completed transfers and the destination Butler registry; a lag alert on the HermesK-to-ingestd path would close the one loop where silent inconsistency could enter.
- Editorial inference: once the annual Data Release is registered as Rucio Datasets, the same subscription machinery could drive the tiered distribution to independent data access centers, reducing each release campaign to dataset-to-RSE rules.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper describes the data movement architecture for the Vera C. Rubin Observatory, covering three use cases: raw data transfer from the summit in Chile to the US archive at SLAC, replication from the archive to the France and UK data facilities for processing, and distribution of annual data releases to data access centers. The proposed model combines Rucio and FTS for transfer management with three custom tools: rucio_register (selection and registration of Butler files into Rucio datasets), HermesK (Kafka-based notification routing of successful transfers), and ingestd (automatic ingestion of replicated files into destination Butler repositories). The paper argues that this design keeps each facility's Butler repository synchronized without manual intervention, relying on Rucio's identity logical-to-physical filename mapping to preserve paths relative to the Butler datastore.
Significance. If the described architecture works as claimed, it is a valuable operational blueprint for a multi-petabyte, multi-continental scientific data system, and it offers a concrete integration pattern between Rucio and a domain-specific storage abstraction (Data Butler). The paper's strengths are its clear use-case decomposition, explicit tool choices with public code repositories, and the identification of design conventions (e.g., separate input and product RSEs, cost-motivated avoidance of registering intermediate files in Rucio). However, the central automatic-ingestion claim rests on a path-preservation invariant and a minimal metadata schema that are asserted but not demonstrated; no end-to-end transfer, schema, or test is reported. The paper is also entirely free of performance measurements, which is acceptable for an architecture description only if the targets are explicitly labeled as targets.
major comments (3)
- [Section 3, 'All RSEs are configured...'] The automatic ingestion claim depends on the invariant that a replicated file's physical path at the destination is exactly the path expected by the destination Butler datastore. The identity logical-to-physical filename mapping preserves relative pathnames only if every RSE's root prefix coincides with the corresponding Butler datastore root, or if rucio_register emits LFNs that are already Butler-relative. The paper does not state this configuration invariant, nor does it provide evidence from a live transfer. Because Section 3.2 says ingestd registers files into the local Butler repository, a path mismatch would place files outside the repository and break pipeline access. Please state the invariant explicitly and provide at least one end-to-end transfer test, or clearly label this as an unvalidated design assumption.
- [Section 3.1, 'rucio_register' paragraph] The JSON metadata attached by rucio_register is described as a 'minimal set of information' sufficient for Butler ingestion, but no schema, example, or coverage test is given. Without this, a reader cannot assess whether all file types (FITS, Parquet, JSON/YAML, and the Zip aggregates mentioned in Section 3.1) are handled correctly. Please include the metadata schema (or a link to it) and describe how it is validated for the distinct file categories.
- [Section 2.1, latency target] The seven-second end-to-end latency target for transferring four gigabytes of compressed exposure data is load-bearing for the 60-second prompt-alert requirement, but it is presented as a target with no measurements, network characterization, or reference. If this is a design target, say so explicitly and cite any related network validation or requirements document; if it has been tested, report the test conditions. This is a performance claim rather than a correctness claim, but it should be labeled to avoid overstatement.
minor comments (6)
- [Section 3, first paragraph] There is a typo: 'webDA V protocol' should read 'WebDAV protocol'.
- [Section 3.2, last paragraph] The phrase 'triggering o ff known synchronization points' appears to contain a spacing error ('off').
- [Section 2, first paragraph] The sentence contains a duplicated article: 'part of the the published release'.
- [Section 2.2, paragraph on replication] The 'approximately ten times' ratio for intermediate data relative to final products is given without a citation or derivation; please add a reference or label it as an operational estimate.
- [Section 3.2, paragraph on ingestd] The paper mentions idempotent batch ingestion and stateless daemons, but does not discuss failure handling (e.g., retries for failed transfers, handling of partial or duplicate notifications). A brief statement on how consistency is maintained under failures would strengthen the operational description.
- [Section 2.2, back-flow paragraph] The flow from processing facilities back to the archive is described at a high level, but it is not stated whether the same rucio_register/subscription mechanism is used symmetrically for final data products; please clarify.
Circularity Check
No significant circularity; the paper is a systems description with no fitted predictions or derivation that reduces to its inputs.
full rationale
This paper is a descriptive architecture overview, not a derivation with predictions. Its claims—that Rucio/FTS handle transfers, that rucio_register, HermesK, and ingestd integrate Rucio with the Data Butler, and that the identity LFN-to-PFN mapping plus JSON metadata allow automatic ingestion—are engineering design statements, not results derived from fitted parameters or from prior theorems. Citations to Rubin technical notes and author papers are used as references for project conventions and background, but none is invoked as an external theorem that forces the architecture. The only potentially load-bearing assertion, that identity mapping preserves pathnames relative to the Butler datastore, is an unvalidated configuration assumption (a correctness risk) rather than a circular step: it does not define the conclusion in terms of itself. No equation reduces to another, and no fitted quantity is renamed as a prediction. Accordingly, no circularity is present.
Assumptions & free parameters
assumptions (4)
- domain assumption The dedicated network links among the summit, SLAC, and European facilities have sufficient capacity and reliability to move 5 PB per year and to transfer 4 GB per exposure within 7 seconds.
- domain assumption All Rucio Storage Elements use the identity logical-to-physical filename mapping, preserving paths relative to the Butler repository's datastore.
- domain assumption FTS transfer completion notifications are reliable, and Kafka delivers messages without loss to the correct facility, while ingestion remains idempotent.
- domain assumption Each facility's Butler registry can serve as the authoritative local catalog and can be kept consistent through the described replicate-and-ingest process.
invented entities (3)
-
rucio_register
independent evidence
-
HermesK
independent evidence
-
ingestd
independent evidence
Cite this review
Pith. "Pith review of Data Movement Model for the Vera C. Rubin Observatory." pith.science (2026). https://pith.science/paper/3IJWLZGU
@misc{pith2026250712955,
author = {Pith},
title = {Pith review of: Data Movement Model for the Vera C. Rubin Observatory},
year = {2026},
howpublished = {\url{https://pith.science/paper/3IJWLZGU}},
note = {Machine review of arXiv:2507.12955}
}
read the original abstract
The sky images captured nightly by the camera on the Vera C. Rubin Observatory's telescope will be processed across facilities on three continents. Data acquisition will occur at the observatory's location on Cerro Pach\'{o}n in the Andes mountains of Chile. A first copy of the raw image data set is stored at the summit and immediately transmitted via dedicated network links to the archive center within the US Data Facility at SLAC National Accelerator Laboratory in California, USA and from there to two European facilities for processing and archiving purposes. Data products resulting from periodic processing campaigns of the entire set of images collected since the beginning of the survey are made available to the scientific community in the form of data releases. In this paper we present an overall view of how we leverage the tools selected for managing the movement of data among the Rubin processing and serving facilities, including Rucio and FTS. We also present the tools we developed to integrate Rucio's data model and Rubin's Data Butler, the software abstraction layer that mediates all access to storage by pipeline tasks that implement science algorithms.
Figures
Reference graph
Works this paper leans on
-
[1]
Ž. Ivezi ´c et al., LSST: From Science Drivers to Reference Design and Anticipated Data Products, ApJ 873, 111 (2019), arXiv:0805.2366. 10.3847/1538-4357/ab042c
arXiv 2019
-
[2]
M. Juri ´c, T. Axelrod, A. Becker, J. Becla, E. Bellm, J. Bosch, D. Ciardi, A. Connolly, G. Dubois-Felsmann, F. Economou et al., Systems Engineering Controlled Document LSE-163, NSF-DOE Vera C. Rubin Observatory (2023), https://lse-163.lsst. io/
work page 2023
-
[3]
Graham, The Rubin Data Products, Abridged (2022), https://doi.org/10
M. Graham, The Rubin Data Products, Abridged (2022), https://doi.org/10. 5281/zenodo.7011229
work page 2022
-
[4]
Amazon S3 REST API introduction, https://docs.aws.amazon.com/AmazonS3/ latest/API/Welcome.html
-
[6]
Rubin Observatory (2025), https://doi.org/10
Rubin Observatory Science Pipelines Developers, Project Science Technical Note PSTN-019, NSF-DOE Vera C. Rubin Observatory (2025), https://doi.org/10. 71929/rubin/2570545
arXiv 2025
-
[7]
The Vera C. Rubin Observatory Data Butler and Pipeline Execution System
T. Jenness, J.F. Bosch, A. Salnikov, N.B. Lust, N.M. Pease, M. Gower, M. Kowa- lik, G.P. Dubois-Felsmann, F. Mueller, P. Schellart, The Vera C. Rubin Observatory Data Butler and pipeline execution system, in "Software and Cyberinfrastructure for Astronomy VII" (2022), V ol. 12189 of Proc. SPIE, p. 1218911, arXiv:2206.14941. 10.1117/12.2629569
work page Pith review arXiv 2022
-
[8]
Bolton et al., Technical Note RTN-086, NSF-DOE Vera C
A. Bolton et al., Technical Note RTN-086, NSF-DOE Vera C. Rubin Observatory (2025), https://rtn-086.lsst.io/
work page 2025
-
[9]
M. Barisits, T. Beermann, F. Berghaus, B. Bockelman, J. Bogado, D. Cameron, D. Christidis, D. Ciangottini, G. Dimitrov, M. Elsing et al., Rucio: Scientific Data Man- agement, Computing and Software for Big Science 3, 11 (2019). 10.1007/s41781-019- 0026-3
Show all 17 references
-
[10]
File Transfer Service, https://fts.web.cern.ch/fts
-
[11]
XRootD, https://xrootd.github.io
-
[12]
Mkrtchyan, K
T. Mkrtchyan, K. Chitrapu, V . Garonne, D. Litvintsev, S. Meyer, P. Millar, L. Morschel, A. Rossi, M. Sahakyan, dCache: Inter-disciplinary storage system, EPJ Web Conf.251, 02010 (2021). 10.1051/epjconf/202125102010
2021
-
[13]
Dusseault, HTTP Extensions for Web Distributed Authoring and Versioning (Web- DA V), RFC-4918,https://www.ietf.org/rfc/rfc4918.txt
L. Dusseault, HTTP Extensions for Web Distributed Authoring and Versioning (Web- DA V), RFC-4918,https://www.ietf.org/rfc/rfc4918.txt
-
[14]
Fielding, J
R. Fielding, J. Mogule, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, Hypertext Transfer Protocol – HTTP/1.1, RFC-2616, https://datatracker.ietf.org/doc/ html/rfc2616
-
[15]
Lim, Data Management Technical Note DMTN-213, NSF-DOE Vera C
K.T. Lim, Data Management Technical Note DMTN-213, NSF-DOE Vera C. Rubin Observatory (2023), https://dmtn-213.lsst.io/
2023
-
[16]
Le Boulc’h, F
Q. Le Boulc’h, F. Hernandez, G. Mainetti, The Rubin Observatory’s Legacy Survey of Space and Time DP0.2 processing campaign at CC-IN2P3, EPJ Web of Conf. 295, 04049 (2024). 10.1051/epjconf/202429504049
2024
-
[17]
Fausti Neto, F
A. Fausti Neto, F. Economou, M.A. Reuter, J. Sick, R. Allbery, A.J. Thornton, Sasquatch: Rubin Observatory metrics and telemetry service, in Software and Cyber- infrastructure for Astronomy VIII, edited by J. Ibsen, G. Chiozzi (2024), V ol. 13101 of Proc. SPIE, p. 131011M. 10....
2024 doi
-
[18]
Ribeiro, R.E
T. Ribeiro, R.E. Owen, D.J. Mills, M.A. Reuter, A.W. Clements, W. O’Mullane, Re- placing DDS with Apache Kafka as middleware technology for the Rubin Observatory control system, in Software and Cyberinfrastructure for Astronomy VIII, edited by J. Ib- sen, G. Chiozzi (2024), V ...
2024 doi
Reviewed August 6, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.