main| new issue| archive| editorial board| for the authors| publishing house|
Ðóññêèé
Main page
New issue
Archive of articles
Editorial board
For the authors
Publishing house

 

 


ABSTRACTS OF ARTICLES OF THE JOURNAL "INFORMATION TECHNOLOGIES".
No. 10. Vol. 29. 2023

DOI: 10.17587/it.29.529-539

D. N. Zmejev, Researcher, N. N. Levchenko, Leading Researcher,
Institute for Design Problems in Microelectronics of Russian Academy of Sciences, Moscow, Russian Federation

Features of Creating Parallel Programs for the Parallel Dataflow Computing System "Buran"

 The use of modern multi-core and multi-processor computer systems for actual tasks is not effective enough, even taking into account the use of parallel programming technologies. The solution to the problem of efficient loading of computing resources can be the transition to computing models and architectures that are inherently parallel. One of such architectures is the Parallel Dataflow Computing System (PDCS) "Buran", which implements a dataflow computing model with a dynamically formed context. A feature of the dataflow computing model is the activation of computations by data readiness, which affects both the architecture of the computing system and the creation of programs for such systems. Differences between imperative and dataflow programming paradigms are also reflected in the route of creating a program, especially its parallel implementation. The route of creating a dataflow parallel program differs markedly from the traditional one. Already at the first stage, a parallel algorithm is created and implemented (including the algorithm for generating initial data). Next, this algorithm is debugged when it is executed on an emulator or model of the system with one computing core. After that, the selection and configuration of function of computation distribution is performed, the program is executed (without changing its code) on the emulator or model of the system with several computing cores, and, finally, the program is debugged in multi-core mode. These stages of the route differ from similar stages of the traditional route, both in form and in essence. Unlike traditional parallel, and even more so sequential programs, it can be said that a dataflow program in equal parts consists of a program code that implements a task, an algorithm for generating initial data, and a function of computation distribution. This thesis is demonstrated by the example of solving the problem of finding sum of array elements, where the difference between the implementations is in the algorithm for generating initial data, which radically affects the nature of the dataflow program passing. Careful attention to each of the parts of the dataflow program is the key to the correct and efficient solution of problems on the PDCS, which provides support to the programmer at the hardware level.
Keywords: dataflow computing model, dynamically formed context, parallel programming, route for creating parallel dataflow programs

P. 529-539

References

  1. Solovyev R. A., Stempkovsky A. L., Telpukhov D. V. Study of Fault Tolerance Methods for Hardware Implementations of Convolutional Neural Networks, Optical Memory and Neural Networks, 2019, vol. 28, no. 2, pp. 82—88.
  2. Klimov A. V. Automatic Differentiation in a Dataflow Language on the Example of a Deep Learning Problem, Problemy Razrabotki Perspektivnyh Mikro- i Nanojelektronnyh Sistem — 2021, iss. 3, pp. 94—98 (in Russian).
  3. HPE GreenLake for Large Language Models, available at: https://www.hpe.com/us/en/hpe-greenlake-for-large-language-models.html (date of access: 28.06.2023).
  4. Nvidia plans Taipei-1 supercomputer, combining DGX H100 and OVX systems, available at: https://www.datacenterdy-namics.com/en/news/nvidia-plans-taipei-1-supercomputer-com-bining-dgx-h100-and-ovx-systems/ (date of access: 28.06.2023).
  5. The OpenMP API specification for parallel programming, available at: https://www.openmp.org/ (date of access: 28.06.2023).
  6. Rauber Th., Runger G. Parallel Programming for Multicore and Cluster Systems, Springer 2013.
  7. Dongarra J., Heroux M. A., Luszczek P. High-perfor­mance conjugate-gradient benchmark: A new metric for ranking high-performance computing systems, The International Journal of High Performance Computing Applications, 2016, vol. 30(1), pp. 3—10.
  8. Zmejev D. N., Klimov A. V., Okunev A. S., Levchenko N. N. Features of HPCG Benchmark Implementation for the "Buran" PDCS, Sbornik Nauchnyh Trudov Mezhdunarodnoj Konferencii "XXII Haritonovskie Tematicheskie Nauchnye Chtenija "Superkomp'juternoe Modelirovanie i Iskusstvennyj Intellekt", 2022, pp. 193—205 (in Russian).
  9. TOP500, available at: https://top500.org/ (date of access: 28.06.2023).
  10. Biihm A. P. W. Dataflow and hybrid dataflow architecture summary, Parallel computer systems, Rebecca Koskela and Margaret Simmons (Eds.), ACM, New York, NY, USA, 1990, pp. 281—286.
  11. Lee B., Hurson A. R. Issues in Dataflow Computing, Advances in Computers, 1993, vol. 37, pp. 285—333.
  12. Lee B., Hurson A. R. Dataflow Architectures and Multithreading, Computer, Aug 1994, vol. 27, no. 8, pp. 27—39.
  13. Silc J., Robic B., Ungerer T. Asynchrony in parallel computing: From dataflow to multithreading, Parallel and Distributed Computing Practices, 1998, vol. 1, no. 1, pp. 3—30.
  14. Levchenko N. N., Okunev A. S., Stempkovskij A. L. The usage of dataflow computing model and architecture realizing these for exa­flops performance system, Problemy Razrabotki Perspektivnyh Mikro- i Nanojelektronnyh Sistem (MJeS), 2012, pp. 459—462 (in Russian).
  15. Klimov A. V., Levchenko N. N., Okunev A. S., Stempkovskij A. L. Supercomputers, memory hierarchy and dataflow computa­tion model, Programmnye Sistemy: Teorija i Prilozhenija: Jelektronnyj Nauchnyj Zhurnal, 2014, vol. 5, no. 1(19), pp. 15—36 (in Russian).
  16. Klimov A. V., Levchenko N. N., Okunev A. S., Stempkovskij A. L. The application and implementation issues of dataflow com­puting system, Problemy Razrabotki Perspektivnyh Mikro- i Nanojelek-tronnyh Sistem (MJeS), 2016, part 2, pp. 100—106 (in Russian).
  17. Stempkovskij A. L., Levchenko N. N., Okunev A. S., Cvetkov V. V. Parallel Dataflow Computing System — the Further Development of Architecture and the Structural Organization of the Computing System with Automatic Distribution of Resources, Informacionnye Tehnologii, 2008, no. 10, pp. 2—7 (in Russian).
  18. Zmeev D. N., Klimov A. V., Levchenko N. N., Okunev A. S., Stempkovskii A. L. Features of the Architecture Implementing the Dataflow Computational Model and Its Application in the Creation of Microelectronic High-Performance Computing Systems, Russian Microelectronics, 2019, vol. 48, no. 5, pp. 292—298.
  19. Sebesta R. V. Basic concepts of programming languages, 5th edition, Moscow, Vil'jams, 2001, 672 p. (in Russian).
  20. Zmejev D. N., Levchenko N. N. Aspects of Creating Parallel Programs in Dataflow Programming Paradigm, Informacionnye Tehnologii, 2022, no. 11, vol. 28, pp. 597—606 (in Russian).
  21. Petrov À . Ì . Apply Debugging in Software Development, Tehnologii Programmirovanija i Hranenija Dannyh, Moscow, 2009, pp. 134—139 (in Russian).
  22. Kolosov A. P. Debugging Methods for Parallel Programs, Izvestija TulGU. Tehnicheskie Nauki, 2010, no. 2-2 (in Russian).
  23. GitHub — Program in MPI to sum an array, available at: https://gist.github.com/Rubix982/e0f611c449b20c2647822c4f57f21357 (date of access: 28.06.2023).
  24. Levchenko N. N., Zmejev D. N. Research of Various Options for Implementing Program Construction "Loop" in Dataflow Computing Model, Problemy Razrabotki Perspektivnyh Mikro- i Nanojele-ktronnyh Sistem (MJeS), 2022, iss. 4, pp. 101—108 (in Russian).
  25. Levchenko N. N., Okunev A. S., Zmejev D. N. Development Tools for High-Performance Computing Systems Using Associative Environment for Computing Process Organization, Proceedings of IEEE EAST-WEST DESIGN & TEST SYMPO­SIUM (EWDTS'2016), Yerevan, Armenia, October 14—17, 2016, pp. 359—362.

To the contents