Skip to main content

CAASCADE: A System for Static Analysis of HPC Software Application Portfolios

  • Conference paper
  • First Online:
Programming and Performance Visualization Tools (ESPT 2017, ESPT 2018, VPA 2017, VPA 2018)

Abstract

With the increasing complexity of upcoming HPC systems, so-called “co-design” efforts to develop the hardware and applications in concert for these systems also become more challenging. It is currently difficult to gather information about the usage of programming model features, libraries, and data structure considerations in a quantitative way across a variety of applications, and this information is needed to prioritize development efforts in systems software and hardware optimizations. In this paper we propose CAASCADE, a system that can harvest this information in an automatic way in production HPC environments, and we show some early results from a prototype of the system based on GNU compilers and a MySQL database.

This manuscript has been authored by UT-Battelle, LLC under Contract No. DE-AC05-00OR22725 with the U.S. Department of Energy. The United States Government retains and the publisher, by accepting the article for publication, acknowledges that the United States Government retains a non-exclusive, paid-up, irrevocable, world-wide license to publish or reproduce the published form of this manuscript, or allow others to do so, for United States Government purposes. The Department of Energy will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan (http://energy.gov/downloads/doe-public-access-plan). This paper is authored by an employee(s) of the United States Government and is in the public domain. Non-exclusive copying or redistribution is allowed, provided that the article citation is given and the authors and agency are clearly identified as its source.

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 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.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

References

  1. https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Dehydra

  2. https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Treehydra

  3. http://dwarfstd.org/Dwarf5Std.php

  4. CORAL fact sheet. http://www.anl.gov/sites/anl.gov/files/CORAL

  5. GNU Compiler Collection (GCC) Internals: Plugins. https://gcc.gnu.org/onlinedocs/gccint/Plugins.html

  6. Interactive compilation interface. http://ctuning.org/wiki/index.php/CTools:ICI

  7. PGI Compiler & Tools. http://www.pgroup.com/index.htm

  8. Reproducing MILEPOST project. https://github.com/ctuning/ck/wiki/Reproducing-MILEPOST-project

  9. Summit: scale new heights. Discover new solutions. https://www.olcf.ornl.gov/summit/

  10. The Exascale Computing Project. https://exascaleproject.org

  11. Abbasi, H., Lofstead, J., Zheng, F., Schwan, K., Wolf, M., Klasky, S.: Extending I/O through high performance data services. In: 2009 IEEE International Conference on Cluster Computing and Workshops, pp. 1–10, August 2009. https://doi.org/10.1109/CLUSTR.2009.5289167

  12. Adhianto, L., et al.: HPCTOOLKIT: tools for performance analysis of optimized parallel programs. Concurr. Comput.: Pract. Exp. 22(6), 685–701 (2010). https://doi.org/10.1002/cpe.1553

    Article  Google Scholar 

  13. Agrawal, K., Fahey, M.R., McLay, R., James, D.: User environment tracking and problem detection with XALT. In: Proceedings of the First International Workshop on HPC User Support Tools, HUST 2014, pp. 32–40. IEEE Press, Piscataway (2014). https://doi.org/10.1109/HUST.2014.6

  14. Blackford, L.S., et al.: An updated set of basic linear algebra subprograms (BLAS). ACM Trans. Math. Softw. 28(2), 135–151 (2002). https://doi.org/10.1145/567806.567807

    Article  MathSciNet  MATH  Google Scholar 

  15. Anantharaj, V., Foertter, F., Joubert, W., Wells, J.: Approaching exascale: application requirements for OLCF leadership computing. Oak Ridge Leadership Computing Facility Technical report ORNL/TM-2013/186 (2013)

    Google Scholar 

  16. Anderson, E., et al.: LAPACK Users’ Guide, 3rd edn. Society for Industrial and Applied Mathematics, Philadelphia (1999)

    Book  Google Scholar 

  17. Bader, D.B., et al.: ACME Pre-Release Documentation (2017). http://climatemodeling.science.energy.gov/acme/information-for-collaborators

  18. Balay, S., et al.: PETSc Web page (2016). http://www.mcs.anl.gov/petsc

  19. Balay, S., et al.: PETSc users manual. Technical report ANL-95/11 - Revision 3.7. Argonne National Laboratory (2016). http://www.mcs.anl.gov/petsc

  20. Balay, S., Gropp, W.D., McInnes, L.C., Smith, B.F.: Efficient management of parallelism in object oriented numerical software libraries. In: Arge, E., Bruaset, A.M., Langtangen, H.P. (eds.) Modern Software Tools in Scientific Computing, pp. 163–202. Birkhäuser Press, Boston (1997)

    Chapter  Google Scholar 

  21. Bodin, F., Mével, Y., Quiniou, R.: A user level program transformation tool. In: Proceedings of the 12th International Conference on Supercomputing, pp. 180–187. ACM (1998)

    Google Scholar 

  22. Budiardja, R., Fahey, M., McLay, R., Don, P.M., Hadri, B., James, D.: Community use of XALT in its first year in production. In: Proceedings of the Second International Workshop on HPC User Support Tools, HUST 2015, pp. 4:1–4:10. ACM, New York (2015). https://doi.org/10.1145/2834996.2835000

  23. Chapman, B., et al.: Introducing OpenSHMEM: SHMEM for the PGAS community. In: Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model, PGAS 2010, pp. 2:1–2:3. ACM, New York (2010). https://doi.org/10.1145/2020373.2020375

  24. Chapman, B., Eachempati, D., Hernandez, O.: Experiences developing the OpenUH compiler and runtime infrastructure. Int. J. Parallel Program. 41(6), 825–854 (2013). https://doi.org/10.1007/s10766-012-0230-9

    Article  Google Scholar 

  25. von Dincklage, D., Diwan, A.: Integrating program analyses with programmer productivity tools. Softw. Pract. Exp. 41(7), 817–840 (2011). https://doi.org/10.1002/spe.1035

    Article  Google Scholar 

  26. Ding, W., Hsu, C.H., Hernandez, O., Chapman, B., Graham, R.: KLONOS: similarity-based planning tool support for porting scientific applications. Concurr. Comput. Pract. Exp. 25(8), 1072–1088 (2013). https://doi.org/10.1002/cpe.2903

    Article  Google Scholar 

  27. Feser, J.K., Chaudhuri, S., Dillig, I.: Synthesizing data structure transformations from input-output examples. SIGPLAN Not. 50(6), 229–239 (2015). https://doi.org/10.1145/2813885.2737977

    Article  Google Scholar 

  28. Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. IEEE 93(2), 216–231 (2005). https://doi.org/10.1109/JPROC.2004.840301

    Article  Google Scholar 

  29. Fuerlinger, K., Wright, N.J., Skinner, D.: Effective performance measurement at petascale using IPM. In: 2010 IEEE 16th International Conference on Parallel and Distributed Systems, pp. 373–380, December 2010. https://doi.org/10.1109/ICPADS.2010.16

  30. Fursin, G., Lokhmotov, A., Plowman, E.: Collective knowledge: towards R&D sustainability. In: Proceedings of the 2016 Conference on Design, Automation & Test in Europe, DATE 2016, pp. 864–869. EDA Consortium, San Jose (2016). http://dl.acm.org/citation.cfm?id=2971808.2972009

  31. Gibbs, T.: Accelerate the path to exascale: best practices to acquire and analyze HPC application workload data (2016). http://www.isc-hpc.com/isc16_ap/sessiondetails.htm?t=session&o=328&a=select&ra=personendetails

  32. Joubert, W., et al.: Accelerated application development: the ORNL Titan experience. Comput. Electr. Eng. 46, 123–138 (2015). https://doi.org/10.1016/j.compeleceng.2015.04.008

    Article  Google Scholar 

  33. Joubert, W., Su, S.Q.: An analysis of computational workloads for the ORNL Jaguar system. In: Proceedings of the 26th ACM International Conference on Supercomputing, ICS 2012, pp. 247–256. ACM, New York (2012). https://doi.org/10.1145/2304576.2304611

  34. Karavanic, K.L., et al.: Integrating database technology with comparison-based parallel performance diagnosis: the PerfTrack performance experiment management tool. In: Proceedings of the 2005 ACM/IEEE Conference on Supercomputing, SC 2005, p. 39. IEEE Computer Society, Washington, DC (2005). https://doi.org/10.1109/SC.2005.36

  35. Kartsaklis, C., Hernandez, O., Hsu, C.H., Ilsche, T., Joubert, W., Graham, R.L.: HERCULES: a pattern driven code transformation system. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum, IPDPSW, pp. 574–583. IEEE (2012)

    Google Scholar 

  36. Liao, C., Lin, P.H., Quinlan, D.J., Zhao, Y., Shen, X.: Enhancing domain specific language implementations through ontology. In: Proceedings of the 5th International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, WOLFHPC 2015, pp. 3:1–3:9. ACM, New York (2015). https://doi.org/10.1145/2830018.2830022

  37. Lindlan, K.A., et al.: A tool framework for static and dynamic analysis of object-oriented software with templates. In: ACM/IEEE 2000 Conference on Supercomputing, p. 49, November 2000. https://doi.org/10.1109/SC.2000.10052

  38. MPI Forum: MPI: a message-passing interface standard. Technical report. MPI Forum, Knoxville, TN, USA (1994)

    Google Scholar 

  39. OpenMP Architecture Review Board: OpenMP application program interface version 4.5, November 2015. http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf

  40. Rew, R.K., Davis, G.P., Emmerson, S.: NetCDF user’s guide, an interface for data access, version 2.3, April 1993

    Google Scholar 

  41. Sreepathi, S., et al.: Application characterization using Oxbow toolkit and PADS infrastructure. In: 2014 Hardware-Software Co-Design for High Performance Computing, pp. 55–63, November 2014. https://doi.org/10.1109/Co-HPC.2014.11

  42. OpenACC Standard: OpenACC - directives for accelerators. http://www.openacc-standard.org

  43. Strout, M.M., Mellor-Crummey, J., Hovland, P.: Representation-independent program analysis. SIGSOFT Softw. Eng. Notes 31(1), 67–74 (2005). https://doi.org/10.1145/1108768.1108810

    Article  Google Scholar 

  44. The HDF Group: Hierarchical data format version 5 (2000–2017). http://www.hdfgroup.org/HDF5

  45. Tiwari, A., Chen, C., Chame, J., Hall, M., Hollingsworth, J.K.: A scalable auto-tuning framework for compiler optimization. In: IEEE International Symposium on Parallel & Distributed Processing, IPDPS 2009, pp. 1–12. IEEE (2009)

    Google Scholar 

  46. Willcock, J.J., Lumsdaine, A., Quinlan, D.J.: Reusable, generic program analyses and transformations. In: Proceedings of the Eighth International Conference on Generative Programming and Component Engineering, GPCE 2009, pp. 5–14. ACM, New York (2009). https://doi.org/10.1145/1621607.1621611

  47. Zaharia, M., et al.: Apache spark: a unified engine for big data processing. Commun. ACM 59(11), 56–65 (2016). https://doi.org/10.1145/2934664

    Article  Google Scholar 

Download references

Acknowledgements

This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, under contract number DE-AC05-00OR22725.

This research used resources of the Oak Ridge Leadership Computing Facility at the Oak Ridge National Laboratory, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC05-00OR22725.

Research sponsored by the Laboratory Directed Research and Development Program of Oak Ridge National Laboratory, managed by UT-Battelle, LLC, for the U. S. Department of Energy. The project was sponsored via the LDRD project 8277: “Understanding HPC Applications for Evidence-based Co-design”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. Graham Lopez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lopez, M.G., Hernandez, O., Budiardja, R.D., Wells, J.C. (2019). CAASCADE: A System for Static Analysis of HPC Software Application Portfolios. In: Bhatele, A., Boehme, D., Levine, J., Malony, A., Schulz, M. (eds) Programming and Performance Visualization Tools. ESPT ESPT VPA VPA 2017 2018 2017 2018. Lecture Notes in Computer Science(), vol 11027. Springer, Cham. https://doi.org/10.1007/978-3-030-17872-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-17872-7_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-17871-0

  • Online ISBN: 978-3-030-17872-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics