A population data-driven workflow for COVID-19 modeling and learning

CityCOVID is a detailed agent-based model that represents the behaviors and social interactions of 2.7 million residents of Chicago as they move between and colocate in 1.2 million distinct places, including households, schools, workplaces, and hospitals, as determined by individual hourly activity schedules and dynamic behaviors such as isolating because of symptom onset. Disease progression dynamics incorporated within each agent track transitions between possible COVID-19 disease states, based on heterogeneous agent attributes, exposure through colocation, and effects of protective behaviors of individuals on viral transmissibility. Throughout the COVID-19 epidemic, CityCOVID model outputs have been provided to city, county, and state stakeholders in response to evolving decision-making priorities, while incorporating emerging information on SARS-CoV-2 epidemiology. Here we demonstrate our efforts in integrating our high-performance epidemiological simulation model with large-scale machine learning to develop a generalizable, flexible, and performant analytical platform for planning and crisis response.

Justification for ACM gordon bell special prize for HPC-based COVID-19 research We 1. implement a distributed COVID-19 ABM in Chicago, modeling 2.7 million individuals moving between 1.2 million places with hourly activity schedules; 2. run mixed Bayesian calibration and ABM workflows at full machine scale and 84% utilization on ALCF Theta; 3. provide forecasts and counterfactual analyses to city and state public health departments.

Performance attributes
Attribute Value

Scalability and time to solution
Type of method used Bayesian optimization and agent-based modeling Results reported

Whole application including I/O Precision reported
Discrete System scale Measured on full-scale system Measurement mechanism Utilization and application metrics

Overview
The COVID-19 epidemic has brought epidemiological modeling to the forefront of discussions on how evidencebased decision-making can be supported in times of crisis and uncertainty. Since the beginning of March 2020 we have applied CityCOVID, a detailed agent-based model (ABM) that represents the 2.7 million residents of Chicago in terms of people (behaviors and social interactions), places (1.2 million unique geolocations including households, schools, workplaces, and hospitals), and hourly activity schedules, with the aim of understanding COVID-19 transmission dynamics and potential effects of nonpharmaceutical interventions (NPIs). CityCOVID is based on the ChiSIM framework (Macal et al., 2018) and Repast HPC , which enable the creation of efficient, urban-scale MPI-distributed agent-based models (ABMs). Each individual, or agent, in the model includes its own individualized disease progression dynamic that determines transitions between possible COVID-19 disease states. Transitions have functional dependence on heterogeneous agent attributes, exposure through colocation over time with infected individuals, and other factors such as the effects of protective behaviors on viral transmissibility. Our detailed modeling approach is substantially more computationally demanding than other types of modeling methods being applied to COVID-19, such as statistical models and compartmental models. However, in contrast to statistical models, which tend to be retrospective, we are able to investigate novel interventions that have not been implemented yet. When compared with compartmental models, we can simulate more specific and realistic NPIs, such as imposing restrictions on specific types of businesses, or detailed school attendance models, closely resembling those being considered by public health officials.
A central element in the application of epidemiological models is running in silico experiments for model calibration, scenario analyses, and uncertainty quantification, what we refer to as model exploration (ME) . These processes often require sophisticated machine learning (ML) algorithms to automate iterative, or sequential, strategic explorations of possible model behaviors, since brute-force approaches are not generally feasible even with the largest computing resources. Substantial advancements are being made in sequential ML algorithms that can be applied to ME. However, implementing dynamic ME processes at the necessary computational scales poses serious challenges, not the least of which is the need for efficiently dispatching and coordinating mixed workloads related to ML algorithms and complex models such as CityCOVID.
We developed the EMEWS framework (Ozik et al., 2016), built on Swift/T (Wozniak et al., 2013a), expressly to enable large-scale ME as ML-driven HPC workflows, which can be run on leadership-scale resources. Throughout the epidemic, members of our group have been regularly meeting with city, county, and state stakeholders and providing them with CityCOVID model outputs in response to their evolving priorities. Given the dynamic nature of information on the epidemiology of SARS-CoV-2 and the shifting foci of NPIs, we have engaged in a concerted effort to address computational efficiency across multiple dimensions and to reduce the "time to analysis." The work we present here covers the approaches we took, including the following: 1. Parallelization, load balancing, and caching within CityCOVID 2. Applying multiple large-scale ML algorithms, such as multiobjective approximate Bayesian computation and Bayesian optimization, for model calibration and uncertainty quantification 3. Coordinating single-node ML tasks and ordered multinode MPI tasks in a scalable HPC workflow 4. Connecting the system to the real world via observed data and database access We demonstrate the scaling performance of our integrated approach through whole-machine runs on the Argonne Leadership Computing Facility (ALCF) Theta supercomputer. Furthermore, we discuss the potential impact of this work in developing novel use cases for HPC resources beyond COVID-19 to a generally applicable decision-support platform.

Epidemiological modeling
Current epidemiological modeling for disease spread is based on three intrinsically different types of modeling approaches: (1) so-called SIR/SEIR compartmental models, which are based on differential equations that specify mathematically rates of change between compartments, for example, susceptible (S), exposed but not infected (E), infected (I), and recovered (R) states; (2) agent-based models, in which the interactions of individual agents (people) and their explicit behaviors and contacts are directly simulated; and (3) statistical forecasting, which makes no assumptions about the details of the disease, such as the Institute for Health Metrics and Evaluation (IHME) model. Each of these approaches is capable of, for example, predicting the expected daily number of deaths, hospitalizations, and infections for COVID-19 in a given geographical region, as well as providing uncertainty bounds for these estimates, if stochastic elements are included in the model formulations.
The basic idea of "mechanistic" epidemiological models is to explicitly model the mechanisms of disease spread between individuals by modeling two processes: (1) the frequency of co-located contacts between individuals and (2) the nature of contacts between individuals that, probabilistically, facilitate or mitigate disease transmission. Agent-based models allow for these processes and all relevant variables to be included at the finest grain level of detail required to answer the questions posed by decisionmakers. The CityCOVID model can simulate entire cities with millions of individuals, necessitating the use of HPC resources. The detailed agent-based modeling approach facilitates testing hypotheses concerning transmission, understanding optimal policies for reducing rates of transmission, and providing estimates for the impact of loss of staffing for critical services.

Agent-based modeling
Agent-based models and the toolkits with which they are developed, such as Repast Simphony , MASON (Luke et al., 2005), and NetLogo (Wilensky 1999), have been confined to a single CPU for most of their development, with occasional forays into multithreaded parallelism. Within the past decade, however, we have seen increasing support for multiprocess distributed toolkits. Here, performance is achieved primarily by dividing the global population of agents among processes. A typical simulation can loop through all the agents during each iteration of a simulation. The fewer agents to iterate over, the faster the simulation. Toolkits such as D-MASON (Cordasco et al., 2014) initially attempted to avoid the complexity of MPI (at least in the Java environment) in distributing and coordinating agents across processes in favor of sockets and the Java Message Service before turning to MPI as a more performant solution for interprocess communication. Other ABM toolkits such as Pandora (Rubio-Campillo 2014), Care HPS (Borges et al., 2017), and Repast HPC  also use MPI as the message-passing layer, while Flame GPU (Richmond and Chimeh 2017) distributes agents across a GPU such that their behavior can be executed in parallel. Other areas of emphasis are strategies for load balancing and the optimal partitioning of agents using different topologies and ghosting techniques (Borges et al., 2017;Collier et al., 2015).

Model exploration
The rise of artificial intelligence has provided broad and renewed interest in the development of statistical and ML algorithms that can address the evolving scale of ME tasks, resulting in vibrant ecosystems of free and open source libraries that are continually added to and updated as research frontiers are expanded. The relevant algorithms applicable to ME include various active learning (Settles 2012) approaches, including Bayesian optimization (BO) approaches using Gaussian process (GP) surrogate models (Binois et al. 2018 and ML models such as random forest (Breiman 2001;Ozik et al., 2018); approximate Bayesian computation (ABC) approaches (Hartig et al., 2011;Beaumont 2019), including sequential Monte Carlo (Beaumont et al., 2009) and Incremental Mixture ABC (Rutter et al., 2019); evolutionary approaches, including single (Holland 1992) and multiobjective (Deb et al., 2002) genetic algorithms; and data assimilation approaches, including ensemble Kalman filtering (Evensen 2009;Pei et al., 2018) and particle filters (Arulampalam et al., 2002;Gordon et al., 1993). Libraries that provide cutting-edge implementations of these algorithms or the components from which to implement them include scikit-learn (Pedregosa et al., 2011), scikit-opt (Head et al., 2018), BOTorch , ABCpy (Dutta et al., 2017), ELFI (Lintusaari et al., 2018), and DEAP (Fortin et al., 2012) in Python; caret (Kuhn 2008), mlrMBO (Bischl et al., 2017), randomForest (Liaw and Wiener 2002), EasyABC , IMABC (Maerzluft et al., 2021), DiceKriging (Roustant et al., 2012), hetGP , laGP (Gramacy 2016), and GPareto (Binois and Picheny 2019) in R. However, a vast majority of these libraries and algorithms have not been developed specifically with HPC scales or batch sampling in mind. That is, batch sizes often stay lower than a dozen (e.g., Chevalier and Ginsbourger (2013)), especially for multiobjective Bayesian optimization Daulton et al. (2020). Exceptions include Wang et al. (2018), which uses an ad hoc filtering to select batches of a few hundred candidates a posteriori, without considering repeating experiments and thus decreasing the noise at evaluated configurations. In addition, approaches combining ABC and GP methodologies have also been considered (see, e.g., Wilkinson (2014), Meeds and Welling (2014)), although the approach we take here differs in that ABC is used to provide initial evaluations and the GP optimization process provides refining. Moreover, toolkits specifically aimed at model exploration on HPC resources exist (see, e.g., Adams et al. (2014b), Groen et al. (2021)); however, they are not geared toward integrating external, multilanguage libraries or large-scale mixed ML and simulation workflows.

Workflow integration and MPI task management
Coordination among the ML and ABM modules in this workflow requires deep integration of components written in Python, R, and C++/MPI. The overall workflow shares hardware resources for these systems and rapidly switches among them. The workflow generates parameters in R-based optimizers, distributes these parameters to C++/ MPI simulations, and registers progress via database operations called via Python-all on the same resources. Thus, building this complex application requires a workflow system with the capability to manage in-memory user libraries and third-party packages such as scripting language interpreters.
Other workflow solutions are generally constructed to orchestrate Unix-like program invocations (Zhao et al., 2007) or whole-job scheduler submissions (Thain et al., 2005;Deelman et al., 2005); some recent systems support in-memory Python snippets (Babuji et al., 2017), while others have been extended to handle more complex ensembles and heterogeneous compute resources (Di Natale et al., 2019). To our knowledge, Swift/T is the only system that offers innate support for calling functions in Python and R, as well as tasks that are libraries that use MPI. In addition to coordinating ML and simulation tasks, our approach further allows for external ME algorithms to control the overall progression of complex workflows (see § 3.3).
Launching large numbers of MPI jobs is difficult on today's HPC systems. Typical solutions treat this as a shell programming problem and use a shell-scripting-like technique (or Python, for example) to manage calls to vendor-supplied job launchers (mpiexec, srun, aprun, jsrun, etc.), each with different command line interfaces. In contrast, the Swift/T approach seeks to use a pure MPI model for managing workflow tasks that use MPI. More generally, an MPI-based solution is needed (Wozniak et al., 2019).
As a quantitative comparison of these approaches, consider running a minimal 64-process C/MPI application that simply does Init, Barrier, and Finalize. On a Theta compute node, 10 executions of this program with aprun take 49.88 s for a rate of 0.20 tasks/second. In the Swift/T model with in-memory MPI tasks, however, 10 iterations take 0.33 s for a rate of 30.49 tasks/second-150× faster. This is due to the fact that the very notion of starting a child MPI task is very different in these two approaches. In the aprun model, many new processes must be created and connected, with the help of underlying job start services. In the Swift/T model, the child MPI task is simply called as a library on resources allocated within a pre-existing MPI job, by allocating resources managed and indexed by Swift/T and connecting them with a new subcommunicator.

Innovations realized
The innovations within this work are in two areas: 1. distributed simulation with CityCOVID and 2. application and workflow integration of large-scale machine learning.
A schematic for the CityCOVID Hypervolume Refinement (HVR) workflow, our most complex workflow for which we provide full machine performance results ( § 5), is shown in Figure 1. Empirical data from hospital systems and public health departments are used to parameterize CityCOVID and to provide targets for calibration. Each iteration of the HVR algorithm (described in full in § 3.2.2) consists of three ML phases, each using an ensemble of single-node, many-core R methods distributed across the machine. The first phase is for fitting Gaussian process, or kriging, metamodels to the evaluated simulation runs, where evaluations are errors in fitting both hospitalization and death time series model outputs to empirical data. The second phase calculates the Expected Hypervolume Improvement of new candidate parameter points, and the third phase optimizes the best new candidate points. The calculations from the three ML phases produce simulation allocations, which are assigned across the existing Pareto front and new candidate points for evaluation. These simulations are instantiated and distributed across the system as multinode C++/MPI programs. The HVR algorithm proceeds through multiple iterations as it refines the Pareto front (i.e., jointly optimizes multiple objectives). Simulation parameters are written to a Postgres database as the algorithm progresses for real-time feedback and final reporting.

CityCOVID
3.1.1. Model overview. Models built with the ChiSIM framework (Macal et al., 2018) take three main inputs: (1) synthetic people, (2) places, and (3) activity schedules. In the case of CityCOVID, we model the 2.7 million residents of Chicago as they move between 1.2 million places based on their hourly activity schedules. The synthetic population of agents extends an existing general-purpose synthetic population (Cajka et al., 2010) and statistically matches Chicago's demographic composition. Agents can colocate at the geolocated places, which include households, schools, workplaces, hospitals, and group quarters (e.g., nursing homes, dormitories, and jails). The agent hourly activity schedules are derived from the American Time Use Survey and the Panel Study of Income Dynamics and assigned based on agent demographic characteristics. CityCOVID includes COVID-19 disease progression within each agent, including differing symptom severities, hospitalizations, and age-dependent probabilities of transitions between disease stages.
In the present work, we focus on the calibration of the CityCOVID parameters θ listed in Table 1. These parameters were chosen through a sensitivity analysis described in ( § 3.2.1) and govern aspects ranging from the initial number of exposed individuals with which the model is seeded (θ 1 ) to the reduction in virus transmission due to individual protective behaviors such as mask wearing (θ 9 ). Model outputs are compared against two empirical data sources obtained through the City of Chicago data portal (City of Chicago, 2021): (1) daily census of hospital beds occupied by COVID-19 patients and (2) COVID-19 attributed death data in and out of hospitals, both for residents of Chicago.
3.1.2. Model implementation. CityCOVID implements detailed agent behaviors and individualized disease progression and differentiates the movement of agents to places with how they behave when colocating with others in those places. For example, agents may engage in protective behaviors such as wearing a mask or keeping a six-foot distance, thereby reducing viral transmissibility while participating in activities outside of their homes. CityCOVID contains explicit representations of people and places, implemented as C++ classes. Places are assigned to a process rank, and persons move between places, and thus between processes, according to their hourly activity schedules. When a person is moved between processes, it needs enough of its state available on the target process to continue to follow its activity schedule and to transition between disease states.
The potential performance costs of this model are threefold: (1) serializing of a person's state on the source process and deserializing of that state on the destination process; (2) MPI related overhead in transferring the person's state; and (3) uneven distribution of persons among processes that causes uneven work loads. For the last factor, processes with less load (i.e., those with fewer persons to transition between disease states) would be idle waiting for those with greater loads to finish, resulting in longer runtimes. For (1), CityCOVID (via ChiSIM Macal et al., 2018)) mitigates the cost by caching person objects and their static attributes on every process that the person has visited. This minimizes the amount of data transferred and avoids any overhead associated with the frequent creation of new C++ objects and the concomitant memory allocation. For (2) and (3), CityCOVID minimizes the amount of cross-process movement and load balances the number of persons on each process through graph partitioning, where each place is a vertex and each edge between two vertices represents the volume of person movement between those two places. The edge weight represents the number of persons that travel between the two places, and a vertex weight, the total number of persons to visit that place. By partitioning this graph into groups of vertices (places), such that the edge weights connecting these groups are minimized and the vertex weights are roughly equal among all the partitions, highly connected places are placed on the same process, and we avoid any issues caused by uneven computational load. For the full Chicago scenario used here, the places graph consists of approximately 1.2 million vertices (places) and approximately 1.9 million edges (trips between places). To partition the graph, we used the METIS toolkit (Karypis and Kumar, 1999), assigning each place to the process rank corresponding to its graph partition. This assignment was performed during the development of the synthetic population (the collection of agents, places, and activity schedules), external from any simulation execution. While the agent behavior is itself stochastic, the number of places that an agent can select from as part of this behavior is tightly bounded, and thus effective load balancing using graph partitioning can be performed as a preprocessing step rather than during the simulation itself.
We also eliminated the time spent reading the input data (approximately 2.5 min on Theta) by caching it after the first read. The input data reflect the load balancing and assign persons and places to particular ranks. Each rank caches the data assigned to it. Consequently, we ensure that when Swift/T allocates a group of 256 processes for each simulation run that the rank assignment within each group is repeatable. Table 1. CityCOVID calibration parameters θ and priors π(θ). θ π(θ) Description θ 1 U(60, 190) Initial number of exposed (infected but not infectious) agents at the beginning of the simulation θ 2 U(0.03, 0.1) Base hourly probability of transmission between one infectious and one susceptible person occupying the same location Magnitude of seasonality effect θ 4 U(0.5, 1) Per person probability of infection scaling factor due to ratio of infectious versus susceptible people in a location θ 5 U(0.2, 0.7) Effective infectivity during isolation in household θ 6 U(0.1, 0.7) Effective infectivity during isolation in nursing home θ 7 U(300, 700) Simulation time (hrs) corresponding to March 27 2020 θ 8 U(0.1, 0.8) Reduction in out of household (OOH) activities θ 9 U(0.01, 0.3) Reduction in transmission due to individual protective behaviors 3.2. Model Exploration algorithms 3.2.1. Sequential ABC. The initial workflow we constructed was aimed at parameter estimation of so-called deep model parameters, those that are not readily observable. For example, the base hourly probability of transmission between one infectious and one susceptible person occupying the same location (θ 2 in Table 1) is difficult to measure directly. Similarly, the reduction in transmission from individual protective behaviors, such as wearing a mask and social distancing (θ 9 in Table 1), not only is difficult to directly measure but also can vary over time as behaviors change. These parameters, along with their joint distributions and uncertainties, can nonetheless be estimated through simulation-based inverse modeling approaches.
For simulators with intractable likelihoods, approximate Bayesian computation (ABC) methods, while computationally intensive, provide the ability to generate simulated posterior distributions of the model input parameters and, consequently, posterior model outputs that propagate data and model uncertainties to model results (Beaumont, 2019). There are a number of ABC methods and libraries implementing them Maerzluft et al., 2021;Dutta et al., 2017;Lintusaari et al., 2018). Sequential ABC methods (Beaumont et al., 2009;Moral et al., 2011;Rutter et al., 2019) improve the yield of parameter space sampling compared with one-shot rejection sampling approaches. In addition, batch sequential ABC methods can exploit the concurrency available on HPC resources, providing the ability to tune the batch sampling size to balance sample yield and time to solution.
We utilized a batch sequential ABC algorithm Lenormand et al. (2013) implemented in the EasyABC library Jabot et al. (2013), and we directly integrated it into an EMEWS workflow for our initial model calibration. The calibration was preceded by parameter prioritization analyses using an efficient global sensitivity method Morris (1991), identifying the nine parameters θ = θ 1 ,…, θ 9 most relevant to the empirical data that we were attempting to match, time series of COVID-19 attributable hospitalizations T H (t) and deaths T D (t) for residents of Chicago, with corresponding simulation outputsT H ðt,θ,ξÞ andT D ðt,θ,ξÞ, where ξ is a random variable encapsulating the random stream for each simulation replicate. Since one of the primary goals for using the model results was in creating forecasts, we used an exponentially weighted error function Lðθ,T i ,T i ,dÞ, i 2 fH,Dg, with daily discount rate d tuned to 98% and 95% for H and D, respectively, and averaged over replicates for each θ (shortened to L i (θ) hereafter). The ABC algorithm starts by sampling from the parameter priors π(θ) and iteratively creates improved approximations of the posterior distribution of the nine model parameters p (θ|T H , T D ) Lenormand et al. (2013). The final simulated posterior distribution based on the time period from the beginning of the epidemic to the initial lifting of the stay-at-home order in Chicago on June 3, 2020, is shown in Figure 2(a).
The diagonal panels in Figure 2(a) are the marginal distributions for each input parameter θ i , and the offdiagonal elements show contour (upper) and scatter plots (lower) of each two-dimensional parameter subspace θ i,j . The calibration resulted in two main takeaways, both associated with agent behaviors during the stay-at-home period: (1) the reduction in transmission due to individual protective behaviors (θ 9 ) exhibited a pronounced peak at about 90% transmission reduction (Figure 2(a) inset (1)) and (2) the average proportion of agent pre-COVID-19 out of household activities where agents instead opted to stay at home during the shutdown (θ 8 ) showed a broader range of values between 40% and 60% (Figure 2(a) inset (2)). While the second result can be compared with empirical data on mobility based on cellphone data, providing constraints on the parameter estimation result, the first result encapsulates generally unobserved dynamics of person-to-person interactions across the population in response to public health messaging and perceptions of risk.
As the pandemic progressed, our team sought methods for improving the time to solution for generating parameter estimates. One such approach was utilizing another sequential ABC algorithm, IMABC (Rutter et al., 2019), which members of our team implemented as an R package Maerzluft et al. (2021). IMABC provided two main improvements over the original ABC algorithm. Because of a more directed sampling approach, IMABC increased the efficiency of sampling from the CityCOVID parameter space, which sped up algorithm convergence. The IMABC algorithm and package also included the ability to continue sampling from a checkpointed algorithm state, that is, to further refine a previously generated simulated posterior distribution. This allowed for improved robustness, for example, for restarting after HPC resource failure, and the possibility for optionally longerrunning calibrations when convergence in the standard timeframe proved difficult.
Another approach we used for improving parameter estimation time to solution was to employ metamodels, also known as surrogate models, for multiobjective optimization, which we discuss next.

Hypervolume refinement.
To complement the uncertainty estimation in the parameter space provided by the ABC approach, we also consider finding a set of best parameters matching simultaneously both COVID-19 attributable deaths and hospitalizations. Denote L D (resp. L H ): θ 2 Θ R 9 1R the corresponding calibration errors where Θdsupp (π(θ)). Here, given the intrinsic variability of ABM outputs across runs for the same parameters, the multiobjective optimization (MOO) problem is to obtain min θ2Θ ðE ξ ½L D ðθÞ,E ξ ½L H ðθÞÞ (1) as commonly done for simulation experiments (see, e.g., Hunter et al. (2017)). In general, no solution minimizes all objectives at once; instead, the Pareto dominance relation is used to define optimality. A solution is said to be optimal (or nondominated) if no other solution is at least as good for all objectives and strictly better for one. The set of all optimal solutions in the objective space is called the Pareto front, and the aim of MOO is to find an accurate discrete representation of it. Directly solving the MOO problem is out of reach even on the largest HPC resource because of the large number of runs it would involve. Instead, the Bayesian optimization paradigm is used (see, e.g., Shahriari et al. (2016), Frazier (2018)), where probabilistic surrogate models of the objectives are used to sequentially select new evaluations based on an acquisition function. As surrogates, Gaussian processes are popular for their ability to provide uncertainty on their prediction (see, e.g., Rasmussen and Williams (2006)). For MOO, an adapted acquisition function performing a trade-off between exploration of unknown regions and exploitation of promising ones is the Expected Hypervolume Improvement (EHI) Emmerich et al. (2011). It is based on the hypervolume metric, that is, the volume added to the current Pareto front estimation, given a reference point. The approach is implemented, for instance, in the R package GPareto Binois and Picheny (2019), but requiring adaptations for the combination of low signal-to-noise ratio and massive batching enabled by the available concurrency involved here.
To handle the challenges associated with running hundreds of noisy simulations at once, we developed the multiobjective Bayesian optimization loop shown in Figure 1. To both accurately learn the input-dependent variance and reduce the computational complexity of GP modeling, we complement the exploitation side of BO by leveraging replication of runs at the same location. Every design θ is replicated at least 10 times to prevent an overly optimistic estimation of the Pareto front. Figure 2(b) depicts where individuals runs, shown as small black dots, can be  (Table 1) from sequential ABC, (b) successive Pareto fronts of errors in deaths (x-axis) and hospitalizations (y-axis) from HVR workflow, (c) COVID-19 attributed hospitalization outputs from CityCOVID (red dots: empirical Chicago data, dark line: median simulation output, dark band: 50% simulation intervals, and light band: 95% simulation intervals), (d) CityCOVID zip code level snapshot of weekly infection outputs at 47 days after June 3, 2020, initial easing of restrictions in Chicago for two scenarios (strict: population wide adherence to protective behaviors, that is, θ 9 is maintained as reopening occurs, relaxed: gradual increase of θ 9 to a value corresponding to 80% viral transmission reduction). much closer to the zero-error target than estimated means, shown as hollow circles and blue dots. Based on empirical means and variance of initial evaluations-provided here by the ABC computations-the first ML phase (ML Phase 1 in Figure 1) is to build one GP model per objective, with the DiceKriging package Roustant et al. (2012). The optimization of the corresponding hyperparameters is performed in parallel. Note that instead of global GP models that can predict everywhere, local GP models can be constructed to predict at specific locations, for example, with Gramacy (2016). The advantage of this second option is to be more decentralized. Then the expected hypervolume improvement is optimized with a multistart approach, since the EHI optimization landscape is expected to be highly multimodal. Specifically, in ML Phase 2, a large set of uniformly sampled designs is evaluated, from which the best candidates constitute starting points for local optimization in ML Phase 3. The reference point for hypervolume computations is fixed at (7,7), while the reference Pareto front to improve over is estimated based on the predicted means at the evaluated designs, hence filtering out the noise via the GPs. In order to further refine the current estimate of the Pareto front, part of the evaluation budget is dedicated to allocating more replication at the corresponding design. The main part of the simulation budget is for the best candidates found in ML Phase 3, where the number of replicates depends on the corresponding EHI value (larger potential of improvement gets more replicates). Models are updated as new simulation evaluations come in, until the maximum number of iterations. The result is provided in Figure 1(b), where the initial estimation of the Pareto front (black dotted line) is overly optimistic. Then it keeps regressing before stabilizing and improving, suggesting that despite noise, the adaptive scheme evaluates more over the region of interest. By relying on standard but robust BO components amenable to parallelization, the HVR workflow thus propels multiobjective BO to whole-machine scales on ALCF Theta.

