Skip to main content

Improving Scalability and Maintenance of Software for High-Performance Scientific Computing by Combining MDE and Frameworks

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6981))

Abstract

In recent years, numerical simulation has attracted increasing interest within industry and among academics. Paradoxically, the development and maintenance of high performance scientific computing software has become more complex due to the diversification of hardware architectures and their related programming languages and libraries.

In this paper, we share our experience in using model-driven development for numerical simulation software. Our approach called MDE4HPC proposes to tackle development complexity by using a domain specific modeling language to describe abstract views of the software. We present and analyse the results obtained with its implementation when deriving this abstract model to target Arcane, a development framework for 2D and 3D numerical simulation software.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Moore, G.E.: Cramming more components onto integrated circuits. Electronics 38(8), 114–117 (1965)

    Google Scholar 

  2. Lugato, D.: Model-driven engineering for high-performance computing applications. In: The 19th IASTED International Conference on Modelling and Simulation, Quebec City, Quebec, Canada (May 2008)

    Google Scholar 

  3. Gonnord, J., Leca, P., Robin, F.: Au delà de 50 mille milliards d´opérations par seconde! La Recherche (393) (January 2006)

    Google Scholar 

  4. Johns, C.R., Brokenshire, D.A.: Introduction to the cell broadband engine architecture. IBM Journal of Research and Development 51(5), 503–520 (2007)

    Article  Google Scholar 

  5. Kirk, D.: Nvidia cuda software and gpu parallel computing architecture. In: ISMM, pp. 103–104 (2007)

    Google Scholar 

  6. KhronosGroup: The OpenCL specification. Technical report (2009)

    Google Scholar 

  7. Miller, J., Mukerji, J.: Mda guide version 1.0.1. omg/2003-06-01. Technical report, OMG (2003)

    Google Scholar 

  8. Palyart, M., Lugato, D., Ober, I., Bruel, J.M.: MDE4HPC: An approach for using Model-Driven Engineering in High-Performance Computing. In: 15th System Design Languages Forum, SDL 2011 (2011)

    Google Scholar 

  9. Grospellier, G., Lelandais, B.: The Arcane development framework. In: POOSC 2009. ACM, New York (2009)

    Google Scholar 

  10. Snir, M., Otto, S.W., Huss-Lederman, S., Walker, D.W., Dongarra, J.: MPI: The complete reference. MIT Press, Cambridge (1996)

    Google Scholar 

  11. Schramm, A., Preußner, A., Heinrich, M., Vogel, L.: Rapid UI Development for Enterprise Applications: Combining Manual and Model-Driven Techniques. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 271–285. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  12. Weiland, M.: Chapel, Fortress and X10: Novel Languages for HPC. Technical report, The University of Edinburgh (October 2007)

    Google Scholar 

  13. Bodin, F.: Keynote: Compilers in the manycore era. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds.) HiPEAC 2009. LNCS, vol. 5409, pp. 2–3. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  14. Dagum, L., Menon, R.: Openmp: An industry-standard api for shared-memory programming. Computing in Science and Engineering 5, 46–55 (1998)

    Google Scholar 

  15. Christophe, P.: A domain specific embedded language in c++ for automatic differentiation, projection, integration and variational formulations. Sci. Program (2006)

    Google Scholar 

  16. Chafi, H., DeVito, Z., Moors, A., Rompf, T., Sujeeth, A.K., Hanrahan, P., Odersky, M., Olukotun, K.: Language virtualization for heterogeneous parallel computing. In: OOPSLA, pp. 835–847. ACM, New York (2010)

    Google Scholar 

  17. Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.-A.: starPU: A unified platform for task scheduling on heterogeneous multicore architectures. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 863–874. Springer, Heidelberg (2009), http://hal.inria.fr/inria-00384363/en/

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Palyart, M., Lugato, D., Ober, I., Bruel, JM. (2011). Improving Scalability and Maintenance of Software for High-Performance Scientific Computing by Combining MDE and Frameworks. In: Whittle, J., Clark, T., Kühne, T. (eds) Model Driven Engineering Languages and Systems. MODELS 2011. Lecture Notes in Computer Science, vol 6981. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24485-8_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24485-8_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24484-1

  • Online ISBN: 978-3-642-24485-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics