Feature Extension of MASS C++ towards a General Purpose Library
Date
relationships.isAuthorOf
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
MASS (Multi-Agent Spatial Simulation) C++ is a parallel computing library for agent-based simulations on distributed memory clusters, organised around the Bulk Synchronous
Parallel model and a master-worker coordination scheme. Three structural limitations have
constrained its applicability as a general-purpose runtime. An integer-based method dispatch
scheme couples user-defined Place and Agent classes to the framework and propagates
renumbering errors silently. A per-iteration master coordination cost of K ×N (K operations
×N iterations) barrier round-trips dominates wall-clock time on communication-intensive
workloads. And a Places abstraction restricted to regular grids leaves social, biological, and
transportation graphs without first-class support. This thesis presents three feature extensions that address these limitations while preservingbackward compatibility with existing MASS C++ programs. A three-tier dispatch architecture
replaces integer switch/case with string-named methods, header-defined lambdas, and JIT-
compiled lambdas, unified through a single dispatch registry. A phase-pipeline builder
(IterationConfig) backed by an asynchronous handle-based executor lets the user record
an entire iteration as one dispatch, collapsing the K ×N master round-trip pattern into
a single dispatch by allowing workers to advance through compute, communication, and
agent-management phases autonomously. A graph stack extends MASS C++ from grid-
only topologies to arbitrary graphs, with bidirectional adjacency, locality-aware edge-cut
partitioning, edge-constrained agent migration, Pregel-inspired combiners and aggregators,
and a pluggable parser interface for user-defined graph formats. This thesis evaluates the extensions on five benchmarks (Wave2D, SugarScape, PageRank,BFS Wavefront, and Random Walk) covering correctness, performance, and programmability.
Compound execution reduces barrier round-trips by orders of magnitude and yields speedups
that grow with the number of workers on Places-only workloads. SugarScape scaling exposes
an O(P 2) bottleneck (where P is the worker count) in the existing all-to-all agent exchange
protocol, which caps compound speedup as P grows and motivates the sparse neighbour-rank
exchange that graph-migrating agents adopt. The graph stack also positions MASS C++ as
the only system surveyed in Section 3 that supports mobile agents over irregular topologies
while remaining a drop-in extension of the existing grid-based runtime. The new lambda
dispatch tiers cut user-written lines of code by 20–34% across the evaluated benchmarks
against native methods, at per-call overheads under∼15% on compute-heavy stencils and
rising to∼25% on operation-dense agent workloads.
Description
Thesis (Master's)--University of Washington, 2026
