alphaFeedback

WorksMathematics

Asynchronous, Generation-Free ABC: Streaming AMIS Reweighting for Heterogeneous Simulator Workloads on HPC

AI contributions
  • Claude Opus
  • GPT Astra
  • Claude Fable
View details
Ancillary data
1 code link
View

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 kk 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:

  1. A generation-free sampler that combines smooth-kernel ABC with streaming AMIS reweighting. Its posterior estimate can be reconstructed from the evaluation log (§ 3).

  1. 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 1.2×1.2\times to 400×400\times (C1, § 6.1).

  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).

  1. 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 yy denote the observations, θ\theta the model parameters, and ρ\rho the discrepancy between simulated and observed summaries. At bandwidth ϵ\epsilon, the resulting ABC target is

πϵ(θ∣y)∝π(θ)Lϵ(θ),Lϵ(θ)=Eρ∼p(ρ∣θ)[Kϵ(ρ)].(1)\pi_{\epsilon}(\theta\mid y) \propto\pi(\theta)L_{\epsilon}(\theta), \qquad L_{\epsilon}(\theta) = \mathbb{E}_{\rho\sim p(\rho\mid\theta)}[K_{\epsilon}(\rho)]. \tag*{(1)}

with π\pi the prior and KϵK_{\epsilon} the ABC kernel. The classical kernel is the hard indicator 1[ρ<ϵ]\mathbf{1}[\rho< \epsilon], 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 exp⁡(−ρ2/2ϵ2)\exp(-\rho^2/2\epsilon^2) [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, ϵ\epsilon 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 NN particles while progressively reducing the ABC bandwidth. Generation tt fits a mixture proposal qtq_t to the weighted population of generation t−1t-1, draws candidates from it until NN have been accepted at the current bandwidth, and weights each accepted particle by π(θi)/qt(θi)\pi(\theta_i)/q_t(\theta_i). The next proposal needs the whole weighted population, so generation t+1t+1 cannot begin before the last candidate of generation tt 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 TT stages with proposals q1,…,qTq_1,\ldots,q_T, the weight of every past particle is updated using this mixture,

wi=π(θi)1T∑t=1Tqt(θi)instead ofwi=π(θi)qt(i)(θi),(2)w_i = \frac{\pi(\theta_i)}{\frac{1}{T}\sum_{t=1}^{T}q_t(\theta_i)} \qquad\text{instead of}\qquad w_i = \frac{\pi(\theta_i)}{q_{t(i)}(\theta_i)}, \tag*{(2)}

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 kk 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.

Schematic comparison of one generation of ABC-PMC with one update of a generation-free sampler

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 w⋆w^\star and the current ABC kernel values determine the archive weights W~j\widetilde{W}_j, which control the next proposal. For inference, we instead compute posterior weights Wi,nW_{i,n} 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 kk best-fitting particles to construct the next proposal. This selected subset is the archive. Write the history at call nn as

Hn={(θi,ρi,ϵi,wi)}i=1n(3)\mathcal{H}_n = \left\{(\theta_i,\rho_i,\epsilon_i,w_i)\right\}_{i=1}^{n} \tag*{(3)}

where θi\theta_i is the parameter, ρi\rho_i the discrepancy, ϵi\epsilon_i the bandwidth in force when θi\theta_i was proposed, and wiw_i its parent weight (§ 3.5). The archive AnA_n is the set of the kk history members with the smallest discrepancies. Until the history holds kk members the sampler emits uniform prior draws (the bootstrap phase), with wi=1w_i = 1 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 ϵn\epsilon_n 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 nn 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 ϵ0\epsilon_0. 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 2k2k evaluated particles have discrepancies below it, which brings ϵn\epsilon_n 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 ϵ0\epsilon_0, so ϵ0\epsilon_0 has to be set from the scale of the prior-predictive discrepancies (§ 5.3, § 6.4).

Archive proposal (steps 3 to 5)

At call nn, we build the proposal by placing a Gaussian component at each archive member:

qn(θ)=∑j∈AnW~j(n)KΣ(θ−θj),W~j(n)∝wj⋅Kϵn(ρj)(4)q_n(\theta) = \sum_{j \in A_n} \widetilde{W}_j^{(n)} K_{\Sigma}(\theta-\theta_j), \qquad\widetilde{W}_j^{(n)} \propto w_j \cdot K_{\epsilon_n}(\rho_j) \tag*{(4)}

The mixture weights W~j(n)\widetilde{W}_j^{(n)} 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 KΣK_{\Sigma} has covariance Σn=sCov⁡^w(An)\Sigma_n = s\widehat{\operatorname{Cov}}_{\mathrm{w}}(\mathcal{A}_n), the weighted archive covariance scaled by ss; 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 qsq_s is the proposal (4) rebuilt from the history truncated at call ss, at the bandwidth stored there. Any snapshot can be rebuilt from the history alone.

The parent weight. The running sampler keeps the last SS snapshots it has taken, one every kk calls. A candidate θ⋆\theta^\star drawn from qnq_n receives

w⋆=π(θ⋆)q‾non(θ⋆),q‾non(θ)=11+∣S∣[qn(θ)+∑s∈Sqs(θ)],(5)w^\star= \frac{\pi(\theta^\star)}{\overline{q}^{\mathrm{on}}_n(\theta^\star)}, \qquad\overline{q}^{\mathrm{on}}_n(\theta) = \frac{1}{1+\lvert\mathcal{S}\rvert}\left[q_n(\theta) + \sum_{s\in\mathcal{S}} q_s(\theta)\right], \tag*{(5)}

with SS the kept snapshots; S=0S = 0 recovers single-proposal weighting. This weight is stored with the particle as its wiw_i 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 S+1S+1 snapshots from Hn\mathcal{H}_n (two when S=0S = 0). Their history indices τ1<⋯<τm\tau_1 < \cdots< \tau_m 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 ff of the parameter the estimate is

π^n(f)=∑i=1nWi,nf(θi)∑i=1nWi,n,Wi,n=π(θi)Kϵn(ρi)q‾n(θi),(6)\widehat{\pi}_n(f) = \frac{\sum_{i=1}^{n} W_{i,n} f(\theta_i)}{\sum_{i=1}^{n} W_{i,n}}, \qquad W_{i,n} = \frac{\pi(\theta_i)K_{\epsilon_n}(\rho_i)}{\overline{q}_n(\theta_i)}, \tag*{(6)}

with the denominator

q‾n=λnπ+(1−λn)∑s=1mαs,nqτs,λn=max⁡(νn,δ),αs,n≥0, ∑sαs,n=1.(7)\overline{q}_n = \lambda_n\pi+ (1-\lambda_n)\sum_{s=1}^{m}\alpha_{s,n}q_{\tau_s}, \qquad\lambda_n = \max(\nu_n,\delta), \qquad\alpha_{s,n}\ge0,\ \sum_s\alpha_{s,n}=1. \tag*{(7)}

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 λn\lambda_n, given by the observed fraction νn\nu_n of prior draws or a fixed minimum δ>0\delta> 0, 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 π^n\widehat{\pi}_n is one O(nk)O(nk) 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 WW 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 Hn\mathcal{H}_n, archive size kk, starting bandwidth ϵ0\epsilon_0, kept snapshots S\mathcal{S}

(1) if ∣Hn∣<k|\mathcal{H}_n| < k then return a uniform prior draw with w⋆=1w^\star= 1 ▷ bootstrap (2) An←A_n \leftarrow the kk members of Hn\mathcal{H}_n with the smallest ρi\rho_i; ϵn←\epsilon_n \leftarrow the smaller of the stored running minimum and the scheduler’s proposal (3) W~j(n)∝wjKϵn(ρj)\widetilde{W}_j^{(n)} \propto w_j K_{\epsilon_n}(\rho_j) over AnA_n; Σn←sCov⁡^W~(An)\Sigma_n \leftarrow s\widehat{\operatorname{Cov}}_{\widetilde{W}}(A_n) (4) qnq_n as in (4); every kk calls, add qnq_n to S\mathcal{S} (5) draw a parent j∼W~(n)j \sim\widetilde{W}^{(n)} and θ⋆∼KΣn(⋅−θj)\theta^\star\sim K_{\Sigma_n}(\cdot-\theta_j), retried into the prior box (6) w⋆w^\star as in (5) return θ⋆\theta^\star for simulation; (θ⋆,ρ⋆,ϵn,w⋆)(\theta^\star,\rho^\star,\epsilon_n,w^\star) joins every worker’s history when ρ⋆\rho^\star 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 qˉn\bar q_n is a fixed-size mixture of reconstructed proposals. Write q~i\tilde q_i for the conditional density of the ii-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

qˉn⋆:=1n∑i≤nq~i,(8)\bar q_n^\star:= \frac{1}{n}\sum_{i\le n}\tilde q_i, \tag*{(8)}

and the fidelity ratio of the run is rn:=qˉn⋆/qˉnr_n := \bar q_n^\star/\bar q_n. This ratio compares the actual mixture of conditional sampling densities with the denominator used for reweighting. Where qˉn\bar q_n is too small relative to qˉn⋆\bar q_n^\star, 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 rnr_n, with a vanishing tracking error under Assumptions 1–4 and on {ϵ∞>0}\{\epsilon_\infty> 0\}. When rnr_n has a limit rr, the estimate converges to the posterior tilted by rr, so that r≡1r \equiv1 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 rr; the proofs are in Appendix § 15. The bandwidth sequence is nonincreasing, so its limit ϵ∞:=lim⁡nϵn\epsilon_\infty:= \lim_n \epsilon_n exists, although it may equal zero. Our asymptotic statements apply on the event {ϵ∞>0}\{\epsilon_\infty> 0\}. We return to the practical implications of this condition at the end of the section. Lϵ(θ)=E[Kϵ(ρ)∣θ]L_\epsilon(\theta) = \mathbb{E}[K_\epsilon(\rho)\mid\theta] is the smooth ABC likelihood of (1).

Assumptions

Assumption 1 (kernel). Kϵ:[0,∞)→[0,1]K_\epsilon: [0,\infty) \to[0,1] is measurable with Kϵ(0)=1K_\epsilon(0)=1 (unit peak, not unit integral, as is standard for a probabilistic-acceptance ABC kernel), and for every a∈(0,ϵ0]a\in(0,\epsilon_0] there is LK(a)<∞L_K(a)<\infty with ∣Kϵ(ρ)−Kϵ′(ρ)∣≤LK(a)∣ϵ−ϵ′∣|K_\epsilon(\rho)-K_{\epsilon'}(\rho)|\le L_K(a)|\epsilon-\epsilon'| for all ρ≥0\rho\ge0 and ϵ,ϵ′∈[a,ϵ0]\epsilon,\epsilon'\in[a,\epsilon_0]. The limiting target is non-degenerate: Zϵ∞=∫ΘπLϵ∞>0Z_{\epsilon_\infty}=\int_\Theta\pi L_{\epsilon_\infty}>0.

Assumption 2 (denominator class). Θ⊂Rd\Theta\subset\mathbb{R}^d is a non-degenerate axis-aligned box and the prior density satisfies 0<π−≤π≤π+<∞0<\pi_- \le\pi\le\pi_+<\infty on it. Each qgq_g in (7) is a positive function on Θ\Theta of truncated-Gaussian-mixture form: at most kk components, means in Θ\Theta, weights in the simplex, covariance Σ\Sigma with σ−2I⪯Σ⪯σ+2I\sigma_-^2 I\preceq\Sigma\preceq\sigma_+^2 I for fixed 0<σ−≤σ+<∞0<\sigma_-\le\sigma_+<\infty, and per-component normalizing constants evaluated as the implementation evaluates them.

Assumption 3 (prior floor in the denominator). δ∈(0,1/2]\delta\in(0,1/2] is fixed and λn≥δ\lambda_n\ge\delta in (7).

Assumption 4 (execution model). Candidates are indexed by proposal time. (B1) Given its parameter θ\theta, a simulator call returns a discrepancy and a wall-clock duration, (ρ,D)∼P(⋅∣θ)(\rho,D)\sim P(\cdot\mid\theta), 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 (Fj)(\mathcal{F}_j) used in the proofs, the record, in proposal order, of every candidate launched so far with its result, duration and worker. Under that filtration, θi∣Fi−1∼q~i\theta_i \mid\mathcal{F}_{i-1} \sim\tilde{q}_i, with q~i\tilde{q}_i the proposal density the worker emits, and ρi∣Fi−1∨σ(θi)∼p(⋅∣θi)\rho_i \mid\mathcal{F}_{i-1} \vee\sigma(\theta_i) \sim p(\cdot\mid\theta_i). Under sequential execution (B3) is empty.

Assumption 5 (fidelity). The denominator tracks the draw mixture up to a limiting ratio: for some rr with 0<r−≤r≤r+<∞0 < r_- \le r \le r_+ < \infty,

∥qn⋆qˉn−r∥∞⟶0a.s.(9)\left\lVert\frac{q_n^\star}{\bar{q}_n} - r \right\rVert_\infty\longrightarrow0 \qquad\text{a.s.} \tag*{(9)}

Assumption 1 holds for the Gaussian kernel with LK(a)=2/(ea)L_K(a) = 2/(ea) and Epanechnikov with 2/a2/a; it excludes the hard indicator, which is not Lipschitz in ϵ\epsilon. This is one reason the method uses smooth kernels. Assumptions 2 and 3 constrain only the mm-snapshot denominator qˉn\bar{q}_n, 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.

AssumptionStatusBasis
11 kernel, Lipschitz partby constructionGaussian and Epanechnikov are peak-normalized and Lipschitz in ϵ\epsilon on every [a,ϵ0][a,\epsilon_0], with LK(a)=2/ϵaL_K(a)=2/\epsilon a and 2/a2/a. The hard indicator is not, and is excluded from the theory.
1 Zϵ∞>01\ Z_{\epsilon\infty}>0holds for GaussianThe Gaussian kernel is strictly positive, so Lϵ∞>0L_{\epsilon\infty}>0 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.
22 denominator classby constructionThe prior support is a box and the archive lies in it, so component means do; the covariance carries an additive jitter 10−9tr⁡(Σ^)/d+10−12bˉ210^{-9}\operatorname{tr}(\widehat{\Sigma})/d+10^{-12}\bar{b}^{2} (bˉ2\bar{b}^{2} the mean squared box width), whose second term is a run-independent floor, giving σ−>0\sigma^{-}>0, and σ+\sigma^{+} 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 qˉn\bar{q}_n does not integrate to one. Assumption 22 does not require that: it constrains a positive function, and the discrepancy is carried by rr instead (§A.1(c)).
44 execution modelholds; 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 q~i\tilde{q}_i the emitted density. What asynchrony leaves in rr is the arrival-order reconstruction of the snapshots, a boundary of at most WW particles per snapshot (§A.1(d)).
33 prior floorby constructionThe retroactive denominator floors the prior component’s mass at δ=0.5/(m+1)\delta=0.5/(m+1) (Appendix § 16), so qˉn≥δπ\bar{q}_n\ge\delta\pi and Lemma 6 bounds every posterior weight by 1/δ1/\delta, independently of what the sampler does.
55 fidelity (9)assumed; two of its four factors measuredThe 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.
{ϵ∞>0}\{\epsilon_\infty>0\} (the event of the limit statements)floor never reached on g-and-k and Cellular Potts; did not meet on Gaussian and Lotka–VolterraThe event concerns the reporting bandwidth only; the sampler’s own bandwidths enter through q~i\tilde{q}_i, on which no condition is placed. A strictly positive min⁡_tol\min\_\mathrm{tol} forces ϵ∞≥min⁡_tol>0\epsilon_\infty\ge\min\_\mathrm{tol}>0, since {ϵn}\{\epsilon_n\} 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 ϵ0\epsilon_0: g-and-k 2.2–3.0 ×10−3\times10^{-3} (and 1.2 ×10−3\times10^{-3} or more at ϵ0=10\epsilon_0=10; the 80380^3 runs never left ϵ0\epsilon_0), g-and-k calibration trials 1.1×10−21.1\times10^{-2}–0.550.55 (a replayed sample of 30 of the 1,000, on 6 workers rather than 48), all above a floor of 10−4ϵ010^{-4}\epsilon_0; Gaussian mean 66–7×10−67\times10^{-6} and Lotka–Volterra 1.31.3–2.4×10−72.4\times10^{-7}, below it. The bandwidth a finite budget reaches is not an asymptotic ϵ∞\epsilon_\infty: 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 rn:=qn⋆/qˉnr_n := q_n^\star/\bar{q}_n. Then for every bounded measurable h:Θ→Rh : \Theta\to\mathbb{R}, almost surely on {ϵ∞>0}\{\epsilon_\infty> 0\},

1n∑i≤nWi,nh(θi)−∫ΘπhLϵnrn⟶0.(10)\frac{1}{n}\sum_{i \le n} W_{i,n} h(\theta_i) - \int_\Theta\pi h L_{\epsilon_n r_n} \longrightarrow0. \tag*{(10)}

Consequently, if in addition lim inf⁡n1n∑i≤nWi,n>0\liminf_n \frac{1}{n}\sum_{i \le n} W_{i,n} > 0, then for every bounded measurable ff,

π^n(f)−πϵnrn(f)⟶0,πϵr(f):=∫Θf πLϵr∫ΘπLϵr.(11)\widehat{\pi}_n(f) - \pi_{\epsilon_n}^{r_n}(f) \longrightarrow0,\qquad\pi_{\epsilon}^{r}(f) := \frac{\int_\Theta f\,\pi L_{\epsilon} r}{\int_\Theta\pi L_{\epsilon} r}. \tag*{(11)}

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 rnr_n. 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 ff, almost surely on {ϵ∞>0}\{\epsilon_\infty> 0\},

π^n(f)⟶πϵ∞r(f)=∫Θf πLϵ∞r∫ΘπLϵ∞r.(12)\widehat{\pi}_n(f) \longrightarrow\pi_{\epsilon_\infty}^{r}(f) = \frac{\int_\Theta f\,\pi L_{\epsilon_\infty} r}{\int_\Theta\pi L_{\epsilon_\infty} r}. \tag*{(12)}

Corollary 3 (exact fidelity). If moreover r≡1r \equiv1, that is, if the denominator is asymptotically the density the sample was drawn from, then π^n(f)→πϵ∞(f)\widehat{\pi}_n(f) \to\pi_{\epsilon_\infty}(f), the smooth-ABC posterior at the limiting bandwidth.

What rr is, and how much of it is measured. Four implementation choices contribute to rr: the prior floor δ\delta in the denominator, the mm reconstructed snapshots standing in for the nn proposals actually used, the approximate normalization of the truncated mixture components, and the sampler’s departures from drawing exactly from qnq_n (Appendix § 14.§ 1). The first two can be estimated from a stored run by recomputing the denominator at a much larger mm 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 rr are bounded rather than measured, the empirical assessment remains partial. The limiting results additionally require rr to converge to a finite, strictly positive function (Table 5). The experiments use S=20S = 20, so m≤21m \le21, and the floor is δ=0.5/(m+1)\delta= 0.5/(m+1) (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 {ϵ∞>0}\{\epsilon_\infty> 0\} for the reporting bandwidth ϵn\epsilon_n in (6). The bandwidths used to construct proposals enter the proofs only through q~i\tilde{q}_i, on which Theorem 1 places no condition. We recommend setting the minimum to 10−4ϵ010^{-4}\epsilon_{0} (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 10−4ϵ010^{-4}\epsilon_{0} (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 10−5ϵ010^{-5}\epsilon_{0} 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 kk: the scheduler holds the bandwidth until 2k2k evaluated particles lie inside it (§ 3.3), only O(k)O(k) 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 nn; 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 dd 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 σ\sigma 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.

Benchmarkddcost/simruntime spreadbudget, workersrole
Gaussian mean10.1 msinjected: straggler 0–20×; lognormal σ≤2\sigma\le2300 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-k42 msnone600 s, 484-D calibration and recovery against a reference posterior
Lotka–Volterra44 mstrajectory-dependent; 98% extinct600 s, 48; scaling to 288strong scaling; the cost boundary
Cellular Potts 50350^3213 sCV 0.053600 s, 48; scaling to 384posterior recovery against a known truth; barrier cost on a real simulator
Cellular Potts 80380^32170 sCV 0.13–0.233600 s, 48barrier 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 80380^3.

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 kk 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 kk-th smallest discrepancy among a method’s first nn completed evaluations, denoted ϵk(n)\epsilon_k(n). It is the threshold at which the best kk 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 ϵk(n)\epsilon_k(n) at the same nn, 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 ϵk(n)\epsilon_k(n) in log⁡n\log n shows whether more simulations keep converting into a tighter tolerance. We use k=100k = 100 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 DiD_i be those per-evaluation durations (recorded simulation time plus the measured per-evaluation coordination overhead). A barrierized generation of WW evaluations takes E[max⁡i≤WDi]\mathbb{E}[\max_{i\le W} D_i], so the synchronous throughput is predicted as Tsync=W/E[max⁡i≤WDi]T_{\mathrm{sync}} = W/\mathbb{E}[\max_{i\le W} D_i]. The expectation is taken by resampling WW durations from the asynchronous record, or from the injected runtime distribution where the heterogeneity is injected. The predicted cost is Tasync/TsyncT_{\mathrm{async}}/T_{\mathrm{sync}} with TasyncT_{\mathrm{async}} the measured asynchronous throughput, and it is compared with the ratio measured against the synchronized variant. For identically distributed, uncensored durations, Tasync=W/E[D]T_{\mathrm{async}} = W/\mathbb{E}[D], and the predicted synchronization penalty reduces to E[max⁡i≤WDi]/E[D]\mathbb{E}[\max_{i\leq W} D_i]/\mathbb{E}[D]. 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 (∑iWi)2/∑iWi2(\sum_i W_i)^2/\sum_i W_i^2. Where a reference posterior exists we report the Wasserstein distance W1W_1 between each method’s own posterior and that reference (in more than one dimension the sliced W1W_1 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 kk best draws. On Cellular Potts, whose truth is known but whose posterior is not, we report each parameter’s contraction 1−sd/sdprior1-\mathrm{sd}/\mathrm{sd}_{\mathrm{prior}} 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 ϵ0\epsilon_0 within the budget (§ 3.3), so ϵ0\epsilon_0 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.

Predicted barrier cost versus measured barrier cost

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 50350^{3} (48–384 workers, earlier parameterization, utilization ratio) and 80380^{3} (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 slowdown0×1×5×10×20×
Asynchronous, sims/s38883112324132183205
Synchronized variant, barrier every WW48.765.331.615.98.0
Synchronized variant, barrier every 112162.8148.431.815.98.0
Synchronized variant, predicted(3870)(154)31.815.97.98
Ratio, measured (every WW)80×48×103×202×402×
Ratio, predicted——102×202×401×
Posterior recovery, W1W_1 to the analytic posterior, at the synchronized variant’s simulation count
Evaluations (= calls per rank ×16)75,10444,51212,3046,3043,200
Bandwidth reached, asynchronous5×10−45 \times10^{-4}7×10−47 \times10^{-4}0.0030.0060.16
Bandwidth reached, synchronized variant every WW5×10−45 \times10^{-4}8×10−48 \times10^{-4}0.061.32.9
ϵ(100)\epsilon(100) of the same history3×10−43 \times10^{-4}5×10−45 \times10^{-4}0.0020.0030.008
Asynchronous at that count0.0110.0090.0100.0100.068
Synchronized variant, barrier every WW0.0130.0070.0160.7891.713
Synchronized variant, barrier every 1120.0090.0090.0090.0171.082
Synchronized variant every WW, re-reported at ϵ(100)\epsilon(100)0.0150.0100.0100.0100.010

Table 9. Synchronized variant on the straggler benchmark (W=16W = 16, 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: W1W_1 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 ϵ(100)\epsilon(100) (§ 6.4).

Heterogeneity σ\sigma00.51.01.52.0
Asynchronous, sims/s47.642.128.917.611.4
Synchronized variant, barrier every WW44.815.14.371.060.37
Synchronized variant, barrier every 9645.119.86.501.750.45
pyABC23.118.99.914.352.39
Ratio, measured (every WW)1.06×2.8×6.6×16.6×29.6×
Ratio, predicted1.00×2.77×6.34×14.0×35.4×
Ratio, pyABC2.1×2.2×2.9×4.1×4.8×
Posterior recovery, W1W1 to the analytic posterior (calls per rank: async 59–13, synchronized variant 440–10)
Evaluations, async2832252717311055684
Evaluations, synchronized variant21,1206,9122,112672480
Bandwidth reached, async550.921.250.78
Bandwidth reached, synchronized variant every WW0.362.4555
Async, at the schedule’s bandwidth2.122.040.680.930.56
Synchronized variant every WW, at the schedule’s bandwidth0.191.432.202.222.28
pyABC, last generation0.530.611.362.192.21
Async, re-reported at ϵ(100)\epsilon_{(100)}0.0110.0110.0100.0130.042
Synchronized variant every WW, re-reported at ϵ(100)\epsilon_{(100)}0.0150.0130.0120.0400.203
Async archive (top 100)0.0180.0170.0160.0140.019

Table 10. Synchronized variant under runtime heterogeneity (W=48W = 48, lognormal runtime multiplier of scale σ\sigma, 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 σ=0\sigma= 0 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 σ\sigma. 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 kk calls in the asynchronous run, so its schedule never ran at σ≤0.5\sigma\le0.5, and the synchronized variant’s ran only at σ≤0.5\sigma\le0.5.

Workers (= cores)4896192384
Throughput ratio, async / synchronized variant1.91×1.87×1.86×2.82×
= utilization ratio1.18×1.19×1.21×1.21×
× simulation-duration ratio1.63×1.59×1.52×2.33×
Straggler factor of the synchronized variant’s generations1.211.281.211.29
Predicted from asynchronous timing1.26×1.30×1.32×(2.34×)

Table 11. The synchronized variant’s slowdown on Cellular Potts 50350^3 (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 503^3 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 80380^{3}, 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 50350^{3} 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).

Strong scaling plots for Lotka–Volterra and Cellular Potts

Figure 3. Strong scaling at a fixed wall-clock budget against pyABC with population max⁡(100,W)\max(100, W). Left: Lotka–Volterra (4 ms; 180 s; medians and inter-quartile ranges over five replicates). Right: Cellular Potts 503^{3} (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.

Throughput and worker idle fraction under runtime heterogeneity

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 σ\sigma (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 ϵ(100)(n)\epsilon_{(100)}(n) 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 n−1n^{-1} trend of rejection ABC in this noise-dominated regime. Their advantage therefore increases with the simulation budget.

Benchmarkcost/simsims (async / sync)throughputper-simulationequal wall clock
Gaussian mean0.1 ms1.31M / 4.61M0.28×0.78× (0.77–1.12)0.24× (0.21–0.28)
g-and-k2 ms1.75M / 3.81M0.46×1.06× (1.02–1.15)0.88× (0.85–0.92)
Lotka–Volterra4 ms1.51M / 1.56M0.96×1.30× (1.08–1.51)1.30× (1.02–1.43)
Cellular Potts13 s12,900 / 5,4002.39×1.6× (1.14–1.94)4.09× (3.1–6.6)

Table 2. Tolerance at a matched budget on every benchmark (k=100k = 100 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: ϵ\epsilon 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.

Four-panel comparison of tolerance against simulations for Gaussian mean, g-and-k, Lotka–Volterra, and Cellular Potts benchmarks, comparing pyABC and Asynchronous (ours)

Figure 9. Tolerance against simulations spent, ϵ(100)(n)\epsilon_{(100)}(n), asynchronous against pyABC on every benchmark (medians and replicate range over five replicates; the slope over the last decade of nn in the legend). The vertical gap at equal nn 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 ϵ(100)\epsilon_{(100)} 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 803^{3} the asynchronous sampler completes 2.1× the simulations and is 2.1× more efficient per simulation.

simsutil.ϵ(100)\epsilon_{(100)}, enddivision ratecell volumeESS
Asynchronous, ϵ0=10\epsilon_0 = 1013,30099.8%6.3×10−56.3 \times10^{-5}84±6%84 \pm6\%13±14%13 \pm14\%645
Asynchronous, ϵ0=0.1\epsilon_0 = 0.112,90099.8%7.6×10−57.6 \times10^{-5}92±1%92 \pm1\%81±1%81 \pm1\%303
pyABC, ϵ0=0.1\epsilon_0 = 0.15,40042.8%3.1×10−43.1 \times10^{-4}91±1%91 \pm1\%72±4%72 \pm4\%66
Rejection ABC, best 100 of 13,00013,000—2.9×10−32.9 \times10^{-3}91%91\%67%67\%100

Table 4. Cellular Potts 50350^3, five replicates per adaptive method and one rejection run, 3600 s on 48 workers (means ±\pm 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 1−sd/sdprior1-\mathrm{sd}/\mathrm{sd}_{\mathrm{prior}}; 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 O(k)O(k) 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.

Throughput ratio and per-simulation efficiency of the asynchronous sampler over pyABC against the cost of one simulation

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).

Workers141648144192240288
Nodes<1<1<113456
Synchronous1059643729523757432245396034
Asynchronous (k=100k = 100)149369198362404195261520881729
Asynchronous (k=1000k = 1000)10613362038042804195715871336

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 k=100k = 100. Enlarging the archive tenfold costs throughput at every scale, because the per-arrival proposal reconstruction is O(k)O(k), 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 (yi∼N(θ2,σ2)y_i \sim\mathcal{N}(\theta^2,\sigma^2)), the case a top-kk 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 AA and gg and near nominal on BB and kk, with BB’s rank histogram the only uniform one at the 1% level. pyABC is near nominal on AA and gg and under-covers BB and kk, with no uniform rank histogram. The top-kk 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 dd-dimensional Gaussian target (Appendix § 19) finds a miscalibrated region at d=8d = 8, k=50k = 50. The same sweep of the archive sizes indicates k=100k = 100 is the best calibrated.

TargetMethod0.500.800.900.95
Gaussian mean (1-D)asynchronous0.510.800.900.94
pyABC0.350.630.750.83
Bimodal N(θ2,σ2)\mathcal{N}(\theta^2,\sigma^2) (1-D)asynchronous0.500.820.910.96
pyABC0.450.820.900.95
g-and-k (4-D), AAasynchronous, full history0.620.910.960.99
pyABC0.540.820.910.95
g-and-k (4-D), BBasynchronous, full history0.540.830.910.96
pyABC0.450.740.850.90
g-and-k (4-D), ggasynchronous, full history0.580.880.950.98
pyABC0.510.820.910.95
g-and-k (4-D), kkasynchronous, full history0.560.830.920.96
pyABC0.470.740.860.92
g-and-k (4-D), AAasynchronous, top-kk archive——0.850.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 W1=0.029W_1 = 0.029 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 10510^5 to 1.3×1061.3 \times10^6 particles. A controlled sweep puts ESS/kk between 1.9 and 3.6 for k∈{50,100,200}k \in\{50, 100, 200\}. 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 kk. 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.

Plots comparing each method’s posterior against analytic and reference posteriors

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 W1W_1 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).

Cellular Potts posterior distributions for division rate and cell volume, showing Asynchronous (ours) (ESS 573), pyABC (ESS 38), Rejection ABC (ESS 100), and truth

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 ϵ0\epsilon_0 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 ϵ0=10\epsilon_0 = 10, twenty times the prior-predictive median discrepancy of 0.46. It reports 13% ±\pm 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 ϵ0\epsilon_0, which ended 321×\times above the tolerance the draws supported, against 2×\times at ϵ0=0.1\epsilon_0 = 0.1. 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 kk-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 kk. Increasing kk does not necessarily solve this limitation: When we recompute the posterior from the same stored history using order-statistic bandwidths as kk increases from 10 to 1000, the bandwidth increases and cell-volume contraction falls from 85% to 78%. Running with k=300k = 300 leaves the schedule at ϵ0\epsilon_0 for the whole hour. On the benchmarks with inexpensive simulators, k=100k = 100 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 kk-th smallest discrepancy (§ 6.4). A floor at 10−4ϵ010^{-4}\epsilon_0 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 10−4ϵ010^{-4}\epsilon_0 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 WW candidates, an O(W/n)O(W/n) perturbation (Proposition 9); the remaining effect operates through the adaptive proposal sequence and is covered by the fidelity ratio rr. A runtime-coupled study found no measurable shift of the posterior mean at the couplings tested, and we do not correct for the O(W/n)O(W/n) 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 (≈30\approx30 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 rr can move the target, and decomposes rr and measures part of it on stored runs.

Relation to existing AMIS theory. For a fixed proposal, the rr-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 1/δ1/\delta with no moment or density-ratio condition. This lets the method use a local archive proposal at all: a proposal built around the kk 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 ζ0:=π∞(∣r−1∣)\zeta_0 := \pi_{\infty}(|r-1|). Then

∥π∞r−π∞∥TV=π∞(∣r−π∞(r)∣)2π∞(r)andζ0<1  ⟹  ∥π∞r−π∞∥TV≤ζ01−ζ0.(13)\left\|\pi_{\infty}^{r}-\pi_{\infty}\right\|_{\mathrm{TV}} = \frac{\pi_{\infty}(|r-\pi_{\infty}(r)|)}{2\pi_{\infty}(r)} \quad\text{and}\quad \zeta_0 < 1 \implies\left\|\pi_{\infty}^{r}-\pi_{\infty}\right\|_{\mathrm{TV}} \le\frac{\zeta_0}{1-\zeta_0}. \tag*{(13)}

If ∣r−1∣≤ηA|r-1| \le\eta_A on a set A⊆ΘA \subseteq\Theta and ∣r−1∣≤M|r-1| \le M off it, then ζ0≤ζ:=ηA+Mπ∞(Ac)\zeta_0 \le\zeta:= \eta_A + M\pi_{\infty}(A^c), and the bound holds with ζ\zeta in place of ζ0\zeta_0 whenever ζ<1\zeta< 1.

The identity says that the tilt moves the target through the variation of rr over posterior mass, not through its distance from one: π∞cr=π∞r\pi_{\infty}^{c r} = \pi_{\infty}^{r} for every constant c>0c > 0. The bound replaces the centered absolute moment by the uncentered ζ0\zeta_0 and the divisor π∞(r)\pi_{\infty}(r) by 1−ζ01-\zeta_0, and is loose by exactly that much. Estimating ζ0\zeta_0 from a stored run requires un-tilting: the hand-normalized weights w^i\widehat{w}_i target π∞r\pi_{\infty}^{r}, not π∞\pi_{\infty}, so ∑iw^i[r(θi)−1]\sum_i \widehat{w}_i[r(\theta_i)-1] estimates π∞r(∣r−1∣)\pi_{\infty}^{r}(|r-1|); weights proportional to Wi,n/r(θi)W_{i,n}/r(\theta_i) target π∞\pi_{\infty} and give ζ^0\widehat{\zeta}_0.

What rr is for this implementation

We decompose rr 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 qˉ(1)=1n∑i<nqi\bar{q}^{(1)} = \frac{1}{n}\sum_{i<n}q_i 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 qˉ(2)\bar{q}^{(2)} by replacing those constants with the implementation’s product-of-marginals values, and qˉ(3)\bar{q}^{(3)} by taking the mm-point draw-proportional version of qˉ(2)\bar{q}^{(2)} carrying the observed share νn\nu_n 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 qˉ\bar{q} for the mm-snapshot denominator (7),

r=lim⁡qˉ⋆qˉ(1)⋅lim⁡qˉ(1)qˉ(2)⋅lim⁡qˉ(2)qˉ(3)⋅lim⁡qˉ(3)qˉr = \lim\frac{\bar{q}^{\star}}{\bar{q}^{(1)}} \cdot\lim\frac{\bar{q}^{(1)}}{\bar{q}^{(2)}} \cdot\lim\frac{\bar{q}^{(2)}}{\bar{q}^{(3)}} \cdot\lim\frac{\bar{q}^{(3)}}{\bar{q}}

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 δ\delta share of the history, λn=δ>νn\lambda_n = \delta> \nu_n and the denominator holds more prior mass than the sample does. With u=q∞/πu = q_\infty/\pi the limiting proposal-to-prior ratio, this contributes rfloor=ν∞+(1−ν∞)uδ+(1−δ)ur_{\mathrm{floor}} = \frac{\nu_\infty+ (1-\nu_\infty)u}{\delta+ (1-\delta)u}, so rfloor−1=(δ−ν∞)(u−1)δ+(1−δ)ur_{\mathrm{floor}} - 1 = \frac{(\delta-\nu_\infty)(u-1)}{\delta+ (1-\delta)u}: rfloorr_{\mathrm{floor}} is exactly 1 when ν∞≥δ\nu_\infty\ge\delta, below 1 wherever the proposal is thinner than the prior, and rfloor→1r_{\mathrm{floor}} \to1 as δ→0\delta\to0, i.e. as mm grows. This is the one contribution available in closed form (Lemma 10).

(b) The snapshot quadrature. The mm-point mixture stands in for the nn-point one, with error at most Vn/mV_n/m where Vn=∑i<n∥qi+1−qi∥∞V_n = \sum_{i<n}\lVert q_{i+1}-q_i\rVert_\infty 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 mm 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 992992 attempts, so component jj, with mixture weight WjW_j and in-box mass ZjZ_j, is realized with probability Wj[1−(1−Zj)992]W_j[1-(1-Z_j)^{992}] and the residual is emitted as a prior draw. A candidate whose proposal-time denominator falls below 10−1210^{-12} is redrawn up to five times, the last one being emitted regardless. The cap changes the distribution relative to unlimited rejection whenever Zj<1Z_j < 1, through the residual probability (1−Zj)992(1-Z_j)^{992}; Zj∼10−3Z_j \sim10^{-3} 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 WW 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 π^n\hat{\pi}_n is a post-hoc pass: recomputing (7) at a much larger mm 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 δ=2.4%\delta= 2.4\%, so (a) contributes ζ^=0.011\hat{\zeta} = 0.011 and (b) 0.024–0.028, together 0.035–0.039 with r∈[0.24,1.41]r \in[0.24, 1.41]. The posterior estimate lies 0.2–0.5% in total variation from the reference at m=400m = 400 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 nn-point mixture is computable, contributions (a) and (b) together give ζ^=0.042\hat{\zeta} = 0.042; 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 ff 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 VnV_n of the reconstructed proposal path, which a stored history makes measurable. Rebuilding qτq_\tau along the five Cellular Potts production replicates, the per-step drift ∥qτ+1−qτ∥∞\lVert q_{\tau+1} - q_\tau\rVert_\infty decays as τ−0.7\tau^{-0.7} to τ−0.95\tau^{-0.95}. The archive’s membership changes only 825–874 times in about 12,900 draws, tracking klog⁡nk \log n at a ratio between 0.54 and 0.92 across the whole run, the rate a record-statistics heuristic predicts, since the kk-th best of nn draws improves with probability ≈k/n\approx k/n. Membership changes alone would thus add O(log⁡n)O(\log n) 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 O(n0.05)O(n^{0.05}) and O(n0.3)O(n^{0.3}). Either way VnV_n grows sublinearly, the regime in which a snapshot count growing faster than VnV_n removes factor (b) (Remark 2). The measurement spans one benchmark over 1.3 decades of nn per replicate, so it is a diagnostic rather than an asymptotic statement.

Fixed versus growing mm. With mm fixed, the mm-point mixture tracks the nn-point one only if the proposal path settles, the error being Vn/mV_n/m. Letting m=mn→∞m = m_n \to\infty with Vn/mn→0V_n/m_n \to0 removes this contribution to rr (it does not give r≡1r \equiv1, since the other three factors remain), and the proof goes through for any mn=o(log⁡n)m_n = o(\log n) provided the floor δ\delta is held fixed rather than tied to mm. The implementation ties them through δ=0.5/(m+1)\delta= 0.5/(m+1), so growing mm there would send δ→0\delta\to0 and lose the uniform weight bound 1/δ1/\delta 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 O(mnk)O(m_n k) instead of O(nk)O(nk), and the literal cumulative mixture is the endpoint mn=nm_n = n at O(n2k)O(n^2 k). On the Gaussian-mean history the posterior estimate is within 3×10−43 \times10^{-4} in total variation of the exact nn-point mixture by m=50m = 50, so a 2.5×2.5\times more expensive post-hoc pass removes factor (b) almost entirely. The paper reports the m=21m = 21 end; § 3.5 gives its cost.

Proofs

Setting

We work with a filtration (Fi)(\mathcal{F}_i) for which, writing Ei−1[ ⋅ ]=E[ ⋅ ∣Fi−1]\mathbb{E}_{i-1}[\,\cdot\,] = \mathbb{E}[\,\cdot\,\mid\mathcal{F}_{i-1}], the pair ξi=(θi,ρi)\xi_i = (\theta_i,\rho_i) is Fi\mathcal{F}_i-measurable and

θi∣Fi−1∼q~i,ρi∣Fi−1∨σ(θi)∼p( ⋅ ∣θi).(14)\theta_i \mid\mathcal{F}_{i-1} \sim\widetilde{q}_i,\qquad\rho_i \mid\mathcal{F}_{i-1} \vee\sigma(\theta_i) \sim p(\,\cdot\,\mid\theta_i). \tag*{(14)}

Particles are indexed by proposal time, not arrival time. Under sequential execution Fi=σ(ξ1,…,ξi)\mathcal{F}_i = \sigma(\xi_1,\ldots,\xi_i) serves and (14) holds by construction. Under asynchronous execution a discrepancy ρi\rho_i may still be in flight when candidate i+1i+1 is proposed, so the σ\sigma-field of everything realized by that moment does not contain ξi\xi_i, 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, ξ1\xi_1 has not been realized. Conditioning on ξ1,ξ2\xi_1,\xi_2 instead does not recover the density worker B emitted either: B built it from ξ2\xi_2 alone, and which results had reached B depends on the durations of the two simulations, which ξ1,ξ2\xi_1,\xi_2 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 wiw_i be the worker that proposes candidate ii (in this lemma and its proof wiw_i is a worker index, not the parent weight of the history) and DiD_i the duration of its simulation, and let Fi:=σ((θj,ρj,Dj,wj)j≤i,E)\mathcal{F}_i := \sigma((\theta_j,\rho_j,D_j,w_j)_{j\le i},\mathcal{E}), where E\mathcal{E} is the σ\sigma-field of the exogenous scheduling randomness of (B3). Then ξi\xi_i is Fi\mathcal{F}_i-measurable and (14) holds with q~i\widetilde{q}_i the proposal density that worker wiw_i emits on the prefix of the history it has received. Moreover, for every τ\tau the arrival-ordered prefix of length τ\tau and the proposal-ordered prefix {1,…,τ}\{1,\ldots,\tau\} differ in at most WW candidates each.

Proof. Candidate ii is proposed when a worker becomes free, so its proposal time TiT_i is the completion time Tj+DjT_j+D_j of an earlier candidate j<ij<i of the same worker (or a start time, for the first WW candidates). By (B3) and induction on ii, the time TiT_i, the worker wiw_i and the set Ai⊂{1,…,i−1}A_i\subset\{1,\ldots,i-1\} of candidates whose results have reached wiw_i by TiT_i are functions of (Tj,Dj,wj)j<i(T_j,D_j,w_j)_{j<i} and of E\mathcal{E}. They are therefore Fi−1\mathcal{F}_{i-1}-measurable. The emitted density qiemq_i^{\mathrm{em}} is a function of the history restricted to AiA_i, so it is Fi−1\mathcal{F}_{i-1}-measurable too. By (B2), θi\theta_i is drawn from qiemq_i^{\mathrm{em}} with randomness independent of Fi−1\mathcal{F}_{i-1}, so the conditional distribution of θi\theta_i given Fi−1\mathcal{F}_{i-1} is qiemq_i^{\mathrm{em}}: the first part of (14), with q~i=qiem\widetilde{q}_i=q_i^{\mathrm{em}}. By (B1) and (B3), (ρi,Di)(\rho_i,D_i) given θi\theta_i is independent of (θj,ρj,Dj,wj)j<i(\theta_j,\rho_j,D_j,w_j)_{j<i} and of E\mathcal{E}, which generate Fi−1\mathcal{F}_{i-1}; hence ρi∣Fi−1∨σ(θi)∼p(⋅∣θi)\rho_i\mid\mathcal{F}_{i-1}\vee\sigma(\theta_i)\sim p(\cdot\mid\theta_i). For the last claim, let PP be the set of candidates proposed before the τ\tau-th arrival and AA the set of the first τ\tau arrivals. Then A⊂PA\subset P, {1,…,τ}⊂P\{1,\ldots,\tau\}\subset P since ∣P∣≥τ|P|\ge\tau, and P∖AP\setminus A is the set in flight at that moment, of size at most WW; so {1,…,τ}∖A⊂P∖A\{1,\ldots,\tau\}\setminus A\subset P\setminus A has at most WW elements, and A∖{1,…,τ}A\setminus\{1,\ldots,\tau\} 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 qτq_{\tau}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 WW particles. This boundary is the asynchrony contribution to rr (§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 q~i\widetilde{q}_i: 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 q‾n=1n∑i≤nq~i\overline{q}_n=\frac{1}{n}\sum_{i\le n}\widetilde{q}_i of (8), for which the denominator q‾n\overline{q}_n of (7) is an mm-component stand-in. Let Q\mathcal{Q} be the set of positive functions of the form (7) whose denominator satisfies Assumption 2; nothing below requires an element of Q\mathcal{Q} to integrate to one. Elements of Q\mathcal{Q} are parameterized by pq=(means, component weights, covariances,α,λ)p_q=(\text{means, component weights, covariances},\alpha,\lambda) ranging over a compact set Pq⊂RDP_q\subset\mathbb{R}^D, D=m(kd+k+d(d+1)/2)+m+1D=m(kd+k+d(d+1)/2)+m+1, the last coordinate being the prior share λ∈[δ,1]\lambda\in[\delta,1] of (7), on which q‾n\overline{q}_n depends affinely.

Lemma 6 (bounded weights). Under Assumptions 2–3, 0≤Wi,n≤1/δ0\le W_{i,n}\le1/\delta for all i≤ni\le n and all nn, surely, whatever the sampler does.

Proof. All components of (7) are non-negative, so q‾n≥δπ\overline{q}_n\ge\delta\pi pointwise on Θ\Theta. Hence Wi,n=π(θi)Kϵn(ρi)/q‾n(θi)≤Kϵn(ρi)/δ≤1/δW_{i,n}=\pi(\theta_i)K_{\epsilon_n}(\rho_i)/\overline{q}_n(\theta_i)\le K_{\epsilon_n}(\rho_i)/\delta\le1/\delta, the last step by Kϵ≤1K_\epsilon\le1 (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 P⊂RDP\subset\mathbb{R}^D be compact and {ψp}p∈P\{\psi_p\}_{p\in P} measurable functions on a measurable space X\mathcal{X} with sup⁡p∥ψp∥∞≤B\sup_p\|\psi_p\|_\infty\le B and ∣ψp(x)−ψp′(x)∣≤Λ∥p−p′∥|\psi_p(x)-\psi_{p'}(x)|\le\Lambda\|p-p'\| for every x∈Xx\in\mathcal{X}. Let (ξi)(\xi_i) be X\mathcal{X}-valued with ξi\xi_i Fi\mathcal{F}_i-measurable. Then

sup⁡p∈P∣1n∑i≤n(ψp(ξi)−Ei−1ψp(ξi))∣⟶0a.s.\sup_{p\in P}\left|\frac{1}{n}\sum_{i\le n}\left(\psi_p(\xi_i)-\mathbb{E}_{i-1}\psi_p(\xi_i)\right)\right|\longrightarrow0 \qquad\text{a.s.}

Proof. Fix pp. The variables Dip:=ψp(ξi)−Ei−1ψp(ξi)D_i^p:=\psi_p(\xi_i)-\mathbb{E}_{i-1}\psi_p(\xi_i) form a martingale difference sequence with ∣Dip∣≤2B|D_i^p|\le2B, so by the Azuma–Hoeffding inequality P(∣∑i≤nDip∣≥nt)≤2exp⁡(−nt2/8B2)\mathbb{P}(|\sum_{i\le n}D_i^p|\ge nt)\le2\exp(-nt^2/8B^2) for every t>0t>0. Fix η>0\eta>0 and let PnP_n be a finite η\eta-net of PP, of cardinality at most Cη−DC\eta^{-D}. A union bound gives P(max⁡p∈Pn∣∑i≤nDip∣≥nt)≤2CPη−Dexp⁡(−nt2/8B2)\mathbb{P}(\max_{p\in P_n}|\sum_{i\le n}D_i^p|\ge nt)\le2C P\eta^{-D}\exp(-nt^2/8B^2), which is summable in nn (the net is fixed, so its cardinality does not grow with nn); by Borel–Cantelli, lim sup⁡nmax⁡p∈Pη∣1n∑i≤nDip∣≤t\limsup_{n}\max_{p\in P_\eta}\left|\frac{1}{n}\sum_{i\le n}D_i^p\right|\le t a.s. For arbitrary p∈Pp\in P pick p′∈Pηp'\in P_\eta with ∥p−p′∥≤η\lVert p-p'\rVert\le\eta; then ∣Dip−Dip′∣≤2Λη\left|D_i^p-D_i^{p'}\right|\le2\Lambda\eta by the Lipschitz hypothesis (which also bounds the conditional expectations), so lim sup⁡nsup⁡p∈P∣1n∑i≤nDip∣≤t+2Λη\limsup_n\sup_{p\in P}\left|\frac{1}{n}\sum_{i\le n}D_i^p\right|\le t+2\Lambda\eta a.s. Intersecting the almost-sure events over the countable family t=1/rt=1/r, η=1/j\eta=1/j with r,j∈Nr,j\in\mathbb{N} (here rr 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 q≥δπq\ge\delta\pi each be either deterministic or Fi−1\mathcal{F}_{i-1}-measurable. Then under (14),

Ei−1[ϕ(θi)Kϵ(ρi)q(θi)]=∫ΘϕLϵq~iq dθ.\mathbb{E}_{i-1}\left[\frac{\phi(\theta_i)K_{\epsilon}(\rho_i)}{q(\theta_i)}\right]=\int_{\Theta}\phi L_{\epsilon}\frac{\widetilde{q}_i}{q}\,\mathrm{d}\theta.

Proof. Condition on Fi−1\mathcal{F}_{i-1}, given which ϵ\epsilon and qq are constants, and integrate first over ρi∼p(⋅∣θi)\rho_i\sim p(\cdot\mid\theta_i), which gives the factor Lϵ(θi)=E[Kϵ(ρ)∣θi]L_{\epsilon}(\theta_i)=\mathbb{E}[K_{\epsilon}(\rho)\mid\theta_i], then over θi∼q~i\theta_i\sim\widetilde{q}_i. Fubini applies because the integrand is bounded by ∥ϕ∥∞/(δπ−)\lVert\phi\rVert_{\infty}/(\delta\pi_-) . An F∞\mathcal{F}_{\infty}-measurable qq, such as the run’s final denominator q‾n\overline{q}_n, is not admissible here; the proof below handles it through uniformity instead. The case ϕ=πh\phi=\pi h is the one used below.

The class used below. Take X=Θ×[0,∞)\mathcal{X}=\Theta\times[0,\infty), ξi=(θi,ρi)\xi_i=(\theta_i,\rho_i), and, for a fixed bounded measurable hh,

ψ(ϵ,pq)(θ,ρ):=π(θ)h(θ)Kϵ(ρ)qpq(θ),(ϵ,pq)∈Pa:=[a,ϵ0]×Pq,a∈(0,ϵ0].(15)\psi_{(\epsilon,p_q)}(\theta,\rho):=\frac{\pi(\theta)h(\theta)K_{\epsilon}(\rho)}{q_{p_q}(\theta)},\qquad(\epsilon,p_q)\in P_a:=[a,\epsilon_0]\times P_q,\qquad a\in(0,\epsilon_0]. \tag*{(15)}

Each PaP_a is compact and deterministic, which matters: Lemma 7 cannot be applied over a parameter set that depends on the run, and [ϵ∞,ϵ0][\epsilon_\infty,\epsilon_0] would be such a set when ϵ∞\epsilon_\infty is random. We therefore apply the lemma on P1/jP_{1/j} for every j∈Nj\in\mathbb{N} with 1/j≤ϵ01/j\le\epsilon_0 and intersect the countably many almost-sure events; since ϵn↓ϵ∞>0\epsilon_n\downarrow\epsilon_\infty>0 a.s., each path has ϵn∈[1/j,ϵ0]\epsilon_n\in[1/j,\epsilon_0] for all nn once 1/j≤ϵ∞1/j\le\epsilon_\infty, so the resulting uniform bound covers (ϵn,q‾n)(\epsilon_n,\overline{q}_n) on that path. No deterministic bandwidth floor is required. On PaP_a, sup⁡∥ψ∥∞≤∥h∥∞/δ\sup\lVert\psi\rVert_\infty\le\lVert h\rVert_\infty/\delta by the computation of Lemma 6. For the Lipschitz hypothesis: each truncated component density ϕ(θ;μj,Σ)/Z(μj,Σ)\phi(\theta;\mu_j,\Sigma)/Z(\mu_j,\Sigma) has parameter-derivatives bounded uniformly over θ∈Θ\theta\in\Theta, because Θ\Theta is compact, σ−2I⪯Σ⪯σ+2I\sigma_-^2I\preceq\Sigma\preceq\sigma_+^2I bounds ϕ\phi and its derivatives, and the truncation mass is bounded below, Z(μj,Σ)≥c0>0Z(\mu_j,\Sigma)\ge c_0>0, uniformly for μj∈Θ\mu_j\in\Theta. The implementation’s constant is the product of per-axis in-box masses, which is where the box form of Θ\Theta in Assumption 2 enters. Each factor is Φ((hid−μjd)/σd)−Φ((lod−μjd)/σd)\Phi((h_{id}-\mu_{jd})/\sigma_d)-\Phi((l_{od}-\mu_{jd})/\sigma_d). Since μjd\mu_{jd} lies in [lod,hid][l_{od},h_{id}], that interval contains a half-width wd/2w_d/2 on one side of μjd\mu_{jd}, giving a factor at least Φ(wd/2σ+)−12>0\Phi(w_d/2\sigma_+)-\frac{1}{2}>0. The product over coordinates, ∏d(Φ(wd/2σ+)−12)\prod_d(\Phi(w_d/2\sigma_+)-\frac{1}{2}), is therefore bounded below by a constant depending only on the box and σ+\sigma_+ and is smooth in (μj,Σ)(\mu_j,\Sigma) with bounded derivatives there. (The exact joint mass is likewise bounded below, as a positive continuous function of (μj,Σ)(\mu_j,\Sigma) 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 q∈Qq\in\mathcal{Q} (a set of positive functions, not necessarily normalized; Assumption 2) obeys δπ−≤q≤q+<∞\delta\pi_-\le q\le q_+<\infty. The map q↦q(θ)q\mapsto q(\theta) is Lipschitz in pqp_q uniformly in θ\theta and depends affinely on the prior share λ\lambda, with coefficients bounded by π+\pi_+ and q+q_+. Because qq is bounded away from 0, 1/q1/q is also Lipschitz. With KϵK_\epsilon Lipschitz in ϵ\epsilon (Assumption 1) and πh\pi h bounded, (15) satisfies the hypotheses of Lemma 7. Note that on {1/j≤ϵ∞}\{1/j\le\epsilon_\infty\} we have (ϵn,q‾n)∈P1/j(\epsilon_n,\overline{q}_n)\in P_{1/j} for every nn, and that q~∞≥δπ\widetilde{q}_\infty\ge\delta\pi 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 (ϵn,qn)(\epsilon_n,q_n) to be substituted, after which Lemma 8 identifies the compensator as the tilted integral.

Work on the event {1/j≤ϵ∞}\{1/j\le\epsilon_\infty\} for a fixed jj, so that p~n:=(ϵn,q‾n)∈P1/j\widetilde{p}_n:=(\epsilon_n,\overline{q}_n)\in P_{1/j} for every nn; the conclusions then follow on the union over jj, which is {ϵ∞>0}\{\epsilon_\infty>0\}. Fix a bounded measurable hh and define, for each fixed p∈P1/jp\in P_{1/j}, Γ‾i(p):=Ei−1[ψp(ξi)]\overline{\Gamma}_i(p):=\mathbb{E}_{i-1}[\psi_p(\xi_i)] and Γ‾n(p):=1n∑i≤nΓ‾i(p)\overline{\Gamma}_n(p):=\frac{1}{n}\sum_{i\le n}\overline{\Gamma}_i(p). On the almost-sure event of Lemma 7 for P1/jP_{1/j} the bound holds simultaneously for all p∈P1/jp \in P_{1/j}, so the function Γˉn\bar{\Gamma}_n may be evaluated at the random p^n\hat{p}_n:

1n∑i≤nWi,nh(θi)=Γˉn(p^n)+o(1)=Lem. 8∫ΘπhLϵnqˉn∗qˉn dθ+o(1)a.s.,(16)\frac{1}{n}\sum_{i\le n} W_{i,n}h(\theta_i) = \bar{\Gamma}_n(\hat{p}_n) + o(1) \overset{\text{Lem. 8}}{=} \int_{\Theta} \pi h L_{\epsilon_n}\frac{\bar{q}_n^*}{\bar{q}_n}\,\mathrm{d}\theta+ o(1) \quad\text{a.s.}, \tag*{(16)}

using 1n∑i≤nq~i=qˉn∗\frac{1}{n}\sum_{i\le n}\tilde{q}_i = \bar{q}_n^*. This is (10). The middle term is the function Γˉn(⋅)\bar{\Gamma}_n(\cdot) evaluated at p^n\hat{p}_n; it must not be read as Ei−1[ψp^n(ξi)]\mathbb{E}_{i-1}[\psi_{\hat{p}_n}(\xi_i)], because p^n\hat{p}_n depends on draws after ii and is not Fi−1\mathcal{F}_{i-1}-measurable, so Lemma 7 does not control that conditional expectation. For (11), apply (10) with h=fh=f and with h≡1h\equiv1, and write An=an+o(1)A_n=a_n+o(1) and Bn=bn+o(1)B_n=b_n+o(1), with An,BnA_n,B_n the two weighted averages and an,bna_n,b_n the two integrals. If lim inf⁡nBn>0\liminf_n B_n>0 then bn≥c>0b_n\ge c>0 for all large nn, and ∣An/Bn−an/bn∣≤∣An−an∣/Bn+∣an/bn∣ ∣bn−Bn∣/Bn→0|A_n/B_n-a_n/b_n|\le|A_n-a_n|/B_n+|a_n/b_n|\,|b_n-B_n|/B_n\to0, since ∣an/bn∣≤∥f∥∞|a_n/b_n|\le\|f\|_\infty. This proves the theorem.

Corollary 2. Split the integral in (10) against ∫πhLϵ∞r\int\pi hL_{\epsilon_\infty}r:

∣∫πhLϵnqˉn∗qˉn−∫πhLϵ∞r∣≤∥h∥∞π+∣Θ∣[RLK(1/j)∣ϵn−ϵ∞∣+∣qˉn∗qˉn−r∣],\left|\int\pi hL_{\epsilon_n}\frac{\bar{q}_n^*}{\bar{q}_n}-\int\pi hL_{\epsilon_\infty}r\right| \le\|h\|_\infty\pi_+|\Theta|\left[R L_K(1/j)|\epsilon_n-\epsilon_\infty|+\left|\frac{\bar{q}_n^*}{\bar{q}_n}-r\right|\right],

on the event {1/j≤ϵ∞}\{1/j\le\epsilon_\infty\} of the localization above, using ∣Lϵn−Lϵ∞∣≤LK(1/j)∣ϵn−ϵ∞∣|L_{\epsilon_n}-L_{\epsilon_\infty}|\le L_K(1/j)|\epsilon_n-\epsilon_\infty| (Assumption 1 and Jensen; every ϵn\epsilon_n and ϵ∞\epsilon_\infty lies in [1/j,ϵ0][1/j,\epsilon_0] there) and Lϵ∞≤1L_{\epsilon_\infty}\le1. Here R=r++1R=r_++1 bounds qˉn∗/qˉn\bar{q}_n^*/\bar{q}_n for all large nn by (9), with no structural bound on q~i\tilde{q}_i needed. Both bracketed terms vanish, the first because ϵn→ϵ∞\epsilon_n\to\epsilon_\infty and the second by (9). Hence 1n∑iWi,nh(θi)→∫πhLϵ∞r\frac{1}{n}\sum_i W_{i,n}h(\theta_i)\to\int\pi hL_{\epsilon_\infty}r a.s. on the event. Applying this with h=fh=f and with h≡1h\equiv1 and dividing, which is legitimate because Zr=∫πLϵ∞r≥r−Zϵ∞>0Z_r=\int\pi L_{\epsilon_\infty}r\ge r_-Z_{\epsilon_\infty}>0, gives π^n(f)→πϵ∞r(f)\hat{\pi}_n(f)\to\pi_{\epsilon_\infty}^r(f). Corollary 3 is the case r≡1r\equiv1. (Theorem 1 does not use the monotonicity of ϵn\epsilon_n, only ϵ∞>0\epsilon_\infty>0; for a schedule that may loosen one localizes on {ϵn≥1/j for all large n}\{\epsilon_n\ge1/j\text{ for all large }n\} instead.) □

Remark 1. Theorem 1 uses nothing about the form of q~i\tilde{q}_i, 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 qˉn∗\bar{q}_n^* is tracked by the denominator qˉn\bar{q}_n 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 n′n' candidates, of which the set RR still in flight, ∣R∣≤W|R|\le W, has no discrepancy; the estimate is computed from the n=n′−∣R∣n=n'-|R| completed ones. Let π^n′(f)\hat{\pi}_{n'}(f) be the estimate the launched set would give at the same bandwidth and denominator, i.e. with the sums in (6) extended over all n′n' candidates, the unobserved discrepancies included.

Proposition 9 (deadline censoring). Under Assumptions 1–3, for every bounded ff,

∣π^n(f)−π^n′(f)∣≤2∥f∥∞∣R∣/δ∑i≤n′Wi,n≤2∥f∥∞Wδ n W‾n,W‾n:=1n∑i≤nWi,n.\left|\hat{\pi}_n(f)-\hat{\pi}_{n'}(f)\right| \le\frac{2\|f\|_\infty|R|/\delta}{\sum_{i\le n'}W_{i,n}} \le\frac{2\|f\|_\infty W}{\delta\,n\,\overline{W}_n}, \qquad\overline{W}_n:=\frac{1}{n}\sum_{i\le n}W_{i,n}.

The censoring is therefore negligible whenever W/n→0W/n\to0 and the average weight stays bounded below, and it is o(n−1/2)o(n^{-1/2}) whenever W=o(n)W=o(\sqrt{n}).

Proof. Write WiW_i for Wi,nW_{i,n}, A=∑i≤n′, i∉RWif(θi)A=\sum_{i\le n',\,i\notin R}W_i f(\theta_i), B=∑i≤n′, i∉RWiB=\sum_{i\le n',\,i\notin R}W_i, a=∑i∈RWif(θi)a=\sum_{i\in R}W_i f(\theta_i) and b=∑i∈RWib=\sum_{i\in R}W_i. Then π^n(f)−π^n′(f)=(A+a)/(B+b)−A/B=(a−(A/B)b)/(B+b)\hat{\pi}_n(f)-\hat{\pi}_{n'}(f)=(A+a)/(B+b)-A/B=(a-(A/B)b)/(B+b), and ∣a−(A/B)b∣≤∑i∈RWi∣f(θi)−A/B∣≤2∥f∥∞b|a-(A/B)b|\le\sum_{i\in R}W_i|f(\theta_i)-A/B|\le2\|f\|_\infty b. Lemma 6 gives b≤∣R∣/δ≤W/δb\le|R|/\delta\le W/\delta, and B+b≥B=nW‾nB+b\ge B=n\overline{W}_n. □

The launched set is the one the filtration of Lemma 5 indexes, so Theorem 1 and its corollaries apply to π^n′\hat{\pi}_{n'}, 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 WW 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 q~i\tilde{q}_i and is corrected by the importance weighting up to rr. On the five Cellular Potts production replicates, W‾=48\overline{W}=48 and n≈12,900n\approx12{,}900, so W/n≈0.4%W/n\approx0.4\%; the worst-case factor 1/δ≈421/\delta\approx42 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 mm to be fixed except the compactness and fixed dimension DD of PqP_q, and the fixed floor δ\delta. The implementation ties δ\delta to mm as 0.5/(m+1)0.5/(m+1), so the two must be decoupled before mm is allowed to grow, since Lemma 6’s bound is 1/δ1/\delta. With δ\delta fixed and m=mn→∞m = m_n \to\infty, run the proof of Lemma 7 with an nn-dependent net: the union bound costs Dnlog⁡(1/ηn)D_n \log(1/\eta_n) with Dn=Θ(mn)D_n = \Theta(m_n), and the Lipschitz constant over the mixture weights grows at most polynomially in mnm_n, so choosing ηn→0\eta_n \to0 fast enough leaves the Borel–Cantelli step summable for any mn=o(n/log⁡n)m_n = o(n/\log n). In that regime factor (b) of rr (§A.1) vanishes whenever Vn/mn→0V_n/m_n \to0, with Vn=∑i<n∥qi+1−qi∥∞V_n = \sum_{i<n} \lVert q_{i+1} - q_i \rVert_\infty the total variation of the proposal path: the draw-proportional mnm_n-point mixture is then a converging quadrature of the empirical mixture. The retroactive pass costs O(nmnk)O(nm_nk).

Proof of Proposition 4

Write π\pi for πϵ∞\pi_{\epsilon\infty}. For bounded ff, since πr(f)=π(fr)/π(r)\pi^r(f) = \pi(fr)/\pi(r) and π(r−π(r))=0\pi(r-\pi(r)) = 0,

πr(f)−π(f)=π(f(r−π(r)))π(r)=π((f−c)(r−π(r)))π(r)\pi^r(f)-\pi(f)=\frac{\pi\left(f\left(r-\pi(r)\right)\right)}{\pi(r)}=\frac{\pi\left((f-c)\left(r-\pi(r)\right)\right)}{\pi(r)}

for every constant cc.

The supremum of the modulus over ∥f∥∞≤1\lVert f\rVert_\infty\le1 is attained at f=sign⁡(r−π(r))f = \operatorname{sign}(r-\pi(r)) and equals π(∣r−π(r)∣)/π(r)\pi(\lvert r-\pi(r)\rvert)/\pi(r); halving gives the identity. For the bound, the first form also reads [π(f(r−1))−π(f)π(r−1)]/π(r)[\pi(f(r-1))-\pi(f)\pi(r-1)]/\pi(r), whose modulus is at most 2∥f∥∞ζ0/(1−ζ0)2\lVert f\rVert_\infty\zeta_0/(1-\zeta_0) because π(r)≥1−ζ0\pi(r) \ge1-\zeta_0; the supremum over ∥f∥∞≤1\lVert f\rVert_\infty\le1, halved, is ζ0/(1−ζ0)\zeta_0/(1-\zeta_0). Under the set hypothesis ζ0≤ηAπ(A)+Mπ(Ac)≤ζ\zeta_0 \le\eta_A\pi(A)+M\pi(A^c) \le\zeta, and x↦x/(1−x)x \mapsto x/(1-x) increases on [0,1)[0,1). For ζ0≥1\zeta_0 \ge1 only the trivial ∥⋅∥TV≤1\lVert\cdot\rVert_{\mathrm{TV}} \le1 survives. □

Lemma 10 (prior-floor factor). With u=q∞/πu=q_\infty/\pi the limiting proposal-to-prior ratio and ν∞<δ\nu_\infty<\delta the limiting bootstrap share, the prior floor’s contribution to rr in §A.1(a) is

rfloor−1=ν∞+(1−ν∞)uδ+(1−δ)u−1=(δ−ν∞)(u−1)δ+(1−δ)u,r_{\mathrm{floor}}-1=\frac{\nu_\infty+(1-\nu_\infty)u}{\delta+(1-\delta)u}-1=\frac{(\delta-\nu_\infty)(u-1)}{\delta+(1-\delta)u},

and on {u≥c}\{u\ge c\}, splitting at u=1u=1 and bounding each branch, ∣rfloor−1∣≤(δ−ν∞)max⁡{(1−δ)−1,(δ+(1−δ)c)−1}\lvert r_{\mathrm{floor}}-1\rvert\le(\delta-\nu_\infty)\max\{(1-\delta)^{-1},(\delta+(1-\delta)c)^{-1}\}, which is the ηA\eta_A of Proposition 4 for A={u≥c}A=\{u\ge c\}. The factor is identically 1 when ν∞≥δ\nu_\infty\ge\delta, and →1\to1 as δ→0\delta\to0.

Proof. Evaluate (9) for the floor alone: the draw mixture is ν∞π+(1−ν∞)q∞\nu_\infty\pi+(1-\nu_\infty)q_\infty and the denominator δπ+(1−δ)q∞\delta\pi+(1-\delta)q_\infty; divide both by π\pi 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).

PropertyClassical ABC-SMCThis work
Update stylegeneration, barrier-synchronizedevent-driven (single-arrival), no barrier
Archiveexplicit, generationalreconstructed, sliding top-kk
ABC likelihoodhard thresholdsmooth kernel
Importance weightagainst qt−1q_{t-1} onlybalance heuristic over S\mathcal{S}
Archive statemutable, carriednone; reconstructed per call
Posterior estimatefinal populationpure 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.

SymbolMeaningOptionValue
kkarchive sizek100 (200 in the four-dimensional calibration runs)
ϵ0\epsilon_0starting bandwidthtol_init5 (Gaussian mean), 10 (g-and-k), 5×1055 \times10^{5} (Lotka–Volterra), 0.1 (Cellular Potts; 10 in its earlier parameterization)
KϵK_{\epsilon}ABC kernelkernelGaussian
ssscale of the perturbation covariance Σn\Sigma_nperturbation_scale0.8
SSkept snapshotsamis_snapshots20
snapshot cadence, in callsamis_intervalkk
ESS retention per searchess_target0.95
largest tightening per searchmax_tighten_factor0.5
search cadence, in calls per rankbisect_intervalkk
μ\muacceptance gate: hold until k+μk+\mu particles lie within ϵ\epsilonadditional_needed_indskk
bandwidth floor; a positive value puts the run on {ϵ∞>0}\{\epsilon_\infty> 0\} (§ 4)min_tol10−4ϵ010^{-4}\epsilon_0 recommended; unset in the reported runs, where that value is never reached on g-and-k or Cellular Potts (§ 4)
δ\deltaprior floor in qˉn\bar{q}_n—0.5/(m+1)0.5/(m+1)

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 k=N=12k=N=12. Row (a) is textbook PMC with a quantile schedule and a hard threshold, weights ωi(t+1)∝π(θi)/qt(θi)\omega_i^{(t+1)}\propto\pi(\theta_i)/q_t(\theta_i) normalized over the NN kept. Point sizes vary where weights do (a1–a3 by ω(t)\omega^{(t)}, a6 by ω(t+1)\omega^{(t+1)}, b3 by the archive weights W~j\widetilde{W}_j); shading in b1 is the discrepancy (light: far); darkened stacks are Σt\Sigma_t and Σn\Sigma_n; 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 ρ\rho, the Gaussian KϵnK_{\epsilon_n} 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 w∗=1w^*=1 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 ϵhist\epsilon_{\mathrm{hist}} (§ 3.3), so the effective bandwidth can only decrease. Let μ\mu denote a margin of additional particles (default μ=k\mu=k); it is unrelated to the snapshot count mm of § 4. The bandwidth is held until k+μk+\mu evaluated particles lie within it (the acceptance gate). After that, a search proposes the largest ϵ\epsilon at which the kernel-weighted effective sample size of those particles retains a target fraction (default 0.950.95) 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 (=k=k) 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 AnA_n is the top-kk history members by smallest discrepancy. Component weights are formed in log-space as W~j∝wjKϵn(ρj)\widetilde{W}_j \propto w_j K_{\epsilon_n}(\rho_j) and normalized (a uniform fallback is used if all smooth weights underflow). The perturbation covariance is Σn=s[Cov⁡^W~(An)+λnI]\Sigma_n=s\left[\widehat{\operatorname{Cov}}_{\widetilde{W}}(A_n)+\lambda_n I\right] with ss the perturbation_scale and a two-part jitter λn=10−9τCov⁡^W~(An)/d+10−12bˉ2\lambda_n=10^{-9}\tau_{\widehat{\operatorname{Cov}}_{\widetilde{W}}(A_n)}/d+10^{-12}\bar{b}^{2}, where bˉ2\bar{b}^{2} 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 ∼10−4\sim10^{-4}) is not swamped by the floor as a fixed 10−610^{-6} 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 rr (§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 ρ\rho with probability Kϵ(ρ)K_{\epsilon}(\rho) (peak-normalized so Kϵ(0)=1K_{\epsilon}(0)=1), using the same kernel KϵK_{\epsilon} 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 qˉn\bar{q}_n at each of the nn evaluated particles. The denominator is a draw-proportional mixture of m≤S+1m \le S+1 history-reconstructed proposals (21 at the S=20S=20 of every experiment) and a defensive prior component (mass floored at δ=0.5/(m+1)\delta=0.5/(m+1)). The total cost is O(nmk)=O(nk)O(nmk)=O(nk) with mm fixed. The snapshot indices are spread over the narchn_{\mathrm{arch}} archive-phase calls: 0,step,2 step,…0,\mathrm{step},2\,\mathrm{step},\ldots, with step=max⁡(1,⌊narch/S⌋)\mathrm{step}=\max(1,\lfloor n_{\mathrm{arch}}/S\rfloor). The most recent archive-phase proposal is added if it is not already among them. Hence m≤S+1m \le S+1 rather than SS, and m=2m=2 when S=0S=0. 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 O(107)O(10^7) particles, so the pass is accumulated in chunks of 216=65,5362^{16}=65{,}536 history points: peak memory is O(chunk⋅m⋅k)O(\mathrm{chunk}\cdot m\cdot k) rather than O(n)O(n). 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 k=100k=100, m=20m=20 over nn from 2.5×1042.5\times10^4 to 10610^6, the pass costs 49.3 s per 10610^6 particles on a single core and is linear in nn, so the 3×1073\times10^7-particle Gaussian history extrapolates to ≈25\approx25 minutes; peak memory is flat in nn, 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 “WW-worker” point allocates WW 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 W−1W-1 simulating ranks. We report the allocated WW for both and do not correct the resulting advantage of 1/W1/W for the asynchronous sampler (2.1% at W=48W=48, 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 1.2×1051.2\times10^5-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 7.6×10−37.6\times10^{-3}, against 7.5×10−47.5\times10^{-4} for an uninterrupted run). It is not a bit-identical replay (the two posterior means differ by 6.9×10−36.9\times10^{-3}), 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.

ExperimentWorkersBudget (s)RepskkMethods
Gaussian mean483005100A,S,R
gg-and-kk486005100A,S,R
Lotka–Volterra486005100A,S
Cellular Potts 50350^{3}4836005100A,S,R
Cellular Potts 80380^{3}4836003100A,S,R
Straggler163005100A,S
Runtime heterogeneity48605100A,S
Parameter-coupled runtime‡48605100A,S
Strong scaling (LV)1–2881805100/1000A,S
Strong scaling (CPM)§1–38418003–5100A,S
Synchronized variant§16 / 48 / 48–384sims†5100T,A
Sensitivity48300550/200A
Ablation483005100A
SBC (Gaussian, 1-D)4820k†1000100A,S
SBC (bimodal)4820k†1000100A,S
SBC (gg-and-kk, 4-D)4840k†1000200A,S
SBC (gg-and-kk, 2×)4880k†500200A,S
Kill-and-resume4120k†1100A

Table 8. Resolved experiment configurations. Workers, per-run wall-clock budget, replicates (trials for SBC), archive size kk, 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 50350^{3} 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 (kk 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 k∈{100,1000}k \in\{100, 1000\}; 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: nobs=100n_{\mathrm{obs}} = 100 observations ∼N(0,1)\sim\mathcal{N}(0,1), prior μ∼U[−5,5]\mu\sim\mathcal{U}[-5,5], summary the sample mean, discrepancy ∣xˉsim−xˉobs∣\lvert\bar{x}_{\mathrm{sim}}-\bar{x}_{\mathrm{obs}}\rvert; the closed-form Gaussian posterior is the calibration and recovery reference. gg-and-$k: the quantile-defined gg-and-kk distribution (c=0.8c = 0.8), nobs=1000n_{\mathrm{obs}} = 1000, true (A,B,g,k)=(3,1,2,0.5)(A,B,g,k) = (3,1,2,0.5), priors A∼U[0,6]A \sim\mathcal{U}[0,6], B∼U[0.1,4]B \sim\mathcal{U}[0.1,4], g∼U[0,5]g \sim\mathcal{U}[0,5], k∼U[0,1]k \sim\mathcal{U}[0,1]; 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 (X0,Y0)=(50,100)(X_0,Y_0) = (50,100) over Tmax⁡=30T_{\max} = 30, true rates θ=(0.5,0.025,0.025,0.5)\theta= (0.5,0.025,0.025,0.5), priors θ1,θ4∼U[0.05,2]\theta_1,\theta_4 \sim\mathcal{U}[0.05,2] and θ2,θ3∼U[0.001,0.2]\theta_2,\theta_3 \sim\mathcal{U}[0.001,0.2]; summary the six statistics (X‾,sd⁡X,Y‾,sd⁡Y,log⁡(1+var⁡X/X‾),log⁡(1+var⁡Y/Y‾))(\overline{X},\operatorname{sd}X,\overline{Y},\operatorname{sd}Y,\log(1+\operatorname{var}X/\overline{X}),\log(1+\operatorname{var}Y/\overline{Y})), 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 ≈94\approx94 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 “WW-worker” point occupies WW physical cores packed onto ⌈W/48⌉\lceil W/48 \rceil fully-reserved nodes. The production experiment of the three benchmarks with inexpensive simulators (Gaussian mean, gg-and-kk, 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 50350^{3} lattice for 501 steps (an 80380^{3} 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 (∣cos⁡∣=0.07|\cos| = 0.07). Every other candidate parameter moves the summaries only through the cell count. At 50350^{3}, 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 ∣cos⁡∣≥0.8|\cos| \ge0.8. At 80380^{3}, 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 80380^{3} systems comparison, and the theory diagnostics of Appendix § 14. The earlier configuration was used by the 50350^{3} synchronized variant and scaling experiments (the 50350^{3} 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 [6×10−56 \times10^{-5}, 0.6] and [0, 10410^{4}] (true normalized values 0.0499 and 0.2). Each evaluation comprised one simulation (5.1 s at 50350^{3}, 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.

Worker utilization versus worker count for asynchronous sampling and pyABC

Figure 13. Cellular Potts 50350^{3} worker utilization, earlier parameterization (fraction of worker wall-clock spent inside the simulator) versus worker count (1800 s budget; error bars are ±1\pm1 standard deviation); pyABC uses a population equal to the worker count (Figure 3, right). The asynchronous sampler stays ≈98.9\approx98.9–99.8%99.8\% 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 ≈24\approx24–29%29\% (41%→24%→26%→29%41\% \to24\% \to26\% \to29\% at 48/96/192/384 workers, i.e. ≈70\approx70–76%76\% 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 σ\sigma grows and its archive’s posterior-mean error to the analytic posterior climbs from ≈0.05\approx0.05 to ≈0.28\approx0.28, while the asynchronous sampler completes several-fold more and its archive holds ≈0.007\approx0.007–0.0110.011. These are archive means; the posterior estimates of both samplers in this experiment are scored in Table 10.

Inference per unit wall clock under runtime heterogeneity

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-kk archive, not π~n\tilde{\pi}_n; § 6.4) to the analytic posterior mean, against the runtime spread σ\sigma. Right: simulations completed within the budget. The barrier starves pyABC as σ\sigma 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 16/2.004=7.9816/2.004 = 7.98 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 W1=0.010W_1 = 0.010 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 ϵ(100)\epsilon_{(100)} 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 μ\mu as d(μ)=min⁡(d0ec(μ−μc)/ℓ,dmax⁡)d(\mu)=\min(d_0 e^{c(\mu-\mu_c)/\ell},d_{\max}) with d0=0.02d_0=0.02 s, μc=0\mu_c=0, ℓ=0.15\ell=0.15 and dmax⁡=0.5d_{\max}=0.5 s. We sweep c∈{0,0.5,1,2}c\in\{0,0.5,1,2\}; c=0c=0 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 cc increases, aggregate throughput falls by ≈43%\approx43\% for the asynchronous sampler, and the decrease with cc is larger for pyABC (Figure 10a).

Parameter-coupled runtime on the Gaussian-mean benchmark

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 c=0.5c = 0.5 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 ≈0.01\approx0.01 at every coupling, comparable to pyABC, which discards latecomers (Figure 10b). This posterior-mean result holds with or without AMIS (S=0S=0), 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 ≈0.99\approx0.99 to ≈0.88\approx0.88 and widens the central 90% interval by ≈15%\approx15\%. 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 W/n≪1W/n\ll1. 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 ≈4\approx4 ms, so there is little per-evaluation compute to distribute, and an instrumented run (Figure 11) shows a worker inside the simulator ≈25%\approx25\% of its time at the 48-worker throughput peak, falling to ≈8%\approx8\% and ≈2%\approx2\% 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 O(k)O(k). Raising kk to 1000 costs 39% of the single-node peak throughput. Sweeping kk over {50,100,200,400,800,1000}\{50, 100, 200, 400, 800, 1000\} shows that throughput falls smoothly and monotonically as kk grows, and that the node count at which pyABC overtakes moves by a single step, from beyond three nodes to three nodes at k≥400k \ge400 (Table 14).

Measured decomposition of asynchronous worker wall-time on Lotka–Volterra

Figure 11. Measured decomposition of asynchronous worker wall-time on Lotka–Volterra (k=100k = 100; 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.

kksims/s at W=48W=48vs. k=100k=100worst ∣Δcov∣\lvert\Delta\mathrm{cov}\rvertatpyABC overtakes
506684+7%0.250d=8d=8beyond 3 nodes
1006240—0.064d=4d=4beyond 3 nodes
2005904−5%0.180d=8d=8beyond 3 nodes
4005393−14%0.195d=8d=83 nodes
8004331−31%0.074d=1d=13 nodes
10003804−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 (k∈{100,1000}k \in\{100, 1000\} from the main scaling run, k∈{50,200,400,800}k \in\{50, 200, 400, 800\} from the matched kk-frontier run), and its change relative to the k=100k=100 we use throughout. Calibration: worst absolute deviation of empirical from nominal coverage over the dimensions of the dd-dimensional Gaussian-mean sweep at S=20S=20 (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 k=1000k=1000. Bold marks the best value per column.

Calibration against the archive size and the snapshot buffer

The calibration tests of § 6.4 fix kk and SS 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 dd-dimensional Gaussian-mean target, yi∼N(θ,σ2Id)y_i \sim\mathcal{N}(\theta,\sigma^2 I_d) with θ∈Rd\theta\in\mathbb{R}^d 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 d∈{1,2,4,8,16}×k∈{50,100,200,400,800}×S∈{0,5,20,50}d \in\{1, 2, 4, 8, 16\} \times k \in\{50, 100, 200, 400, 800\} \times S \in\{0, 5, 20, 50\}, 1000 trials per cell, reporting the same full-history estimator (Table 13). SS 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 S=0S = 0 the denominator holds only the first and the last reconstructed proposal, so the S=0S = 0 column tests the posterior-side mixture as much as the online buffer. At S=0S = 0 the estimator is over-confident in one and two dimensions (mean deviation −0.088); every S≥5S \ge5 removes that deviation, and the experiments use S=20S = 20.

archive size kk (at S=20S = 20)
50100200400800
d=1d = 1-0.014-0.003+0.006+0.006+0.074
d=2d = 2-0.020-0.006+0.009+0.030+0.072
d=4d = 4+0.025+0.064+0.094+0.133+0.063
d=8d = 8-0.250+0.055+0.180+0.195+0.061
d=16d = 16-0.047+0.028+0.049+0.053+0.055
snapshot buffer SS (at k=100k = 100)
052050
d=1d = 1-0.088-0.001-0.003-0.005
d=2d = 2-0.088-0.001-0.006-0.003
d=4d = 4+0.039+0.068+0.064+0.064
d=8d = 8+0.065+0.006+0.055+0.074
d=16d = 16-0.010+0.010+0.028+0.034

Table 13. Calibration sensitivity to the archive size kk and the AMIS snapshot buffer SS on the dd-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 dd parameters). Negative is over-confident, positive is conservative; 0.000 is exactly calibrated. Left: varying kk at S=20S = 20. Right: varying SS at k=100k = 100.

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 O(k)O(k), so a larger archive is slower at every worker count; § 6.3. Table 14 puts the throughput cost of kk next to its worst-case miscalibration over the dimensions swept, using a throughput grid matched on everything but kk (Lotka–Volterra, 180 s wall cap, five replicates, worker counts 1–288: k∈{100,1000}k \in\{100, 1000\} from the main scaling run and k∈{50,200,400,800}k \in\{50, 200, 400, 800\} from a dedicated kk-frontier run sharing that configuration). Of the six archive sizes, only the two smallest are Pareto-optimal. The setting k=100k = 100 is both the best-calibrated one tested (worst deviation 0.064, at d=4d = 4) 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: k=200k = 200 is 5% slower and nearly three times worse calibrated (0.180), k=400k = 400 is 14% slower with a deviation of 0.195, and k=800k = 800 costs 31% of throughput and is still slightly worse calibrated than k=100k = 100 (0.074). The only faster archive, k=50k = 50, fails calibration (0.250 at d=8d = 8). 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 dd; throughput needs the regime where an O(k)O(k) per-arrival cost is most exposed), so the throughput column is an upper bound on the relative cost of kk. At scale, kk shifts the crossover with pyABC (population equal to the worker count) by a single step: pyABC overtakes beyond three fully packed nodes for k≤200k \le200 and at three nodes for k≥400k \ge400 (last column).

Worker utilization on Cellular Potts at 50350^3

Lotka–Volterra extinction

The simulator has an absorbing state: if either population reaches zero before Tmax⁡T_{\max}, 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 p(θ∣sobs,survived)p(\theta\mid s_{\mathrm{obs}}, \mathrm{survived}), which is internally consistent: the extinct particles’ zero weight is the P(survive∣θ)P(\mathrm{survive} \mid\theta) 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 ≈2%\approx2\% 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.

Simulation-based calibration plots for Gaussian-mean inference

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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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.

Paper details

vlnc:W_j3xhr8jz
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Mathematics

Claude Opus, GPT Astra, Claude Fable · View statement →

Looking for related papers…
Contents