Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Приемы параллельного программирования. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Антонов А.С. Введение в параллельные вычисления: Методическое пособие. – М.: Изд-во МГУ, 2002. – 70 с.

2.АнтоновА.С. ПараллельноепрограммированиесиспользованиемтехнологииMPI: Учебноепособие. – М.: Изд-воМГУ, 2004. – 71 с.

3.Букатов А.А., Дацюк В.Н., Жегуло А.И. Программирование многопроцессорных вычислительных систем. – Ростов-на-Дону:

Изд-во ООО «ЦВВР», 2003. – 208 с.

4.Вавилов К.В. Программирование за... 1 (одну) минуту // Ком-

пьютер Price. – 2002. – № 31. – С. 288–293.

5.Вентцель Е.С. Исследование операций. – М.: Сов. радио, 1972. – 552 с.

6.Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. Серия «Научное издание». – СПб.: БХВ-Петербург, 2002. – 608 с.

7.Глебов А.Н. Параллельное программирование в функциональном стиле. – 2003 [Электронный ресурс] URL: http://www. softcraft.ru/parallel/ppfs.shtml.

8.Глушков В.М. Синтез цифровых автоматов. – М.: Физматгиз, 1962. – 476 с.

9.Дехтярь М.И. Введение в схемы, автоматы и алгоритмы.

2007 [Электронный ресурс] URL: http://www.intuit.ru/department/ ds/introsaa/.

10.Котов В.Е . Введение в теорию схем программ. – Новоси-

бирск: Наука, 1978. – 258 с.

11.Котов В.Е. Сети Петри. – М.: Наука, 1984. – 160 с.

12.Кремер Н.Ш., Путко Б.А., Тришин И.М., Фридман М.Н. Исследование операций в экономике: Учебное пособие. / Под. ред. Н.Ш. Кремера – М.: ЮНИТИ, 1997. – 408с.

13.Кузнецов Б.П. Психология автоматного программирования

// BYTE-Россия. – 2000. – № 11. – С. 22–29.

14.Кузнецов С.Д. Блеск и нищета легковесных процессов // Computerworld Россия. – 1996. – № 31.

15.ЛескинА.А., МальцевП.А., СпиридоновА.М. СетиПетрив моделировании и управлении. – Л.: Наука, 1989. – 133 с.

16.Ли Эдвард А. Проблемы с потоками // IEEE Computer, 2006.

/Пер. с англ.: Петров А.В., 2007 [Электронный ресурс] URL: http:// www.softcraft.ru/parallel/pwt/index.shtml.

191

17.Любченко В.С. К проблеме создания модели параллельных вычислений // Труды Третьей международной конференции «Параллельные вычисления и задачи управления» (РАСО’2006). Москва, 2–4 октября 2006 г. Институт проблем управления им. В.А. Трапезникова РАН. – М.: Институт проблем управления им. В.А. Трапезни-

кова РАН, 2006. – С. 1359–1374.

18.Любченко В.C. К решению проблемы обедающих философов Дейкстры // Высокопроизводительные параллельные вычисления на кластерных системах: Материалы Четвертого международного научно-практического семинара. – Самара: СГАУ, 2005. –

С. 186–193.

19.Любченко В.С. Конечно-автоматная технология программирования// Трудымеждународнойнаучно-методическойконференции

«Телематика’2001». – СПб.: СПбГИТМО(ТУ), 2001. – С. 127–128.

20.НемнюгинС.А., СтесикО.Л. Параллельноепрограммирование для многопроцессорных вычислительных систем. Серия «Мастер программ». – СПб.: БХВ-Петербург, 2002. – 400 с.

21.Питерсон Дж. Теория сетей Петри и моделирование систем

/Пер. с англ. – М.: Мир, 1984. – 264 с.

22.Трахтенброт Б. А., Барздинь Я. М. Конечные автоматы (поведение и синтез). – М.: Наука, 1970. – 400 с.

23.Хоар Ч. Взаимодействующие последовательные процессы /

Пер. с англ. – М.: Мир, 1989. – 264 с.

24.Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. – СПб.: Наука, 1998.

– 628 с.

25.Шалыто А.А. Автоматное проектирование программ. Алгоритмизация и программирование задач логического управления // Известия Академии наук. Теория и системы управления. – Ноябрь – Декабрь, 2000. – № 6. – C. 63–81.

26.Шалыто А.А. Использование граф-схем и графов переходов при программной реализации алгоритмов логического управления

// Автоматика и телемеханика. – 1996. – № 6. – C. 148–158; № 7. – С. 144–169.

27.Шалыто А.А., Туккель Н.И. От тьюрингова программирова-

ния к автоматному // Мир ПК. – 2002. – № 2. – C. 144–149.

28.ШалытоА.А., ТуккельН.И. Преобразованиеитеративныхалгоритмоввавтоматные// Программирование. – 2002. – №5. – С. 12–26.

192

29.ШалытоА.А., ТуккельН.И. Программированиесявнымвы-

делением состояний // Мир ПК. – 2001. – № 8, № 9. – C. 116–121; С. 132–138.

30.Шалыто А.А., Туккель Н.И., Шамгунов Н.Н. Реализация рекурсивных алгоритмов на основе автоматного подхода // Телекоммуникации и информатизация образования. – 2002. – № 5. – С. 72–99.

31.Шпаковский Г.И., Серикова Н.В. Программирование для многопроцессорных систем в стандарте MPI: Пособие. – Мн.: БГУ, 2002. – 323 с.

32.Элементыпараллельногопрограммирования/ В.А. Вальковский, В.Е. Котов, А.Г. Марчук, Н.Н. Миренков. – М.: Радио и связь, 1983. – 240 с.

33.Lee Edward A. The problem with threads // IEEE Computer.

Vol. 39, № 5, May 2006. – P. 33–42.

34.Snir M., Otto S., Huss-Lederman S., etc. MPI – The Complete Reference: The MPI Core. – 2-nd edn. – Cambridge: MIT Press, 1998. – 426 p.

35.Snir M., Otto S., Huss-Lederman S., etc. MPI: The complete Reference. – Cambridge, Massachusetts: MIT Press, 1997. [Электронныйресурс] URL: http://www.netlib.org/utk/papers/mpi-book/mpi-book.html.

36.MPI: A Message-Passing Interface Standard. (Version 1.1: June, 1995) [Электронный ресурс] URL: http://www.mcs.anl.gov/mpi/standard.html.

37.MPI-2: Extensions to the Message-Passing Interface. [Электронный ресурс] URL: http://www.mcs.anl.gov/mpi/standard.html.

38.OpenMP C and C++ Application Program Interface (Version 1.0: October, 1998) [Электронный ресурс] URL: http://www.openmp. org/mp-documents/cspec10.pdf.

39.OpenMP C and C++ Application Program Interface (Version 2.0: March, 2002) [Электронный ресурс] URL: http://www.openmp. org/mp-documents/cspec20.pdf.

40.Wagner F., Schmuki R., Wagner T., Wolstenholme P. Modeling Software with Finite State Machines: A Practical Approach. – Auerbach Publications, 2006. – 392 p.

41.Wagner F. Moore or Mealy model? April 2005. [Электронный ресурс] URL: http://www.stateworks.com/technology/TN10-Moore-Or- Mealy-Model/.

193

ОГЛАВЛЕНИЕ

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

О проблеме параллельного программирования. . . . . . . . . . . . . . 4

Об используемой терминологии . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Глава 1. Интерфейсы и технологии параллельного программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Интерфейс OpenMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Первая программа – ряд Лейбница. . . . . . . . . . . . . . . . . . . . . . . 11 Основные конструкции параллельного выполнения. . . . . . . . . 18 Некоторые вспомогательные директивы . . . . . . . . . . . . . . . . . . 23

Разделение данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Runtime-функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Вычисление определенного интеграла. . . . . . . . . . . . . . . . . . . . 30

Интерфейс передачи сообщений MPI . . . . . . . . . . . . . . . . . . . . . 33

Краткое описание предоставляемых функций. . . . . . . . . . . . . . 33

Снова ряд Лейбница. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Неравномерное распределение вычислений . . . . . . . . . . . . . . . 39

Умножение матрицы на вектор . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Перемножение матриц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Глава 2. Ярусно-параллельная форма программы . . . . . . . . . 61 Цель и механизм построения ЯПФ . . . . . . . . . . . . . . . . . . . . . . . 61

Реализация выполнения комплекса работ при использовании фиксированного количества параллельных ресурсов . . 65 Случай неравномерной длительности работ. . . . . . . . . . . . . . . 70 Глава 3. Сети конечных автоматов . . . . . . . . . . . . . . . . . . . . . . . 76 Программирование конечных автоматов . . . . . . . . . . . . . . . . . 76 Параллелизм сетей конечных автоматов. . . . . . . . . . . . . . . . . . 81 Пример программной реализации . . . . . . . . . . . . . . . . . . . . . . . 83

Реализация с использованием OpenMP . . . . . . . . . . . . . . . . . . . 86

Простая реализация с использованием MPI. . . . . . . . . . . . . . . . 93 Реализация с поддержкой вложенных сетей . . . . . . . . . . . . . . . 96

Бильярдные шары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Сумматор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Глава 4. Сети Петри . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Краткое введение в теорию сетей Петри . . . . . . . . . . . . . . . . . 125

Знакомство с сетями Петри . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Строго иерархические сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

194

Параллельные вычисления и синхронизация . . . . . . . . . . . . . 130 Задача об обедающих философах . . . . . . . . . . . . . . . . . . . . . . . 134

Пример реализации механизма сетей Петри. . . . . . . . . . . . . . 136

Функционирование строго иерархических сетей . . . . . . . . . . 137 Выполнение параллельных процессов. . . . . . . . . . . . . . . . . . . 149

Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Приложение 1. Шаблоны классов матрицы и вектора. . . . . 165

Приложение 2. Классы построения и выполнения комплекса работ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Приложение 3. Классы построения и выполнения сетей конечных автоматов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Приложение 4. Классы построения и выполнения сетей Петри . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Библиографический список . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

195

УЧЕБНОЕ ИЗДАНИЕ

ФЕДОТОВ Илья Евгеньевич

ПРИЕМЫ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ

Учебное пособие

Редактор Голева А.В. Компьютерная верстка Дебольского Д.Е.,

Федотова И.Е.

Оригинал-макет подписан к печати 08. 07. 2009 г. Формат 60×90/16. Гарнитура таймс. Бумага офсетная. Усл. печ. л. 12,25.

Тираж 300. Заказ .

Российский новый университет. 105005, Москва, ул. Радио, д. 22.

Отпечатано с готовых диапозитивов В ГУП МО «Орехово-Зуевская типография».

г. Орехово-Зуево Московской обл., ул. Дзержинского, д. 1. E-mail: tipografiya-oz@rambler

196

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]