WorksMathematics
Asynchronous, Generation-Free ABC: Streaming AMIS Reweighting for Heterogeneous Simulator Workloads on HPC
Abstract
Approximate Bayesian computation (ABC) enables Bayesian inference for models with intractable likelihoods by estimating parameter posterior distributions from simulated data. Sequential ABC methods improve sampling efficiency by iteratively adapting the proposal distribution toward regions of high posterior probability. However, these methods typically operate in generations, where each generation must wait for its slowest simulation before the next can begin. On a parallel machine, this synchronization barrier leaves workers idle and reduces throughput, particularly when simulation runtimes vary substantially. We introduce a generation-free ABC sampler that updates its proposal when simulation results arrive and sends a new candidate to each available worker. The proposal is based on the best particles evaluated so far. To estimate the posterior, we reuse the full history and reweight particles against a reconstructed mixture of sampling proposals. We show how errors in approximating the mixture of sampling proposals affect the estimated posterior and establish consistency for the smooth-ABC posterior when the approximation becomes asymptotically exact. In our experiments, the method achieves well-calibrated posterior estimates where a pyABC baseline with the same kernel and bandwidth schedule under-covers. From the asynchronous run's timing alone, we predict how much a synchronization barrier would slow the sampler. These predictions agree with measured synchronization penalties ranging from 1.2x to 400x. On a Cellular Potts tissue simulator, the asynchronous sampler completes 2.1-2.4x as many evaluations as pyABC in the same hour, and the discrepancy threshold for its best 100 evaluations is 4.1x smaller. With the starting bandwidth set from prior-predictive discrepancies, it also produces a more concentrated two-parameter posterior with a larger effective sample size than pyABC.
Introduction
Approximate Bayesian computation (ABC) enables Bayesian inference when the likelihood is intractable but data can be generated using a simulator ([11, 2]). Sequential ABC methods, such as ABC sequential Monte Carlo (ABC-SMC) and ABC population Monte Carlo (ABC-PMC) ([3, 13] (Sisson et al. 2007; Toni et al. 2009)), iteratively update a population of weighted parameter samples, to favor parameters whose simulated data better match the observations. Although simulations of individual candidates can run in parallel, the generation-based implementations considered here update their proposal and ABC bandwidth only after the entire population has been evaluated. Workers that finish early must therefore wait for the slowest simulation, which can substantially reduce throughput when runtimes vary. This is particularly relevant to cell-based tissue models, where different parameter values can produce very different numbers of cells and, consequently, simulation runtimes.
Our sampler avoids this barrier by updating the proposal whenever a simulation result becomes available. It constructs a mixture from the lowest-discrepancy particles evaluated so far and sends a new candidate to the free worker. Because proposals change as results arrive, the completed candidates come from different sampling distributions. We account for this using streaming adaptive multiple importance sampling (AMIS) [10], reweighting the history against a mixture of the proposals used. The recorded evaluations also let us recompute posterior estimates after a run and examine the effect of approximating this mixture, without repeating expensive simulations.
We compare the sampler with pyABC [22], a generation-based ABC implementation configured with the same kernel and bandwidth schedule. The cost of synchronization is especially clear when one worker remains slow: in this experiment, pyABC throughput falls by more than a factor of one hundred, while our sampler loses less than half its throughput. We also investigate whether the additional evaluations improve posterior quality and at what simulation cost asynchronous updates become beneficial.
We make four contributions, evaluated in the corresponding parts of § 6:
A generation-free sampler that combines smooth-kernel ABC with streaming AMIS reweighting. Its posterior estimate can be reconstructed from the evaluation log (§ 3).
A runtime-based prediction of the synchronization penalty. We validate it against a synchronized variant of the same sampler for measured synchronization penalties ranging from to (C1, § 6.1).
An empirical assessment of how increased throughput affects tolerance and when the benefits of asynchronous execution exceed its coordination overhead (C2, § 6.2; C3, § 6.3).
A theoretical analysis of how approximating the mixture of sampling proposals affects posterior estimation, including conditions for consistency with the intended smooth-ABC posterior (§ 4). We also assess the quality of that approximation, posterior calibration and recovery, and the effects of starting bandwidth and archive size (C4, § 6.4).
Background and Related Work
ABC compares simulated data with observations through a discrepancy rather than evaluating the likelihood directly. Let denote the observations, the model parameters, and the discrepancy between simulated and observed summaries. At bandwidth , the resulting ABC target is
with the prior and the ABC kernel. The classical kernel is the hard indicator , under which a simulation is either accepted or rejected and the output is a population of accepted particles. With a smooth kernel, such as the Gaussian [16] (Wilkinson 2013), every simulation contributes a continuous weight rather than a binary decision. This also avoids the discontinuity introduced by hard acceptance thresholds. Throughout, is the bandwidth of this kernel and the tolerance a sampler has reached is a separate, empirical quantity defined in § 5.3.
Sequential ABC and the generation. Sequential ABC improves sampling efficiency by adapting its proposal across generations. Methods in this family include ABC-SMC (Sisson et al., 2007; Toni et al., 2009), ABC-PMC [3], and subsequent adaptive variants [13, 14, 25]. More recently, Pesonen & Corander [36] improved sampling efficiency by stratifying the discrepancy space. These sequential methods maintain populations of particles while progressively reducing the ABC bandwidth. Generation fits a mixture proposal to the weighted population of generation , draws candidates from it until have been accepted at the current bandwidth, and weights each accepted particle by . The next proposal needs the whole weighted population, so generation cannot begin before the last candidate of generation has been simulated. This creates the synchronization barrier described in § 1. Generation-based implementations such as pyABC [22] (Schälte et al. 2022), ABCpy [15], and ELFI [26] can parallelize the simulations within a generation but wait before constructing the next one.
Reusing every draw: AMIS. When the proposal changes during sampling, particles collected at different stages come from different distributions. Adaptive multiple importance sampling (AMIS) [10] combines them by weighting each particle against a mixture of the proposals used. After stages with proposals , the weight of every past particle is updated using this mixture,
the balance heuristic of Veach & Guibas (1995). The same denominator is used for particles from every stage. This allows earlier draws to contribute to the final estimate even after the proposal has changed. AMIS builds on adaptive importance sampling and population Monte Carlo [8, 7]. Consistency under regularity conditions was established by Marin et al. [30]. We apply the same reweighting principle to a stream of individual draws. The proposal is updated after each arrival, and the denominator approximates the mixture of proposals used over the run. Recent work on parallel adaptive reweighting importance sampling also uses sample-centered Gaussian-mixture proposals and approximations to the cumulative proposal mixture [27]. Unlike our setting, that method assumes an evaluable target density and does not address asynchronous ABC simulations with heterogeneous runtimes.
Simulators with parameter-dependent cost. Cell-based and agent-based models of tissues are a motivating example of simulators with parameter-dependent runtimes. These stochastic models represent individual cells either on a grid of sites (a lattice) or in continuous space. To infer model parameters from microscopy data, one can compare measured tissue features, such as cell counts and shape, with the corresponding features of simulated tissues. ABC is useful here because the likelihood is generally intractable [23, 24]. The Cellular Potts model [19, 21] is the canonical lattice model of this class: each cell occupies a set of lattice sites, and cells grow, move and divide there. Because the number of simulated cells largely determines computational cost and depends on the inferred parameters, Cellular Potts runtimes can vary by orders of magnitude across the prior, making these simulations particularly susceptible to generation barriers (§ 5.1).
Barrier-free sampling elsewhere. Parallel and off-barrier SMC has been studied for state-space models: the island particle model (Vergé et al., 2015), asynchronous anytime particle methods [34], and parallel resampling [31]. None of these targets ABC, and none combines barrier-free execution with AMIS-style reweighting against the mixture of proposals used. Look-ahead scheduling [1] starts the next generation early on idle workers and so recovers part of the wait, but keeps the generation. Sequential neural simulation-based inference also commonly uses simulation rounds followed by retraining [35, 20, 28]. More recently, dynamic SBI has removed fixed rounds from sequential neural posterior estimation by updating the simulation dataset and proposal during training [29]. Our method instead uses smooth-kernel ABC and reconstructs posterior weights directly from the completed simulations. Similar synchronization delays occur in distributed machine learning. In synchronous stochastic gradient descent, slow workers can delay an update [12, 9]; proposed remedies include backup workers and asynchronous updates [38]. Here the estimator is defined on whatever history has arrived, and the order of arrival matters only through the conditional distribution of each draw and how faithfully the posterior denominator represents it (§ 4).
Method
Overview
Our sampler updates its proposal from completed evaluations and immediately assigns a new candidate to an available worker without waiting for the others. Figure 1 contrasts this procedure (row b) with generation-based ABC-PMC (row a), which simulates a population before constructing its next proposal. Our method retains a growing history and uses the evaluations available when a worker requests another candidate (step 1). The particles with the smallest discrepancies form the archive, and the bandwidth of the smooth ABC kernel is tightened as the archive improves (step 2). We construct a Gaussian-mixture proposal centered on the archive particles. Each mixture weight is proportional to the particle’s stored parent weight multiplied by its kernel value at the current bandwidth (steps 3 and 4). One candidate is drawn from it and handed to the worker that has just become free (step 5). Since proposals change while simulations are running, we weight each candidate against a mixture of proposals rather than a single proposal. This applies the AMIS balance heuristic (§ 2) to individual draws (step 6). The posterior estimate is not restricted to the last group of particles. After the run, we reweight all completed evaluations using a reconstructed mixture of sampling proposals.

Figure 1. One generation of ABC-PMC (a) beside one update of our sampler (b), step by step on a two-dimensional toy problem. ABC-PMC proposes a whole population from one mixture, simulates all of it, keeps the accepted particles and only then forms the next proposal, so a generation ends with its slowest simulation. Our sampler appends every completed evaluation to a history and rebuilds the archive, bandwidth and proposal from that history at every call. It draws one candidate for the free worker and weights that candidate against the current and stored proposals rather than against a single proposal. Row (a) is a schematic of textbook hard-threshold PMC, not the smooth-kernel pyABC baseline of § 5.2. Appendix § 16 explains the symbols used in the figure.
Each worker constructs its next proposal from the history available to it, while the complete recorded history allows the posterior to be reconstructed during or after the run. Online parent selection uses an additional buffer of previous proposals (step 6), but this buffer is not needed for posterior reconstruction.
Weights serve different purposes during sampling and posterior estimation. During sampling, the stored parent weights and the current ABC kernel values determine the archive weights , which control the next proposal. For inference, we instead compute posterior weights over the complete history after the run. The stored parent weights influence which candidates are proposed, but they are not the weights used to report the posterior. Sections 3.2 to 3.5 follow the figure’s steps and § 3.6 assembles them.
History and archive (steps 1 and 2)
We retain all completed evaluations but use the best-fitting particles to construct the next proposal. This selected subset is the archive. Write the history at call as
where is the parameter, the discrepancy, the bandwidth in force when was proposed, and its parent weight (§ 3.5). The archive is the set of the history members with the smallest discrepancies. Until the history holds members the sampler emits uniform prior draws (the bootstrap phase), with and no bandwidth, so that the first archive can form. The history is append-only, and the archive, the bandwidth and the proposal below are recomputed from it at every call. The Propulate framework (Taubert et al., 2023), which hands the whole history to each call and takes one candidate back, provides this contract (Appendix § 16).
Bandwidth (step 2)
Rather than accepting or rejecting each draw at a fixed threshold, we assign kernel weights as in (1). As the archive improves, we reduce the bandwidth to give greater weight to better-fitting particles. Tightening it too quickly, however, can leave too few particles with appreciable weight. The scheduler therefore limits each decrease and waits for enough well-fitting evaluations before reducing the bandwidth further. The bandwidth never increases, and workers using different history prefixes follow a nonincreasing schedule. The bandwidth in force at call is the smaller of the running minimum of the bandwidths stored in the history and the value a bandwidth scheduler proposes from that history. The scheduler starts from a user-set . At each search, the scheduler finds the largest bandwidth that retains at least 95% of the archive’s current kernel-weighted effective sample size. A single update can reduce the bandwidth by no more than a factor of two. The scheduler then holds the bandwidth until at least evaluated particles have discrepancies below it, which brings close to the corresponding order statistic (settings in Appendix § 16). On an expensive simulator the run can end before the schedule has moved far from , so has to be set from the scale of the prior-predictive discrepancies (§ 5.3, § 6.4).
Archive proposal (steps 3 to 5)
At call , we build the proposal by placing a Gaussian component at each archive member:
The mixture weights are normalized to sum to one. Particles with larger weights are more likely to be selected as parents, and Gaussian perturbations explore nearby parameter values. The perturbation kernel has covariance , the weighted archive covariance scaled by ; each component is truncated to the prior box. Because the kernel is smooth, an archive member’s contribution shrinks continuously as the bandwidth tightens instead of dropping out when a threshold crosses it, as it does in hard-threshold ABC-PMC. The numerical details are in Appendix § 16.
Weights and the posterior estimate (step 6)
Ordinary importance weights correct for the proposal used to generate a candidate. Here, however, the proposal changes with the stream of completed simulations, so the accumulated history contains draws from many proposals. We therefore use the AMIS idea of weighting against a mixture of proposals (§ 2). During sampling, parent weights help determine which particles generate new candidates, whereas posterior estimation uses separate weights that account for the different proposals used throughout the run. A proposal snapshot is the proposal (4) rebuilt from the history truncated at call , at the bandwidth stored there. Any snapshot can be rebuilt from the history alone.
The parent weight. The running sampler keeps the last snapshots it has taken, one every calls. A candidate drawn from receives
with the kept snapshots; recovers single-proposal weighting. This weight is stored with the particle as its and enters the archive weights of (4) and the scheduler’s effective-sample-size search (§ 3.3). The kept snapshots are the only state the sampler carries between calls.
The posterior weights. After the run, we reconstruct at most snapshots from (two when ). Their history indices are spaced according to the numbers of draws represented by the snapshots. We weight each snapshot in proportion to that number, then reweight every evaluated particle against the resulting mixture. For a function of the parameter the estimate is
with the denominator
The denominator combines the reconstructed proposals with the prior. Each proposal snapshot receives a weight proportional to the number of draws it represents. The prior receives weight , given by the observed fraction of prior draws or a fixed minimum , whichever is larger. This prior component bounds the importance weights by keeping the denominator bounded away from zero ([33]). We use this finite snapshot mixture in place of the full mixture of sampling proposals. The accuracy of that approximation is the subject of § 4. Computing is one pass over the history, run after the timed budget and excluded from every throughput measurement (Appendix C).
Update loop
Algorithm 1 is the update a worker runs whenever it needs a candidate; its lines follow the steps of Figure 1. On workers each one runs the loop on its own copy of the history, which keeps growing as results arrive from every worker. No line waits for any other worker, and a worker that returns from a slow simulation finds a larger history than the one it left.
Theoretical Analysis
Because the sampler changes its proposal throughout the run, importance weights must account for the different distributions from which parameters were drawn. We approximate their mixture using a bounded
Algorithm 1 One update of the generation-free sampler, run by a worker on its copy of the history
Require: History , archive size , starting bandwidth , kept snapshots
(1) if then return a uniform prior draw with ▷ bootstrap (2) the members of with the smallest ; the smaller of the stored running minimum and the scheduler’s proposal (3) over ; (4) as in (4); every calls, add to (5) draw a parent and , retried into the prior box (6) as in (5) return for simulation; joins every worker’s history when arrives
number of reconstructed proposals, reducing the cost of posterior estimation at the risk of introducing approximation error. We analyze this error for the estimator in (6), whose denominator is a fixed-size mixture of reconstructed proposals. Write for the conditional density of the -th candidate given the past (the filtration of Assumption 4). This conditional density captures the sampler’s adaptive proposal mechanism. The theorem requires no further restriction on how these proposals evolve. The mixture the pooled sample was drawn from is
and the fidelity ratio of the run is . This ratio compares the actual mixture of conditional sampling densities with the denominator used for reweighting. Where is too small relative to , the reweighted sample gives that region too much mass; where it is too large, the region receives too little. Theorem 1 shows that the estimator tracks the smooth-ABC posterior at the realized bandwidth modified by , with a vanishing tracking error under Assumptions 1–4 and on . When has a limit , the estimate converges to the posterior tilted by , so that gives the posterior itself. The proof uses martingale arguments to handle proposals that depend on previously observed evaluations. Existing AMIS consistency results for recycling schemes [30] require restrictions on adaptation that decouple the weighting stage. These restrictions do not hold for single-arrival updates, motivating a separate proof. Appendix § 14 gives the decomposition and partial measurement of ; the proofs are in Appendix § 15. The bandwidth sequence is nonincreasing, so its limit exists, although it may equal zero. Our asymptotic statements apply on the event . We return to the practical implications of this condition at the end of the section. is the smooth ABC likelihood of (1).
Assumptions
Assumption 1 (kernel). is measurable with (unit peak, not unit integral, as is standard for a probabilistic-acceptance ABC kernel), and for every there is with for all and . The limiting target is non-degenerate: .
Assumption 2 (denominator class). is a non-degenerate axis-aligned box and the prior density satisfies on it. Each in (7) is a positive function on of truncated-Gaussian-mixture form: at most components, means in , weights in the simplex, covariance with for fixed , and per-component normalizing constants evaluated as the implementation evaluates them.
Assumption 3 (prior floor in the denominator). is fixed and in (7).
Assumption 4 (execution model). Candidates are indexed by proposal time. (B1) Given its parameter , a simulator call returns a discrepancy and a wall-clock duration, , and the pairs of distinct calls are conditionally independent given their parameters. (B2) The sampler’s own randomness (parent choice, perturbation, rejection retries, redraws, bootstrap draws) is drawn fresh at each call from a stream independent of the simulator’s. (B3) Earlier proposal times, durations and worker identities, together with an exogenous source of randomness (message delivery), determine which worker proposes next, when it proposes, and which earlier results it has received by then. The exogenous source is independent of the streams in (B1) and (B2). Lemma 5 derives from this model the filtration used in the proofs, the record, in proposal order, of every candidate launched so far with its result, duration and worker. Under that filtration, , with the proposal density the worker emits, and . Under sequential execution (B3) is empty.
Assumption 5 (fidelity). The denominator tracks the draw mixture up to a limiting ratio: for some with ,
Assumption 1 holds for the Gaussian kernel with and Epanechnikov with ; it excludes the hard indicator, which is not Lipschitz in . This is one reason the method uses smooth kernels. Assumptions 2 and 3 constrain only the -snapshot denominator , which the implementation builds to that exact recipe. Assumption 4 is a property of the execution, not of the proposal path; Table 5 records it for the implementation. Assumption 5 is the only place the sampler’s proposal path enters; Theorem 1 does not need it.
| Assumption | Status | Basis |
| kernel, Lipschitz part | by construction | Gaussian and Epanechnikov are peak-normalized and Lipschitz in on every , with and . The hard indicator is not, and is excluded from the theory. |
| holds for Gaussian | The Gaussian kernel is strictly positive, so and the limiting target is non-degenerate whatever the discrepancy distribution. For a compactly supported kernel (Epanechnikov) it requires the achievable discrepancies to reach inside the support, which we do not verify. | |
| denominator class | by construction | The prior support is a box and the archive lies in it, so component means do; the covariance carries an additive jitter ( the mean squared box width), whose second term is a run-independent floor, giving , and follows from the archive lying in a bounded box. The truncation normalizer is the product of per-axis in-box masses, so with a correlated covariance does not integrate to one. Assumption does not require that: it constrains a positive function, and the discrepancy is carried by instead (§A.1(c)). |
| execution model | holds; implementation property | (B1), (B2): the propagator draws from its own stream, seeded once per rank, and every simulator call receives a fresh seed derived from the run seed, the rank and a per-rank call counter, so the two streams are independent in the sense in which pseudo-random streams are, and no two calls share a seed. (B3): a worker proposes when its own simulation completes and builds the proposal from the results that have reached it; delivery is asynchronous message passing, exogenous to both streams. Lemma 5 then gives the adapted filtration with the emitted density. What asynchrony leaves in is the arrival-order reconstruction of the snapshots, a boundary of at most particles per snapshot (§A.1(d)). |
| prior floor | by construction | The retroactive denominator floors the prior component’s mass at (Appendix § 16), so and Lemma 6 bounds every posterior weight by , independently of what the sampler does. |
| fidelity (9) | assumed; two of its four factors measured | The one place the sampler enters for Corollary 2; Theorem 1 does not use it. Decomposed into four factors in §A.1, two of them estimated from stored histories rather than bounded; since the factors multiply, the measured part is a partial accounting rather than a bound on the whole. |
| (the event of the limit statements) | floor never reached on g-and-k and Cellular Potts; did not meet on Gaussian and Lotka–Volterra | The event concerns the reporting bandwidth only; the sampler’s own bandwidths enter through , on which no condition is placed. A strictly positive forces , since is non-increasing and clipped from below, which is all Theorem 2 and Corollary 2 need. The floor acts only through that clip, so a run whose final bandwidth lies above it is path-identical to the floored run. Final bandwidths over : g-and-k 2.2–3.0 (and 1.2 or more at ; the runs never left ), g-and-k calibration trials – (a replayed sample of 30 of the 1,000, on 6 workers rather than 48), all above a floor of ; Gaussian mean – and Lotka–Volterra –, below it. The bandwidth a finite budget reaches is not an asymptotic : no run reached its floor, and the effective-sample-size ceiling (§ 4) is the consequence. |
Table 5. What the implementation guarantees, what it assumes, and what it violates. “By construction” means the code enforces the property for every run, not that it was checked post hoc.
Theorem 1 (tracking at the realized bandwidth). Let Assumptions 1–4 hold and write . Then for every bounded measurable , almost surely on ,
Consequently, if in addition , then for every bounded measurable ,
Theorem 1 distinguishes two sources of error: random variation in the weighted estimate and the approximation of its denominator. The first vanishes under the stated assumptions and the remaining difference is described by . The normalized conclusion also requires that the average unnormalized weight does not collapse, in addition to a limiting bandwidth above zero. These conditions can be checked against a recorded run. Passing to a limit needs the ratio to settle:
Corollary 2 (tilted limit). Let Assumptions 1–5 hold. Then for every bounded measurable , almost surely on ,
Corollary 3 (exact fidelity). If moreover , that is, if the denominator is asymptotically the density the sample was drawn from, then , the smooth-ABC posterior at the limiting bandwidth.
What is, and how much of it is measured. Four implementation choices contribute to : the prior floor in the denominator, the reconstructed snapshots standing in for the proposals actually used, the approximate normalization of the truncated mixture components, and the sampler’s departures from drawing exactly from (Appendix § 14.§ 1). The first two can be estimated from a stored run by recomputing the denominator at a much larger and at the observed prior share: the estimate lies 0.2–0.5% in total variation from that reference on the five Cellular Potts production runs and 0.26% on a one-dimensional Gaussian history. We bound the other two effects rather than measuring them. Because the two contributions to are bounded rather than measured, the empirical assessment remains partial. The limiting results additionally require to converge to a finite, strictly positive function (Table 5). The experiments use , so , and the floor is (Appendix § 16).
Which runs the limits describe. Our convergence results require the bandwidth used for posterior estimation to remain positive as the number of evaluations increases. A minimum bandwidth ensures this condition, though it does not itself guarantee that the reconstructed proposal mixture is accurate. The condition is for the reporting bandwidth in (6). The bandwidths used to construct proposals enter the proofs only through , on which Theorem 1 places no condition. We recommend setting the minimum to (min_tol, Appendix § 16). The floor acts only by clipping a bandwidth that would fall below it, so a run whose schedule stays above the floor follows exactly the path it would have followed with the floor set. That holds for every g-and-k and Cellular Potts run whose posterior we report, including a replayed sample of the g-and-k calibration trials: their final bandwidths lie more than ten times above (Table 5), so the limits describe these runs as they were executed. The Gaussian-mean and Lotka–Volterra benchmarks, inexpensive simulators that run for millions of evaluations, tighten to below and are not covered at that floor. These conditions do not imply that a finite simulation budget has reached the asymptotic regime. No reported run reached its floor, so each is still an estimate whose effective support is of the order of the archive size : the scheduler holds the bandwidth until evaluated particles lie inside it (§ 3.3), only particles carry appreciable kernel mass, and the effective-sample-size ceiling of § 6.4 follows from this. Once the floor is reached, the average weight converges to a positive constant and the effective sample size grows linearly in ; the limits describe that continuation, and the measurements above and the calibration checks of § 6.4 quantify the error at the budgets used.
Experimental Design
Benchmarks
We use separate benchmarks to assess posterior accuracy, synchronization overhead, and performance on a cell-based simulator. Table 1 lists the five configurations, with the number of inferred parameters and CV the coefficient of variation of the runtime. The one-dimensional Gaussian mean provides an analytic posterior, while the four-dimensional g-and-k model ([37]) has a reference posterior. Their short simulation times also make them useful for measuring per-arrival coordination overhead. The two studies with injected runtime heterogeneity run on the Gaussian mean: a persistently slow worker and a lognormal multiplier of spread applied to every evaluation’s runtime. Lotka–Volterra is a stochastic predator–prey simulator whose cost varies with the trajectory and whose parameters send 98% of simulations to extinction (Appendix § 17). It is used for strong-scaling measurements, which increase the worker count at a fixed problem size, and to locate the cost boundary: the per-simulation cost above which barrier removal saves more time than per-arrival coordination consumes. It is not scored for posterior quality.
| Benchmark | cost/sim | runtime spread | budget, workers | role | |
| Gaussian mean | 1 | 0.1 ms | injected: straggler 0–20×; lognormal | 300 s, 48 (16 in the straggler study) | calibration; barrier cost under a known runtime distribution; the near-instantaneous end of the cost boundary |
| g-and-k | 4 | 2 ms | none | 600 s, 48 | 4-D calibration and recovery against a reference posterior |
| Lotka–Volterra | 4 | 4 ms | trajectory-dependent; 98% extinct | 600 s, 48; scaling to 288 | strong scaling; the cost boundary |
| Cellular Potts | 2 | 13 s | CV 0.05 | 3600 s, 48; scaling to 384 | posterior recovery against a known truth; barrier cost on a real simulator |
| Cellular Potts | 2 | 170 s | CV 0.13–0.23 | 3600 s, 48 | barrier cost at realistic cost and heterogeneity |
Table 1. Benchmark suite. Cost is the mean wall-clock time of one simulation in the asynchronous runs (an evaluation on Cellular Potts is four replicate simulations); runtime spread is the in-run coefficient of variation of that time, or how it is injected. Budgets are per replicate; five replicates throughout except three at .
In the Cellular Potts benchmark, runtime variation comes from the model itself rather than from an imposed slowdown. How fast cells divide and how large they grow determine how many cells the lattice holds, and the cell count fixes both the summaries and the runtime (correlation 0.99 between runtime and cell count). We run the cellsInSilico implementation ([5]) of the three-dimensional Cellular Potts model ([19]) at two lattice sizes. We infer cell division rate and target cell volume using the final cell count and cluster radius as summary statistics. Each evaluation averages four simulations, since individual realizations are too noisy to reliably rank nearby parameter values. The simulations take seconds to minutes rather than the hours of a production study, and the observations are synthetic with a known truth, so the benchmark scores both the systems claims and posterior recovery. The 50 runs of the synchronized variant (next subsection) and of the scaling study used an earlier parameterization of the same simulator (division rate and cell motility; one simulation per evaluation); only its runtime distribution enters those results. Appendix § 18 gives the screening experiment that fixed the parameters and summaries, the prior ranges, and both configurations.
Baselines and instruments
We use three comparators to answer different questions. The synchronized variant isolates the cost of adding a barrier to our sampler, pyABC provides a practical baseline for overall performance, and rejection ABC tests the benefit of an adaptive proposal over prior sampling. For the practical baseline, we modify pyABC ([22] (Schä lte et al. 2022)) to use the same smooth-kernel acceptance rule and bandwidth schedule as the asynchronous sampler (Appendix § 16); it is the comparator for C2 and C3. With a population of 100 and 47 simulating workers (one process only dispatches), pyABC requires at least three rounds per generation. The last round is 13% full, so pyABC idles even on a homogeneous simulator. The scaling study gives it a population equal to the worker count to alleviate this issue. Our synchronized variant uses the same propagator (Propulate’s operator that maps the current history to the next candidate) but imposes a collective barrier before each proposal. It therefore differs in synchronization, not in its proposal-update mechanism. Histories are not truncated to generation boundaries, so each worker proposes from the history it has received at the barrier. Comparing against this synchronized variant lets us attribute differences in worker idle time to synchronization rather than to a different sampling algorithm, and it is the comparator for C1. Because a collective barrier needs identical call counts on every worker, the synchronized variant runs to a fixed simulation count and the asynchronous sampler to a fixed wall clock. We therefore compare them as rates. For the posterior comparison the asynchronous sampler is also re-run at exactly the synchronized variant’s simulation count and seeds. Rejection ABC draws candidates from the prior and retains the lowest-discrepancy samples. It receives the same simulation budget and uses all 48 workers, rather than one worker per replicate. It is the reference for the per-simulation gain of an adaptive proposal. All three run on the JUWELS cluster over the Message Passing Interface (MPI; Appendix § 17) and are samplers of the same estimator class.
Metrics
Tolerance at a matched budget. To compare samplers at the same simulation budget, we use the -th smallest discrepancy among a method’s first completed evaluations, denoted . It is the threshold at which the best draws would be accepted. It needs no reference posterior, it does not depend on the bandwidth schedule happened to report at, and it is what rejection ABC reports at by construction. The per-simulation efficiency of the asynchronous sampler over payABC is the ratio of their at the same , above one when the asynchronous tolerance is the tighter; the equal-wall-clock ratio compares their tolerances at the end of the same wall-clock budget and therefore also reflects differences in throughput. The slope of in shows whether more simulations keep converting into a tighter tolerance. We use throughout, over completed simulations only, ordered by completion time (Appendix § 17).
Throughput, utilization, and the predicted barrier cost. Throughput measures completed simulations per second of wall clock, whereas utilization measures the fraction of worker time spent inside the simulator. We use durations recorded during the asynchronous run to predict the throughput lost to synchronization and test this prediction against the synchronized variant (C1). Let be those per-evaluation durations (recorded simulation time plus the measured per-evaluation coordination overhead). A barrierized generation of evaluations takes , so the synchronous throughput is predicted as . The expectation is taken by resampling durations from the asynchronous record, or from the injected runtime distribution where the heterogeneity is injected. The predicted cost is with the measured asynchronous throughput, and it is compared with the ratio measured against the synchronized variant. For identically distributed, uncensored durations, , and the predicted synchronization penalty reduces to . With a persistently slow worker, or when a wall-clock budget censors the long durations, the two differ, and we use the general form. The prediction has a domain: the simulation time must dominate the latency of the collective barrier itself, which the model does not contain, and the timing sample must be long enough to cover the tail of the runtime distribution. Configurations outside this domain are marked as such in § 6.1.
Posterior quality. We assess calibration using simulation-based calibration (Talts et al., 2018). In each of 1000 trials, we draw a parameter from the prior and simulate a dataset at that value. We then check the empirical coverage of central posterior intervals at nominal levels 0.50, 0.80, 0.90, and 0.95. We also compute the rank of the true parameter among posterior draws; for a calibrated posterior, these ranks are uniformly distributed. The effective sample size (ESS) of a weighted posterior is . Where a reference posterior exists we report the Wasserstein distance between each method’s own posterior and that reference (in more than one dimension the sliced over random projections [6], on the parameters’ natural scale). The reference is the analytic posterior for the Gaussian mean; for g-and-k it is the posterior given the same octile summaries the discrepancy is built from, obtained from their asymptotic distribution (Appendix § 17). The asynchronous estimator is replayed over the prefix of the history completed by each checkpoint. pyABC is scored on its last completed generation, with pyABC’s population weights where the history was kept and uniform weights otherwise, and rejection ABC on its best draws. On Cellular Potts, whose truth is known but whose posterior is not, we report each parameter’s contraction in prior-normalized units, whether the central 90% interval covers the truth, and the ESS of the posterior weights.
Starting bandwidth. On an expensive simulator the bandwidth schedule may not move far from within the budget (§ 3.3), so is set before the run from the discrepancies of a few thousand prior-predictive draws, at about a fifth of their median. § 6.4 measures what a starting value far above that costs.
Results
Unless noted, results are medians over five replicates with the replicate range shown, asynchronous is the proposed sampler, pyABC the baseline with the same kernel and schedule, and synchronized variant our sampler with a collective barrier inserted (§ 5.2).
Predicting the cost of synchronization barriers (C1)
Predicted and measured synchronization costs. Figure 2 compares the runtime-based prediction with measured synchronization costs for every configuration on which we ran the synchronized variant: a persistently slow worker at five slowdowns, lognormal runtime heterogeneity at five spreads, and the Cellular Potts simulator at four worker counts and two lattice sizes. For each, the barrier’s cost as predicted from the asynchronous run’s timing alone (§ 5.3) is plotted against the cost measured with the synchronized variant. Over the twelve configurations inside the predictor’s domain the predicted-to-measured ratio runs from 0.84 to 1.19 with median 0.996, across measured costs from 1.2× to 400× (Table 9, Table 10 and Table 11 in Appendix § 19). The largest prediction errors are 16% and 19%, both at the widest runtime spreads. In these configurations, the synchronized variant completes only ten generations per replicate, while the 60 s budget censors the longest asynchronous evaluations. Three configurations lie outside the domain and are drawn open. The first two are the 0× and 1× slowdowns of the straggler study on the cost-free simulator, where the collective’s own latency, about 0.3 s per barrier, dominates a 4 ms workload. At 384 Cellular Potts workers, contention among the workers gives the asynchronous timing sample a tail of long durations that the synchronized variant’s generations did not show.

Figure 2. The barrier’s cost predicted from the asynchronous run’s timing alone (§ 5.3) against the cost measured with the synchronized variant, on every configuration the synchronized variant was run on: a persistent straggler at five slowdowns, lognormal runtime heterogeneity at five spreads, and Cellular Potts at (48–384 workers, earlier parameterization, utilization ratio) and (48 workers, against pyABC). Points show replicate medians and ranges. The dashed line indicates equal predicted and measured costs; open markers identify the three configurations outside the predictor’s domain.
| Straggler slowdown | 0× | 1× | 5× | 10× | 20× |
| Asynchronous, sims/s | 3888 | 3112 | 3241 | 3218 | 3205 |
| Synchronized variant, barrier every | 48.7 | 65.3 | 31.6 | 15.9 | 8.0 |
| Synchronized variant, barrier every 112 | 162.8 | 148.4 | 31.8 | 15.9 | 8.0 |
| Synchronized variant, predicted | (3870) | (154) | 31.8 | 15.9 | 7.98 |
| Ratio, measured (every ) | 80× | 48× | 103× | 202× | 402× |
| Ratio, predicted | — | — | 102× | 202× | 401× |
| Posterior recovery, to the analytic posterior, at the synchronized variant’s simulation count | |||||
| Evaluations (= calls per rank ×16) | 75,104 | 44,512 | 12,304 | 6,304 | 3,200 |
| Bandwidth reached, asynchronous | 0.003 | 0.006 | 0.16 | ||
| Bandwidth reached, synchronized variant every | 0.06 | 1.3 | 2.9 | ||
| of the same history | 0.002 | 0.003 | 0.008 | ||
| Asynchronous at that count | 0.011 | 0.009 | 0.010 | 0.010 | 0.068 |
| Synchronized variant, barrier every | 0.013 | 0.007 | 0.016 | 0.789 | 1.713 |
| Synchronized variant, barrier every 112 | 0.009 | 0.009 | 0.009 | 0.017 | 1.082 |
| Synchronized variant every , re-reported at | 0.015 | 0.010 | 0.010 | 0.010 | 0.010 |
Table 9. Synchronized variant on the straggler benchmark (, five replicates, medians). Throughput in simulations per second; predicted as in § 5.3, and at 0× and 1× the collective’s latency, absent from the model, dominates. Lower block: of each sampler’s posterior to the analytic posterior at the synchronized variant’s simulation count and seeds, at the bandwidth its schedule reached and, last row, re-reported at (§ 6.4).
| Heterogeneity | 0 | 0.5 | 1.0 | 1.5 | 2.0 |
| Asynchronous, sims/s | 47.6 | 42.1 | 28.9 | 17.6 | 11.4 |
| Synchronized variant, barrier every | 44.8 | 15.1 | 4.37 | 1.06 | 0.37 |
| Synchronized variant, barrier every 96 | 45.1 | 19.8 | 6.50 | 1.75 | 0.45 |
| pyABC | 23.1 | 18.9 | 9.91 | 4.35 | 2.39 |
| Ratio, measured (every ) | 1.06× | 2.8× | 6.6× | 16.6× | 29.6× |
| Ratio, predicted | 1.00× | 2.77× | 6.34× | 14.0× | 35.4× |
| Ratio, pyABC | 2.1× | 2.2× | 2.9× | 4.1× | 4.8× |
| Posterior recovery, to the analytic posterior (calls per rank: async 59–13, synchronized variant 440–10) | |||||
| Evaluations, async | 2832 | 2527 | 1731 | 1055 | 684 |
| Evaluations, synchronized variant | 21,120 | 6,912 | 2,112 | 672 | 480 |
| Bandwidth reached, async | 5 | 5 | 0.92 | 1.25 | 0.78 |
| Bandwidth reached, synchronized variant every | 0.36 | 2.4 | 5 | 5 | 5 |
| Async, at the schedule’s bandwidth | 2.12 | 2.04 | 0.68 | 0.93 | 0.56 |
| Synchronized variant every , at the schedule’s bandwidth | 0.19 | 1.43 | 2.20 | 2.22 | 2.28 |
| pyABC, last generation | 0.53 | 0.61 | 1.36 | 2.19 | 2.21 |
| Async, re-reported at | 0.011 | 0.011 | 0.010 | 0.013 | 0.042 |
| Synchronized variant every , re-reported at | 0.015 | 0.013 | 0.012 | 0.040 | 0.203 |
| Async archive (top 100) | 0.018 | 0.017 | 0.016 | 0.014 | 0.019 |
Table 10. Synchronized variant under runtime heterogeneity (, lognormal runtime multiplier of scale , five replicates, medians of simulations per second of each sampler’s own elapsed wall clock). Predicted is from the injected runtime distribution and the asynchronous run’s measured overhead. The control costs almost nothing because these evaluations take 1 s and barrier latency is negligible against them; the cost is the wait for the slowest draw and grows with . pyABC degrades less than the synchronized variant because it discards latecomers instead of waiting for them. The lower block scores the posteriors against the analytic posterior at the bandwidth each schedule reached, then re-reported at the 100th order statistic of the same history (§ 6.4); no rank made calls in the asynchronous run, so its schedule never ran at , and the synchronized variant’s ran only at .
| Workers (= cores) | 48 | 96 | 192 | 384 |
| Throughput ratio, async / synchronized variant | 1.91× | 1.87× | 1.86× | 2.82× |
| = utilization ratio | 1.18× | 1.19× | 1.21× | 1.21× |
| × simulation-duration ratio | 1.63× | 1.59× | 1.52× | 2.33× |
| Straggler factor of the synchronized variant’s generations | 1.21 | 1.28 | 1.21 | 1.29 |
| Predicted from asynchronous timing | 1.26× | 1.30× | 1.32× | (2.34×) |
Table 11. The synchronized variant’s slowdown on Cellular Potts (earlier parameterization, Appendix § 18), factorized (five replicates, medians). Throughput is utilization over mean simulation time, so the ratio is the product of the two columns that follow. The utilization ratio is what the barrier costs; it agrees with the expected-maximum-to-mean runtime ratio measured within the synchronized variant’s generations and with the prediction from the asynchronous run’s runtime distribution. The duration ratio (the synchronized variant’s simulations running longer, with replicate means from 6 to 36 s against 5.1 s on every asynchronous replicate) is not a barrier effect and is not attributed here.
Separating synchronization overhead from other effects. On Cellular Potts at 50 the synchronized variant’s throughput was 1.9–2.8× below the asynchronous sampler’s, but only part of that is the barrier. Since we cannot attribute the synchronized variant’s longer simulation times to the barrier, we compare worker utilization to isolate the synchronization penalty. The resulting 1.2× ratio agrees with the prediction at every worker count (Table 11). The barrier’s cost on this workload is therefore 1.2×, as its runtime spread predicts, and it rises with the lattice: at , where an evaluation costs 170 s and the runtime coefficient of variation is 0.23, the predicted cost is 1.9× and the gap measured against pyABC 2.1×. The same comparison against pyABC at gives 2.3–2.4×, of which only 1.2× is the barrier. The rest is pyABC’s fixed per-generation overhead, a large fraction of a 13 s evaluation and negligible against a 170 s one. The asynchronous sampler itself scales almost linearly on this workload, at 97% parallel efficiency (throughput relative to perfect linear scaling) from one to eight nodes (Figure 3, right).

Figure 3. Strong scaling at a fixed wall-clock budget against pyABC with population . Left: Lotka–Volterra (4 ms; 180 s; medians and inter-quartile ranges over five replicates). Right: Cellular Potts 50 (earlier parameterization, 5.1 s; 1800 s; log–log), with linear scaling dotted.
Against pyABC. The same experiments score pyABC (Figure 8, Appendix § 19). Under the persistent straggler its throughput falls more than a hundredfold while the asynchronous sampler’s falls by less than half, because every generation waits for the slow worker. Under runtime heterogeneity its workers idle 51–79% of their time against 1–27% for ours, and its throughput is 2.1–4.8× below ours. That is less than the synchronized variant loses, because pyABC closes a generation on the first 100 finishers and discards the late results of simulations it has already run, so the comparison a practitioner faces understates the barrier’s full cost. On Cellular Potts pyABC runs at 43–49% utilization against 98–99.8%, and the asynchronous sampler completes 2.1–2.4× its simulations in the same budget.

Figure 8. pyABC against the asynchronous sampler under injected runtime heterogeneity on the Gaussian mean (§ 6.1). (a) Throughput under a persistent straggler: one of 16 workers carries a permanent post-evaluation delay of 0.1 s scaled by the factor (300 s; medians and inter-quartile ranges over five replicates; logarithmic axis). (b) Fraction of worker time spent idle under a lognormal runtime multiplier of spread (48 workers, 60 s).
Throughput converts into a tighter tolerance (C2)
We first examine whether the additional simulations reduce the empirical tolerance. Table 2 reports for each benchmark (curves in Figure 9, Appendix § 19). At pyABC’s own simulation count the asynchronous sampler is the more efficient per simulation on three of the four benchmarks; the one on which it is worse is the one-dimensional analytic target. These two comparisons address different questions: how well a method uses each simulation and how far it progresses within a fixed time. At equal wall clock, the asynchronous sampler reaches a tighter tolerance on Lotka–Volterra and a 4.1× tighter tolerance on Cellular Potts. On the two benchmarks with near-instantaneous simulators, the asynchronous and pyABC tolerance curves have similar slopes, suggesting an approximately constant per-simulation efficiency ratio. On Cellular Potts, both adaptive methods reduce tolerance faster than the trend of rejection ABC in this noise-dominated regime. Their advantage therefore increases with the simulation budget.
| Benchmark | cost/sim | sims (async / sync) | throughput | per-simulation | equal wall clock |
| Gaussian mean | 0.1 ms | 1.31M / 4.61M | 0.28× | 0.78× (0.77–1.12) | 0.24× (0.21–0.28) |
| g-and-k | 2 ms | 1.75M / 3.81M | 0.46× | 1.06× (1.02–1.15) | 0.88× (0.85–0.92) |
| Lotka–Volterra | 4 ms | 1.51M / 1.56M | 0.96× | 1.30× (1.08–1.51) | 1.30× (1.02–1.43) |
| Cellular Potts | 13 s | 12,900 / 5,400 | 2.39× | 1.6× (1.14–1.94) | 4.09× (3.1–6.6) |
Table 2. Tolerance at a matched budget on every benchmark ( order statistic of each method’s own discrepancies; five replicates; medians, with the replicate range of each ratio in parentheses; completed simulations only). Per-simulation: of pyABC over the asynchronous sampler at pyABC’s own simulation count; equal wall clock: the same ratio at the end of both runs. Bold marks the larger simulation count.

