830 Cortix: An Open Source Framework for Dynamic Network Simulations at Scale

Tuesday, 14 January 2020
Hall B (Boston Convention and Exhibition Center)
Taha Azzaoui, Univ. of Massachusetts Lowell, Lowell, MA; and V. de Almeida
Manuscript (1.2 MB)

Handout (1.4 MB)

With the advent of scientific computing comes a wealth of computational models produced by the scientific community at large. From molecular dynamics to evolutionary systems, such models are typically developed independently, with varied programming strategies, data formats, and time scales in an effort to address a domain-specific question. As such, we present Cortix (cortix.org) - an open source Python library for system-level module coupling, execution, and analysis. Cortix provides an environment for constructing a network of computational modules through a unified framework. To facilitate communication within this network, Cortix implements a protocol for communication between modules, allowing them to send and receive data from other modules as the overall simulation evolves.

This Cortix use-case simulates the motion of a swarm of droplets in a vortex stream. It consists of two modules, namely, a Droplet module used to model the droplet dynamics, and a Vortex module used to model the effects of the surrounding air on the falling droplets. The Droplet module is instantiated as many times as there are droplets in the simulation while a single Vortex module is connected to all Droplet instances. The communication between modules entails a two-way data exchange between the Vortex module and the Droplet modules, where Droplet sends its position to Vortex and Vortex returns the air velocity to Droplet at the given position.

A set of 1000 droplets of water (Droplet modules) are released from 500-m altitude into a Vortex stream of air at random positions within a square area of 250 x 250 m2 and random droplet diameter sizes ranging from 5 mm to 8 mm; standard physical properties of both fluids are used. This droplet swirl example tests the parallel scalability of Cortix to connect over 1000 modules, as well as the multiple instantiation of the same module aimed at simulating the collective phenomena of rainfall. Future work will focus on Cortix module development to build models of complex dynamical systems as applied to various scientific areas. As shown in table 1, adding more droplets to the simulation, increased running time. The communication bottleneck of one-to-all modules can be seen from the fact that the performance trend is not linear in particular above 1000 processes.

Supplementary URL: https://cortix.org

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner