Skip to main content
Log in

A formal model of a system for automated program parallelization

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

In the paper, the T-system—an approach to automated program parallelization that has several implementations—is studied. In the absence of formal justification, these implementations have a number of disadvantages, which results in incorrect operation of programs. In the paper, a mathematical model of the T-system is constructed, and, in the framework of this model, correctness of parallelization is proved. The model makes it possible to reveal a number of inaccuracies in the latest version of the T-system OpenTS and suggest ways to eliminate them. The use of the formal model in the development of NewTS, a new version of the T-system, is described.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abramov, S.M., ITsMS IPS RAN: retrospektivnyi obzor issledovanii za 1994–2004 gody. Programmnye sistemy: teoriya i prilozheniya (ITsMS IPS RAN: Retrospective Survey of Researches in 1994–2004. Program Systems: Theory and Applications), Pereslavl’-Zalesskii: IPS RAN, 2004, pp. 15–58.

    Google Scholar 

  2. Abramov, S.M., Adamovich, A.I., Inyukhin, A.V., Moskovsky, A.A., Roganov, A.V., Shevchuk, Yu.A., and Shevchuk, E.V., T-System with Open Architecture, Trudy mezhdunarodnoi nauchnoi konferentsii “Superkomp’yuternye sistemy i ikh primenenie SSA’2004” (Proc. of the Int. Sci. Conf. “Supercomputer Systems and Their Use SSA’2004”), Minsk, 2004, pp. 18–22.

  3. Abramov, S.M., Moskovsky, A.A., Roganov, V.A., Shevchuk, Yu.V., Shevchuk, E.V., Paramonov, N.N., and Chizh, O.P., Open TS: Architecture and Implementation of the Environment for the Dynamic Parallelization of Computation, Nauchnyi servis v seti Internet: tekhnologii raspredelennykh vychislenii: Trudy Vserossiiskoi nauchnoi konferentsii (Scientific Service in Internet: Technologies of Distributed Computations: Proc. of All-Russian Sci. Conf.), (Novorossiisk, 2005), Moscow: Mos. Gos. Univ., 2005, pp. 79–81.

    Google Scholar 

  4. Abramov, S., Adamovich, A., Inyukhin, A., Moskovsky, A., Roganov, V., Shevchuk, E., Shevchuk, Yu., and Vodomerov, A., OpenTS: An Outline of Dynamic Parallelization Approach, Lecture Notes in Computer Science (PaCT 2005), Vol. 3603, Springer, pp. 303–312.

    Article  Google Scholar 

  5. Vasenin, V.A. and Roganov, V.A., GRACE: Distributed Applications on the Internet, Otkrytye sistemy, 2001, no. 5–6, pp. 29–33.

  6. Abramov, S.M., Vasenin, V.A., Mamchits, E.E., Roganov, V.A., and Slepukhin, A.F., Dynamic Program Parallelization on the Basis of Parallel Reduction of Graphs. Architecture of Software for a New Version of the T-System, Trudy vserossiiskoi nauchnoi konferentsii “Vysokoproizvoditel’nye vychisleniya i ikh prilozheniya” (Proc. of All-Russian Sci. Conf. “High-Performance Computations and Their Applications”) (Chernogolovka, 2000), Moscow: Mos. Gos. Univ., 2000, pp. 261–265.

    Google Scholar 

  7. Abramov, S.M., Adamovich, A.I., and Kovalenko, M.R., T-System—Environment Supporting Automatic Dynamic Parallelization of Programs: An Example of the Implementation of an Image Rendering Algorithm Based on the Tracing Method. Programmirovanie, 1999, no. 2, pp. 100–107 [Programming Comput. Software (Engl. Transl.), 1999, vol. 25, no. 2, pp. 100–107].

  8. Baker, H.G. and Hewitt, C., The Incremental Garbage Collection of Processes, Proc. of Symp. on AI an Programming Languages, 1977, pp. 55–59.

  9. Halstead, R.H., Jr., Implementation of MultiLisp: Lisp on MultiProcessor, Proc. of the 1984 ACM Symp. on LISP and Functional Programming, Austin, Texas, 1984, pp. 9–17.

  10. Flanagan, C. and Felleisen, M., The Semantics of Future and Its Use in Program Optimization, Proc. of the 22nd ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, San-Francisco, 1995, pp. 209–220.

  11. Trinder, P.W., Hammond, K., Mattson, J.S., Jr., Partridge, A.S., and Peyton Jones, S., GUM: A Portable Implementation of Haskell, Proc. of SIGPLAN Conf. on Programming Language Design and Implementation, Philadelphia, 1996, pp. 79–88.

  12. Moreau, L., DeRoure, D., and Foster, I., NeXeme: A Distributed Scheme Based on Nexus, Lecture Notes in Computer Science (Proc. of Third Int. Europar Conf. (EURO-PAR’97)), vol. 1300, pp. 581–590.

  13. Moreau, L., The Semantics of Future in the Presence of First-Class Continuations and Side-effects, Tech. Report M95/3, Univ. of Southampton, 1995.

  14. Frigo, M., Leiserson, C.E., and Randall, K.H., The Implementation of the Cilk-5 Multithreaded Language, 1998 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI), Montreal, 1998, pp. 212–223.

  15. Arapov, D., Kalinov, A., Lastovetsky, A., Leobvskih, I., and Lewis, T., A Programming Environment for Heterogeneous Distributed Memory Machines, Proc. of 6th Heterogeneous Computing Workshop (HCW97), IEEE Computer Society, Geneva, 1997, pp. 32–45.

    Chapter  Google Scholar 

  16. Lastovetsky, A., The mpC Programming Language Specification, Tech. Report, Moscow: Institute for System Programming, Russian Academy of Sciences, 1994.

    Google Scholar 

  17. Konovalov, N.A., Kryukov, V.A., Pogrebtsov, A.A., and Sazanov, Yu.L., C-DVM—A Language for the Development of Portable Parallel Programs, Programmirovanie, 1999, no. 1, pp. 20–28 [Programming Comput. Software (Engl. Transl.), 1999, vol. 25, no. 1, pp. 46–55].

  18. Konovalov, N.A. and Kryukov, V.A., Parallel Programs for Computational Clusters and Networks, Otkrytye sistemy, 2002, no. 3, pp. 12–18.

  19. Andrews, G., Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 1999.

  20. Vodomerov, A.N., Construction of a Formal Model of the T-System and Study of its Correctness, Vychislitel’nye Metody Programmirovanie, 2006, vol. 7, pp. 71–78.

    Google Scholar 

  21. Vodomerov, A.N., Konev, I.M., and Stepanov, E.A., Some Methods of Organization of High-Performance Computations in Distributed Environment, Trudy IX mezhdunarodnoi konferentsii “Problemy funktsionirovaniya informatsionnykh setei” PFIS-2006 (Proc. of the 9th. Int. Conf. “Problems of Functioning of Information Networks”), 2006, IVMiMG SO RAN, Novosibirsk, pp. 78–82.

    Google Scholar 

  22. Aleksandresku, A., Modern C++ Design: Generic Programming and Design Patterns Applied, Addison-Wesley, 2001.

  23. Moskovskii, A.A., T-Sim—A Library for Parallel Computations on the Basis of T-System Approach, Trudy mezhdunarodnoi konferentsii “Programmnye sistemy: teoriya i prilozheniya” (Proc. of Int. Conf. “Program Systems: Theory and Applications) (Pereslavl’-Zalesskii, 2006), Moscow: Nauka-Fizmatlit, 2006, vol. 1, pp. 183–193.

    Google Scholar 

  24. Inyukhin, A.V., Mathematical and Program Support of Computational Systems with Dynamic Parallelism, Cand. Sci. (Phys.-Math.) Dissertation, Moscow: Moscow State Univ., 2007.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Original Russian Text © V.A. Vasenin, A.N. Vodomerov, 2007, published in Programmirovanie, 2007, Vol. 33, No. 4.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vasenin, V.A., Vodomerov, A.N. A formal model of a system for automated program parallelization. Program Comput Soft 33, 181–194 (2007). https://doi.org/10.1134/S0361768807040019

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768807040019

Keywords

Navigation