Machine learning in HPC
Running machine learning workloads in high-performance computing systems is at the core of the technological contributions of this effort. Our approach is to use Swift/T to coordinate and distribute in-memory library calls to ML and simulation codes in an HPC-oriented manner. While this technique had been prototyped earlier , the CityCOVID workload effort involved the development and integration of the following innovations.

Pluggable algorithm workflow control
A key innovation of EMEWS is the ability to directly incorporate R-or Python-based model exploration algorithms. This is done by defining resident, or stateful, tasks to encapsulate the logic within iterating, state-preserving algorithms . These in-memory calls are critical for ML-based workflows in which numerically oriented modules maintain state over long periods but are treated as discrete tasks by the workflow system. While certain workflow systems are designed from the ground up to perform numerical procedures such as optimization (Abramson et al., 2001;Adams et al., 2014a), these are generally difficult to extend and reprogram for arbitrary workflows. We have exploited this capability to implement a variety of workflows specifically geared toward the concurrency afforded by HPC resources, both in terms of the number of simultaneous simulation tasks and through the mixed use of worker pools to handle machine learning tasks as well. We used sequential ABC approaches (Lenormand et al., 2013;Rutter et al., 2019) and HVR (Binois et al., 2015) for uncertainty quantification (Figure 2(a)) and calibration (Figure 2(b)). The ML workloads within the HVR workflow ( Figure 1) were implemented by using R-based parallelization via a new doEMEWS adapter for the foreach package (Microsoft and Weston 2019), which provides transparent batch dispatching of R-code to the worker node pool (Figure 3). The calibrated model can generate a variety of epidemiologic outputs, including hospitalizations (Figure 2(c)), and zipcode-level infection rates (Figure 2(d)).

Load balancing and work distribution
From a computer systems perspective, a challenge for MLbased workflows is managing the differing resource requests from simulation and learning-based work items. In the CityCOVID/HVR workflow, simulation tasks require 256 ranks, and learning tasks require 64. The Swift/T model allows workflows to request tasks on any number of ranks from 1 to the number of workers allocated to the compute job. These tasks may optionally request that the ranks for a task occupy contiguous ranks starting at regular intervals or other constraints. For example, all CityCOVID workflows run the simulations on contiguous ranks starting on ranks such that rank mod 256 ≡ 0. The ML tasks run independent R-interpreters on each node of the system, each of which uses threads internally to utilize the 64 cores on each node. The database access tasks call into Python libraries using a single core at a time. Thus, Swift/T faces a significant work distribution challenge.
Swift/T translates workflows into ADLB (Lusk et al., 2010) programs. In the implementation used by Swift/T, ADLB divides the available ranks into workers and servers. Any number of servers and workers may be used, down to a singleton of each. The workers simply perform work requested from their server. Servers exchange work using the work stealing approach from Scioto Dinan et al. (2008), in which empty servers steal half of the work queue from another server selected at random. This explains the exponential ramp-up commonly seen in Swift/T performance plots. For the CityCOVID workload, we used increasing numbers of servers for increasing run sizes. Servers spent the bulk of their time looking for contiguous blocks of ranks for MPI tasks, and this work was easily shared by the work stealing approach.

Supporting public health
We have been using the CityCOVID model to forecast the spread of COVID-19 in Chicago and have been providing model results to support city and state public health officials and decision-makers. From the beginning, the decisionmakers we work with have had the philosophy that their "decisions would be guided by data, science, and public health experts." To meet these requirements, decisionmakers recruited data analytics support for understanding the current COVID-19 situation and epidemiological modeling support for forecasting what might happen in the future based on possible NPIs, and they paired these groups with public health departments.
We have supported the Chicago Department of Public Health (CDPH) since the early stages of the pandemic, March 2020 (Thomas (2021)). As described in ( § 3.2.1), we have been able to estimate the extent to which individual protective behaviors, such as mask wearing and social distancing, have affected community SARS-CoV-2 transmission. These model-based insights were used by CDPH in their briefings with Chicago aldermen about the importance of maintaining COVID-19 mitigation measures in the lead up to the partial reopening on June 3, 2020.
We have also supported the Illinois Department of Public Health through the Illinois Governor's COVID-19 Modeling Task Force (IGCMTF) (Mahr (2021)). The IGCMTF includes four modeling groups, including Argonne, that are applying various epidemiological modeling approaches to understand COVID-19 spread and explore what can be done to reduce the spread.
For interacting with public health officials, we established a weekly/biweekly routine that consists of (1) calibrating the model based on the most recent data; (2) designing and running experiments with the model to forecast effects on the spread by varying scenario parameters; (3) compiling and analyzing the model outputs from thousands of simulations; (4) applying quality control/ assurance checks, which include independent subject matters experts such as epidemiologists, to the assumptions and results and identifying possible anomalies; (5) applying causal analysis to explain why the results came out as they did; and (6) reporting the results in a structured format that public health officials can easily discern and understand the implications. A standardized set of charts and graphs is provided in as succinct a form as possible and presented in live forums to public health officials by the modelers.
Since the fall of 2020 and continuing through today, questions have focused on the effects of vaccination programs and, more recently, the effects of variants of concern, in other words, mutations that, for example, result in increased disease severity, transmissibility, and vaccine escape. The fine-grained nature of the CityCOVID model allows us to track which variant an individual agent has been infected with and follow the disease course and subsequent transmission of that individual, where parameters unique to that variant can be adjusted. Our group continues to calibrate and run the model and report results to public health officials regularly.

How performance was measured
4.1. What applications were used to measure performance All software was built with GCC 7.3.0 with the Cray MPI wrappers for Theta as appropriate. The CityCOVID model is based on the RepastHPC 2.3.1 agent-based modeling system and the ChiSIM Chicago model 0.4.2. The workflow system was Swift/T 1.4.3, which was linked to interpreters in Python 3.8.2.1, R 3.6.0, Tcl 8.6.6, and Cray MPI. All Python-and R-libraries used were the latest compatible with these interpreters as of October 1, 2020. The Rlibrary size to perform these optimizations contains 112 packages totaling 321 MB. In order to improve the performance associated with numerical operations in the machine learning tasks, an external R with Cray LibSci v.20.03.1 providing vendor-optimized BLAS/LAPACK libraries was also used.

System and environment where performance was measured
All experiments were run on the Theta system at the ALCF. Theta is a Cray XC40 with 4392 compute nodes, each with an Intel KNL 7230 (Xeon Phi), aggregating 11.7 petaflops in total. Each node has 64 compute cores with access to 16 GB of high-bandwidth in-package memory, 192 GB of DDR4 RAM, and 128 GB of SSD. The system interconnect is a dragonfly network. The system has Lustre and GPFS filesystems; we used Lustre for software installations and GPFS for application data. We used the vendor-provided Cray MPICH 7.7.17.

How performance was measured
The technical details of our workflow solution are as follows. The workflow runs as a single job allocation in the Cobalt scheduler on Theta. The Swift/T runtime runs as a single MPI program across all nodes and evaluates the logic of the Swift workflow. Tasks in the workflow such as the invocation of R-code snippets (the ML algorithms) or MPI-enabled libraries (CityCOVID/C++) are placed in a distributed task queue in the ADLB library underlying Swift/T. Even database accesses are represented as Python code snippets (via Psycopg2); thus, they do not block the progress of the overall workflow. MPI tasks are launched by Swift/T using MPI 3.0 features developed previously (Wozniak et al., 2013b).
Performance was simply measured by using the clock libraries available in the programming models used and reported in log files. The precision of our measurements need be accurate only to the nearest second to describe the performance. The overall performance metric of our workflow is delivering high utilization to the computeintensive ML and ABM modules.

Performance results
In this section, we present five types of performance results: an illustration of a full-scale run on Theta ( § 5.1), strongscaling results for full-system scale ( § 5.2), time to solution results for the learning tasks ( § 5.3), communication and messaging rates ( § 5.4), and ABM specific performance results ( § 5.5). A key performance challenge of this workflow is juggling the 2040 MPI simulation tasks generated by the workflow, each a 256-core execution. As parameters for these tasks emerge from the HVR algorithm, this work must be rapidly distributed. Additionally, there are constraints on the task placement, since the MPI task should occupy contiguous cores across whole nodes to support fast communication and a data caching strategy used by CityCOVID. Nevertheless, the worker utilization across the two optimization iterations, including the learning and simulation tasks, is 84%. This is a good result considering that the Swift/T workflow scheduler operates at the rank granularity, and that 128 server ranks were distributing short (sub-minute), multiprocess tasks to 262,144 worker ranks.

System utilization at full scale
The plot shows fine-grained load levels for the MPIbased simulation phase. As shown, the workflow rapidly ramps up as the simulation phase begins and ramps down more slowly as tasks exit. The first phase takes 9.4 min, whereas the second phase takes 5.9 min, demonstrating the benefit of the caching strategy. The ML task utilization is not measured directly; rather, we measure the overall time to solution in the following.

Strong scaling
The next key metric of our workflow is demonstrating strong scaling for a given problem as the computing allocation size increases. We ran the same workflow parameters on Theta in job node counts 257, 513, 1,025, 2,049, and 4098. We then measured the overall time to solution and calculated the corresponding task rates. This corresponds to 2 nodes or 128 ranks of ADLB servers ( § 3.3.2) for the largest case, and 1 node or 64 ranks of ADLB servers for the other cases. The remaining nodes were allocated as ADLB workers.
As shown in Figure 5, the time to solution and simulation rate both accelerate to full scale on Theta, and the likelihood of further scaling is encouraging. In our smallest case, the workflow takes 5 h and 54 min on 257 nodes, but at 4098 nodes it completes in under 44 min! Further utilization improvements could be possible with asynchronous HVR algorithms, enabling overlap between workflow phases. The Swift/T programming model supports arbitrary data dependencies, enabling such patterns; and the flexibility of being able to directly integrating Python and R-code will facilitate such algorithmic investigations.

ML phase scaling
Here, we report the scaling results for the ML phases. The ML phase uses the novel doEMEWS module to distribute Rbased workloads via Swift/T single-node task distribution. For each run size up to full system scale, the number of tasks produced in each ML phase is the same. Thus, the most important metric is time to solution per phase.
In Figure 6, we report the average time per phase for the ML workload. The most time-consuming phase is the Kriging model (ml-km) phase, which takes 177 s on 256 worker nodes and only 19 s on 4096 worker nodes. The least  time-consuming phase is the Pareto front improvement phase (ml-parEHI), which takes 147 s on 256 worker nodes and 19 s on 4096 nodes. As shown in the plot, scaling efficiency drops off at the larger scales because the system runs low on tasks to execute, allowing the task distribution and task runtime imbalance overheads to negatively impact utilization.

Messaging rates
Workflow variables in Swift/T are stored on the task servers and accessed as in a distributed hash table over MPI. Over the whole workflow, in the 4098-node run the system performed 722,485 retrieves in 2619 s, an aggregate rate of 276 data reads per second. During the peak period of the first simulation ramp-up, shown in Figure 4 near minute 13, the system performed 148,854 read accesses in 12.5 s, for a rate of 11,908 reads/second. This workload was spread over 128 task servers, for a rate of 93.0 accesses per second.

ABM specific performance results
Within the HVR workflow, each CityCOVID model ran for 69 simulated days (1656 h), corresponding to approximately 5 × 10 9 agent-hours. The significance of this metric is that it tracks how many hours agents had the potential to colocate with other agents and spread or be exposed to COVID-19. At the 4098-node scale and after the input data caching had occurred, 1020 concurrent simulations were launched and completed in 5.9 min. This corresponds to the simulation of 1.3 × 10 10 potential transmissions/second. The runtime of the CityCOVID model could potentially be improved by parallelizing disease transmission and disease state transitions, either by exploiting intraprocess parallelism (threading) or reimplementing disease states and disease state transitions to be more GPU amenable. Both of these potential improvements are complicated by the necessity of logging disease states and transitions and thus could require a parallel logging capability. We have begun exploring how to leverage GPUs in an agent-based modeling toolkit with our work on Re-past4Py (Collier et al., 2020), our next-generation distributed ABM toolkit in Python.

Implications
The implications of the success of this workflow applications are broad. Here, we describe the implications for COVID-19 modeling and public health, as well as for data science, learning, and simulation in the HPC space.

COVID-19 modeling and public health
Public health departments need guidance for prioritizing interventions in the context of limited resources and empirical data uncertainties. Through our regular meetings with city, county, and state stakeholders during the COVID-19 pandemic, we have first-hand experience in the dynamic nature of evolving mitigation priorities and the need for the detailed modeling that CityCOVID provides to rapidly coevolve. CityCOVID can simulate specific and realistic NPIs closely resembling those being considered by public health officials and can thereby guide local policy and intervention development. By integrating high-performance epidemiological simulation with large-scale machine learning, we have developed a generalizable, flexible, and performant analytical platform that can meaningfully support evidence-based decision-making during a public health crisis.
Furthermore, the COVID-19 pandemic has highlighted a number of issues, including drastic health inequities. Reducing COVID-19 morbidity and mortality will likely require an increased focus on the social determinants of health, given their disproportionate impact on populations most heavily affected by COVID-19. The detailed data-driven modeling approach that CityCOVID represents, coupled with the HPC solution developed here, has the potential to provide the robust exploration of underlying factors and reveal promising targeted interventions to reduce these observed inequities. The melding of advanced simulation, machine learning, and high-performance computing enables an in silico laboratory for identifying gaps where additional empirical data are needed and facilitates hypothesis generation.
6.2. Convergence of data science, learning, and simulation for HPC This application demonstrates the capability and need to bring HPC closer to diverse scientific communities, including the public health sector. By using detailed local data as a starting point to parameterize and calibrate simulations and produce actionable analyses (i.e., from observational data to scenario outputs documented in an integrated Postgres database), we applied Theta as the numerical engine at the center of a data pipeline. This made the overall workflow more relevant to our public health collaborators and demonstrated the capability of the system to be an integral part of the decision-making process.
From a computer systems perspective, the complex integrations and high performance achieved here demonstrate that applications written in high-level workflow languages and mathematical systems can be executed at large scale. Additionally, they can be closely integrated with previously developed MPI-based scientific applications that are scalable in themselves. We also demonstrated that very large (thousands) ensembles of MPI program executions can be run on the system without negatively impacting the scheduler or other users by tapping into the capabilities of MPI, via the high-level model offered by Swift/T. We expect that data+learning+simulation workflows will become more tightly integrated in the near future. As shown in Figure 4, learning is already half of the job. The capabilities shown here are initial steps to more general-purpose HPC-enabled decision-support platforms that can rapidly assess and forecast the course of disease outbreaks and other crises. We expect that incorporating real-time data streams and weather-forecast-like automated steering will drive further enhancements and increase the performance and robustness of the results obtained.
In the broad ME context of Gaussian process-based Bayesian optimization, parallel infill criteria have been developed to benefit from parallelism of modern architectures. Yet, most of these works cannot be directly transposed to HPC scale. More work is needed to leverage existing methods to scale GPs with millions of fixed observations to the sequential framework. Thus, developing algorithms that are specifically geared toward and can take advantage of HPC resources has the potential to advance computational science and open up previously unexplored areas of statistical research. There are trade-offs to consider, such as between accurately selecting the optimal points for a given task and the time it takes to make this selection at the specified accuracy. Besides the ability to tackle more complex problems with an increasing number of variables, higher concurrency raises challenges in coping with consideration of synchronous versus asynchronous algorithms. Support for asynchronous algorithms (see, e.g., Janusevskis et al. (2012)) is a promising perspective for future work.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.


The mutability of economic things

ABSTRACT How can we understand the relations between economic things and different forms of exchange – commodities, assets, gifts and singularities – in the contemporary economy? The decline of industrial capitalism and the emergence of new types of intangible valuables challenge our understanding of what economic life is about. Analysing economies through one dominant form of exchange risks overlooking the interplay between different types of valuables, their materiality and interactions that form the basis of value creation and exchange. In contrast, this special issue highlights the mutability of things – their capacity to take on and abandon different forms – as a precondition for economic activity. Drawing on a variety of empirical case studies of markets for seeds, grains, fish, carbon emissions and cattle, the contributions set out to trace the social biographies of economic things in, between and beyond multiple economic forms. We argue that it is the very ability of economic things to shift in and out of particular forms of exchange that enables the complex globalised economies of our time.

Introduction
These are not the easiest times both for capitalism's protagonists and its commentators. The globalised economy has come under political attack, not just by the left, but also by the populist right. Neoliberalism, once the guiding paradigm for both the economy and its critics, has been proclaimed (un)dead, with some even doubting whether we have ever been neoliberal at all (Birch 2015). Yesterday's industriescloth, cars, coalhave long been in decline. But with airports, offices and stadiums finding themselves in a world transformed by a novel virus, it is uncertain whether today's industries will not suffer the same fate. Meanwhile, shares in companies operating in the promising economies of tomorrow are soaring on the stock markets. Whether they are actually going to produce something that will make good on their promises, however, is hotly debated.
How, then, can we comprehend the nature and state of the economy? In recent years, a popular approach has been to focus on the dominant valuables in the generation and distribution of profit and wealth. Piketty (2014) highlights how wealth has become increasingly dependent on accumulation through inheritance rather than labour. With the continuing rise of tech giants, other works in economics, law and the social sciences have focused on platforms (that is, large technology infrastructures) as the key elements of contemporary digital capitalism (Kenney andZysman 2016, Srnicek 2016). Yet others, such as Boltanski and Esquerre (2020) have turned to the domain of consumer culture, pointing out how production and consumption have shifted from mundane, easily quantifiable mass commodities to allegedly 'singular' valuables that can reap higher prices. Looking at corporate accounting and finance, Birch and Muniesa (2020, p. 4) diagnose an 'asset condition', that is, the centrality of elusive and complex assets rather than market sales for the value of companies and national economies.
How new, how different are the objects populating this 'new economy' really? Some authors (Srnicek 2016, Birch 2017, Perzanowski and Schultz 2018 focus on new valuables such as platform infrastructures, software-infused devices or intellectual property, emphasising how an entirely new materiality begets new forms of exchange. Others (Boltanski and Esquerre 2020) argue that what has changed is not so much the nature of valuables themselves as the regime of valuation: whether asset, singularity or commodity, it is really all old wine in new bottles. In this special issue of JCE, we outline a third position. We argue that the rise and fall of regimes of exchange is best understood through the mutability of economic things themselves.
Things are not simply born as commodities, assets or gifts: they have, as Appadurai (1986) reminds us, a life before and after. At the same time, we have to understand their form of exchange that is, the mode things circulate under and are evaluated in, as well as the corresponding economic assemblages they summonas tied to their materiality rather than as a mere convention between human economic actors. Several of the questions central to theorising the mutability of things have been raised before in JCE: What elements allow a thing to become commodified (Hawkins 2018)? What properties does the gift form require in material and calculative terms (Hanson 2015, Lee 2020? What do things need to do in order to work as assets (Sinclair 2008, Truitt 2021? How do they embody their unique value as singularities (Waldby 2015)?
Drawing from a variety of fields and schools of thought in the social study of markets (Callon 1998a, Barry and Slater 2005, Aspers 2011) and economic anthropology (Appadurai 1986, Tsing 2015, we want to extend this debate. The articles in this special issue each look at the mutability of things in a particular way: how they turn into commodities, oscillate between gift and asset form, or go astray on the market. Building on previous discussions in JCE on the role of objects and materialities in doing economics (Neyland et al. 2018), as well as on the plurality of forms of exchange (Waldby 2015, Vasantkumar 2019, they broaden existing conventional views on the social origin of value (for an overview, see Beckert 2011) by emphasising the historically contingent, socio-technical and material factors that shape the social biographies of economic things. The unstable relationship between things and forms of exchange as their calculative and material frames is, we argue, an essential but overlooked aspect of value generation in the contemporary economy.

Modifications: assuming form
The ills of the modern era, Karl Polanyi (2001, pp. 71-80) concluded, stemmed from the extension of the commodity form to things not produced for the market: money, land and labour. Unlike 'proper' commodities, he argued, these 'fictitious' ones were not 'objects produced for sale on the market' (Polanyi 2001, p. 75), which could be freed from social relations through a particular transaction. In order to remedy the damage that their commodification had done, they instead required a reframing and re-embedding in society. Polanyi's argument is interesting for two reasons. First, because money, land and labour have in many respects been de-commodified since the time of his writingthough perhaps not in the way he called for. Money is increasingly a function of future expectation and monetary policy (Vasantkumar 2019); more than ever, land seems to have gained speculative rather than exchange value (Christophers 2017, Fairbairn 2020, Ouma 2020; freelancers are encouraged to account for their labour not as a commodity but as human capital (Pistor 2019, p. 11). But a second implication from Polanyi's argument is even more telling: in order to work as market goods, things need to undergo a process that prepares them for their lives as commodities.
Kristin Asdal and Béatrice Cointe follow such a process in their contribution to this issue: a series of tasting and cooking experiments, which is meant to turn aquafarm-raised cod fish into a supermarket commodity ready to be eaten at home. The commodification of nature, however, is not always a straightforward process. Although indistinguishable at first sight, farmed cod turns out to be quite different from its wild counterpart in quality and texture. By breaking with the conventional distinction between production and markets, Asdal and Cointe trace the relational attempts of producers, scientists and consumers in co-modifying this farmed offspring through consumer experiments for the market. With each experimental step of preparing the cod for its life on the shelves, the experimenters also have to create an experimental consumer. Many different commodity forms are conceivable for cod, but to find the most suitable one, cod producers would have to know in advance what their consumer looks likesomething that would be possible only if they knew the final shape of their product. Despite these meticulous efforts to find the perfect match between fish and consumers, however, it seems that both will be continuing on their separate ways for the time being. After all, the codfish does not seem to be very keen on playing its part in co-modification when held in captivity.
The critique of commodification so far has largely understood the process of making market goods as following some form of Callonian performativity: economists, marketing experts and advertising professionals imagine an exchange form and subsequently impose it on a thing (Callon 1998a(Callon , 2010. Asdal's and Cointe's study shows that, while commodification is performative, we should rather understand this performativity as Baradian (Barad 2007), simultaneously redefining experimental subjects and objects. It is not guaranteed that this choreography will be successful in every case: eventually, a commodity might end up without a consumer; a market might be created but its goods will not hold together. In speaking of things rather than objects, we highlight that valuables are better understood as an assemblage of elements (Latour 2005), which might come together in a different congregationor eventually part ways.
What happens when a market good does not hold together can be seen in Jessica Phoenix's paper. To combat bovine tuberculosis, the British government introduced a new metric for disease risk that was supposed to reshape cattle trading between farms. The idea is to transform uncertainties into a simple number; to do away with the complex calculations of disease risk by farmers and replace them with a clear price incentive for healthy animals. But new qualities and quantities, Phoenix explains, do not readily stick to an existing economic thing, and even less so when they are entangled in the socio-biological and environmental contingencies of life. When they instead go astray, unhealthy cattle suddenly become more valuable; disease and health probabilities reattach themselves to farmers rather than farms; and buyers come up with metrics of their own.
An aesthetic critique of commodities has taught us to think of them as simplified, reduced and passive versions of their uncommodified counterparts (Horkheimer and Adorno 2002, pp. 94-136). On the face of it, Phoenix's story confirms this assumption: the disease metric is a quality reduced to a quantity, more straightforward and easily expressed in a price. The disintegration of cattle as a market good redistributes its qualities and quantities across other economic actors, with unforeseen consequences. The market fails because it cannot contain such spreadthe spread of disease as much as the spread of alternative ways of framing the good it is supposed to move (Callon 1998b). Polanyi considered the surplus of disruptions (and the deficit of remedies) to be an effect of misplaced commodification: some things were just not suitable to be traded on the market. But Phoenix shows us that the disintegration of a commodity might happen even when the good itself, embedded in a functioning market, is considered largely trivial. We thus cannot take for granted that certain things follow a particular form of exchange, not even when, as Polanyi postulated, they were produced for sale on a market.
From the point of view of a thing itself, as Igor Kopytoff (1986) and Arjun Appadurai (1986) have pointed out, its life as a commodity is only one phase of its biography: '[T]hings can move in and out of the commodity state' Appadurai (1986, p. 13; emphasis original) writes, dismissing the idea that the commodity form is final or transcendent. Rather than using a particular form of exchangein this case, the commodityas analytical frame for categorising and ordering economic things, both Phoenix's piece and Asdal's and Cointe's paper underscore the need to do the opposite: it is through the materialities of particular economic things that we can understand how generalised forms of exchange come into being or cease to function. More than mouldable, cod and cattle are mutable. They are turned into objects able to follow the logic of market exchange butin the double sense of the word objectcan also refuse to obey it blindly (Latour 1996) and instead travel on their own trajectories. In other words, the agency of economic things matters: we must think of them not just as the objects but also as the subjects of economic life (Kang 2020).

Suspensions: shifting shape
If things can lend themselves to a particular economic form but do not strictly have to, what does that imply for an economy in which commodities are no longer the only or even the central form of exchange? This question touches upon the nature of the changes in the economysingularisation, assetisation, financialisation, datafication, to name just a fewwe are currently witnessing. Do they result from radically new objects that do not fit into the old categories of labour, capital and commodities? Or are they, as two pieces in the present issue suggest, at least in part caused by transformations of existing things?
Veit Braun's history of seed as a market good traces one such transformation. Over the past 30 years, ever-new property rights have undermined the commodity status of seeds (Schubert et al. 2011). However, seed is just one good (alongside digital media or consumer electronics), which has become increasingly assetised through intellectual property rights (Perzanowski and Schultz 2018, Kang 2020), a development often justified by the material nature of these goods. But neither has the biology of seed changed over the past half a century, Braun argues, nor did it ever strictly adhere to the commodity form in the first place: it is due to economic shifts in farming and the seed industry that its imperfect commodification has come to the fore and calls into question the viability of an established market.
If the successful (or superficial) commodification of seed rested upon its embeddedness in a landscape of practices, institutions and calculations, it is the slow but inevitable tectonic shifts in this landscape that make it take new form. Changing farming practices, the demise of business models, new interpretations of what it means to be a breeder and the fading of an agrarian society all mean that the assumptions that commodified seed relied on are no longer given. The problematic mutation of a former market good is only the most concrete but certainly not the only shift in the relations that make and frame the seed industry. Against this background, Braun is sceptical whether we can return to an idealised commodity market for books, films or video games. The successful commodification of things, he argues, should be seen as a rare exception rather than the norm.
Shifts in form do not necessarily have to be disruptive, however. Some economic actors are able to exploit the mutability of things to their benefit, as Pierre Delvenne shows in his paper. In Argentina's rural capitalism, the silo bolsa (silo bag), a large elongated plastic silo or bag, allows harvested soybeans to switch from the commodity to the asset form. Protecting the beans from wind, sun and rain, the silo bolsa extends their shelf life, removes them from the market and provides them with speculative value: if prices are low at the point of harvest, soy farmers can wait and gamble for higher prices down the line. A thin layer of plastic is all that separates the commodity from the asset form. And yet it allows farmers to briefly escape the price race to the bottom and to play the globalised commodities markets to their advantage. What is crucial here is not just that commodified soybeans are transformed into assetised ones; the removal of the silo bag will also re-transform the soybeans into commodities.
The wrapping thus separates these two forms of exchange as much as it bridges them, enabling soybeans to change form and soy farmers to channel value through the precarious economic landscape of present-day Argentina. Although soybeans only shift shape for a brief period, eventually falling back into the commodity form, the difference between now and then may be enough for farmers to avoid the competition and price squeezes tied to the latter. Assetisation is subtle and, on the face of it, trivial in Delvenne's study: far from a fundamental shift in Argentina's national economy, it is better described as a clever technique employed by farmers to find loopholes and temporary alternatives (Cronon 1991, pp. 97-147).
The reliance of economic things on other elements highlighted by these two studies broadens our understanding of mutability. Mutability is not simply an inherent ability of things to change form. We can also think of it as a reaction to shifts in the wider topography of the economic world. The silo bolsa allows soybeans to connect with future markets and prices that would otherwise be out of reach. In contrast, the vicious cycle of unenforceable property claims increasingly destabilises the commodity form of wheat seed, making it harder for breeders to capture profits in the market. Such transformations go beyond mere symbolic or epistemic changes in interpretation, cultural norms or appreciation, which Appadurai (1986) refers to when speaking about the social life of things. This would imply that the materiality of things stays the same while our representation of them changes. We should rather understand these shifts as ontological rearticulations, as Gay Hawkins (2018) has recently pointed out in JCE: they equally affect the material, calculative and affective relations between economic things and us.

Conjunctions: merging materialities
Economic life is not built on the static, generalised logic of one universal form of exchange but consists of the ability of economic things to transform, mutate and morph. What does that imply for studying the economy? The synchronicity of forms contradicts 'evolutionary' narratives in which economic things move from gift to barter to commodity to asset and singularity forms over the course of history. Movements between these forms are anything but unidirectional and, in any case, the possible states that things can take are not limited to a handful of analytic concepts or economic conventions. The question is thus one of making sense of the economy by acknowledging its diversity rather than reducing it to one single logican issue that goes back at least as far as Marx's discussion of the relationship between commodity production, land rents and 'fictitious capital' (Marx 1990, pp. 379-458, 525-542;751-778).
Saskia Brill and Alexander Dobeson attempt to answer this question in their respective pieces in this collection. Moving between the sites of carbon capture and storage projects and the marketplaces for CO₂ certificates, Brill tries to make sense of the peculiar nature of this good, which turns into a commodity through countless acts of measurement and complex calculations (Muniesa et al. 2017, Ehrenstein 2018. For indigenous groups involved in voluntary carbon trade, however, the carbon market works best if they can still be recognised in the certificate travelling to the other end of the world. For many buyers in carbon-intensive industries, in turn, such certificates are most attractive when they allow for the flow not just of compensation but of generosity, too. In this sense, Brill's analysis resembles Anna Tsing's (2013) description of 'supply-chain capitalism', which relies on moving valuables between gift and commodity forms. Unlike Tsing, however, Brill emphasises that the challenge the producers of these certificates face is to turn them into commodities, gifts and singularities at the same time. What is peculiar about this fusion of forms is that carbon certificates only ever exhibit one of their sides, depending on where they pass through. In the marketplace, they comply with the logic of prices and calculation; in the management and self-perception of carbon-capture projects, they express the uniqueness of a place and people; in the business strategies of companies, they feature as a way of giving back without paying back. Deviating from the purity of any one of these forms, carbon certificates allow groups and communities to participate successfully in a global economy of CO 2 , provided these certificates manage to embody both uniqueness and generosity.
Taking us on a stroll across a lavish festival in northern Iceland, Alexander Dobeson draws a somewhat more sobering lesson. The Great Fish Day, on which the wealthy holders of fishing quotas shower a village and the surrounding region with free seafood, attracts his curiosity. What does it do to a local community, Dobeson asks, if for one weekend in the year, the otherwise monopolised and mass-exported fish takes the form of a gift to neighbours and strangers? Revisiting Marcel Mauss's (2002) concept of the potlatch as antagonistic, overwhelming generosity, he points out that the annual event fulfils an important role in the distribution of wealth and power in the village and beyond. As is the case with all rituals, the transformation it produces is both temporary and lasting: when the festival is over and the visitors have gone, the fish will go back to being a mass product and a resource in the hand of a few quota kings. But for another year, many villagers and guests will swallow their anger over the situation, knowing they have nothing with which to reciprocate the quota kings' generosity.
It is tempting to see in the mutability of things the possibility of a different economy; one in which the changing shape of goods allows for the circulation of values other than just monetary ones. Brill's, Phoenix's and Delvenne's contributions to this issue can certainly be read along these lines: in one way or another, they tell of people seizing the opportunities offered by shape-shifting commodities, gifts, singularities or assets. Dobeson's outlook is more pessimisticthe transformation of things may just as easily stabilise existing power relations and inequalities between the winners and losers of the new economy. Perhaps we can make sense of these contradictory views by keeping in mind a point that Nicholas Thomas (1991) makes: that things took on new roles and meaning as they travelled back and forth between the Pacific and Europe does not undo the violence and injustice committed in the course of economic and cultural exchange. But neither can the lives of things be reduced to power and oppression. The fact that things can and do change form not only reminds us that a different economy is possible but also that the present one, too, is not fixed.

Conclusion
What we have sketched out here are three particular but by no means exhaustive ways of engaging with economic things: following their becoming, tracing their movements and mapping their relations with other agencies moving through the economy. Things mutate in various ways: they take on a particular material and calculative form of exchange, shed it, oscillate between competing logics of valuation, merge and combine various regimes of exchange. While the devices and agencies that make markets and the economy (Muniesa et al. 2007, Muniesa 2015 are important in shaping things into objects that can be calculated, evaluated and exchanged, it is important to understand the ability to take and abandon form as an intrinsic property of things themselves. Cod, cattle and CO 2 do not idly sit and wait to be formatted and turned into goods. The metamorphosis they undergo to become economic objects is better described as an 'ontological choreography' (Cussins 1996) in which transformations of various entities affect and rely on each other.
Although movement from one form to another is a common trope in economic literature (Bourdieu 1986, Thomas 1991, Tsing 2013, the source of this convertibility is all too often located in a convergence of the logics underlying the various forms: it is because gift and commodity share the same spirit, the argument goes, that they are mutually intelligible (Bourdieu 2013, Callon 1998a). Instead of taking clearly demarcated forms of exchange as given, the articles in this issue each explore the ability of things to take on different forms, asking how goods and valuables produce what we call singularities, gifts, commodities or assets, rather than the other way around.
Each in its own way, the papers in this issue demonstrate the potential of the mutability of things, both analytically and in economic life itself. They show that mutability is not just diagnostic of the contemporary shifts in the global economy: more fundamentally, it characterises the economic life of things in general. The objects of the new economies are indeed differentand yet they are also familiar. What is sometimes presented as a succession of forms in economic history, from primitive gifts to industrial commodities to late capitalist singularities and assets, is in fact a very simplified version of everyday economics. The move from gift economies to market capitalism to the 'society of singularities' (Reckwitz 2020) is repeated countless times every single day. Not so much as a paradigm shift, however, than as a mundane embedding of things in new logics of exchange (Neyland et al. 2018).
Economic things are more than just the malleable stuff of capitalist production: in fact, their propensity to change form and evade the designs imposed on them is one of the driving factors behind what is commonly called cultural economy. To properly assess the state of our contemporary economy (or that of others), we therefore need to develop tools and understandings that go beyond the simple juxtaposing of goods in national balance sheets to trace the chequered biographies of things around which stories of regional and global connections, disruptions and inequalities are written.