Figure 9. Tolerance against simulations spent, , asynchronous against pyABC on every benchmark (medians and replicate range over five replicates; the slope over the last decade of in the legend). The vertical gap at equal is the per-simulation efficiency, the horizontal extent is the extra simulations the wall clock allowed. On Lotka–Volterra 98% of simulations return the extinction fallback, so sits on that plateau until about 5000 draws have produced 100 survivors; the plateau is cut off.
Cellular Potts, fixed production run. Table 4 reports the production run, where both higher throughput and greater per-simulation efficiency contribute to the tighter tolerance at equal wall clock. In the same hour the asynchronous sampler completes 2.4× the simulations of pyABC, of which §6.1 attributes 1.2× to the barrier at this lattice size and most of the rest to pyABC’s per-generation overhead. It is 1.6× more efficient per simulation, read at pyABC’s count of 5,400 where pyABC’s curve is the steeper (Figure 9d), and ends 4.1× tighter at equal wall clock. A rejection sampler given the same budget and the whole machine ends 39× looser. At 80 the asynchronous sampler completes 2.1× the simulations and is 2.1× more efficient per simulation.
| sims | util. | , end | division rate | cell volume | ESS | |
| Asynchronous, | 13,300 | 99.8% | 645 | |||
| Asynchronous, | 12,900 | 99.8% | 303 | |||
| pyABC, | 5,400 | 42.8% | 66 | |||
| Rejection ABC, best 100 of 13,000 | 13,000 | — | 100 |
Table 4. Cellular Potts , five replicates per adaptive method and one rejection run, 3600 s on 48 workers (means standard deviation for contraction, medians otherwise). The first row is the asynchronous sampler at the benchmark’s original starting bandwidth (10, twenty times the prior-predictive median discrepancy), the rest at the production value (0.1). Rejection ABC is one run of 13,000 prior draws on all 48 workers, keeping the best 100. Contraction is ; the truth lies inside the central 90% interval of every run. Bold marks the best value per column.
Where the net advantage becomes positive (C3)
Each arrival incurs a roughly fixed coordination cost: rebuilding the proposal, weighting the arrival against the kept snapshots, and exchanging it with every other worker. This cost becomes less important as the simulation cost increases. Figure 4 plots the throughput and per-simulation ratios of Table 2 against the cost of one simulation. Both ratios increase with simulation cost. Across benchmarks, throughput improves relative to pyABC as the fixed per-arrival overhead becomes smaller compared with simulation time. Changes in per-simulation efficiency are harder to compare, because the inference problems differ in dimension, summaries, and noise. We therefore base the boundary on throughput: parity is reached at about 4 ms per simulation, and the net advantage at equal wall clock turns positive between 2 and 4 ms. This is an empirical crossover for our worker placement and time budget, not a universal threshold. The benchmarks with inexpensive simulators ran 48 workers spread over four nodes (Appendix § 17), so every arrival crosses the network. On one packed node, the same Lotka–Volterra configuration gives a throughput ratio of 2.1 instead of 0.96 (Table 12). Below the boundary, the asynchronous sampler’s coordination costs exceed the time saved by removing the barrier: on the 0.1 ms Gaussian mean pyABC completes 3.5× more simulations and ends with a 4× tighter tolerance at equal wall clock.

Figure 4. Throughput ratio and per-simulation efficiency of the asynchronous sampler over pyABC against the cost of one simulation, one point per benchmark (Table 2).
| Workers | 1 | 4 | 16 | 48 | 144 | 192 | 240 | 288 | |
| Nodes | <1 | <1 | <1 | 1 | 3 | 4 | 5 | 6 | |
| Synchronous | 105 | 96 | 437 | 2952 | 3757 | 4322 | 4539 | 6034 | |
| Asynchronous () | 149 | 369 | 1983 | 6240 | 4195 | 2615 | 2088 | 1729 | |
| Asynchronous () | 106 | 133 | 620 | 3804 | 2804 | 1957 | 1587 | 1336 |
Table 12. Strong scaling on Lotka–Volterra: median simulation throughput (sims/s) at a 180 s budget, over five replicates (Figure 3, left, shows the inter-quartile spread). Asynchronous (ours) at both archive sizes vs. pyABC. Multi-node points use fully packed nodes (worker counts that are exact multiples of 48); at counts above 100 pyABC is given population size equal to the worker count so it can occupy every core (a population of 100 leaves the surplus idle), which is why it keeps scaling here. The asynchronous sampler peaks on one node and then declines as multi-node coordination dominates, so pyABC overtakes it beyond three nodes at . Enlarging the archive tenfold costs throughput at every scale, because the per-arrival proposal reconstruction is , and moves that crossover in from beyond three nodes to three.
When evaluations are low-cost, coordination also limits scaling to larger worker counts. On Lotka–Volterra the exchange of every arrival with every worker grows with the worker count, so a worker is inside the simulator 25% of its time at 48 workers and 2% at six nodes; throughput peaks on one node, and pyABC with a population equal to the worker count overtakes beyond three nodes (Figure 3, left). At 13 s per evaluation the same coordination is negligible, and the method tracks linear scaling to eight nodes (Figure 3, right).
The posterior: calibration, recovery, and what limits it (C4)
Calibration. Table 3 reports simulation-based calibration of the full-history estimator (1000 trials, matched simulation budget), showing near-nominal coverage for the one-dimensional Gaussian and bimodal targets but conservative coverage for two parameters of the four-dimensional g-and-k model. On the one-dimensional Gaussian mean it tracks the nominal coverage at every level, while pyABC under-covers at every level (its nominal 0.90 interval covers 0.75); the difference exceeds the Monte Carlo error of ±0.01. On a bimodal target (), the case a top- archive is most at risk of collapsing onto one mode) the archive retains both modes in 86% of trials and coverage is nominal. On the four-dimensional g-and-k model the estimator is conservative on and and near nominal on and , with ’s rank histogram the only uniform one at the 1% level. pyABC is near nominal on and and under-covers and , with no uniform rank histogram. The top- archive under-covers (0.85/0.89 at nominal levels 0.90/0.95), whereas the full-history estimator over-covers. Coverage increases monotonically through nominal as the reporting support grows from the archive to the full history, pointing to reporting-support size rather than importance weighting as the main source of miscalibration. Doubling the simulation budget leaves the coverage unchanged. A sweep over the archive size and the number of kept snapshots on a -dimensional Gaussian target (Appendix § 19) finds a miscalibrated region at , . The same sweep of the archive sizes indicates is the best calibrated.
| Target | Method | 0.50 | 0.80 | 0.90 | 0.95 |
| Gaussian mean (1-D) | asynchronous | 0.51 | 0.80 | 0.90 | 0.94 |
| pyABC | 0.35 | 0.63 | 0.75 | 0.83 | |
| Bimodal (1-D) | asynchronous | 0.50 | 0.82 | 0.91 | 0.96 |
| pyABC | 0.45 | 0.82 | 0.90 | 0.95 | |
| g-and-k (4-D), | asynchronous, full history | 0.62 | 0.91 | 0.96 | 0.99 |
| pyABC | 0.54 | 0.82 | 0.91 | 0.95 | |
| g-and-k (4-D), | asynchronous, full history | 0.54 | 0.83 | 0.91 | 0.96 |
| pyABC | 0.45 | 0.74 | 0.85 | 0.90 | |
| g-and-k (4-D), | asynchronous, full history | 0.58 | 0.88 | 0.95 | 0.98 |
| pyABC | 0.51 | 0.82 | 0.91 | 0.95 | |
| g-and-k (4-D), | asynchronous, full history | 0.56 | 0.83 | 0.92 | 0.96 |
| pyABC | 0.47 | 0.74 | 0.86 | 0.92 | |
| g-and-k (4-D), | asynchronous, top- archive | — | — | 0.85 | 0.89 |
Table 3. Simulation-based calibration of the posterior estimate (1000 trials; empirical coverage of central intervals at the nominal levels; Monte Carlo standard error ±0.007–0.016). Nominal is best, and bold marks the method closer to it.
Recovery against a reference posterior. Figure 5 compares the estimated posteriors with available references at successive wall-clock checkpoints. On the Gaussian mean, the asynchronous estimator is closer to the analytic posterior than pyABC’s final population at every checkpoint. A rejection sampler given the same simulation budget is as close. With this many draws, simple rejection sampling already performs well in one dimension. On the four-dimensional g-and-k, pyABC is closer to the reference posterior: it ends at and the asynchronous estimator at 0.069, with rejection far behind at 0.47. The effective sample sizes explain the difference: on the Gaussian run, the posterior effective sample size stays at 238–296 at every checkpoint while the history grows from to particles. A controlled sweep puts ESS/ between 1.9 and 3.6 for . The estimate is reported at the tightest bandwidth reached, which the scheduler sets by requiring that the archive’s ESS retain a set fraction of its value (§ 3.3). Consequently, only a relatively small number of particles contribute substantial weight to the posterior estimate, even after millions of evaluations. The effective support remains on the order of a few multiples of . In one dimension that support is small and stable; in four it is small and erratic (7 to 2987 across checkpoints and replicates), and accuracy follows it. The low and variable effective sample size suggests intermittent weight degeneracy; these results do not establish a systematic bias. The limitation appears once the target is identified well enough for the bandwidth to tighten.

Figure 5. Each method’s own posterior (§ 5.3) scored against the analytic posterior (a) and the g-and-k reference posterior (b) over wall-clock prefixes. The upper panels show median and interquartile ranges over five replicates. The lower panels show posterior effective sample size; dotted lines indicate the number of evaluated particles.
A known truth on the real simulator. On the two-parameter Cellular Potts setup (one synthetic dataset with a known truth), all three methods recover the truth (Figure 6, Table 4). The division rate is well identified by every method (91–92% contraction against the prior). For cell volume, contraction is 81% ± 1% for the asynchronous estimator, 72% ± 4% for pyABC’s last generation with its population weights, and 67% for the best 100 rejection draws. The truth lies inside the central 90% interval of every run (five per adaptive method, one rejection run). The asynchronous estimator is the tightest and has the largest effective sample (303 against pyABC’s 66 of 100, medians).

Figure 6. Cellular Potts posterior (division rate, cell volume) on the fixed production run, replicate 0: the asynchronous AMIS estimator over the full history, pyABC’s last completed generation with its population weights, and the 100 best rejection draws, each drawn as a weighted kernel density estimate of the method’s own particles (effective sample sizes in the legend) (Table 4). Axes are the log-uniform prior coordinates ticked in physical units; the joint panel outlines each method’s 90% highest-density region, and dashed lines mark the truth.
The starting bandwidth. With expensive simulations, the bandwidth may remain close to its initial value throughout the available budget, leaving the reported posterior sensitive to even after the sampled parameters have concentrated near the observations. The first row of Table 4 is the same sampler started at the benchmark’s original , twenty times the prior-predictive median discrepancy of 0.46. It reports 13% 14% contraction on the cell volume, erratic as well as poor, although its draws are as concentrated as the production run’s (the end tolerances agree within 20%). The runs differ in the bandwidth used for reporting. After the run’s 62 calls per worker, the schedule had not moved from , which ended 321 above the tolerance the draws supported, against 2 at . The bandwidth transient is negligible when millions of evaluations are available, explaining why it was not observed in the inexpensive benchmarks. It remains a limitation in the regime the method is designed for. The rule of §5.3, about a fifth of the prior-predictive median, recovers the posterior. Re-reporting a stored history at the -th order statistic of its own discrepancies costs no simulations and reaches a comparable posterior (93%/85% contraction on replicate 0). The synchronized variant shows the same transient on the straggler benchmark, whose Gaussian-mean simulator is near-instantaneous (Appendix F.2).
The archive size. The effective sample size stays near a few multiples of . Increasing does not necessarily solve this limitation: When we recompute the posterior from the same stored history using order-statistic bandwidths as increases from 10 to 1000, the bandwidth increases and cell-volume contraction falls from 85% to 78%. Running with leaves the schedule at for the whole hour. On the benchmarks with inexpensive simulators, is Pareto-optimal for throughput and calibration (Appendix F). The archive size is a benchmark-dependent choice, made by checking calibration and the bandwidth reached.
Discussion
On the tissue simulator, the asynchronous sampler completes more evaluations per hour and reaches a tighter tolerance than the matched pyABC baseline, while also achieving greater contraction of the weakly identified parameter and a larger posterior effective sample size (Table 4). On the one-dimensional Gaussian target, our sampler is calibrated where pyABC under-covers. On the four-dimensional g-and-k benchmark, however, pyABC achieves a smaller Wasserstein distance to the reference posterior. Asynchronous execution is also less effective when evaluations are very low-cost. Together, these measurements suggest four practical guidelines for the workloads and implementation settings examined here.
Consider asynchronous sampling when evaluations take at least a few milliseconds. Below that the per-arrival coordination costs more than a barrier does, and a generation-based sampler with a population sized to the machine is the better tool. Above it, removing the barrier recovers a cost that grows with the worker count and with the spread of simulation times (§ 6.3).
Estimate the synchronization cost from runtime measurements. The barrier’s cost is computable from the asynchronous run’s own per-evaluation timing, within the domain stated in § 5.3 (§ 6.1).
Set the starting bandwidth from the prior-predictive discrepancy scale. For expensive simulations, the initial bandwidth may remain too large throughout the run. We therefore recommend setting it from prior-predictive discrepancies and checking the reported posterior by recomputing it from the completed evaluations at their -th smallest discrepancy (§ 6.4). A floor at satisfies the positive-bandwidth condition in § 4 and would not bind on the reported g-and-k and Cellular Potts runs.
Choose the archive size with calibration in mind. Enlarging the archive loosens the final bandwidth and lengthens the transient, and the calibration checks are inexpensive to repeat (§ 6.4).
Increasing the number of completed simulations does not automatically increase the effective sample size of the posterior estimate. In our experiments, that size stays within a few multiples of the archive size even as the history grows. The reporting rule contributes to this limit: for simplicity, the posterior is evaluated at the tightest bandwidth reached by the scheduler, so only a restricted part of the history receives appreciable weight. Adjusting the posterior reporting bandwidth independently of the sampling schedule may improve accuracy without modifying asynchronous execution.
Limitations
The consistency results have two important qualifications. First, the estimator converges to the intended smooth-ABC posterior when the fidelity ratio approaches one, under the stated assumptions. Of the four factors contributing to this ratio, two are measured and two bounded. Second, the asymptotic statements apply only when the reporting bandwidth remains bounded away from zero. A floor of guarantees this. It would have clipped the Gaussian-mean and Lotka–Volterra runs but none of the g-and-k and Cellular Potts runs. Even where the limits apply, they describe the run’s continuation, since no reported run reached its floor (§ 4). At a fixed deadline, fast simulations are more likely to have finished than slow ones. The completed evaluations may therefore over-represent parameter regions with short runtimes, an instance of length bias in deadline-limited sampling ([32]). Under the execution model, the direct effect of evaluations still running at the deadline is limited to at most candidates, an perturbation (Proposition 9); the remaining effect operates through the adaptive proposal sequence and is covered by the fidelity ratio . A runtime-coupled study found no measurable shift of the posterior mean at the couplings tested, and we do not correct for the term (Appendix § 19).
Conclusion
Generation-based ABC can leave workers idle while slow simulations finish. We quantify this synchronization penalty using simulation times recorded during an asynchronous run and validate the prediction against a synchronized variant on synthetic runtime distributions and a tissue simulator. The generation-free sampler removes the barrier and, wherever a simulation costs more than a few milliseconds, converts the simulations it gains into a tighter tolerance. The full-history posterior estimator can be reconstructed from the simulation log. Our analysis characterizes its potential deviation from the smooth-ABC posterior through a fidelity ratio that is only partly measured. The estimator is well calibrated in the one-dimensional tests but conservative for some parameters of the four-dimensional benchmark. What it delivers is bounded by the starting bandwidth and the archive size, and § 7 says how to set them.
Broader Impact Statement
This work is methodology for likelihood-free inference on parallel machines. Its direct effect is on compute: it removes the idle time a generation barrier imposes on heterogeneous simulator workloads, and the prediction of § 6.1 lets a practitioner estimate that saving from their own timing data before spending an allocation. The method does not introduce an application-specific risk beyond those associated with the models and inferences to which it is applied.
Reproducibility
The code is available at https://github.com/ju-he/async-abc. It contains the implementation (the asynchronous sampler as a Propulate propagator, the matched-kernel pyABC baseline, the benchmarks and runners), every run configuration, the cluster launchers and the test suite, together with the summary data behind every figure and table, the scripts that regenerate each, and the committed output of every diagnostic quoted in the text, so every figure, table and quoted number can be regenerated from the repository alone. The raw per-particle records ( GB for the Gaussian-mean experiment alone) and the per-worker timing logs will be released publicly upon publication.
Declaration of AI Assistance
We used AI-based tools (Claude Opus and GPT Astra) to improve the clarity, grammar, and structure of the manuscript. Additionally, Claude Fable and GPT Astra were used to assist in checking mathematical derivations and proofs for correctness and consistency. All AI-assisted suggestions were reviewed by the authors, who take full responsibility for the scientific content, mathematical arguments, and conclusions presented in this work.
Acknowledgments
The authors gratefully acknowledge the Gauss Centre for Supercomputing e.V. (https://www.gauss-centre.eu) for funding this project by providing compute time through the John von Neumann Institute for Computing on the GCS Supercomputer JUWELS at Forschungszentrum Jülich under the grant TissueTwin. A.S. and J.H. recognize support by the Helmholtz Information and Data Science School for Health. M.G., A.S. and J.H. recognize support by the Helmholtz Association’s Initiative and Networking Fund under the Helmholtz AI platform grant and the grant ZebraTwin. A.S. recognizes support by the Helmholtz Foundation Model Initiative of the Helmholtz Association under the grants PROFOUND and VirtualCell. The funders had no role in study design, data collection, analysis, decision to publish or preparation of the manuscript.
The fidelity ratio
This appendix relates the analysis to existing AMIS theory, bounds how far the tilt by can move the target, and decomposes and measures part of it on stored runs.
Relation to existing AMIS theory. For a fixed proposal, the -tilted limit of Corollary 2 is the elementary observation that self-normalized importance sampling against a mismatched denominator converges to a correspondingly tilted target. The present scheme, however, is adaptive at every draw, so the argument runs through a martingale array rather than an i.i.d. one. The available AMIS results do not cover it: the convergence argument of Cornuet et al. [10] is heuristic, and Marin et al. [30] restrict the adaptation so that the weighting stage decouples. The prior floor in the denominator bounds every weight by with no moment or density-ratio condition. This lets the method use a local archive proposal at all: a proposal built around the best particles puts far less mass in the tails than the prior, so the usual bound on the prior-to-proposal density ratio does not hold.
Proposition 4 (how far the tilt can move the target). Let . Then
If on a set and off it, then , and the bound holds with in place of whenever .
The identity says that the tilt moves the target through the variation of over posterior mass, not through its distance from one: for every constant . The bound replaces the centered absolute moment by the uncentered and the divisor by , and is loose by exactly that much. Estimating from a stored run requires un-tilting: the hand-normalized weights target , not , so estimates ; weights proportional to target and give .
What is for this implementation
We decompose by inserting intermediate mixtures between the density actually sampled from and the function used in the denominator, changing one implementation feature at a time. Let use the nominal archive proposals: the truncated mixtures the propagator intends, with exact normalizing constants and without the rejection cap or the underflow redraws, two implementation details described under (d) below. We obtain by replacing those constants with the implementation’s product-of-marginals values, and by taking the -point draw-proportional version of carrying the observed share of bootstrap (prior) draws. Assume each of the four displayed ratios has a uniform limit, finite and bounded away from zero. Fidelity alone does not give this, since (9) constrains only their product. Writing for the -snapshot denominator (7),
The product telescopes for any positive intermediates, so the content is in the choice of intermediates: a different insertion order attributes the total differently, and the factors are a decomposition of one quantity rather than four independent errors.
(a) The prior floor. When genuine bootstrap draws carry less than a share of the history, and the denominator holds more prior mass than the sample does. With the limiting proposal-to-prior ratio, this contributes , so : is exactly 1 when , below 1 wherever the proposal is thinner than the prior, and as , i.e. as grows. This is the one contribution available in closed form (Lemma 10).
(b) The snapshot quadrature. The -point mixture stands in for the -point one, with error at most where is the total variation of the reconstructed proposal path (the summed size of its steps); this controls factor (b), not the fidelity of the whole. Fixing therefore trades cost against fidelity; see the remark below.
(c) The truncation constant. Each mixture component is normalized by the product of its per-axis in-box masses, which is exact for a diagonal perturbation covariance and increasingly accurate as a component’s mass sits away from the faces of the box relative to its own scale, but an approximation otherwise.
(d) Capped rejection, underflow redraws, and (asynchronously) the arrival-order reconstruction. A parent’s perturbation is rejection-sampled into the box for at most attempts, so component , with mixture weight and in-box mass , is realized with probability and the residual is emitted as a prior draw. A candidate whose proposal-time denominator falls below is redrawn up to five times, the last one being emitted regardless. The cap changes the distribution relative to unlimited rejection whenever , through the residual probability ; is the scale below which that residual becomes appreciable, not a threshold above which it vanishes. Under asynchronous execution, this factor additionally includes the difference between the proposal each candidate came from, formed on the prefix its worker held, and the snapshots the post-hoc pass rebuilds from an arrival-ordered log. By Lemma 5 the emitted density is the conditional distribution of the candidate, so no further gap arises at that step, and each rebuilt snapshot differs from the proposal in force at that index by at most the candidates in flight at the time.
Measured, in part. Two of the four factors, the prior floor and the snapshot quadrature, can be estimated rather than bounded, because is a post-hoc pass: recomputing (7) at a much larger and at the observed prior share gives a reference against which those factors are evaluated at every particle. The truncation constant and factor (d) are bounded rather than measured. The five Cellular Potts production replicates (Appendix § 18) have about 12,900 asynchronous evaluations each across 48 workers and two correlated dimensions, so that factor (c), exact only for a diagonal covariance, differs from one. Both measured factors, (a) and (b), differ from one: the bootstrap draws make up 1.1% of each history against a floor of , so (a) contributes and (b) 0.024–0.028, together 0.035–0.039 with . The posterior estimate lies 0.2–0.5% in total variation from the reference at and the observed prior share. Posterior means agree within 0.012 standard deviations and marginal widths within 1%, narrower in nine of the ten marginals, which is the tail-suppressing direction that (a) predicts; the effective sample size is unchanged. On a one-dimensional Gaussian-mean history, where the exact -point mixture is computable, contributions (a) and (b) together give ; the total-variation distance from the reference that removes them is 0.26%, and there too the estimate is 0.5% narrower. Of contribution (d), the two events a stored history records, a rejection fallback and an exhausted redraw, occurred neither in the 12,000 draws of that history nor in the 63,699 archive-phase draws of the five Cellular Potts replicates. The bound in (13) is loose against both direct measurements by an order of magnitude (3.6–4.0% against 0.2–0.5% on Cellular Potts, 4.4% against 0.26% on the one-dimensional history), as sup-norm-free bounds valid for every generally are. The identity in (13) says what the direct measurements estimate: the centered absolute moment of the removed factors under the reference, divided by twice their mean.
Does the proposal path settle? Factor (b) is controlled by the total variation of the reconstructed proposal path, which a stored history makes measurable. Rebuilding along the five Cellular Potts production replicates, the per-step drift decays as to . The archive’s membership changes only 825–874 times in about 12,900 draws, tracking at a ratio between 0.54 and 0.92 across the whole run, the rate a record-statistics heuristic predicts, since the -th best of draws improves with probability . Membership changes alone would thus add to the path’s total variation if each moves the proposal by a bounded amount; the measured drift, which also includes the bandwidth updates, sums to between and . Either way grows sublinearly, the regime in which a snapshot count growing faster than removes factor (b) (Remark 2). The measurement spans one benchmark over 1.3 decades of per replicate, so it is a diagnostic rather than an asymptotic statement.
Fixed versus growing . With fixed, the -point mixture tracks the -point one only if the proposal path settles, the error being . Letting with removes this contribution to (it does not give , since the other three factors remain), and the proof goes through for any provided the floor is held fixed rather than tied to . The implementation ties them through , so growing there would send and lose the uniform weight bound of Lemma 6, which fixes the constants in the law of large numbers. The post-hoc pass can decouple the two (Appendix § 15, Remark 2). The retroactive pass then costs instead of , and the literal cumulative mixture is the endpoint at . On the Gaussian-mean history the posterior estimate is within in total variation of the exact -point mixture by , so a more expensive post-hoc pass removes factor (b) almost entirely. The paper reports the end; § 3.5 gives its cost.
Proofs
Setting
We work with a filtration for which, writing , the pair is -measurable and
Particles are indexed by proposal time, not arrival time. Under sequential execution serves and (14) holds by construction. Under asynchronous execution a discrepancy may still be in flight when candidate is proposed, so the -field of everything realized by that moment does not contain , and a larger filtration is needed. A two-worker example shows the difficulty. Worker A proposes candidate 1, whose simulation is slow. Worker B proposes candidate 2, receives its result, and proposes candidate 3 while candidate 1 is still running. When candidate 3 is proposed, has not been realized. Conditioning on instead does not recover the density worker B emitted either: B built it from alone, and which results had reached B depends on the durations of the two simulations, which do not record. The following lemma supplies a filtration from the execution model that adds the durations, the worker identities and the delivery randomness, and under which the emitted density is the conditional distribution of the candidate.
Lemma 5 (adapted filtration under the execution model). Let Assumption 4 hold, let be the worker that proposes candidate (in this lemma and its proof is a worker index, not the parent weight of the history) and the duration of its simulation, and let , where is the -field of the exogenous scheduling randomness of (B3). Then is -measurable and (14) holds with the proposal density that worker emits on the prefix of the history it has received. Moreover, for every the arrival-ordered prefix of length and the proposal-ordered prefix differ in at most candidates each.
Proof. Candidate is proposed when a worker becomes free, so its proposal time is the completion time of an earlier candidate of the same worker (or a start time, for the first candidates). By (B3) and induction on , the time , the worker and the set of candidates whose results have reached by are functions of and of . They are therefore -measurable. The emitted density is a function of the history restricted to , so it is -measurable too. By (B2), is drawn from with randomness independent of , so the conditional distribution of given is : the first part of (14), with . By (B1) and (B3), given is independent of and of , which generate ; hence . For the last claim, let be the set of candidates proposed before the -th arrival and the set of the first arrivals. Then , since , and is the set in flight at that moment, of size at most ; so has at most elements, and has the same number. □
Completion times steer which worker proposes next and which prefix it sees. The lemma says that this steering changes which proposal density is used, a predictable choice, and not the distribution of the candidate given that density, which is fixed by fresh randomness. The post-hoc estimator consumes the arrival-ordered log of one rank (one MPI process; here every worker is a rank) and reconstructs the s from its prefixes. By the last clause of the lemma, each reconstructed snapshot differs from the proposal in force at that index by a boundary of at most particles. This boundary is the asynchrony contribution to (§A.1(d)). The lemma fails if simulator outputs are coupled across calls (a shared seed, say) or if the sampler’s stream is correlated with runtimes; both are checkable implementation properties, and Table 5 records them for ours.
No structural form is imposed on : it is whatever the archive rule, the capped rejection, the underflow redraws and the bootstrap phase jointly produce, and it enters the proofs only through of (8), for which the denominator of (7) is an -component stand-in. Let be the set of positive functions of the form (7) whose denominator satisfies Assumption 2; nothing below requires an element of to integrate to one. Elements of are parameterized by ranging over a compact set , , the last coordinate being the prior share of (7), on which depends affinely.
Lemma 6 (bounded weights). Under Assumptions 2–3, for all and all , surely, whatever the sampler does.
Proof. All components of (7) are non-negative, so pointwise on . Hence , the last step by (Assumption 1). The prior cancels exactly, so the bound needs neither a density-ratio condition nor a moment condition. □
Lemma 7 (uniform strong law of large numbers for bounded martingale differences). Let be compact and measurable functions on a measurable space with and for every . Let be -valued with -measurable. Then
Proof. Fix . The variables form a martingale difference sequence with , so by the Azuma–Hoeffding inequality for every . Fix and let be a finite -net of , of cardinality at most . A union bound gives , which is summable in (the net is fixed, so its cardinality does not grow with ); by Borel–Cantelli, a.s. For arbitrary pick with ; then by the Lipschitz hypothesis (which also bounds the conditional expectations), so a.s. Intersecting the almost-sure events over the countable family , with (here is an integer index, not the fidelity ratio), gives the claim.
Lemma 8 (conditional-mean identity). Let \phi:\Theta\to\mathbb{R}\) *be bounded measurable, and let the bandwidth*\epsilon\in(0,\epsilon_0]$ and the positive function each be either deterministic or -measurable. Then under (14),
Proof. Condition on , given which and are constants, and integrate first over , which gives the factor , then over . Fubini applies because the integrand is bounded by . An -measurable , such as the run’s final denominator , is not admissible here; the proof below handles it through uniformity instead. The case is the one used below.
The class used below. Take , , and, for a fixed bounded measurable ,
Each is compact and deterministic, which matters: Lemma 7 cannot be applied over a parameter set that depends on the run, and would be such a set when is random. We therefore apply the lemma on for every with and intersect the countably many almost-sure events; since a.s., each path has for all once , so the resulting uniform bound covers on that path. No deterministic bandwidth floor is required. On , by the computation of Lemma 6. For the Lipschitz hypothesis: each truncated component density has parameter-derivatives bounded uniformly over , because is compact, bounds and its derivatives, and the truncation mass is bounded below, , uniformly for . The implementation’s constant is the product of per-axis in-box masses, which is where the box form of in Assumption 2 enters. Each factor is . Since lies in , that interval contains a half-width on one side of , giving a factor at least . The product over coordinates, , is therefore bounded below by a constant depending only on the box and and is smooth in with bounded derivatives there. (The exact joint mass is likewise bounded below, as a positive continuous function of on a compact set, so nothing in the argument depends on which normalizer is used; the box is needed to define the implementation’s constant, not to bound it.) Hence every (a set of positive functions, not necessarily normalized; Assumption 2) obeys . The map is Lipschitz in uniformly in and depends affinely on the prior share , with coefficients bounded by and . Because is bounded away from 0, is also Lipschitz. With Lipschitz in (Assumption 1) and bounded, (15) satisfies the hypotheses of Lemma 7. Note that on we have for every , and that by taking uniform limits.
Proof of Theorem 1 and Corollaries 2–3
The prior floor bounds every weight (Lemma 6). For a fixed bandwidth and denominator, the weighted average minus its predictable compensator is an average of bounded martingale differences and vanishes (Lemma 7). The class of bandwidths and denominators is compact and the weights are Lipschitz in its parameters, so this convergence is uniform over the class. Uniformity allows the run-dependent pair to be substituted, after which Lemma 8 identifies the compensator as the tilted integral.
Work on the event for a fixed , so that for every ; the conclusions then follow on the union over , which is . Fix a bounded measurable and define, for each fixed , and . On the almost-sure event of Lemma 7 for the bound holds simultaneously for all , so the function may be evaluated at the random :
using . This is (10). The middle term is the function evaluated at ; it must not be read as , because depends on draws after and is not -measurable, so Lemma 7 does not control that conditional expectation. For (11), apply (10) with and with , and write and , with the two weighted averages and the two integrals. If then for all large , and , since . This proves the theorem.
Corollary 2. Split the integral in (10) against :
on the event of the localization above, using (Assumption 1 and Jensen; every and lies in there) and . Here bounds for all large by (9), with no structural bound on needed. Both bracketed terms vanish, the first because and the second by (9). Hence a.s. on the event. Applying this with and with and dividing, which is legitimate because , gives . Corollary 3 is the case . (Theorem 1 does not use the monotonicity of , only ; for a schedule that may loosen one localizes on instead.) □
Remark 1. Theorem 1 uses nothing about the form of , and Corollary 2 adds only (9). Both are therefore statements about the algorithm as implemented, not about an idealized variant of it: any sampler whose draw mixture is tracked by the denominator in the ratio sense of (9) is covered by the corollary, the archive rule, the capped rejection and the underflow redraws included.
Deadline censoring
At the wall-clock deadline the run has proposed candidates, of which the set still in flight, , has no discrepancy; the estimate is computed from the completed ones. Let be the estimate the launched set would give at the same bandwidth and denominator, i.e. with the sums in (6) extended over all candidates, the unobserved discrepancies included.
Proposition 9 (deadline censoring). Under Assumptions 1–3, for every bounded ,
The censoring is therefore negligible whenever and the average weight stays bounded below, and it is whenever .
Proof. Write for , , , and . Then , and . Lemma 6 gives , and . □
The launched set is the one the filtration of Lemma 5 indexes, so Theorem 1 and its corollaries apply to , and the proposition transfers them to the completed-set estimate the implementation reports. The length bias of deadline-limited sampling (§8) thus acts on the estimate in two ways. The bound controls the direct effect through the at most censored candidates; the indirect effect acts through the proposal sequence, whose archive is formed from arrived particles and so leans toward regions that simulate quickly. This second effect is part of and is corrected by the importance weighting up to . On the five Cellular Potts production replicates, and , so ; the worst-case factor makes the displayed bound loose at that budget, and the drain-after-deadline experiment of Appendix F, which lets the in-flight simulations finish, measures the effect on the posterior mean at 0.013 or less.
Remark 2 (growing snapshot count). Nothing above requires to be fixed except the compactness and fixed dimension of , and the fixed floor . The implementation ties to as , so the two must be decoupled before is allowed to grow, since Lemma 6’s bound is . With fixed and , run the proof of Lemma 7 with an -dependent net: the union bound costs with , and the Lipschitz constant over the mixture weights grows at most polynomially in , so choosing fast enough leaves the Borel–Cantelli step summable for any . In that regime factor (b) of (§A.1) vanishes whenever , with the total variation of the proposal path: the draw-proportional -point mixture is then a converging quadrature of the empirical mixture. The retroactive pass costs .
Proof of Proposition 4
Write for . For bounded , since and ,
for every constant .
The supremum of the modulus over is attained at and equals ; halving gives the identity. For the bound, the first form also reads , whose modulus is at most because ; the supremum over , halved, is . Under the set hypothesis , and increases on . For only the trivial survives. □
Lemma 10 (prior-floor factor). With the limiting proposal-to-prior ratio and the limiting bootstrap share, the prior floor’s contribution to in §A.1(a) is
and on , splitting at and bounding each branch, , which is the of Proposition 4 for . The factor is identically 1 when , and as .
Proof. Evaluate (9) for the floor alone: the draw mixture is and the denominator ; divide both by and subtract one. □
Status of each assumption in the implementation
Implementation Details
Relation to classical ABC-SMC. Table 6 sets the method against the generation-staged ABC-SMC/PMC implementation we compare with (the pyABC baseline), property by property. None of the listed properties is intrinsic to ABC-SMC as a family (smooth kernels and richer proposals exist), but each characterizes pyABC as configured. Because all state is a pure function of the history (last row), there is nothing to synchronize between workers, which is what lets the workers run without waiting for one another (§3.1).
| Property | Classical ABC-SMC | This work |
| Update style | generation, barrier-synchronized | event-driven (single-arrival), no barrier |
| Archive | explicit, generational | reconstructed, sliding top- |
| ABC likelihood | hard threshold | smooth kernel |
| Importance weight | against only | balance heuristic over |
| Archive state | mutable, carried | none; reconstructed per call |
| Posterior estimate | final population | pure function of the history |
Table 6. A typical generation-staged ABC-SMC/PMC implementation (the pyABC baseline used here) versus the proposed generation-free method. The listed properties characterize pyABC as configured, not ABC-SMC as a family. The running sampler does carry the online snapshot buffer of § 3.5; the posterior estimate rebuilds it from the history.
Carried state and restart. Between calls the running sampler carries only the kept snapshots of §3.5 and the scheduler’s two controls: the search cadence and the acceptance gate described below. A restart therefore reproduces the estimator over whatever history was evaluated, not the trajectory the run would have taken (kill-and-resume, Appendix D).
Hyperparameters. Table 7 lists every setting of the sampler with its option name in the implementation and the value used in the experiments.
| Symbol | Meaning | Option | Value |
| archive size | k | 100 (200 in the four-dimensional calibration runs) | |
| starting bandwidth | tol_init | 5 (Gaussian mean), 10 (g-and-k), (Lotka–Volterra), 0.1 (Cellular Potts; 10 in its earlier parameterization) | |
| ABC kernel | kernel | Gaussian | |
| scale of the perturbation covariance | perturbation_scale | 0.8 | |
| kept snapshots | amis_snapshots | 20 | |
| snapshot cadence, in calls | amis_interval | ||
| ESS retention per search | ess_target | 0.95 | |
| largest tightening per search | max_tighten_factor | 0.5 | |
| search cadence, in calls per rank | bisect_interval | ||
| acceptance gate: hold until particles lie within | additional_needed_inds | ||
| bandwidth floor; a positive value puts the run on (§ 4) | min_tol | recommended; unset in the reported runs, where that value is never reached on g-and-k or Cellular Potts (§ 4) | |
| prior floor in | — |
Table 7. Settings of the asynchronous sampler. Option names are those of the implementation; values are those of the production experiments, except where a study sweeps them (Appendix § 19).
Glyphs of Figure 1. The toy problem has . Row (a) is textbook PMC with a quantile schedule and a hard threshold, weights normalized over the kept. Point sizes vary where weights do (a1–a3 by , a6 by , b3 by the archive weights ); shading in b1 is the discrepancy (light: far); darkened stacks are and ; gray contours are the current proposal in a5 and b5 and the stored snapshots in b6 (oldest lightest); the dashed ellipse in row (a) is the hard acceptance region; the inset in column 2 is the kernel over , the Gaussian in (b) against the indicator in (a). The thin box in every panel is the prior box, identical throughout. Bootstrap draws are prior draws with and no stored bandwidth.
Bandwidth schedule. The schedule is a function of the evaluated history and is monotone by construction: the propagator clips any proposed bandwidth above the history-reconstructed running minimum (§ 3.3), so the effective bandwidth can only decrease. Let denote a margin of additional particles (default ); it is unrelated to the snapshot count of § 4. The bandwidth is held until evaluated particles lie within it (the acceptance gate). After that, a search proposes the largest at which the kernel-weighted effective sample size of those particles retains a target fraction (default ) of its current value, tightening by at most
max_tighten_factor per search. The search runs on a rank’s first call, then once per bisect_interval () of its own calls, and again whenever the rank’s cached history is rebuilt after an out-of-order arrival; asynchronous arrivals cause such rebuilds and lockstepped ones do not, which is why the synchronized variant’s bandwidth tightens less often than the asynchronous sampler’s at equal call counts (§ 6.1). The implementation also offers quantile, geometric-decay and acceptance-rate rules (scheduler_type); they act only under the hard kernel, and with a smooth kernel each reduces to the rule above, so the option has no effect in any reported run.
Proposal covariance. The archive is the top- history members by smallest discrepancy. Component weights are formed in log-space as and normalized (a uniform fallback is used if all smooth weights underflow). The perturbation covariance is with the perturbation_scale and a two-part jitter , where is the mean squared prior-box width; it is Cholesky-factored once per call. The first term is scale-aware, so a tightly converged archive (marginal standard deviation ) is not swamped by the floor as a fixed would swamp it; the second is a run-independent absolute floor that keeps the matrix factorable for a degenerate archive and supplies the uniform lower spectral bound Assumption 2 needs (Table 5). Each mixture component is truncated to the prior box, with its log normalizing mass computed as the product of the per-axis in-box masses. That is exact for a diagonal covariance, in which case the proposal integrates to one on the support; for a correlated covariance it is an approximation, so the evaluated proposal is a positive function that need not integrate to one. This is why § 4 states its denominator assumption for positive functions and assigns the discrepancy to factor (c) of (§A.1).
Matched pyABC acceptor. For pyABC, pyABC’s UniformAcceptor is replaced, for smooth kernels, by a probabilistic-rejection acceptor that accepts a candidate of discrepancy with probability (peak-normalized so ), using the same kernel as the asynchronous sampler; the hard kernel falls back to UniformAcceptor. The rejection step of each replicate draws from an independently seeded random-number generator. This is the sense in which the kernel and acceptor are matched across methods (§ 5.2).
Bounded-memory posterior estimator. The retroactive AMIS estimator (6) evaluates the snapshot denominator at each of the evaluated particles. The denominator is a draw-proportional mixture of history-reconstructed proposals (21 at the of every experiment) and a defensive prior component (mass floored at ). The total cost is with fixed. The snapshot indices are spread over the archive-phase calls: , with . The most recent archive-phase proposal is added if it is not already among them. Hence rather than , and when . Each is rebuilt from the history prefix the call saw, so the pass never reads the online snapshot buffer of § 3.5. For inexpensive simulators the history reaches particles, so the pass is accumulated in chunks of history points: peak memory is rather than . Each particle’s denominator is evaluated independently within a single chunk (there is no log-sum-exp reduction across chunk boundaries), so the result is bit-identical to the unchunked computation. Benchmarked at , over from to , the pass costs 49.3 s per particles on a single core and is linear in , so the -particle Gaussian history extrapolates to minutes; peak memory is flat in , as the chunking predicts. The pass runs after the timed budget and is excluded from the throughput measurements; for an inexpensive simulator it is comparable to the timed budget itself, for expensive simulators negligible against the simulation time.
Additional Experimental Protocol
Effective simulating ranks. A “-worker” point allocates physical cores to both samplers. Every rank of the asynchronous sampler evaluates; pyABC’s MPI sampler is root-driven, so rank 0 dispatches without simulating and pyABC has simulating ranks. We report the allocated for both and do not correct the resulting advantage of for the asynchronous sampler (2.1% at , 0.3% at 384).
Seeding. Each experiment derives its replicate seeds deterministically from a single base seed via make_seeds: a random.Random(base) stream emits unique non-negative 31-bit integers, one per replicate, portable across platforms and independent of any global random-number-generator state. Derived seeds (observed-data generation, the pyABC rejection step) use a structured BLAKE2b hash (stable_seed) of their inputs, so identical inputs reproduce identical seeds across fresh and resumed (--extend) runs.
Crash recovery (kill-and-resume). On the Gaussian-mean benchmark (4 workers, a -simulation budget) a run hard-killed partway through inference and relaunched with an identical command reloads the periodic history checkpoint, completes the same total simulation budget with no duplicated records, and recovers the analytic posterior mean (absolute error , against for an uninterrupted run). It is not a bit-identical replay (the two posterior means differ by ), because the sampler’s random-number generator is re-seeded rather than checkpointed, MPI arrival order is not deterministic, and the online AMIS snapshot buffer is rebuilt empty on restart. The post-restart proposal sequence therefore follows a different, equally valid adaptation trajectory: recovery yields a valid posterior over the actual evaluated history, not the identical one (§ 3.1).
Cluster and wall-clock control. Experiments run on JUWELS (Forschungszentrum Jülich) under ParaStation MPI, 48 cores per node, with jobs queued through SLURM. All wall-clock-budgeted methods stop at a fixed wall-clock budget enforced uniformly by a monotonic-clock deadline. Once any rank trips the deadline, it serializes its current state into the records and returns, so a partial final generation is recorded rather than discarded. The simulation-limited studies marked † in Table 8, the simulation-based calibration (SBC) and kill-and-resume runs, instead stop at a fixed per-trial simulation count. Posterior estimation and plotting run off the timed inference path, so they do not count against the budget. Matched-budget tolerances (§ 5.3) count only records of completed simulations; pyABC also writes one record per accepted particle, and mixing the two would flatter it.
| Experiment | Workers | Budget (s) | Reps | Methods | |
| Gaussian mean | 48 | 300 | 5 | 100 | A,S,R |
| -and- | 48 | 600 | 5 | 100 | A,S,R |
| Lotka–Volterra | 48 | 600 | 5 | 100 | A,S |
| Cellular Potts | 48 | 3600 | 5 | 100 | A,S,R |
| Cellular Potts | 48 | 3600 | 3 | 100 | A,S,R |
| Straggler | 16 | 300 | 5 | 100 | A,S |
| Runtime heterogeneity | 48 | 60 | 5 | 100 | A,S |
| Parameter-coupled runtime‡ | 48 | 60 | 5 | 100 | A,S |
| Strong scaling (LV) | 1–288 | 180 | 5 | 100/1000 | A,S |
| Strong scaling (CPM)§ | 1–384 | 1800 | 3–5 | 100 | A,S |
| Synchronized variant§ | 16 / 48 / 48–384 | sims† | 5 | 100 | T,A |
| Sensitivity | 48 | 300 | 5 | 50/200 | A |
| Ablation | 48 | 300 | 5 | 100 | A |
| SBC (Gaussian, 1-D) | 48 | 20k† | 1000 | 100 | A,S |
| SBC (bimodal) | 48 | 20k† | 1000 | 100 | A,S |
| SBC (-and-, 4-D) | 48 | 40k† | 1000 | 200 | A,S |
| SBC (-and-, 2×) | 48 | 80k† | 500 | 200 | A,S |
| Kill-and-resume | 4 | 120k† | 1 | 100 | A |
Table 8. Resolved experiment configurations. Workers, per-run wall-clock budget, replicates (trials for SBC), archive size , and methods (A: asynchronous; S: pyABC (matched kernel); R: rejection ABC; T: synchronized variant). The synchronized variant row covers the straggler, heterogeneity and Cellular Potts studies at 16, 48 and 48–384 workers. † Simulation-limited: the budget is per-trial (SBC) or per-run (kill-and-resume) simulations, not wall-clock seconds; the synchronized variant, and the asynchronous re-run matched to it, stop at a fixed simulation count per level (§ 5.2, Table 9). ‡ Also run with AMIS on/off, a drain-after-deadline variant, and a steeper coupling regime (base delay 0.5 s, cap 8 s). § The Cellular Potts rows of these studies ran the benchmark’s earlier configuration (Appendix § 18).
Benchmark configurations. Table 8 lists the resolved settings ( is the archive/population size; the budget is per method run). The strong-scaling studies sweep the worker count from 1 to 288 (Lotka–Volterra; sub-node 1/4/16 and fully-packed multiples of 48 up to six nodes) and to 384 (Cellular Potts; up to eight nodes), with archive size ; all other studies fix the workers shown.
Benchmark-specific notes. Each benchmark fixes one observed dataset (generated from seed 42) and infers parameters under uniform priors; the discrepancy is a distance between simulated and observed summary statistics. Gaussian mean: observations , prior , summary the sample mean, discrepancy ; the closed-form Gaussian posterior is the calibration and recovery reference. -and-$k: the quantile-defined -and- distribution (), , true , priors , , , ; summary the seven octiles (the 0.125, …, 0.875 quantiles), discrepancy Euclidean. Lotka–Volterra: a Gillespie stochastic simulation ([18]) of the four-reaction predator–prey system from over , true rates , priors and ; summary the six statistics , discrepancy Euclidean. Cellular Potts: the real cellsInSilico (NAStJA) simulator; the setup and the screening that fixed it are in Appendix § 18. Its per-evaluation cost dominates, which is why it uses the longest wall-clock budget.
Computing environment. All experiments ran on the JUWELS Cluster at the Jülich Supercomputing Centre: dual-socket Intel Xeon Platinum 8168 (Skylake) nodes with 48 physical cores and GB memory per node, connected by Mellanox EDR InfiniBand. The software stack is ParaStationMPI 5.10 (the 2025 GCC toolchain), Python 3.12.3, NumPy 1.26.4, SciPy 1.13.1, mpi4py 4.0.1, and pyABC 0.12.17, with POT ([17]) for the sliced Wasserstein distance; the asynchronous sampler runs as a propagator in a fork of Propulate. Unless noted, ranks are placed one per physical core, so a “-worker” point occupies physical cores packed onto fully-reserved nodes. The production experiment of the three benchmarks with inexpensive simulators (Gaussian mean, -and-, Lotka–Volterra) instead placed its 48 ranks as 12 per node on four nodes under whole-node reservation because the single-node submissions failed. This placement is why its asynchronous throughput is below the packed single-node scaling run’s on the same benchmark (§ 6.3). The Cellular Potts production run and the straggler, heterogeneity, synchronized variant and scaling experiments are single-node or fully packed. Each strong-scaling point reports five replicates (three to five for the largest Cellular Potts points), and figures show medians with inter-quartile ranges.
The Cellular Potts inference setup
The benchmark runs the cellsInSilico Cellular Potts tissue model ([5]) through the NAStJA framework ([4]): a lattice for 501 steps (an lattice for 1001 steps in the larger configuration), seeded with a small cluster of cells that divide and move, summarized at the final step. The inference problem was designed from a screening experiment of about 12,000 simulations at parameter settings chosen to cover the space of six candidate parameters. We scored each summary block, a scalar summary or a ten-dimensional curve of summary statistics, by the ratio of between-parameter to within-parameter variation. The configuration we started from weighted seven summary blocks equally. Two scalars, the log cell count and the log 95th-percentile radius, carry nearly all of the signal: their signal-to-noise ratios are 12 and 9, against about 1 for the four ten-dimensional curve blocks. We therefore compute the discrepancy from those two scalars, weighted equally. One evaluation is the feature-average of four replicate simulations at the same parameters, because a single realization is too noisy for the discrepancy to order nearby parameters. The two summaries resolve exactly two directions: how many cells there are and how large the cluster is at a given point. We therefore infer the two parameters that move those directions independently, the division rate (count) and the target cell volume (radius at fixed count); these responses are near-orthogonal (). Every other candidate parameter moves the summaries only through the cell count. At , cell motility, adhesion (how energetically favorable contact between two cells is) and surface tension (how energetically favorable a spherical cell shape is) are confounded with the division rate at . At , with 6.4× the cells, the confounding grows stronger rather than breaking (0.81 → 0.98 for the surface term). The benchmark is therefore two-dimensional as a property of the model, not for want of screening. Priors are log-uniform on [0.001, 0.2] and [200, 1200] with truths 0.009 and 500; motility is fixed at 1400. Rejection ABC on 2000 prior draws forecast 91% and 64% contraction for the two parameters before any adaptive run, against the 92% and 81% the asynchronous estimator reports (§ 6.4).
Two configurations. The production configuration is the two-parameter setup above and supplies every posterior result, Table 2 and Table 4, the systems comparison, and the theory diagnostics of Appendix § 14. The earlier configuration was used by the synchronized variant and scaling experiments (the points of Figure 2c, Table 11, Figure 3 right, Figure 13). It inferred the cell division rate and motility on normalized [0, 1] priors mapping to [, 0.6] and [0, ] (true normalized values 0.0499 and 0.2). Each evaluation comprised one simulation (5.1 s at , in-run coefficient of variation 0.10) and used a whitened distance over morphological summary features: radial density and pair-correlation profiles, free-area and structure-factor profiles, a DBSCAN (density-based spatial clustering of applications with noise) dispersion fraction, and log cell count and radius. The screening above found those two parameters confounded, which is why the production configuration replaced them. The systems measurements depend on the configuration only through its runtime distribution, which the barrier-cost predictor takes from the run itself.

Figure 13. Cellular Potts worker utilization, earlier parameterization (fraction of worker wall-clock spent inside the simulator) versus worker count (1800 s budget; error bars are standard deviation); pyABC uses a population equal to the worker count (Figure 3, right). The asynchronous sampler stays – utilized at every scale. pyABC fills every core within a generation but then idles at the barrier waiting for the slowest simulation, so its utilization falls to – ( at 48/96/192/384 workers, i.e. – idle at every multi-node scale). The figure is the measured utilization behind pyABC’s sub-linear scaling in Figure 3 (right).
Additional results
Runtime heterogeneity: archive quality
The synthetic instance. The heterogeneity study shows the same conversion of throughput into accuracy where the runtime distribution is known by construction (Figure 7): at a fixed 60 s budget on the Gaussian benchmark pyABC completes fewer simulations as the runtime spread grows and its archive’s posterior-mean error to the analytic posterior climbs from to , while the asynchronous sampler completes several-fold more and its archive holds –. These are archive means; the posterior estimates of both samplers in this experiment are scored in Table 10.

Figure 7. Inference per unit wall clock under runtime heterogeneity (Gaussian mean, analytic posterior, 48 workers, 60 s budget, five replicates; bands are inter-quartile ranges). Left: error of the archive mean (the unweighted top- archive, not ; § 6.4) to the analytic posterior mean, against the runtime spread . Right: simulations completed within the budget. The barrier starves pyABC as grows; the asynchronous sampler’s error stays flat.
The synchronized variant on the straggler benchmark, and pyABC under injected heterogeneity
A persistent straggler. One of 16 workers is given a permanent post-evaluation delay of 0.1 s scaled by 0, 1, 5, 10, 20 (Table 9). The generation time is the slow worker’s recorded evaluation time (2.000 s at 20×) plus the 3.6 ms per-evaluation overhead measured on the fast workers. The synchronized variant therefore cannot exceed simulations per second. Dividing the measured asynchronous rate by that ceiling gives 401×, against a measured 402×. The agreement is the same at 5× and 10×. At 0× and 1× the prediction fails: with no straggler to wait for, the collective itself costs about 0.3 s per barrier on a 4 ms workload, a term the model does not contain, and taking the barrier only once per 112 evaluations (pyABC’s population) spreads that cost over more evaluations. From 5× up the two barrier granularities agree with each other and with the prediction within 0.5% (0.2% at 10×, 0.06% at 20×): once a straggler sets the generation time, the barrier’s cost does not depend on how often it is taken.
The schedule must move. The synchronized variant shows the bandwidth transient of § 6.4 on a near-instantaneous simulator. At the synchronized variant’s own simulation count and seeds the asynchronous sampler reports and 0.068 to the analytic posterior at 10× and 20× where the synchronized variant reports 0.79 and 1.71 (Table 9, lower block). The propagator is the same, and so are the 200 calls per rank at 20×. But the synchronized variant’s schedule reached a bandwidth of 2.9, against 0.16, on histories whose 100th-smallest discrepancy is 0.008, because under lockstep it takes fewer search steps (Appendix § 16). Re-reporting the synchronized variant’s histories at brings them to 0.010–0.015.
The synchronized variant under runtime heterogeneity and on Cellular Potts
Table 10 gives the synchronized variant’s heterogeneity experiment behind § 6.1, with the posteriors of every sampler at the bandwidth its schedule reached and re-reported at the order statistic (§ 6.4); Table 11 factorizes the synchronized variant’s Cellular Potts slowdown into the barrier’s share and the unattributed duration ratio.
Tolerance curves
Figure 9 shows the curves Table 2 is read from.
Parameter-coupled runtime
The heterogeneity study above slows simulations independently of their parameters; a sharper test couples runtime to the inferred parameter, probing the length bias of deadline-limited sampling (§ 8). On
Gaussian-mean benchmark (48 workers, 60 s budget, five replicates), the post-evaluation delay grows with the inferred mean as with s, , and s. We sweep ; gives uniform runtime. One region of parameter space therefore evaluates far faster than its mirror image, and keeping every evaluated particle over-represents that region in the raw archive. The coupling has the intended effect on the sampling rate: as increases, aggregate throughput falls by for the asynchronous sampler, and the decrease with is larger for pyABC (Figure 10a).

Figure 10. Parameter-coupled runtime on the Gaussian-mean benchmark (analytic posterior; 48 workers, 60 s budget, five replicates; bands are inter-quartile ranges). The post-evaluation delay grows with the inferred mean, so one region of parameter space is sampled far more often than its mirror image. (a) Aggregate throughput falls as the coupling steepens (monotonically for pyABC, and from a peak at for the asynchronous sampler), consistent with the fast region dominating the raw sample counts. (b) Posterior-mean error to the analytic posterior nonetheless does not increase with coupling and stays comparable between the asynchronous sampler and pyABC, which discards latecomers, so the over-representation does not measurably distort the posterior estimate at these coupling levels.
The posterior does not follow. The asynchronous posterior-mean error to the analytic posterior stays at every coupling, comparable to pyABC, which discards latecomers (Figure 10b). This posterior-mean result holds with or without AMIS (), for both the unweighted archive and the AMIS-reweighted estimator ((6)). It also holds under a stronger runtime coupling (base delay 0.5 s, cap 8 s). The reweighting changes the spread, not the mean: it lowers the effective-sample-size fraction from to and widens the central 90% interval by . A drain-after-deadline variant, which lets every in-flight simulation finish past the deadline, moves the weighted posterior mean by at most 0.013, within the replicate spread and with no systematic direction, so the deadline censoring is negligible at these couplings, as Proposition 9 predicts for . AMIS neither creates nor removes a mean bias here, and a correction in the manner of anytime Monte Carlo ([32]) is future work.
Strong scaling on an inexpensive simulator
Lotka–Volterra is an adversarial simulator for a scaling study. Each evaluation takes ms, so there is little per-evaluation compute to distribute, and an instrumented run (Figure 11) shows a worker inside the simulator of its time at the 48-worker throughput peak, falling to and as the job spreads from one node to three to six. The method keeps one history shared by every worker, so every completed evaluation is exchanged with all workers and each can propose from the current archive. This all-to-all exchange has a per-arrival cost that grows with the worker count. Aggregate throughput therefore rises almost linearly while the job fits on one node and then declines across fully packed multi-node jobs (Table 12), because adding ranks beyond one node lengthens the exchange faster than it adds useful work. pyABC is given a population equal to the worker count at high core counts (a smaller population cannot occupy every core); it scales steadily and overtakes the asynchronous sampler beyond three nodes. This is the boundary of the asynchronous advantage on an inexpensive, homogeneous simulator, and it lifts once the simulator carries real per-evaluation cost (Figure 3, right). The archive size moves the boundary, because the per-arrival proposal reconstruction is . Raising to 1000 costs 39% of the single-node peak throughput. Sweeping over shows that throughput falls smoothly and monotonically as grows, and that the node count at which pyABC overtakes moves by a single step, from beyond three nodes to three nodes at (Table 14).

