Skip to main content

Automated Debugging of Fragmented Programs in LuNA System

  • Conference paper
  • First Online:
Mathematical Modeling and Supercomputer Technologies (MMST 2022)

Abstract

The LuNA system, which was created in ICMMG SB RAS, follows the approach of fragmented programming. The LuNA-program runs in parallel, but the programmer does not specify the behaviour of individual processes or threads when creating it. Instead, the user defines the content of computational fragments that may have dependencies on each other. Then, during the execution of the LuNA-program, the runtime system allocates independent computational fragments and distributes them to computing nodes and cores of the multicomputer.Some properties of the system play significant role, e.g. LuNA is the single assignment language and the execution order of operators in the subprogram body is undefined in general case. That is why LuNA-programs are characterized by specific errors. They are not peculiar neither to sequential programs, nor to parallel in classical technologies (MPI, OpenMP etc.) The paper contains classification of semantic errors that are specific for fragmented programs. The analysis of the various approaches applicability to automated debugging in the LuNA system is given. The paper also describes the operation principle of the tool created by the authors for detecting some popular fragmented program errors. The work of the tool is shown on the example of a test programs with different errors. Since the debugging tool is based on a “post-mortem” analysis, it is important to evaluate overhead. The evaluation results are also given in the paper. The directions of further work are described.

This work was carried out under state contract with ICMMG SB RAS 0251-2021-0005.

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 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.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. Malyshkin, V.: Technology of fragmented programming. Bulletin of YuUrGU, Series “computational Mathematics and Informatics”, vol. 46(305), pp. 45–55 (2012)

    Google Scholar 

  2. Akhmed-Zaki, D., Lebedev, D., Malyshkin, V., Perepelkin, V.: Automated construction of high performance distributed programs in LuNA system. In: Malyshkin, V. (ed.) PaCT 2019. LNCS, vol. 11657, pp. 3–9. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-25636-4_1

    Chapter  Google Scholar 

  3. Malyshkin, V., Perepelkin, V.: Optimization methods of parallel execution of numerical pro-grams in the LuNA fragmented programming system. J. Supercomput. 61(1), 235–248 (2012). https://doi.org/10.1007/s11227-011-0649-6. Special issue on Enabling Technologies for Programming Extreme Scale Systems

    Article  Google Scholar 

  4. Vlasenko, A.Y., Gudov, A.M.: The use of erratic behavior templates in debugging parallel programs by the automated validity verification method. J. Comput. Syst. Sci. Int. 56(4), 708–720 (2017). https://doi.org/10.1134/S1064230717040153

    Article  MATH  Google Scholar 

  5. Kunst, F.: Lint, a C Program Checker. Vrije Universiteit, Amsterdam (1988)

    Google Scholar 

  6. Evans, D., Larochelle, D.: Improving security using extensible lightweight static analysis. IEEE Softw. 19(1), 42–51. IEEE Computer Society Press, Washington (2002). https://doi.org/10.1109/52.976940

  7. Introduction to the PVS-Studio Static Code Analyzer on Windows (2020). https://pvs-studio.com/ru/m/0007/. Accessed 25 June 2022

  8. Clang Static Analyzer. https://clang-analyzer.llvm.org/. Accessed 21 June 2022

  9. Hilbrich, T., Schulz, M., de Supinski, B.R., Muller, M.S.: MUST: a scalable approach to runtime error detection in MPI programs. In: Müller, M., Resch, M., Schulz, A., Nagel, W. (eds.) Proceedings of the 3rd International Workshop on Parallel Tools for High Performance Computing, pp. 53–66. Springer, Berlin (2009). https://doi.org/10.1007/978-3-642-11261-4_5

  10. Cramer, T., Münchhalfen, F., Terboven, C., Hilbrich, T., Müller, M.S.: Extending MUST to check hybrid-parallel programs for correctness using the OpenMP tools interface. In: Knüpfer, A., Hilbrich, T., Niethammer, C., Gracia, J., Nagel, W.E., Resch, M.M. (eds.) Tools for High Performance Computing 2015, pp. 85–101. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39589-0_7

    Chapter  Google Scholar 

  11. Protze, J., Hilbrich, T., Schulz, M., de Supinski, B.R.: MPI runtime error detection with MUST: a scalable and crash-safe approach. In: 43rd International Conference on Parallel Processing Workshops, pp. 206–215. Minneapolis, MN, USA (2014)

    Google Scholar 

  12. Krammer, B., Müller, M.S., Resch, M.M.: MPI application development using the analysis tool MARMOT. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 464–471. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24688-6_61

    Chapter  Google Scholar 

  13. Vetter, J., de Supinski, B. R.: Dynamic software testing of MPI applications with umpire. In: Proceedings of the ACM/IEEE Conference on Supercomputing (SC 2000), pp. 70–79. Article No 51. Dallas, USA (2000)

    Google Scholar 

  14. Abramson, D., Watson, G., Dung, L.P.: Guard: a tool for migrating scientific applications to the .NET framework. In: Sloot, P.M.A., Hoekstra, A.G., Tan, C.J.K., Dongarra, J.J. (eds.) ICCS 2002. LNCS, vol. 2330, pp. 834–843. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46080-2_88

    Chapter  Google Scholar 

  15. Bakhtin, V., Zakharov, D., Ermichev, A., Krukov, V.: Comparative debugging of parallel DVMH programs. In: Scientific Service on the Internet: Proceedings of the XXI All-Russian Scientific Conference, 23–28 Sep 2019, Novorossiysk, pp. 91–104 (2019). https://doi.org/10.20948/abrau-2019-37

  16. Fokkink, W.: Distributed Algorithms: An Intuitive Approach. MIT Press, Cambridge (2013)

    MATH  Google Scholar 

  17. TotalView Tutorial. https://hpc.llnl.gov/training/tutorials/totalview-tutorial. Accessed 29 May 2022

  18. Get started with DDT. https://developer.arm.com/documentation/101136/2101/DDT/Get-started-with-DDT. Accessed 29 May 2022

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrey Vlasenko .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Malyshkin, V., Vlasenko, A., Michurov, M. (2022). Automated Debugging of Fragmented Programs in LuNA System. In: Balandin, D., Barkalov, K., Meyerov, I. (eds) Mathematical Modeling and Supercomputer Technologies. MMST 2022. Communications in Computer and Information Science, vol 1750. Springer, Cham. https://doi.org/10.1007/978-3-031-24145-1_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-24145-1_22

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-24144-4

  • Online ISBN: 978-3-031-24145-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics