Multithreaded agent-based simulation

Multithreading can significantly increase the performance of large agent-based simulations on multicore systems, but agent-based software packages do not commonly offer adequate support for multithreading. This report describes alterations and additions made to the MASON agent-based simulation package that allow the application programmer to make use of multiple threads easily and without radical change to conventional agent-based programming style. The report confirms performance gains with the results of test runs.