Feature Extension of MASS C++ towards a General Purpose Library

dc.contributor.advisorFukuda, Munehiro
dc.contributor.authorPratap Singh, Rishabh
dc.date.accessioned2026-08-11T19:18:30Z
dc.date.issued2026-08-11
dc.date.submitted2026
dc.descriptionThesis (Master's)--University of Washington, 2026
dc.description.abstractMASS (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.
dc.embargo.termsOpen Access
dc.format.mimetypeapplication/pdf
dc.identifier.otherPratapSingh_washington_0250O_29847.pdf
dc.identifier.urihttps://hdl.handle.net/1773/56991
dc.language.isoen_US
dc.rightsCC BY
dc.subjectComputer science
dc.subject.otherComputing and software systems
dc.titleFeature Extension of MASS C++ towards a General Purpose Library
dc.typeThesis

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
PratapSingh_washington_0250O_29847.pdf
Size:
1.31 MB
Format:
Adobe Portable Document Format