Contagion dynamics on networks are used to study many problems, including disease and virus epidemics, incarceration, obesity, protests and rebellions, needle sharing in drug use, and hurricane and other natural disaster events. Simulators to study these problems range from smaller-scale serial codes to large-scale distributed systems. In recent years, Python based simulation systems have been built. In this work, we describe a new Python-based agent-based simulator called CSonNet. It differs from codes such as Epidemics on Networks in that it performs discrete time simulations based on the graph dynamical systems formalism. CSonNet is a parallel code; it implements concurrency through an embarrassingly parallel approach of running multiple simulation instances on a user-specified number of forked processes. It has a modeling framework whereby agent models are composed using a set of pre-defined state transition rules. We provide strong-scaling performance results and case studies to illustrate its features.
CSonNet: An Agent-Based Modeling Software System for Discrete Time Simulation
Contagion dynamics on networks are used to study many problems, including disease and virus epidemics,
incarceration, obesity, protests and rebellions, needle sharing in drug use, and hurricane and other natural
disaster events. Simulators to study these problems range from smaller-scale serial codes to large-scale
distributed systems. In recent years, Python-based simulation systems have been built. In this work, we
describe a new Python-based agent-based simulator called CSonNet. It differs from codes such as Epidemics
on Networks in that it performs discrete time simulations based on the graph dynamical systems formalism.
CSonNet is a parallel code; it implements concurrency through an embarrassingly parallel approach of
running multiple simulation instances on a user-specified number of forked processes. It has a modeling
framework whereby agent models are composed using a set of pre-defined state transition rules. We provide
strong-scaling performance results and case studies to illustrate its features.
- Publication Date:
- NSF-PAR ID:
- 10376931
- Journal Name:
- 2021 Winter Simulation Conference (WSC)
- Page Range or eLocation-ID:
- 1 to 12
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Obeid, Iyad Selesnick (Ed.)Electroencephalography (EEG) is a popular clinical monitoring tool used for diagnosing brain-related disorders such as epilepsy [1]. As monitoring EEGs in a critical-care setting is an expensive and tedious task, there is a great interest in developing real-time EEG monitoring tools to improve patient care quality and efficiency [2]. However, clinicians require automatic seizure detection tools that provide decisions with at least 75% sensitivity and less than 1 false alarm (FA) per 24 hours [3]. Some commercial tools recently claim to reach such performance levels, including the Olympic Brainz Monitor [4] and Persyst 14 [5]. In this abstract, we describe our efforts to transform a high-performance offline seizure detection system [3] into a low latency real-time or online seizure detection system. An overview of the system is shown in Figure 1. The main difference between an online versus offline system is that an online system should always be causal and has minimum latency which is often defined by domain experts. The offline system, shown in Figure 2, uses two phases of deep learning models with postprocessing [3]. The channel-based long short term memory (LSTM) model (Phase 1 or P1) processes linear frequency cepstral coefficients (LFCC) [6] features from each EEGmore »
-
Our ability to predict the structure and evolution of stars is in part limited by complex, 3D hydrodynamic processes such as convective boundary mixing. Hydrodynamic simulations help us understand the dynamics of stellar convection and convective boundaries. However, the codes used to compute such simulations are usually tested on extremely simple problems and the reliability and reproducibility of their predictions for turbulent flows is unclear. We define a test problem involving turbulent convection in a plane-parallel box, which leads to mass entrainment from, and internal-wave generation in, a stably stratified layer. We compare the outputs from the codes FLASH , MUSIC , PPMSTAR , PROMPI , and SLH , which have been widely employed to study hydrodynamic problems in stellar interiors. The convection is dominated by the largest scales that fit into the simulation box. All time-averaged profiles of velocity components, fluctuation amplitudes, and fluxes of enthalpy and kinetic energy are within ≲3 σ of the mean of all simulations on a given grid (128 3 and 256 3 grid cells), where σ describes the statistical variation due to the flow’s time dependence. They also agree well with a 512 3 reference run. The 128 3 and 256 3 simulationsmore »
-
We study a distributed policy evaluation problem in which a group of agents with jointly observed states and private local actions and rewards collaborate to learn the value function of a given policy via local computation and communication. This problem arises in various large-scale multi-agent systems, including power grids, intelligent transportation systems, wireless sensor networks, and multi-agent robotics. We develop and analyze a new distributed temporal-difference learning algorithm that minimizes the mean-square projected Bellman error. Our approach is based on a stochastic primal-dual method and we improve the best-known convergence rate from $O(1/\sqrt{T})$ to $O(1/T)$, where $T$ is the total number of iterations. Our analysis explicitly takes into account the Markovian nature of the sampling and addresses a broader class of problems than the commonly-used i.i.d. sampling scenario.
-
Large scale data sets from the web, social networks, and bioinformatics are widely available and can often be represented by strings and suffix arrays are highly efficient data structures enabling string analysis. But, our personal devices and corresponding exploratory data analysis (EDA) tools cannot handle big data sets beyond the local memory. Arkouda is a framework under early development that brings together the productivity of Python at the user side with the high-performance of Chapel at the server-side. In this paper, an efficient suffix array data structure design and integration method are given first. A suffix array algorithm library integration method instead of one single suffix algorithm is presented to enable runtime performance optimization in Arkouda since different suffix array algorithms may have very different practical performances for strings in various applications. A parallel suffix array construction algorithm framework is given to further exploit hierarchical parallelism on multiple locales in Chapel. A corresponding benchmark is developed to evaluate the feasibility of the provided suffix array integration method and measure the end-to-end performance. Experimental results show that the proposed solution can provide data scientists an easy and efficient method to build suffix arrays with high performance in Python. All our codesmore »