Abstract
We present a general approach for adaptive ABMS, which integrates Repast Simphony’s distributed batch components and the Swift parallel scripting language. Swift is used to launch Repast Simphony simulations on parallel resources, collect the results from those simulations, and generate further simulations based on an analysis of the results. In order to demonstrate the benefits and capabilities of this approach, we developed a simulated annealing reference workflow and applied it to a modified Repast Simphony “JZombies” demonstration model. The workflow was able to successfully and efficiently find areas of the model parameter space that yielded the desired outcomes, as specified by an objective function. The workflow was run on a high-performance cluster, launching 16 concurrent simulated annealing optimization processes, each executing 100 simulated annealing loops over 16 stochastic model variations – a total of 25,856 adaptive simulation runs, accounting for a 96.3% reduction in the number of simulations that were required compared to a complete enumeration of parameter space. The materials used in the workflow are included as linked external resources to allow replication.
Chapter PDF
References
North, M.J., Collier, N.T., Ozik, J., Tatara, E., Altaweel, M., Macal, C.M., Bragen, M., Sydelko, P.: Complex Adaptive Systems Modeling with Repast Simphony. In: Complex Adaptive Systems Modeling. Springer, Heidelberg (2013)
Wilde, M., Hategan, M., Wozniak, J.M., Clifford, B., Katz, D.S., Foster, I.: Swift: A language for distributed parallel scripting. Parallel Computing 37(9), 633–652 (2011)
Adaptive Simulation with Repast Simphony and Swiftsupplemental materials, https://gist.github.com/jozik/74b7f40a7ed8bd4c37a9
Kleijnen, J.P.C., Sanchez, S.M., Lucas, T.W., Cioppa, T.M.: A user’s guide to the brave new world of simulation experiments. INFORMS Journal on Computing 17(3), 263–289 (2005)
Sanchez, S.M.: Work Smarter, Not Harder: Guidelines For Designing Simulation Experiments. In: Perrone, L.F., Wieland, F.P., Liu, J., Lawson, B.G., Nicol, D.M., Fujimoto, R.M. (eds.) Proc. 2006 Winter Simulation Conf., pp. 47–57 (2006)
Barton, R.R.: Designing Simulation Experiments. In: Pasupathy, R., Kim, S.-H., Tolk, A., Hill, R., Kuhl, M.E. (eds.) Proc. 2013 Winter Simulation Conf., pp. 342–353 (2013)
Fu, M.C.: Optimization for simulation: Theory vs. practice. INFORMS J. Comput. 14, 192–215 (2002)
Spall, J.C.: Introduction to Stochastic Search and Optimization: Estimation, Simulation, and Control. Wiley, New York (2003)
Walker, E., Xu, W., Chandar, V.: Composing and executing parallel data-flow graphs with shell pipes. In: Workshop on Workflows in Support of Large-Scale Science at SC 2009 (2009)
Dean, J., Ghemawat, S.: MapReduce: Simplified data processing on large clusters. In: Proc. Operating Systems Design and Implementation (2004)
Thain, T., Tannenbaum, T., Livny, M.: Distributed computing in practice: The Condor Experience. Concurrency and Computation: Practice and Experience 17(2-4), 323–356 (2005)
Deelman, E., Singh, G., Su, M., Blythe, J., Gil, Y., Kesselman, K., Mehta, G., Vahi, K., Berriman, G.B., Good, J., Laity, A., Jacob, J.C., Katz, D.S.: Pegasus: A framework for mapping complex scientific workflows onto distributed systems. Scientific Programming 13, 219–237 (2005)
Isard, M., Budiu, M., Yu, Y., Birrell, A., Fetterly, D.: Dryad: Distributed data parallel programs from sequential building blocks. In: Proc. EuroSys (2007)
Oinn, T., Addis, M., Ferris, J., Marvin, D., Senger, M., Greenwood, M., Carver, T., Glover, K., Pocock, M.R., Wipat, A., Li, P.: Taverna: a tool for the composition and enactment of bioinformatics workflows. Bioinformatics 20, 3045–3054 (2004)
Ludscher, B., Altintas, I., Berkley, C., Higgins, D., Jaeger-Frank, E., Jones, M., Lee, E., Tao, J., Zhao, Y.: Scientific workflow management and the Kepler system. Concurrency and Computation: Practice & Experience 18, 1039–1065 (2006)
Goecks, J., Nekrutenko, A., Taylor, J.: The Galaxy Team: Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences. Genome Biol 11(8), R86 (2010)
Maheshwari, K., Rodriguez, A., Kelly, D., Madduri, R., Wozniak, J., Wilde, M., Foster, I.: Enabling multi-task computation on Galaxy-based gateways using Swift. In: 2013 IEEE International Conference on Cluster Computing (CLUSTER), pp. 23–27 (2013)
Koehler, M.T., Tivnan, B.F.: Clustered computing with NetLogo and Repast J: beyond chewing gum and duct tape. In: Proceedings of the Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms, pp. 43–54 (2005)
Kirkpatrick, S.: Optimization by Simulated Annealing: Quantitative Studies. Journal of Statistical Physics 34(5–6), 975–986 (1984), doi:10.1007/BF0100945
Repast Java Getting Started Guide, http://repast.sf.net/docs/RepastJavaGettingStarted.pdf
Repast Simphony Batch Runs Getting Started, http://repast.sf.net/docs/RepastBatchRunsGettingStarted.pdf
University of Chicago Research Computing Center, http://rcc.uchicago.edu/resources/midway_specs.html
SLURM Resource Manager, https://computing.llnl.gov/linux/slurm/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Ozik, J., Wilde, M., Collier, N., Macal, C.M. (2014). Adaptive Simulation with Repast Simphony and Swift. In: Lopes, L., et al. Euro-Par 2014: Parallel Processing Workshops. Euro-Par 2014. Lecture Notes in Computer Science, vol 8805. Springer, Cham. https://doi.org/10.1007/978-3-319-14325-5_36
Download citation
DOI: https://doi.org/10.1007/978-3-319-14325-5_36
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-14324-8
Online ISBN: 978-3-319-14325-5
eBook Packages: Computer ScienceComputer Science (R0)