Skip to main content

Specialising Simulator Generators for High-Performance Monte-Carlo Methods

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2008)

Abstract

We address the tension between software generality and performance in the domain of simulations based on Monte-Carlo methods. We simultaneously achieve generality and high performance by a novel development methodology and software architecture centred around the concept of a specialising simulator generator. Our approach combines and extends methods from functional programming, generative programming, partial evaluation, and runtime code generation. We also show how to generate parallelised simulators.

We evaluated our approach by implementing a simulator for advanced forms of polymerisation kinetics. We achieved unprecedented performance, making Monte-Carlo methods practically useful in an area that was previously dominated by deterministic PDE solvers. This is of high practical relevance, as Monte-Carlo simulations can provide detailed microscopic information that cannot be obtained with deterministic solvers.

This work was funded by the UNSW FRGP High Performance Parallel Computing for Complex Polymer Architecture Design.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice Hall International, Englewood Cliffs (1993)

    MATH  Google Scholar 

  2. Czarnecki, K., Eisenecker, U.W.: Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley (2000)

    Google Scholar 

  3. Veldhuizen, T.L., Gannon, D.: Active libraries: Rethinking the roles of compilers and libraries. In: Proc. of the SIAM Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing (OO 1998) (1998)

    Google Scholar 

  4. Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proceedings of the IEEE 93(2), 216–231 (2005)

    Article  Google Scholar 

  5. Veldhuizen, T.L., Gannon, D.: Active libraries: Rethinking the roles of compilers and libraries. In: Proc. of the SIAM Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing (OO 1998), SIAM Press (1998)

    Google Scholar 

  6. Drache, M., Schmidt-Naake, G., Buback, M., Vana, P.: Modeling RAFT polymerization kinetics via Monte Carlo methods: cumyl dithiobenzoate mediated methyl acrylate polymerization. Polymer (2004)

    Google Scholar 

  7. Tobita, H., Yanase, F.: Monte Carlo simulation of controlled/living radical polymerization in emulsified systems. Macromolecular Theory and Simulation (2007)

    Google Scholar 

  8. Chaffey-Millar, H., Stewart, D.B., Chakravarty, M., Keller, G., Barner-Kowollik, C.: A parallelised high performance Monte Carlo simulation approach for complex polimerization kinetics. Macromolecular Theory and Simulations 16(6), 575–592 (2007)

    Article  Google Scholar 

  9. Robert, C., Casella, G.: Monte Carlo Statistical Methods. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  10. Chaffey-Millar, H., Busch, M., Davis, T.P., Stenzel, M.H., Barner-Kowollik, C.: Advanced computational strategies for modelling the evolution of full molecular weight distributions formed during multiarmed (star) polymerisations 14 (2005)

    Google Scholar 

  11. Pang, A., Stewart, D., Seefried, S., Chakravarty, M.M.T.: Plugging Haskell in. In: Proc. of the ACM SIGPLAN Workshop on Haskell, pp. 10–21. ACM Press, New York (2004)

    Chapter  Google Scholar 

  12. Wulkow, M.: Predici (2007), http://www.cit-wulkow.de/tbapred.htm

  13. Wulkow, M.: The simulation of molecular weight distributions in polyreaction kinetics by discrete galerkin methods. Macromolecular Theory Simulation 5 (1996)

    Google Scholar 

  14. Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimization of software and the ATLAS project. Parallel Computing 27(1–2), 3–35 (2001)

    Article  MATH  Google Scholar 

  15. Glenstrup, A.J., H.M., Secher, J.P.: C-Mix – specialization of C programs. In: Partial Evaluation: Practice and Theory (1999)

    Google Scholar 

  16. Consel, C., Hornof, L., Lawall, J.L., Marlet, R., Muller, G., Noy, J., Thibault, S., Volanschi, E.N.: Tempo: Specializing systems applications and beyond. ACM Computing Surveys 30(3) (September 1998)

    Google Scholar 

  17. Veldhuizen, T.L.: C++ templates as partial evaluation. Partial Evaluation and Semantic-Based Program Manipulation, 13–18 (1999)

    Google Scholar 

  18. Lu, J., Zhang, H., Yang, Y.: Monte carlo simulation of kinetics and chain-length distribution in radical polymerization. Macromolecular Theory and Simulation 2, 747–760 (1993)

    Article  Google Scholar 

  19. He, J., Zhang, H., Yang, Y.: Monte carlo simulation of chain length distribution in radical polymerization with transfer reaction. Macromolecular Theory and Simulation 4, 811–819 (1995)

    Article  Google Scholar 

  20. Prescott, S.W.: Chain-length dependence in living/controlled free-radical polymerizations: Physical manifestation and Monte Carlo simulation of reversible transfer agents. Macromolecules 36, 9608–9621 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Paul Hudak David S. Warren

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Keller, G., Chaffey-Millar, H., Chakravarty, M.M.T., Stewart, D., Barner-Kowollik, C. (2007). Specialising Simulator Generators for High-Performance Monte-Carlo Methods. In: Hudak, P., Warren, D.S. (eds) Practical Aspects of Declarative Languages. PADL 2008. Lecture Notes in Computer Science, vol 4902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77442-6_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77442-6_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77441-9

  • Online ISBN: 978-3-540-77442-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics