Technique for Teaching Parallel Programming via Solving a Computational Electrodynamics Problems

  • Sergey Mosin
  • Nikolai Pleshchinskii
  • Ilya Pleshchinskii
  • Dmitrii TumakovEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 965)


Three-dimensional problems of computational electrodynamics for the regions of complex shape can be solved within the reasonable time only using multiprocessor computer systems. The paper discusses the process of converting sequential algorithms into more efficient programs using some special techniques, including object-oriented programming concepts. The special classes for data storage are recommended to use at the first stage of programming. Many objects in the program can be destroyed when optimizing the code. Special attention is paid to the testing of computer programs. As an example, the problem of the electromagnetic waves diffraction by screens in three-dimensional waveguide structures and its particular cases are considered. The technique of constructing a parallel code for solving the diffraction problem is used in teaching parallel programming.


Parallel programming teaching Effective program Computational electrodynamics 



The work is performed according to the Russian Government Program of Competitive Growth of Kazan Federal University.


  1. 1.
    Antonov, A.S.: Parallel Programming using OpenMP technology: textbook. Izd-vo MGU, Moscow (2009). [in Russian]Google Scholar
  2. 2.
    Levin, M.P.: Parallel programming with OpenMP: textbook. Laboratoriya znanij, Moscow, BINOM (2012). [in Russian]Google Scholar
  3. 3.
    Pleshchinskii, N.B., Pleshchinskii, I.N.: Multiprocessor computing systems. Parallel programming technologies: textbook. Izd-vo Kazan. un-ta, Kazan (2018). [in Russian]Google Scholar
  4. 4.
    Korneev, V.D.: Parallel programming in MPI. IKI, Moscow-Izhevsk (2003). [in Russian]Google Scholar
  5. 5.
    Grishagin, V.A., Svistunov, A.N.: Parallel programming based on MPI. Textbook. Izd-vo NNGU im. N.I, Lobachevskogo, Nizhny Novgorod (2005). [in Russian]Google Scholar
  6. 6.
    Sanders, J., Kandrot, E.: CUDA by Example an Introduction to General-purpose GPU Programming. Addison-Wesley (2010)Google Scholar
  7. 7.
    Boreskov, A.V., Kharlamov, A.A.: Parallel computing on the GPU. Architecture and software model of CUDA: textbook. Izd-vo MGU, Moscow (2012) [in Russian]Google Scholar
  8. 8.
    Tumakov, D.N., Chickrin, D.E., Egorchev, A.A., Golousov, S.V.: CUDA programming technology: textbook. Izd-vo Kazan. un-ta, Kazan (2017). [in Russian]Google Scholar
  9. 9.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Elsevier, San Francisco (2008)Google Scholar
  10. 10.
    Trobec, R., Vajteršic, M., Zinterhof, P.: Parallel Computing. Numerics, Applications, and Trends. Springer, London (2009). Scholar
  11. 11.
    Voevodin, V., Voevodin, : Vl.: Parallel computing. BKhV-Peterburg, SPb (2002). [in Russian]Google Scholar
  12. 12.
    Gergel, V.: High-performance computing for multi-processor multi-core systems, Izd-vo MGU, Moscow (2010). [in Russian]Google Scholar
  13. 13.
    Grossman, M., Aziz, M., Chi, H., Tibrewal, A., Imam, S., Sarkar, V.: Pedagogy and tools for teaching parallel computing at the sophomore undergraduate level. J. Parallel Distrib. Comput. 105, 18–30 (2017). Scholar
  14. 14.
    Antonov, A., Popova, N., Voevodin, Vl.: Computational science and HPC education for graduate students: paving the way to exascale. J. Parallel Distrib. Comput. (2018). [In Print]
  15. 15.
    Shemetova, A.: Techniques for parallel programming teaching. J. Appl. Informatics 11(6), 43–48 (2016). [In Russian]Google Scholar
  16. 16.
    Samarskii, A.A., Tichonov, A.N.: The representation of the field in a waveguide in the form of the sum of TE and TM modes. Zhurn. Teoretich. Fiziki 18(7), 971–985 (1948). [in Russian]Google Scholar
  17. 17.
    Pleshchinskii, N.B.: On boundary value problems for Maxwell set of equations in cylindrical domain. SOP Trans. Appl. Math. 1(2), 117–125 (2014). Scholar
  18. 18.
    Pleshchinskii, I., Pleshchinskii, N.: Software implementation of numerical algorithms of solving the electromagnetic wave diffraction problems by periodical gratings. J. Fundam. Appl. Sci. 9(1S), 1602–1614 (2017). Scholar
  19. 19.
    Pleshchinskii, N.B., Tumakov, D.N.: A new approach to investigation of Maxwell equations in spherical coordinates. Lobachevskii J. Math. 36(1), 15–27 (2015). Scholar
  20. 20.
    Pleshchinskaya, I.E., Pleshchinskii, N.B.: On parallel algorithms for solving problems of scattering of electromagnetic waves by conducting thin screens in layered media. Vestnik Kazansk. gos. tekhnol. un-ta 16(17), 38–41 (2013). [in Russian]Google Scholar
  21. 21.
    Capel, M.I., Tomeu, A.J., Salguero, A.G.: Teaching concurrent and parallel programming by patterns: an interactive ICT approach. J. Parallel Distrib. Comput. 105, 42–52 (2017). Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Sergey Mosin
    • 1
  • Nikolai Pleshchinskii
    • 1
  • Ilya Pleshchinskii
    • 1
  • Dmitrii Tumakov
    • 1
    Email author
  1. 1.Kazan Federal UniversityKazanRussia

Personalised recommendations