A system for multithreaded parallel simulation and computation with migrant threads and objects

Edward Mascarenhas, Purdue University

Abstract

The limited success of existing parallel simulation tools has generally been attributed to difficulties in using these tools for modeling. We address this issue in the context of the ParaSol multithreaded parallel discrete event simulation system. ParaSol is a layered system whose design and implementation is based on computation with migrant threads and objects. Novel features of ParaSol intended to reduce modeling effort are active transactions that can migrate to access passive simulation objects, and user-transparent thread-state checkpoints and restoration. Optimistic synchronization and domain-specific simulation object libraries also enhance and simplify modeling. We present efficient techniques for the support of optimistic parallel simulations, by addressing issues of adaptive synchronization, state-saving (save-if-modified method) and rollback, inter-process communication, and process scheduling. We also develop and implement minimum average cost based adaptive models for reducing overheads of rollback, system state checkpointing, and message polling. ParaSol is supported by Ariadne, a portable and efficient lightweight process system that we developed for multithreaded parallel computing. Ariadne has a layered software architecture and can be tuned to specific applications through its customization layer. Support is provided for scheduling via a built-in or an application-specific scheduler, and interfacing with any existing communications library. We present a novel and efficient thread-migration mechanism which does not require global address space allocation for each thread. This feature is supported at the application level for shared- or distributed-memory homogeneous environments. Threads may migrate between processes to access remote data, preserving locality of reference for computations with a dynamic data space. On shared-memory architectures good speedup can be achieved with a load-balancing custom scheduler for medium grained applications.

Degree

Ph.D.

Advisors

Rego, Purdue University.

Subject Area

Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS