Синтез параллельных программ на вычислительных моделях с массивами тема диссертации и автореферата по ВАК РФ 01.01.10, кандидат физико-математических наук Малышкин, Виктор Эммануилович
- Специальность ВАК РФ01.01.10
- Количество страниц 141
Оглавление диссертации кандидат физико-математических наук Малышкин, Виктор Эммануилович
ВВЕДЕНИЕ.
ГЛАВА I. ВЫЧИСЛИТЕЛЬНЫЕ МОДЕЛИ С МАССИВАМИ
§ I.I Введение.
§ 1.2 Требования к представлению алгоритмов
§ 1.3 Основные понятия
§ 1.4 Интерпретация ВМ.
§ 1.5 Классификация ВМ
§ 1.6 Синтез асинхронной программы.
Рекомендованный список диссертаций по специальности «Математическое обеспечение вычислительных машин и систем», 01.01.10 шифр ВАК
Технология автоматизированного проектирования алгоритмического и программного обеспечения бортовых систем управления с элементами искусственного интеллекта1999 год, кандидат технических наук Власенко, Сергей Владимирович
Распараллеливание программ для суперкомпьютеров с параллельной памятью и открытая распараллеливающая система2004 год, доктор технических наук Штейнберг, Борис Яковлевич
Исследование и разработка методов поведенческого синтеза конвейерных схем для цифровой обработки видеоизображений2008 год, кандидат технических наук Анисимов, Игорь Юрьевич
Методы и инструментальные средства крупноблочного синтеза параллельных программ для вычислительных кластеров2005 год, кандидат технических наук Новопашин, Алексей Петрович
Метод и алгоритмы автоматической генерации параллельных программ, реализующих численные методы на регулярных сетках2004 год, кандидат технических наук Цыгулин, Алексей Александрович
Введение диссертации (часть автореферата) на тему «Синтез параллельных программ на вычислительных моделях с массивами»
§ 2.2 Схема языка.45
§ 2.3 Примеры описания параллельных алгоритмов на языке ОПАЛ.55
§ 2.4 Конкретизация схемы языка .62
§ 2.5 Заключение . *.67 ГЛАВА 3. СИСТЕМА СИНТЕЗА ПАРАЛЛЕЛЬНЫХ ПРОГРАММ НА ОСНОВЕ ВЫЧИСЛИТЕЛЬНЫХ МОДЕЛЕЙ С МАССИВАМИ
§ 3.1 Введение. .68
§ 3.2 Общая схема ССПП.68
§ 3.3 Алгоритмы трансляции.78
§ 3.4 Конструирование ПП.102
§ 3.5 Автоматизация проектирования дискретных систем . . 128
§ 3.6 Заключение.134
ВЫВОДЫ.135
ЛИТЕРАТУРА.136
ВВЕДЕНИЕ
Совершенствование и удешевление производства различных компонентов ЭВМ, появление новых классов задач, требующих больших вычислительных мощностей, привело к построению и широкому использованию многопроцессорных вычислительных комплексов (МВК) как универсального, так и специального назначения. Кроме того, существует возможность конструирования специализированных I/EBK из стандартных элементов (процессоров, памяти и т.д.). В общем случае, МВК состоят из разнородных процессоров с различными схемами коммутации и управления, в их архитектуре находят свое отражение свойства вычислительных алгоритмов предметной области (ПО), в которой предполагается использование МВК. Эти обстоятельства затруднили использование МВК и накопление .фонда программ для них, привели к усложнению проблемы разработки программного обеспечения, потребовали более высокой квалификации пользователей-программистов при непрерывно расширяющейся сфере применения МВК.
Решение проблем массового программирования для МВК с произвольной архитектурой и конфигурацией возможно на пути значительного повышения уровня языков программирования при условии их эффективной реализации, создания средств автоматического либо автоматизированного конструирования программ и развития средств поддержи модульного программирования. Таким образом можно будет решить вопросы как повышения эффективности программирования и программ, так и обеспечения доступа к МВК непрофессиональным пользователям. Заметим, что непрофессиональным пользователем в данном контексте может оказаться квалифицированный программнот-математик, не знакомый с высокоэффективными параллельными алгоритмами в некоторой "смежной" ПО. Для такого пользователя наилучшей, по-видимому, системой программирования является система, в которой решение задачи заканчивается её точной формулировкой, т.е., пользователь должен уметь поставить задачу с требуемой степенью детализации, но не обязан зна^ть, как её решать. На построение тленно таких систем и ориентированы разработанные к настоящему времени методы синтеза программ [3,4,8,35,47-49,55,56,57,60] , однако только метод синтеза программ на основе вычислительных моделей доведен до практического использования и реализован в системе ПРИЗ . Как и все методы. , метод синтеза программ на основе вычислительных моделей основан на формализованном описании ПО. Знания об алгоритмах в ПО хранятся в виде множества готовых к выполнению модулей и способов их правильного использования и из них по заданию пользователя конструируются необходимые программы. Такой подход позволяет накапливать фонд реализованных алгоритмов для конкретного вычислителя и активно использовать его при программировании для МВК. Если учесть, что существующие методы программирования и распараллеливания программ [i,7,28,30,31,34j позволяют для любого конкретного процессора создавать качественные модули, то понятно, что метод синтеза программ на основе вычислительных моделей позволяет сделать следующий шаг на пути к системе автоматического синтеза параллельных программ (ПП).
Однако для целей синтеза ПП средств вычислительных моделей оказалось недостаточно, в первую очередь, из-за невозможности задавать "массовое" применение операций. Это приводит К тому, что, во-первых, все "массовые" вычисления приходится делать внутри модуля, а значит размер модуля не может быть сделан меньше некоторого предела (под размером модуля здесь понимается значение функционала, оценивающего качество программы и, в частности, модуля). Так как основное время решения многих задач приходится на "массовые" вычисления, то для уменьшения времени выполнения программы на МВК необходимо распараллеливание таких мо,нулей, что не всегда может быть сделано автоматически. Во-вторых, модуль, предназначенный ,для'кассового" применения, не может быть непосредственно включен в вычислительную модель, его обязательно надо включать в объемлющий модуль, который и должен содержать "массовое" вычисление. В-третьих, невозможность уменьшения размера модуля может создать трудности при распределении ресурсов МВК. И, в-четвертых, так как в вычислительных моделях определены только простые (не структурированные) переменные, то невозможно организовать конвейерное выполнение алгоритма, при котором, к примеру, вычисленное значение компонента массива немедленно используется в дальнейших вычислениях. Эти обстоятельства и обусловили необходимость в дальнейшем развитии названного метода.
Основной целью диссертационной работы является разработка метода синтеза ПП на основе вычислительных моделей с массивами (ВМ). Метод включает определение ВМ, в которые включены средства задания "массовых" вычислении, язык ОПМ для задания ВМ, алгоритмы синтеза Ш на основе ВМ, а также методику его приложений в различных ПО. Результаты диссертации в совокупности позволяют создавать проблемно-ориентированные системы синтеза параллельных программ (ССПП), в форме которых предлагается реализовать метод.
Содержание диссертации опубликовано в работах 0-12,22, 23,37-42| основные результаты получены в 1979-1984 г.г. в ВЦ СО АН СССР и докладывались на Всесоюзных конференциях в
Новосибирске, Киеве, Риге, Кишиневе, Львове, а также на научных семинарах ВЦ СО АН СССР и ИМ СО АН СССР (Новосибирск:), МЭИ и ИЛУ АН СССР (Москва), ИК АН УССР (Киев) и ИК АН ЭССР (Таллин).
- 7
Похожие диссертационные работы по специальности «Математическое обеспечение вычислительных машин и систем», 01.01.10 шифр ВАК
Методы и программно-аппаратные средства параллельных структурно-процедурных вычислений2004 год, доктор технических наук Левин, Илья Израилевич
Автоматизация разработки и применения пакетов программ для исследования динамики сложных управляемых систем1998 год, доктор технических наук Опарин, Геннадий Анатольевич
Разработка методов и средств автоматического масштабирования параллельных программ в многозадачной операционной системе реконфигурируемых многопроцессорных вычислительных структур2007 год, кандидат технических наук Каляев, Захар Владимирович
Аппаратно-программные средства работы с динамически формируемым контекстом вычислений в системе с автоматическим распределением ресурсов2005 год, кандидат технических наук Левченко, Николай Николаевич
Разработка обрабатывающих и управляющих компонент организации вычислительных процессов в проблемно-ориентированных вычислительных системах1985 год, кандидат технических наук Смольников, Владимир Александрович
Заключение диссертации по теме «Математическое обеспечение вычислительных машин и систем», Малышкин, Виктор Эммануилович
ВЫВОДЫ
Сформулируем основные результаты диссертационной работы.
1. Введено понятие ВМ, её содержательной и структурной интерпретации, выделены практически важные классы ВМ. Разработан алгоритм синтеза асинхронной программы.
2. Определен язык ОПАЛ для задания ВМ. Для описания массовых операций в нем введено понятие множества, предусмотрены также средства задания структурной интерпретации ВМ. Выделены дга уровня описания языка: схема языка и конкретизация языка. Описана методика конкретизации ОПАЛа, которая позволяет учесть в языке особенности ПО.
3. Разработана общая схема ССПП, предложен проект ССПП, ориентированной на автоматизацию производства параллельных пакетов прикладных программ. Для трансляции произвольной ВМ в простую разработан алгоритм имитации планирования. Предложены также алгоритмы планирования, выбора (V}w) -плана и конструирования ПП. Учет особенностей ПО при реализации ССПП показан в цроекте ССПП, ориентированной на автоматизацию проектирования ДС .
В совокупности результаты диссертации обеспечивают создание ССПП, в которой пользователю для решения своей задачи необходимо лишь точно её сформулировать, а параллельная программа решения будет конструироваться автоматически либо автоматизированно из. модулей, накопленных в библиотеках каждого из процессоров конкретного МВК. ССПП позволяет в некоторой ПО накапливать в непроцедурной форме фонд ПП, которые могут быть затем выполнены на различных МВК. Такой подход к конструированию ПП значительно повышает уровень языков программирования с сохранением их эффективной реализации и обеспечивает доступ к МВК непрофессиональным пользователям.
3.6. Заключение
В главе предлагается проект ССПП как основы приложения метода синтеза ПП на основе ВМ. Приводится общая схема ССПП, выделяющая основные этапы (работы) на пути от формулировки задачи к ПП ее решения. Сформулирована задача трансляции, разработан алгоритм трансляции описания ВМ с линейными облас тями-применимос ти, на основе анализа этого алгоритма сформулированы правила записи массовых операций с не линейными облас тями-применимос ти, использование которых позволяет автоматически перевести произвольную ВМ в простую. Приводятся алгоритмы планирования и раскрытия структурированных операций, предлагаются методы компиляции ПП. В последнем параграфе рассматривается проект ССПП, ориентированной на автоматизацию проектирования ДС , показывается, как при реализации ССПП учитываются особенности ПО.
Список литературы диссертационного исследования кандидат физико-математических наук Малышкин, Виктор Эммануилович, 1984 год
1. Алгоритмы, математическое обеспечение и архитектура многопроцессорных вычислительных систем. В.А.Вальковокий, В.Е.Котов, И.Миклошко и др. - М.: Наука, 1982, - 340 с.
2. Альфа-система автоматизации программирования. Г.И.Бабецкий, М.М.Бежанова, Ю.И.Волошин и др. Новосибирск.: Наука, Сиб. отд-ние, 1967, - 308 с.
3. Барздинь Я.М. Один подход к проблеме индуктивного вывода. -В кн.: Применение методов математической логики: Тез. докл. Шконф., Таллин, 1977, с. 16-28.
4. Барздинь Я.М. Некоторые правила индуктивного вывода и их применение. В кн.: Семиотика и информатика. Вып. 19. - М.: ВИНИТИ, 1982, с.59-89.
5. Барбан А.П. Разработка и исследование алгоритмов блочного распараллеливания и диспетчеризации структурированных программ. Автореф. дис. на соиск. учен, степени канд. физ.-мат. наук (05.13.II). -М., ИПУ, 1983. 18 с.
6. Барский А.В. Планирование параллельных вычислительных процессов. М.: Машиностроение, 1980. - с.191.
7. Быстров А.В., Дудоров Н.Н., Котов В.Е. 0 базовом языке. В кн.: Языки и системы программирования. Новосибирск, 1979, с.85-106.
8. Вальковокий В.А. 0 синтезе оптимальных программ на вычислительных моделях. Программирование, 1980, Ж>, с.27-36.
9. Вальковокий В.А. 0 синтезе надежных вычислений на вычислительных моделях. В кн.: Теоретические вопросы параллельного программирования и многопроцессорные ЭВМ. Новосибирск, 1983,с.76-90.
10. Вальковский В.А., Малышкин В.Э. О синтезе надежных программ в системе ПРИЗ. В кн.:.Трансляция и модели программ.' Новосибирск, 1980, с.119-128.
11. Вальковский В.А., Малышкин В.Э. Диалоговая система автоматизированного синтеза программ на основе вычислительных моделей. -В кн.: Интерактивные системы, I книга: Тез.докл. второй республиканской школы-семинара. Тбилиси.: Мецниереба, 1980,с.102-104.
12. Вальковский В.А., Малышкин В.Э. К уточнению понятия непроцедурное ти языков программирования. Кибернетика, 1981, J53, с.55.
13. Вольдман Г.Ш., Задыхайло И.Б. Некоторые соображения об определении степени непроцедурности языков программирования: Препринт J®I. М., 1977. - 28с. - В надзаг.: ШЕЛ АН СССР.
14. Глушков В.М., Капитонова Ю.В., Летичевский А.А. Теоретические основы проектирования дискретных систем. Кибернетика, 1977,т, с.5-20.
15. Глушков В.М., Капитонова Ю.В., Летичевский А.А. Автоматизация проектирования вычислительных машин. Киев.: Наукова думка, 1975, - 232 с.
16. Глушков В.М., Цейтлин Г.Е., Ющенко Ю.Л. Многоуровневое структурное проектирование программ: формализация метода-сфера приложений. Кибернетика, 1981, JS4, с.42-65.
17. Головкин В.А. Параллельные вычислительные системы. М.: Наука, 1980, - 519 с.
18. Головкин Б.А. Расчет характеристик и планирование параллельных вычислительных процессов. М.: Радио и связь, 1983, - 272с.
19. Гэри М., Джонсон Д. Вычислительные машины и трудноразрешаемые задачи. М.: Мир, 1982. - 416с.
20. Ершов А.П. Введение в теоретическое программирование. М.: Наука, 1977, - 288 с.- 138
21. Ершов Л.П. Вычислимость в произвольных областях и базисах. -Семиотика и информатика. М.:. .ВИНИТИ., 1982, вып. 19, с.3-58.
22. Засыпкин А.В., Малышкин В.Э., Параллельное планирование вычислении на вычислительных моделях. В кн.: Методы и программы решения оптимизационных задач на графах и сетях. Тез.докл.
23. П Всесоюзного совещания. Новосибирск, 1982, с.73-75.
24. Засыпкин А.В., Малышкин В.Э. Параллельный алгоритм планирования вычисления на вычислительных моделях. В кн.: Многопроцессорные вычислительные системы и их математическое обеспечение. Новосибирск, 1982, с.51-58.
25. Кахро М.И., Мяннисалу М.А., Саая Ю.П., Тйугу Э.Х. Система программирования ПРИЗ. Программирование, 1976, И, с.38-46.
26. Кахро М.И., Калья А.П., Тыуту Э.Х. Инструментальная система программирования ЕС ЭВМ (ПРИЗ). М.: Финансы и статистика, 1981. - 158 с.
27. Кербель В.Г. Вопросы мультиобработки и параллельного программирования на однородных вычислительных системах. Автореф.дис. на соиск.учен.степени канд. физ.-мат. наук (05.13.13). Новосибирск, ИМ СО АН СССР, 1979. - 17 с.
28. Кербель В.Г. Реализация экспериментального распараллеливателя алгоритмов. В кн.: Математическое обеспечение вычислительных систем. Вычислительные системы. Вып.78, Новосибирск, 1979, с.54-69.
29. Котов В.Е. Теория параллельного программирования. Прикладные аспекты. Кибернетика, 1974, И, с.1-16, .№2, с. 1,18.
30. Котов В.Е. Введение в теорию схем программ. Новосибирск; Наука, 1978, - с.256.
31. Котов В.Е. Параллельное программирование с типами управления. -Кибернетика, 1979, J&2, с.1-13.31.- Котов В.Е. О параллельных языках. Кибернетика, 1980, ЖЗ, . с.1-12; М, с.1-10.
32. Котов В.Е., Нариньяни А.С. Асинхронные вычислительные процессы над памятью, Кибернетика, 1966, ЖЗ, с.64-71.
33. Кутепов В.П., Кораблин 10.П. Язык граф-схем параллельных алгоритмов. Программирование, 1978, Н, с.
34. Кутепов В.П. Функциональные схемы и параллельные вычисления. Автореф. дис.на соиск. учен, степени доктора техн. наук (05.13.13). М., МЭИ, 198I, - 40 с.
35. Лавров С.С. Синтез программ. Кибернетика, 1982, J£6, c.II-16.
36. Лельчук Т.И., Марчук А.Г. ПОЛЯР язык параллельного асинхронного программирования. - Программирование, 1983, М, с.59-68.
37. Малышкин В.Э. Синтез параллельных программ на структурированных вычислительных моделях. В кн.: Синтез, тестирование, верификация и отладка программ: Тез.докл. Всесоюзной конференции, Рига, 1981, с.149.
38. Малышкин В.Э. Имитационное моделирование дискретных систем на основе вычислительных моделей. В кн.: Параллельные вычислительные и программные системы. Новосибирск, 1981, с.68-80.
39. Малышкин В.Э. Представление алгоритмов в вычислительных моделях с массивами. В кн.: Параллельное программирование и высокопроизводительные системы, часть 2: Тез. докл. Всесоюзной школы-семинара, Киев.: Наукова думка, 1982, с.46-49.
40. Малышкин В.Э. Система синтеза параллельных программ на.основе вычислительных моделей с массивами; Препринт 1S505, -Новосибирск, 1984. с.44. - В надзаг.: ВЦ СО АН СССР.
41. Мальцев А.И. Алгоритмы и рекурсивные функции. М.: Наука, 1965, - с.392.
42. Марчук Г.И., Котов В.Е. Модульная асинхронная развиваемая система: Препринты J£ 86,87. Новосибирск, 1978. - 99 с. -В надзаг.: ВЦ СО АН СССР.
43. Миренков Н.Н. Алгоритмы планирования для диспетчера однородной вычислительной системы. В кн.: Вычислительные системы. Вып. 42, Новосибирск, 1970, с.34-46.
44. Мяннисалу М.А., Тыуту Э.Х., Унт М.И., фуксман А. Л. Язык УТОПИСТ. Алгоритмы и организация решения экономических задач. М., 1977, вып.10, с.80-118.
45. Непейвода Н.Н. О построении правильных программ. Вопросы кибернетики, М., 1976, вып.46, с.88-122.
46. Непейвода Н.Н., Свириденко Д.И. Программирование с логической точки зрения: Препринт .£ T-I. Новосибирск, 1981. - 50 с. -В надзаг.: ИМ СО АН СССР.
47. Непейвода Н.Н., Свириденко Д.И. Логическая точка зрения на программирование: Препринт Т-2. Новосибирск, 1981. - 48 с. - В надзаг.: ИГЛ СО АН СССР.
48. Плакс Т.П. Синтез параллельных программ на вычислительных моделях. Программирование, 1977, М, с.55-63.
49. Поспелов Д.А. Введение в теорию вычислительных систем. М.: Советское радио, 1972, 280 с.
50. Рябов Г.Г., Лакшин Г.Л. Поэлементное моделирование вычислительных систем: Препринт М8. М.; 1978. - 90 с. - В надзаг.: ДОМ и ВТ АН СССР.- 141
51. Теория расписании и вычислительные системы. Под ред. Э.Г.Кофемана. - М.: Наука, 1984. - 336 с.
52. Тиц П.Г. Организация параллельных вычислений на многомашинных (многопроцессорных вычислительных системах.Автореф.дне. на соиск.учен.степени канд.тех.наук (05.1Ъ.1ъ ). М., МЭИ, 1975.
53. Тыугу Э.Х. Решение задач на вычислительных моделях. Журн. вычисл.математики и мат.физики, 1970, т.10, ЖЗ, с.38-46.
54. Тыугу Э.Х. Решатель вычислительных задач. Журн.вычисл. математики и мат.физики, 1971, т.II, М, с.992-1004.
55. Barzdin J.M. On inductive syntesis of programs. In: Lecture Notes in Computer Science, 1979, v.122, p. 234-254.
56. Coffman E.G., Garey H.R., Jonson D.S. Dynamic tin packing. -- SIAIJ J. Comput., 1983, v. 12, IT 2, p. 227-258.
57. Kafura D.G., Shen V.Y. Task sheduling on a multiprocessor system with independent memories. SIAM J. Comput., v. 6, IT 1, 1977, p. 167-187.
58. Manna Z., Waldinger R. Synthesis: dreams ^programs. IEEE Transactions on Software Engineering, 1979, v. SE-5, IT 4, p. 294-398.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.