Figure 11. Measured decomposition of asynchronous worker wall-time on Lotka–Volterra (; 180 s budget) from a dedicated instrumented run. The productive simulation fraction (blue, annotated), the share of worker wall-clock spent inside the simulator, collapses from 55% at 16 workers to 2% at 256, while coordination and idle (MPI exchange, per-arrival proposal reconstruction, serialization, waiting) dominate as the job spreads beyond one node (16/48 = 1 node; 128 = 3 nodes; 256 = 6 nodes). The strong-scaling decline of Figure 3 is therefore a measured property of coordinating low-cost evaluations.
| sims/s at | vs. | worst | at | pyABC overtakes | |
| 50 | 6684 | +7% | 0.250 | beyond 3 nodes | |
| 100 | 6240 | — | 0.064 | beyond 3 nodes | |
| 200 | 5904 | −5% | 0.180 | beyond 3 nodes | |
| 400 | 5393 | −14% | 0.195 | 3 nodes | |
| 800 | 4331 | −31% | 0.074 | 3 nodes | |
| 1000 | 3804 | −39% | — | — | 3 nodes |
Table 14. The archive size on both of its axes at once. Throughput: median asynchronous throughput at the single-node peak (48 workers) on Lotka–Volterra, 180 s wall cap, five replicates ( from the main scaling run, from the matched -frontier run), and its change relative to the we use throughout. Calibration: worst absolute deviation of empirical from nominal coverage over the dimensions of the -dimensional Gaussian-mean sweep at (Table 13), with the dimension attaining it. Crossover: fully packed nodes at which pyABC (population = worker count) overtakes the asynchronous sampler. The sweep did not include . Bold marks the best value per column.
Calibration against the archive size and the snapshot buffer
The calibration tests of § 6.4 fix and per benchmark, which leaves open whether the two settings must be retuned as the dimension grows. To test this, we sweep them directly on a -dimensional Gaussian-mean target, with under a flat box prior, whose posterior is known exactly at every
d. Simulation-based calibration against that exact posterior returns 0.496/0.794/0.905/0.952, so the target itself is calibrated and any departure below is a property of the method. The grid is , 1000 trials per cell, reporting the same full-history estimator (Table 13). sets both the online buffer length and the number of reconstructed proposals in the posterior denominator (§ 3.5), and the sweep varies the two together; at the denominator holds only the first and the last reconstructed proposal, so the column tests the posterior-side mixture as much as the online buffer. At the estimator is over-confident in one and two dimensions (mean deviation −0.088); every removes that deviation, and the experiments use .
| archive size (at ) | |||||
| 50 | 100 | 200 | 400 | 800 | |
| -0.014 | -0.003 | +0.006 | +0.006 | +0.074 | |
| -0.020 | -0.006 | +0.009 | +0.030 | +0.072 | |
| +0.025 | +0.064 | +0.094 | +0.133 | +0.063 | |
| -0.250 | +0.055 | +0.180 | +0.195 | +0.061 | |
| -0.047 | +0.028 | +0.049 | +0.053 | +0.055 | |
| snapshot buffer (at ) | |||||
| 0 | 5 | 20 | 50 | ||
| -0.088 | -0.001 | -0.003 | -0.005 | ||
| -0.088 | -0.001 | -0.006 | -0.003 | ||
| +0.039 | +0.068 | +0.064 | +0.064 | ||
| +0.065 | +0.006 | +0.055 | +0.074 | ||
| -0.010 | +0.010 | +0.028 | +0.034 |
Table 13. Calibration sensitivity to the archive size and the AMIS snapshot buffer on the -dimensional Gaussian-mean target (1000 trials per cell; entries are the mean signed deviation of empirical from nominal coverage over the 0.50/0.80/0.90/0.95 levels and the parameters). Negative is over-confident, positive is conservative; 0.000 is exactly calibrated. Left: varying at . Right: varying at .
The archive size does not, in this range, trade calibration against throughput. The archive size has both a statistical effect (above) and a systems cost (per-arrival proposal reconstruction is , so a larger archive is slower at every worker count; § 6.3. Table 14 puts the throughput cost of next to its worst-case miscalibration over the dimensions swept, using a throughput grid matched on everything but (Lotka–Volterra, 180 s wall cap, five replicates, worker counts 1–288: from the main scaling run and from a dedicated -frontier run sharing that configuration). Of the six archive sizes, only the two smallest are Pareto-optimal. The setting is both the best-calibrated one tested (worst deviation 0.064, at ) and within 7% of the fastest (6240 vs 6684 simulations/s at the single-node peak); every larger archive is dominated by it on both axes: is 5% slower and nearly three times worse calibrated (0.180), is 14% slower with a deviation of 0.195, and costs 31% of throughput and is still slightly worse calibrated than (0.074). The only faster archive, , fails calibration (0.250 at ). Above that small-archive failure region, enlarging the archive adds no calibration and costs throughput monotonically.
The two axes come from different benchmarks by design (calibration needs a target whose posterior is known at every ; throughput needs the regime where an per-arrival cost is most exposed), so the throughput column is an upper bound on the relative cost of . At scale, shifts the crossover with pyABC (population equal to the worker count) by a single step: pyABC overtakes beyond three fully packed nodes for and at three nodes for (last column).
Worker utilization on Cellular Potts at
Lotka–Volterra extinction
The simulator has an absorbing state: if either population reaches zero before , the run returns a fallback discrepancy, which a smooth kernel weights to effectively zero. At the configured parameters that is the usual outcome (survival 2.6% of 2000 simulations at the true parameter, 1.7% over 400 uniform prior draws). The observed dataset is itself re-drawn until a trajectory survives, so the target is , which is internally consistent: the extinct particles’ zero weight is the factor of the likelihood. Throughput and scaling are unaffected, because an extinct simulation costs what a surviving one costs. Posterior recovery is affected: the informative sample is of the nominal budget, so we report Lotka–Volterra as a systems benchmark and treat its posterior curves as diagnostics that bound no method’s attainable accuracy.

Figure 12. Simulation-based calibration on Gaussian-mean inference (1000 trials; the full-history AMIS posterior): empirical coverage versus nominal level (left) and rank histogram (right). The asynchronous estimator is close to calibrated.
References
- [1]Emad Alamoudi, Felipe Reck, Nils Bundgaard, Frederik Graw, Lutz Brusch, Jan Hasenauer, and Yannik Schälte. A wall-time minimizing parallelization strategy for approximate Bayesian computation. PLOS ONE, 19(2):e0294015, 2024. doi: 10.1371/journal.pone.0294015.DOI
- [2]Mark A. Beaumont. Approximate Bayesian computation. Annual Review of Statistics and Its Application, 6:379–403, 2019. doi: 10.1146/annurev-statistics-030718-105212.DOI
- [3]Mark A. Beaumont, Jean-Marie Cornuet, Jean-Michel Marin, and Christian P. Robert. Adaptive approximate Bayesian computation. Biometrika, 96(4):983–990, 2009. doi: 10.1093/biomet/asp052.DOI
- [4]Marco Berghoff, Ivan Kondov, and Johannes Hötzer. Massively parallel stencil code solver with autonomous adaptive block distribution. IEEE Transactions on Parallel and Distributed Systems, 29(10):2282–2296, 2018. doi: 10.1109/TPDS.2018.2819672.DOI
- [5]Marco Berghoff, Jakob Rosenbauer, Felix Hoffmann, and Alexander Schug. Cells in Silico – introducing a high-performance framework for large-scale tissue modeling. BMC Bioinformatics, 21:436, 2020. doi: 10.1186/s12859-020-03728-7.DOI
- [6]Nicolas Bonneel, Julien Rabin, Gabriel Peyré, and Hanspeter Pfister. Sliced and Radon Wasserstein barycenters of measures. Journal of Mathematical Imaging and Vision, 51(1):22–45, 2015. doi: 10.1007/s10851-014-0506-3.DOI
- [7]Mónica F. Bugallo, Víctor Elvira, Luca Martino, David Luengo, Joaquín Mígu ez, and Petar M. Djur ić. Adaptive importance sampling: The past, the present, and the future. IEEE Signal Processing Magazine, 34(4):60–79, 2017. doi: 10.1109/MSP.2017.2699226.DOI
- [8]Olivier Cappé, Arnaud Guillin, Jean-Michel Marin, and Christian P. Robert. Population Monte Carlo. Journal of Computational and Graphical Statistics, 13(4):907–929, 2004. doi: 10.1198/106186004X12803.DOI
- [9]Jianmin Chen, Xinghao Pan, Rajat Monga, Samy Bengio, and Rafal Jozefowicz. Revisiting distributed synchronous SGD. arXiv preprint arXiv:1604.00981, 2016.arxiv.org/abs/1604.00981
- [10]Jean-Marie Cornuet, Jean-Michel Marin, Antonietta Mira, and Christian P. Robert. Adaptive multiple importance sampling. Scandinavian Journal of Statistics, 39(4):798–812, 2012. doi: 10.1111/j.1467-9469.2011.00756.x.DOI
- [11]Kyle Cranmer, Johann Brehmer, and Gilles Louppe. The frontier of simulation-based inference. Proceedings of the National Academy of Sciences, 117(48):30055–30062, 2020. doi: 10.1073/pnas.1912789117.DOI
- [12]Jeffrey Dean, Greg S. Corrado, Rajat Monga, Kai Chen, Matthieu Devin, Quoc V. Le, Mark Z. Mao, Marc’Aurelio Ranzato, Andrew Senior, Paul Tucker, Ke Yang, and Andrew Y. Ng. Large scale distributed deep networks. In Advances in Neural Information Processing Systems (NeurIPS), volume 25, 2012.
- [13]Pierre Del Moral, Arnaud Doucet, and Ajay Jasra. An adaptive sequential Monte Carlo method for approximate Bayesian computation. Statistics and Computing, 22(5):1009–1020, 2012. doi: 10.1007/s11222-011-9271-y.
- [14]Christopher C. Drovandi and Anthony N. Pettitt. Estimation of parameters for macroparasite population evolution using approximate Bayesian computation. Biometrics, 67(1):225–233, 2011. doi: 10.1111/j.1541-0420.2010.01410.x.
- [15]Ritabrata Dutta, Marcel Schoengens, Lorenzo Pacchiardi, Avinash Ummadisingu, Nicole Widmer, Pierre Künzli, Jukka-Pekka Onnela, and Antonietta Mira. ABCpy: A high-performance computing perspective to approximate Bayesian computation. Journal of Statistical Software, 100(7):1–38, 2021. doi: 10.18637/jss.v100.i07.
- [16]Paul Fearnhead and Dennis Prangle. Constructing summary statistics for approximate Bayesian computation: semi-automatic approximate Bayesian computation. Journal of the Royal Statistical Society: Series B, 74(3):419–474, 2012. doi: 10.1111/j.1467-9868.2011.01010.x.
- [17]Rémi Flamary, Nicolas Courty, Alexandre Gramfort, Mokhtar Z. Alaya, Aurélie Boisbunon, Stanislas Chambon, Laetitia Chapel, Adrien Corenflos, Kilian Fatras, Nemo Fournier, Léo Gauthерon, Nathalie T. H. Gayraud, Hicham Janati, Alain Rakotomamonjy, Yevgen Redko, Antoine Rolet, Antony Schutz, Vivien Seguy, Danica J. Sutherland, Romain Tavenard, Alexander Tong, and Titouan Vayer. POT: Python optimal transport. Journal of Machine Learning Research, 22(78):1–8, 2021.
- [18]Daniel T. Gillespie. Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry, 81(25):2340–2361, 1977. doi: 10.1021/j100540a008.
- [19]François Graner and James A. Glazier. Simulation of biological cell sorting using a two-dimensional extended Potts model. Physical Review Letters, 69(13):2013–2016, 1992. doi: 10.1103/PhysRevLett.69.2013.
- [20]David Greenberg, Marcel Nonnenmacher, and Jakob Macke. Automatic posterior transformation for likelihood-free inference. In International Conference on Machine Learning (ICML), volume 97 of Proceedings of Machine Learning Research, pp. 2404–2414, 2019.
- [21]Tsuyoshi Hirashima, Elisabeth G. Rens, and Roeland M. H. Merks. Cellular Potts modeling of complex multicellular behaviors in tissue morphogenesis. Development, Growth & Differentiation, 59(5):329–339, 2017.DOI
- [22]Emanuel Klinger, David Rickert, and Jan Hasenauer. pyABC: distributed, likelihood-free inference. Bioinformatics, 34(20):3591–3593, 2018. doi: 10.1093/bioinformatics/bty361.DOI
- [23]Jochen Kursawe, Ruth E. Baker, and Alexander G. Fletcher. Approximate Bayesian computation reveals the importance of repeated measurements for parameterising cell-based models of growing tissues. Journal of Theoretical Biology, 443:66–81, 2018.DOI
- [24]Ben Lambert, Adam L. MacLean, Alexander G. Fletcher, Alexander N. Combes, Melissa H. Little, and Helen M. Byrne. Bayesian inference of agent-based models: a tool for studying kidney branching morphogenesis. Journal of Mathematical Biology, 76:1673–1697, 2018.DOI
- [25]Maxime Lenormand, Franck Jabot, and Guillaume Deffuant. Adaptive approximate Bayesian computation for complex models. Computational Statistics, 28(6):2777–2796, 2013. doi: 10.1007/s00180-013-0428-3.DOI
- [26]Jarno Lintusaari, Henri Vuollekoski, Antti Kangasrääsiö, Kusti Skytén, Marko Järvenpää, Pekka Marttinen, Michael U. Gutmann, Aki Vehtari, Jukka Corander, and Samuel Kaski. ELFI: Engine for likelihood-free inference. Journal of Machine Learning Research, 19(16):1–7, 2018.
- [27]Miaoxin Liu and Alvin J. K. Chua. Parallel adaptive reweighting importance sampling for Bayesian astrophysics. Reports on Progress in Physics, 89(10), 2026. doi: 10.1088/1361-6633/aeabd1.DOI
- [28]Jan-Matthis Lueckmann, Jan Boelts, David Greenberg, Pedro Gonçalves, and Jakob Macke. Benchmarking simulation-based inference. In International Conference on Artificial Intelligence and Statistics (AISTATS), volume 130 of Proceedings of Machine Learning Research, pp. 343–351, 2021.arxiv.org/abs/2101.04653
- [29]Huifang Lyu, James Alvey, Noemi Anau Montel, Mauro Pieroni, and Christoph Weniger. Dynamic SBI: Round-free sequential simulation-based inference with adaptive datasets. Machine Learning: Science and Technology, 7(2):025036, 2026. doi: 10.1088/2632-2153/ae51e1.DOI
- [30]Jean-Michel Marin, Pierre Pudlo, and Mohammed Sedki. Consistency of adaptive importance sampling and recycling schemes. Bernoulli, 25(3):1977–1998, 2019. doi: 10.3150/18-BEJ1042.DOI
- [31]Lawrence M. Murray, Anthony Lee, and Pierre E. Jacob. Parallel resampling in the particle filter. Journal of Computational and Graphical Statistics, 25(3):789–805, 2016. doi: 10.1080/10618600.2015.1062015.DOI
- [32]Lawrence M. Murray, Sumeetpal S. Singh, and Anthony Lee. Anytime Monte Carlo. Data-Centric Engineering, 2:e7, 2021. doi: 10.1017/dce.2021.6.DOI
- [33]Art Owen and Yi Zhou. Safe and effective importance sampling. Journal of the American Statistical Association, 95(449):135–143, 2000. doi: 10.1080/01621459.2000.10473909.DOI
- [34]Brooks Paige, Frank Wood, Arnaud Doucet, and Yee Whye Teh. Asynchronous anytime sequential Monte Carlo. In Advances in Neural Information Processing Systems (NeurIPS), volume 27, 2014.arxiv.org/abs/1407.2864
- [35]George Papamakarios and Iain Murray. Fast ε-free inference of simulation models with Bayesian conditional density estimation. In Advances in Neural Information Processing Systems (NeurIPS), volume 29, 2016.arxiv.org/abs/1605.06376
- [36]Henri Pesonen and Jukka Corander. Stratified distance space improves the efficiency of sequential samplers for approximate bayesian computation. Computational Statistics & Data Analysis, 207:108141, 2025. doi: 10.1016/j.csda.2025.108141.DOI
- [37]G. D. Rayner and H. L. MacGillivray. Numerical maximum likelihood estimation for the g-and-k and generalized g-and-h distributions. Statistics and Computing, 12(1):57–75, 2002. doi: 10.1023/A:1013120305780.DOI
- [38]Benjamin Recht, Christopher Ré, Stephen J. Wright, and Feng Niu. Hogwild!: A lock-free approach to parallelizing stochastic gradient descent. In Advances in Neural Information Processing Systems (NeurIPS), volume 24, 2011.