A Design Proposal for a Next Generation Scientific Software Framework

  • Anshu DubeyEmail author
  • Daniel T. Graves
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9523)


High performance scientific software has many unique and challenging characteristics. These codes typically consist of many different stages of computation with different algorithms and components with diverse requirements. These heterogeneous algorithms, coupled with platform heterogeneity, create serious performance challenges. To retain performance, portability and maintainability of the software on heterogeneous platforms, more abstractions have to be integrated into the software design. Most of these abstractions are still in the research stage and scientific codes have barely started using them. However, it is urgent that we start considering the abstraction interplay in designing the next generation of software architecture. We propose a software architecture for PDE-based scientific codes that combines three abstractions in a code framework suitable for expected heterogeneity in platforms, while retaining separation of concerns, performance and portability of the software. We support our proposal with an example design for an adaptive mesh refinement based framework.


Memory Hierarchy Virtual View Adaptive Mesh Refinement Functional Decomposition Heterogeneous Platform 
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.



This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computer Research.


  1. 1.
    Ayyub, S., Abramson, D.: Gridrod: a dynamic runtime scheduler for grid workflows. In: Proceedings of the 21st Annual International Conference on Supercomputing, pp. 43–52. ACM (2007)Google Scholar
  2. 2.
    Berger, M., Oliger, J.: Adaptive mesh refinement for hyperbolic partial differential equations. J. Comput. Phy. 53, 484–512 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Berzins, M., Luitjens, J., Meng, Q., Harman, T., Wight, C., Peterson, J.: Uintah - a scalable framework for hazard analysis. In: TG 2010: Proceedings of 2010 TeraGrid Conference. ACM, New York (2010)Google Scholar
  4. 4.
    Case, D., Babin, V., Berryman, J., Betz, R., Cai, Q., Cerutti, D., Cheatham Iii, T., Darden, T., Duke, R., Gohlke, H., et al.: Amber 14 (2014)Google Scholar
  5. 5.
    Dubey, A., Antypas, K., Ganapathy, M., Reid, L., Riley, K., Sheeler, D., Siegel, A., Weide, K.: Extensible component-based architecture for FLASH, a massively parallel, multiphysics simulation code. Parallel Comput. 35(10–11), 512–522 (2009)CrossRefGoogle Scholar
  6. 6.
    Dubey, A., Calder, A., Daley, C., Fisher, R., Graziani, C., Jordan, G., Lamb, D., Reid, L., Townsley, D.M., Weide, K.: Pragmatic optimizations for better scientific utilization of large supercomputers. Int. J. High Perform. Comput. Appl. 27(3), 360–373 (2013)CrossRefGoogle Scholar
  7. 7.
    Gilmanov, T., Anderson, M., Brodowicz, M., Sterling, T.: Application characteristics of many-tasking execution models. In: Proceedings of the 2013 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA). Citeseer (2013)Google Scholar
  8. 8.
    Gysi, T., Fuhrer, O., Osuna, C., Cumming, B., Schulthess, T.: Stella: a domain-specific embedded language for stencil codes on structured grids. In: EGU General Assembly Conference Abstracts, vol. 16, p. 8464 (2014)Google Scholar
  9. 9.
    Haidar, A., Ltaief, H., YarKhan, A., Dongarra, J.: Analysis of dynamically scheduled tile algorithms for dense linear algebra on multicore architectures. Concurr. Comput.: Pract. Exp. 24(3), 305–321 (2012)CrossRefGoogle Scholar
  10. 10.
    Kale, L.V., Bohm, E., Mendes, C.L., Wilmarth, T., Zheng, G.: Programming petascale applications with Charm++ and AMPI. Petascale Comput.: Algorithms Appl. 1, 421–441 (2007)Google Scholar
  11. 11.
    Maruyama, N., Nomura, T., Sato, K., Matsuoka, S.: Physis: an implicitly parallel programming model for stencil computations on large-scale gpu-accelerated supercomputers. In: 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pp. 1–12. IEEE (2011)Google Scholar
  12. 12.
    Meng, Q., Luitjens, J., Berzins, M.: Dynamic task scheduling for the uintah framework. In: Proceedings of the 3rd IEEE Workshop on Many-Task Computing on Grids and Supercomputers (MTAGS 2010) (2010).
  13. 13.
    Notz, P.K., Pawlowski, R.P., Sutherland, J.C.: Graph-based software design for managing complexity and enabling concurrency in multiphysics PDE software. ACM Trans. Math. Softw. 39(1), 1:1–1:21 (2012)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Orchard, D.A., Bolingbroke, M., Mycroft, A.: Ypnos: declarative, parallel structured grid programming. In: Proceedings of the 5th ACM SIGPLAN Workshop on Declarative Aspects Of Multicore Programming, DAMP 2010, pp. 15–24. ACM, New York (2010).
  15. 15.
    O’Shea, B.W., Bryan, G., Bordner, J., Norman, M.L., Abel, T., Harkness, R., Kritsuk, A.: Introducing Enzo, an AMR cosmology application. In: Plewa, T., Timur, L., Weirs, V. (eds.) Adaptive Mesh Refinement - Theory and Applications. LNCS, vol. 41, pp. 341–349. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Parker, S.G.: A component-based architecture for parallel multi-physics PDE simulation. Future Gener. Comput. Sys. 22, 204–216 (2006)CrossRefGoogle Scholar
  17. 17.
    Phillips, J.C., Braun, R., Wang, W., Gumbart, J., Tajkhorshid, E., Villa, E., Chipot, C., Skeel, R.D., Kale, L., Schulten, K.: Scalable molecular dynamics with namd. J. Comput. Chem. 26(16), 1781–1802 (2005)CrossRefGoogle Scholar
  18. 18.
    Stock, K., Kong, M., Grosser, T., Pouchet, L.N., Rastello, F., Ramanujam, J., Sadayappan, P.: A framework for enhancing data reuse via associative reordering. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, p. 10. ACM (2014)Google Scholar
  19. 19.
    Unat, D., Chan, C., Zhang, W., Bell, J., Shalf, J.: Tiling as a durable abstraction for parallelism and data locality (2013).
  20. 20.
    Valiev, M., Bylaska, E.J., Govind, N., Kowalski, K., Straatsma, T.P., Van Dam, H.J., Wang, D., Nieplocha, J., Apra, E., Windus, T.L., et al.: Nwchem: a comprehensive and scalable open-source solution for large scale molecular simulations. Comput. Phys. Commun. 181(9), 1477–1489 (2010)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Computational Research Division, Lawrence Berkeley National LaboratoryUniversity of CaliforniaBerkeleyUSA

Personalised recommendations