Advertisement

MDE4HPC: An Approach for Using Model-Driven Engineering in High-Performance Computing

  • Marc Palyart
  • David Lugato
  • Ileana Ober
  • Jean-Michel Bruel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7083)

Abstract

With the increasing number of programming paradigms and hardware architectures, high performance computing is becoming more and more complex in exploiting efficiently and sustainably supercomputers resources. Our thesis is that Model Driven Engineering (MDE) can help us in dealing with this complexity, by abstracting some platform dependent details. In this paper we present our approach (MDE4HPC) based on Model Driven Engineering which – by describing the scientific knowledge independently of any specific platform – enables efficient code generation for multiple target architectures.

Keywords

Model Transformation High Performance Computing Hardware Architecture Symbolic Execution Eclipse Modeling Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Moore, G.E.: Cramming more components onto integrated circuits. Electronics 38(8), 114–117 (1965)Google Scholar
  2. 2.
    Larus, J.R.: Spending moore’s dividend. Commun. ACM 52(5), 62–69 (2009)CrossRefGoogle Scholar
  3. 3.
    Ross, P.E.: Engineering: 5 commandments. IEEE Spectrum 40(12), 30–35 (2003)CrossRefGoogle Scholar
  4. 4.
    Asanovic, K., Bodík, R., Demmel, J., Keaveny, T., Keutzer, K., Kubiatowicz, J., Morgan, N., Patterson, D.A., Sen, K., Wawrzynek, J., Wessel, D., Yelick, K.A.: A view of the parallel computing landscape. Communications of ACM 52(10), 56–67 (2009)CrossRefGoogle Scholar
  5. 5.
    Miller, J., Mukerji, J.: Mda guide version 1.0.1. omg/2003-06-01. Technical report, OMG (2003)Google Scholar
  6. 6.
    Kirk, D.: Nvidia cuda software and gpu parallel computing architecture. In: ISMM, pp. 103–104 (2007)Google Scholar
  7. 7.
    Bayoumi, A.M., Chu, M., Hanafy, Y.Y., Harrell, P., Refai-Ahmed, G.: Scientific and engineering computing using ati stream technology. Computing in Science and Engineering 11(6), 92–97 (2009)CrossRefGoogle Scholar
  8. 8.
    Johns, C.R., Brokenshire, D.A.: Introduction to the cell broadband engine architecture. IBM Journal of Research and Development 51(5), 503–520 (2007)CrossRefGoogle Scholar
  9. 9.
    Gonnord, J., Leca, P., Robin, F.: Au delà de 50 mille milliards d´opérations par seconde? La Recherche (393) (January 2006)Google Scholar
  10. 10.
    Miller, G.A.: The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information. The Psychological Review 63, 81–97 (1956)CrossRefGoogle Scholar
  11. 11.
  12. 12.
    Software Process Engineering Meta-Model, version 2.0. Technical report, Object Management Group (2008)Google Scholar
  13. 13.
    Bernholdt, D.E.: Raising the level of programming abstraction in scalable programming models. In: IEEE International Conference on High Performance Computer Architecture (HPCA), Workshop on Productivity and Performance in High-End Computing (P-PHEC), pp. 76–84. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  14. 14.
    Snir, M., Otto, S.W., Huss-Lederman, S., Walker, D.W., Dongarra, J.: MPI: The complete reference. MIT Press, Cambridge (1996)Google Scholar
  15. 15.
    Dagum, L., Menon, R.: Openmp: An industry-standard api for shared-memory programming. Computing in Science and Engineering 5, 46–55 (1998)Google Scholar
  16. 16.
    Balay, S., Buschelman, K., Eijkhout, V., Gropp, W.D., Kaushik, D., Knepley, M.G., McInnes, L.C., Smith, B.F., Zhang, H.: PETSc users manual. Technical Report ANL-95/11 - Revision 2.1.5, Argonne National Laboratory (2004)Google Scholar
  17. 17.
    Baumgartner, G., Bernholdt, D.E., Cociorva, D., Harrison, R., Hirata, S., Lam, C.-C., Nooijen, M., Pitzer, R., Ramanujam, J., Sadayappan, P.: A high-level approach to synthesis of high-performance codes for quantum chemistry. In: Supercomputing 2002: Proceedings of the 2002 ACM/IEEE conference on Supercomputing, pp. 1–10. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    Bézivin, J., Gerbé, O.: Towards a precise definition of the OMG/MDA framework. In: ASE, pp. 273–280. IEEE Computer Press, Los Alamitos (2001)Google Scholar
  21. 21.
    Douglass, B.P.: Real Time UML: Advances in the UML for Real-Time Systems, 3rd edn. Addison Wesley Longman Publishing Co., Inc., Redwood City (2004)Google Scholar
  22. 22.
    Thomas, F., Gérard, S., Delatour, J., Terrier, F.: Software real-time resource modeling. In: FDL, pp. 231–236. ECSI (2007)Google Scholar
  23. 23.
    Reed, R.: Itu-t system design languages (sdl). Computer Networks 42(3), 283–284 (2003)CrossRefGoogle Scholar
  24. 24.
    Lockheed Martin (MDA success story), http://www.omg.org/mda/mda_files/lockheedmartin.pdf
  25. 25.
    Objectsecurity: Helping to secure the friendly skies, http://www.omg.org/mda/mda_files/objectsecurity_final.pdf
  26. 26.
    Pllana, S., Benkner, S., Mehofer, E., Natvig, L., Xhafa, F.: Towards an intelligent environment for programming multi-core computing systems, pp. 141–151 (2009)Google Scholar
  27. 27.
    Taillard, J., Guyomarc’h, F., Dekeyser, J.-L.: A graphical framework for high performance computing using an mde approach. In: Euromicro Conference on Parallel, Distributed, and Network-Based Processing, pp. 165–173 (2008)Google Scholar
  28. 28.
    Banerjee, U., Eigenmann, R., Nicolau, A., Padua, D.A.: Automatic program parallelization. Proceedings of the IEEE 81(2), 211–243 (1993)CrossRefGoogle Scholar
  29. 29.
    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
  30. 30.
    Lugato, D., Bigot, C., Valot, Y., Gallois, J.-P., Gérard, S., Terrier, F.: Validation and automatic test generation on UML models: the AGATHA approach. International Journal on Software Tools for Technology Transfer (STTT) 5(2), 124–139 (2004)CrossRefGoogle Scholar
  31. 31.
    Metcalf, M.: FORTRAN Optimization. Academic Press, Inc., Orlando (1985)zbMATHGoogle Scholar
  32. 32.
    Panas, T., Quinlan, D., Vuduc, R.: Tool support for inspecting the code quality of hpc applications. In: Proceedings of the 3rd International Workshop on Software Engineering for High Performance Computing Applications, SE-HPC 2007, p. 2. IEEE Computer Society, Washington, DC (2007)Google Scholar
  33. 33.
    Mohagheghi, P., Dehlen, V.: Existing model metrics and relations to model quality. In: ICSE Workshop on Software Quality, WOSQ 2009, pp. 39–45 (May 2009)Google Scholar
  34. 34.
    Grobelny, E., Bueno, D., Troxel, I., George, Vetter, J.S.: FASE: A Framework for Scalable Performance Prediction of HPC Systems and Applications. Simulation 83(10), 721–745 (2007)CrossRefGoogle Scholar
  35. 35.
    Brown, W.J., Malveau, R.C., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, Chichester (1998)Google Scholar
  36. 36.
    Gronback, R.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley Professional, Reading (2009)Google Scholar
  37. 37.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0. Addison-Wesley Professional, Reading (2009)Google Scholar
  38. 38.
    Eclipse C/C++ Development Tooling - CDT, http://www.eclipse.org/cdt/
  39. 39.
    Photran - an integrated development environment and refactoring tool for Fortran, http://www.eclipse.org/photran/
  40. 40.
  41. 41.
    ATL : ATL Transformation Language, http://www.eclipse.org/atl/
  42. 42.
    Grospellier, G., Lelandais, B.: The arcane development framework. In: POOSC 2009: Proceedings of the 8th Workshop on Parallel/High-Performance Object-Oriented Scientific Computing, pp. 1–11. ACM, New York (2009)CrossRefGoogle Scholar
  43. 43.
    Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., Chew, L.P.: Optimistic parallelism requires abstractions. Communications of ACM 52(9), 89–97 (2009)CrossRefGoogle Scholar
  44. 44.
    Harrison, R.J.: The myriad costs of complexity will force a paradigm shift. In: Community Input on the Future of High-Performance Computing Workshop (December 2009), http://www.nics.tennessee.edu/sites/www.nics.tennessee.edu/files/NSF-HPC-Whitepaper-12-09.pdf

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Marc Palyart
    • 1
    • 2
  • David Lugato
    • 1
  • Ileana Ober
    • 2
  • Jean-Michel Bruel
    • 2
  1. 1.CEA / CESTALe BarpFrance
  2. 2.IRIT - Université de ToulouseToulouseFrance

Personalised recommendations