THE PROBLEM OF CHOICE OF TOOL MEANS OF THE SOFTWARE DEVELOPMENT FOR TEACHING PARALLEL PROGRAMMING IN UNIVERSITIES
Abstract
The article was written about the problem of developing parallel algorithms for students from computer sci- ences and their implementation in the programs in the teaching of discipline parallel programming. An analysis of modern software development tools, which may include libraries or classes for writing parallel code and external libraries, which, in combination with the programming language, provide the opportunity to develop
parallel programs. The external libraries include the following: OpenMP – Open Multi-Processing and MPI – Message Passing Interface. These libraries extend the capabilities of the C++ programming language and allow the development of parallel programs. Their main drawback – to develop a parallel algorithm, you will first need to develop a sequential algorithm. This development method greatly reduces the efficiency of paral- lel code and prevents students from developing parallel development algorithms. Among the most significant innovations in the C ++ 11 standard should include support for multithreaded applications. This will allow you to write on C ++ multithreaded programs with guaranteed behavior without relying on extensions dependent. Unlike the aforementioned libraries, the programming languages Java and C # already have a set of classes and interfaces that allows starting with the use of parallel algorithms for the development of parallel programs.
Key words: parallel programming, parallel computing, software development tools, OpenMP, MPI, Java, C#.
References
2. Воеводин В.В. Параллельные вычисления.Санкт-Петербург : БХВ-Петербург, 2002. 608 с.
3. Гергель В.П. Теория и практика параллельныхвычислений. 2-е изд. Москва : Интуит, 2016. 500 c.
4. Эккель Б. Философия Java. Санкт-Петербург :Питер, 2016. 1168 с.
5. Карпов А.Н. Введение в проблематику разработкипараллельных программ. URL: https://www.viva64.com/ru/a/0016/ (дата обращения: 12.12.2018).
6. Лупин С.А., Посыпкин М.А. Технологии параллельного программирования. Москва : ИД «ФОРУМ» ;ИНФРА-М, 2011. 208 с.
7. Немнюгин С.А. Средства программированиядля многопроцессорных вычислительных систем.Санкт-Петербург, 2007. 88 с.
8. Осадчий В.В. Анализ проблемы профессиональной подготовки программиста и пути ее решения.Образовательные технологии и общество. 2014. № 3.Т. 17. С. 362–377.
9. Парадигмы параллельного программирования. URL: http://staff.mmcs.sfedu.ru/~dubrov/files/sl_parallel_05_paradigm.pdf (дата обращения: 26.11.2018).
10.Скопин И.Н. Раннее обучение параллельномупрограммированию. Вестник Московского городскогопедагогического университета. 2011. № 2. С. 46–22.
11.Сокольская М.А., Степанова Т.А. Уточнениепонятия «параллельный стиль мышления» на основе информационно-деятельностного подхода. URL:
https://cyberleninka.ru/article/n/utochnenie-ponyatiyaparallelnyy-stil-myshleniya-na-osnove-informatsionnodeyatelnostnogo-podhoda (дата обращения: 10.11.2018).
12.Уильямс Э. Параллельное программированиена C++ в действии / пер. А.А. Слинкин. Москва : ДМКПресс, 2016. 671 с.
13.Федотов И.Е. Модели параллельного программирования. Москва : Солон-Пресс, 2012. 384 с.
14.Фленов М.Е. Библия С#. Санкт-Петербург :БХВ-Петербург, 2009. 560 с.
15.Хьюз К., Хьюз Т. Параллельное и распределенное программирование с использованием С++ / пер. сангл. Москва : ИД «Вильямс», 2004. 672 с.
16.Шеметова А.Д. Методические приёмы обучения параллельному программированию. Прикладнаяинформатика. 2016. № 6. С. 43–48.
17.Яровий А.А. Методи та засоби організації високопродуктивних паралельно-ієрархічних обчислювальних систем із рекурсивною архітектурою : дис. … докт.техн. наук : 05.13.05. Вінниця, 2013. 439 с.