遇见数据集

Fire-front-oriented actor model: benchmark harnesses, domain rasters and measured timings

收藏
Zenodo2026-08-18 更新2026-08-20 收录
官方服务:

资源简介:

Code and derived data supporting the article "An Asymptotic Advantage a Constant Factor Can Hide: Four Formulations of a Monte Carlo Wildfire Automaton and What Parallelism Really Buys". The record contains the benchmark harnesses for the synthetic and the real-domain families, the scenario module that declares the landscape parameters, the workload profiler, the framework-cost and contention harnesses, the analysis script that derives the paper's analytical results from the measured tables, the exported Eastern Hills fuel raster, and every measured table behind every reported figure, including the per-round and per-replicate records and not only the summaries. The README inside the archive lists every script and every table with its purpose, and carries a glossary of the Spanish column names the tables use. What changed in version 2.2.0 This version carries the measurement that changed what the article claims, and it retracts no earlier number. The record now compares four formulations of the same transition rule, not three. run_propagator_comparison.py measures the reference formulation, which convolves the whole grid once per emitting cell, the algebraic reduction, the full-grid sweep and a genuine front restriction, all on the same trajectory of each scenario and all verified to produce the same state hash. propagador_frente_real.py is that front restriction, the formulation the two earlier versions of the article discussed without ever having measured. The result is that the formulation every benchmark in this study was measured against is the slowest of the four, by 15 to 732 times. Each entry of that table is now the median of five takes with its range, except the reference column on the two largest scenarios, where one take costs minutes. The ranges matter, since the three cheap formulations are timed in tenths of a second and a single take there does not separate a real difference from the variation of the machine. The same harness measures the ensemble on the fastest formulation, so the parallel gain can be read against a competent serial baseline as well as against the slow one. An earlier execution warmed two workers instead of all sixteen and understated the gain by a factor of 1.6 to 3.4; the deposited harness warms the whole pool and the withdrawn figures are kept in data/calentamiento_retirado.log. The run log of every measurement now travels inside the archive beside the table it produced. What changed in version 2.1.0 Version 2.1.0 added measurements and closed gaps that version 2.0 had declared open, retracting no earlier measurement. The extreme scenario moved from 1 measurement round to 3, so its speedup rests on a reproducible measurement rather than on a single observation. The lockstep verification of the algebraic reduction was extended to the full horizon each domain runs, 1,016 steps on the El Cable sector and 400 on the Eastern Hills, at a Hamming distance of 0 on the state grid and on the moisture field at every step, and the counted gain of the reduction rose accordingly because the earlier truncation had measured the fire only while its front was at its narrowest. The cost of the actor runtime itself was measured against a plain driver loop, which version 2.0 had listed as an unmeasured limitation. The contention sweep grew from 1 scenario to 3, with the work hash-verified at every pool width. Bootstrap intervals were added to the per-step cost coefficients and the front-area exponents, and an analysis script was added that regenerates the paper's analytical results from the deposited tables without simulating anything. What changed in version 2.0 Version 2.0 replaced the measurement protocol and the synthetic scenario definitions of version 1, so its tables superseded those of version 1 rather than extending them. Both arms of every comparison moved inside the same actor runtime, differing only in pool size, where version 1 had compared a plain driver loop against actor workers and let the difference between two kinds of process enter the reported ratio as parallel gain. The reference arm began running every replicate and reporting their measured sum instead of extrapolating from two. Measurements began repeating in rounds with the arm order alternating, guarded per round by state equality between arms and by the counted ceiling. The synthetic landscape began declaring its fuel density at 0.80, clear of the percolation threshold that had made replicate cost bimodal at the inherited 0.60. The scenario horizons became chosen rather than inherited, and the core sweep of version 1 was withdrawn because its measurements came from the earlier protocol. How to run it Unzip the archive and run any script from code/. Paths resolve against the record itself through code/rutas.py, so nothing points at the machine where the work was done. Figures are written to figures/. The environment variables P5_ESCENARIOS, P5_DOMINIOS, P5_RONDAS and P5_SEMILLAS restrict a run to a subset or change the number of measurement rounds. The record is self-contained, since it carries the simulation engine and the calibration module vendored under Apache 2.0, so there is no external repository to fetch first. Licensing, which is split on purpose The source code in code/, together with the vendored modules, is released under the Apache License 2.0, in the file LICENSE. The derived tabular data in data/ are released under Creative Commons Attribution 4.0 International, in the file LICENSE-DATA.txt. The split is deliberate, so that the code can be reused in a downstream product without the attribution obligations of the data travelling with it. What is not in this record, and why The primary UAECOB incident registry is not required by anything in this record. The Eastern Hills domain rebuilds from the 30 m fuel raster included here. The El Cable sector is traced at run time from a sector image that is not redistributed, so reproducing that one domain requires the image, and the record carries the ignition seeds and the domain dimensions that the tracing produces. Environment Python 3.12 with the Ray framework, numpy, scipy and pandas. Measured on a commodity processor with 16 logical processors on 10 physical cores, 6 performance and 4 efficiency, under the default balanced power plan of the operating system. No graphics processing unit is required and no commercial component is used. Random seeds are fixed throughout, and the determinism they provide was verified by comparing state hashes between repeated executions of each scenario.

提供机构:
Zenodo
创建时间:
2026-08-18
二维码
社区交流群
二维码
科研交流群
商业服务