Методы асинхронного управления функционально-потоковыми параллельными вычислениями
Диссертация
Использование параллельных вычислений в настоящее время приобретает массовый характер. С одной стороны, это связано с применением многоядерных процессоров, что ведет к параллелизму в персональных компьютерах. С другой, постоянно пополняется парк высокопроизводительных вычислительных систем для научных и инженерных расчетов. Многообразие архитектур параллельных вычислительных систем и методов… Читать ещё >
Содержание
- 1. Динамические параллельные вычисления на основе асинхронных списков
- 1. 1. FIFO-сети для описания асинхронных вычислений
- 1. 2. Асинхронные вычисления в схемах потока данных Денниса
- 1. 3. Асинхронные списки в языке Пифагор
- 1. 4. Использование асинхронных списков для управления параллельными вычислениями
- 1. 4. 1. Конвейерное взаимодействие асинхронных функций
- 1. 5. Использование асинхронного списка в алгоритмах сортировки
- 1. 5. 1. Асинхронная сортировка перебором
- 1. 5. 2. Быстрая асинхронная сортировка
- 1. 6. Расширение возможностей языка Пифагор дополнительными встроенными функциями
- 1. 6. 1. Операция insert
- 1. 6. 2. Операция exchange
- 1. 6. 3. Операция append
- 1. 6. 4. Операция permute
- 1. 6. 5. Операции drop и take
- 1. 7. Операция прямой интерпретации в языке Пифагор
- 1. 8. Выводы
- 2. Организация управления вычислениями в функционально-потоковых параллельных программах
- 2. 1. Методы организации потоковых параллельных вычислений
- 2. 1. 1. Организация вычислений в языке Sisal
- 2. 1. 2. Организация потоковой вычислительной системы с использованием императивных языков программирования
- 2. 1. 3. Управление в модели функционально-потоковых параллельных вычислений на основе информационного и управляющего графов
- 2. 2. Информационный граф функционально-потоковой параллельной программы
- 2. 3. Управляющий граф функционально-потоковой параллельной программы
- 2. 3. 1. Генератор сигнала
- 2. 3. 2. Смеситель сигналов
- 2. 3. 3. Асинхронный смеситель сигналов
- 2. 3. 4. Интерпретатор сигналов
- 2. 3. 5. Синхронизатор сигналов
- 2. 3. 6. Управление вычислениями в задержанных подграфах
- 2. 4. Формирование управляющего графа
- 2. 5. Реализация стратегий управления посредством преобразования управляющих графов
- 2. 6. Выводы
- 2. 1. Методы организации потоковых параллельных вычислений
- 3. Событийный процессор для функционально-потоковых параллельных вычислений
- 3. 1. Внутренние представления графов и данных
- 3. 1. 1. Внутреннее представление информационного графа
- 3. 1. 2. Представление констант и данных
- 3. 1. 3. Внутреннее представление функции
- 3. 1. 4. Внутреннее представление управляющего графа
- 3. 2. Структура событийного процессора
- 3. 2. 1. Структура события
- 3. 2. 2. Событийное управление для параллельных списков
- 3. 2. 3. Поток событий
- 3. 2. 4. Событийное управление для задержанных списков
- 3. 3. Параллельные вычисления с использованием событийного процессора
- 3. 4. Выводы
- 3. 1. Внутренние представления графов и данных
- 4. Инструментальная поддержка разработки параллельных программ на языке Пифагор
- 4. 1. Общая структура системы
- 4. 2. Модель данных системы
- 4. 3. Транслятор
- 4. 4. Хранение информационных, управляющих графов и вспомогательных структур данных
- 4. 5. Использование внешних функций
- 4. 6. Визуализация графов
- 4. 7. Реализация возможностей отладки программ
- 4. 7. 1. Отладка в режиме трассировки событий
- 4. 8. Интерфейс пользователя
- 4. 8. 1. Среда доступа к хранилищу функций и графов
- 4. 8. 2. Графический интерфейс событийного отладчика программ
- 4. 9. Выводы
Список литературы
- GNU Pthread The GNU Portable Threads Электронный ресурс. — Режим доступа: http://www.gnu.org/software/pth/, свободный. — Загл. с экрана.
- The OpenMP API specification for parallel programming Электронный ресурс. Режим доступа: http://www.openmp.org, свободный. — Загл. с экрана.
- Message Passing Interface Forum Электронный ресурс. Режим доступа: http://www.mpi-forum.org, свободный. — Загл. с экрана.
- Легалов, А. И. На пути к переносимым параллельным программам / А. И. Легалов и др. // Открытые системы. 2003. — № 5. — С. 36−42.
- Казаков, Ф. А. Параллельный язык управления потоков данных. / Ф. А. Казаков, Д. А. Кузьмин, А. И. Легалов // Математическое обеспечение и архитектура ЭВМ — Сб. науч. работ. КГТУ, Красноярск, 1997. Вып. 2. -С. 105−113.
- Kuzmin, D. A. Description of parallel-functional programming language. / D. A. Kuzmin, F. A. Kazakov, A. I. Legalov // Advances in Modeling & Analysis, A, AMSE Press, 1995. Vol.28, № 3 — P. 1−17.
- Касьянов, В. Н. Функциональный язык SISAL 3.0 / В. Н. Касьянов, Ю. В. Бирюкова, В. А. Евстигнеев // Поддержка супервычислений и Интернеториентированные технологии. Новосибирск — 2001. — С. 54−67.
- Vijayaraghavan, V. Control flow extensions to the data flow language SISAL / V. Vijayaraghavan, K.M. Kavi, B. Shirazi //Applied Computing, 1991. -P. 130−38.
- Модель параллельных вычислений функционального языка / А. И. Легалов и др. // Известия ТЭТУ. Сборник научных трудов. Структуры и математическое обеспечение специализированных средств. С.-Петербург. -1996.-Вып. 500.-С. 56−63.
- Легалов, А. И. Об управлении вычислениями в параллельных системах и языках программирования / А. И. Легалов // Научный вестник НГТУ.2004.-№ 3 (18).-С. 63−72.
- Kahn, G. The semantics of a simple language for parallel programming / G. Kahn // Information processing / ed. by J. L. Rosenfeld. North Holland, Amsterdam, 1974. — P. 471−475.
- Легалов, А. И. Потоковая модель параллельных вычислений. / А. И. Легалов, Ф. А. Казаков, Д. А. Кузьмин // Вестник Красноярского государственного технического университета. 1996. — Вып. 6. — С. 6067.
- Kahn, G. The semantics of a simple language for parallel programming / G. Kahn // Information processing / ed. by J. L. Rosenfeld. North Holland, Amsterdam, 1974.-P. 471−475.
- Dennis, J. B. Data flow schemas / J. B. Dennis, J. B. Fosseen, J. P. Linderman // Proc. of the Internat. Symp. on Theoretical Programming. Lect. Notes Comput. Sci. London, UK: Springer-Verlag. — 1972. — Vol. 5. — P. 187−216.
- Dennis, J. B. First Version Data of a Flow Procedure Language / J. B. Dennis // New York: Springer-Verlar. 1974. — P. 362−376.
- Денис, Д. Б. Схемы потоков данных / Д. Б. Денис, Д. Б. Фоссин, Д. П. Линдерман // Теория программирования. 4 2.- Новосибирск: ВЦ СО АН СССР, 1972.-С. 7−43.
- Arvind A new interpreter for data flow schemas and its implications for computer architecture / Arvind, K.P. Gostelow // TR 72, Dept. Inform, and Com-put. Sci. Univ. Calif., Irvine. — 1975, -P.
- Xoap, Ч. Взаимодействующие последовательные процессы / Ч. Хоар- пер. с англ. М.: Мир, 1989. — 264 с.
- Легалов, А. И. Построение параллельных алгоритмов'. / А. И. Легалов // Открытые системы. 2004. — № 9 (101). — С. 64−68.
- Кормен, Т. Алгоритмы: построение и анализ. / Т. Кормен, Ч. Лейзерсон, Р. Ривест- пер. с англ. М.: МЦНМО, 1999. — 960 с.
- Introduction to Parallel Computing, Second Edition./ A. Grama et al. -Addison Wesley, 2003. 856 p.
- Skedzielewski, S. К. IF1 An intermediate form for applicative languages, version 1.0 / S. K. Skedzielewski, J. Glauert- Tech. Rep. / Lawrence Livermore National Laboratory- M-170- Livermore, CA, 1985. — 68 p.
- Welcome, M. L. IF2 An applicative language intermediate form with explicit memory management / M. L. Welcome et al. — Tech. Rep. / Lawrence Livermore National Laboratory- M-195- Livermore, CA, 1986. — 37 p.
- Стасенко, А. П. Внутреннее представление системы функционального программирования Sisal 3.0 / А. П. Стасенко- Препр. / РАН. Сиб. Отд-е. ИСИ- № 110.- Новосибирск, 2004. — 54 с.
- Легалов, А. И. Функциональный язык для создания архитектурно-независимых параллельных программ. / А. И. Легалов // Вычислительные технологии. 2005. — № 1 (10). — С. 71−89.
- Легалов, А. И. Влияние стратегии управления на организациюпараллельных вычислительных систем / А. И. Легалов // IV Всесоюзная школа-семинар «Распараллеливание обработки информации» — Тезисы докладов и сообщений. Львов, 1983. — Часть 3. — С. 218−219.
- Стасенко, А. П. Система интерфейсов транслятора во внутреннее представление IR1 / А. П. Стасенко // Методы и инструменты конструирования и оптимизации программ Новосибирск: Институт систем информатики имени А. П. Ершова СО РАН, 2005. — С. 229−238.
- Касьянов, В. Н. Реструктурирующие преобразования: алгоритмы распараллеливания циклов / В. Н. Касьянов, И. Л. Мирзуитова // Программные средства и математические основы информатики. -Новосибирск. 2004. — С. 142−188.
- Барский, А.Б. Вычислительная система, управляемая потоком данных' / А. Б. Барский, В. В. Шилов // Приложение к журналу «Информационные технологии». 2000. — № 8. — 24 с.
- Барский, А.Б. Потоковая вычислительная система: программирование и оценка эффективности. / А. Б. Барский, В. В. Шилов // Приложение к журналу «Информационные технологии». 2003, № 7. 24 с.
- Легалов, А. И. Управление в вычислительных системах и языках программирования / А. И. Легалов // Материалы конференции «Проблемы информатизации города». Красноярск, 1994. С. 198−202.
- Привалихин, Д. В. Транслятор функционального языка параллельного программирования / Д. В. Привалихин // Информатика и информационные технологии — Материалы межвузовской научной конференции. Красноярск, 2002. — С. 228−232.
- Легалов, А. И. Стратегии управления вычислениями / А. И. Легалов //
- Проблемы техники и технологий XXI века. Материалы научной конференции. Красноярск, КГТУ, 1994. С. 122−126.
- Редькин, А.В. Промежуточное представление информационного графа для языка Пифагор / А. В. Редькин // Информатика и информационные технологии. Красноярск. 2004. — С. 205−209.
- Python Programming Language Official Website Электронный ресурс.,-Режим доступа: http://www.python.org/, свободный. — Загл. с экрана.
- Gelly, О. LAU system software: A high level data driven language for parallel programming / O. Gelly // In: Proc. of the 1976 Intern. Conf on Parallel Processing, 1976 P. 255−262.
- Blelloch, G. E. NESL: A Nested Data-Parallel Language (Version 3.1) / G. E. Blelloch. // Technical Report CMU-CS-95−170, Carnegie Mellon University, Pittsburgh, PA, 1995. — P.
- Реконфигурируемые мультиконвейерные вычислительные структуры /
- И.А. Каляев и др. Ростов-на-Дону. Издательство ЮНЦ РАН, 2008 -393 с.
- D. G. Fritz. An overview of hierarchical control flow graph models. / D.G. Fritz, R. G. Sargent // Proceedings of the 27th conference on Winter simulation Arlington, Virginia, United States 1995. — p.1347−1355.
- Comparison of Parallel Sorting Algorithms on Different Architectures. / Nancy M. A. et al. // Technical Report 98−029, Department of Computer Science, Texas A&M University, 1996.
- Wesley, M. J. Advances in Dataflow Programming Languages. ACM Computing Surveys, / M. J. Wesley, J. R. Paul Hanna, R. J. Millar // Vol. 36, No. 1, 2004.-P 1−34.
- Corretjer, I. Configuration and Representation of Large-Scale Dataflow Graphs using the Dataflow Interchange Format / I. Corretjer, C.-J. Hsu, S. S. Bhattacharyya // Signal Processing Systems Design and Implementation, SIPS •06. IEEE, 2006, P. 10−15.
- Полин, E.JI. Классификация моделей параллельных вычислительных процессов по признакам ширины и общности. / E.JI. Полин, К. В. Защелкин // Труды Одесского политехнического университета, 2004. -Вып. 1(21).-С. 1−6.
- Matsubara, Y. Necessity of timing dependency in parallel programming languages. / Matsubara, Y. // High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. The Fourth International Conference, 2000. vol.1 -P.19−21.
- Dennis, J. B. A preliminary architecture for a basic data-flow processor. / J. B. Dennis, D. P. Misunas // In Proceedings of the 2nd Annual Symposium on
- Computer Architecture, 1975.-P. 126−32.
- Стасенко, А. П. Транслирующие компоненты системы функционального программирования SFP / А. П. Стасенко и др. // Современные проблемы конструирования программ. Новосибирск, 2002. — С. 69−87.
- Stasenko, А. P. Sisal 3.1 language structures decomposition / A. P. Stasenko // Bull. Novosibirsk Сотр. Center. Ser. Computer Science. -Novosibirsk, 2006. Iss. 24. — 8 p.
- Малышкин, В. Э. Введение в параллельное программирование мультикомпьютеров / В. Э. Малышкин Новосибирск, 2003. — 268 с.
- Кутепов, В. П. Модель асинхронных вычислений значений функций в языке функциональных схем / В. П. Кутепов, В. Н. Фальк // Программирование. 1978. — № 3. — С. 3−15.
- Кутепов, В. П. Функциональные системы: теоретический и практический аспекты. / В. П. Кутепов, В. Н. Фальк // Кибернетика. 1979. — № 1. — С. 46−58.
- Легалов, А. И. Функциональный язык для создания архитектурно-независимых параллельных программ. / А. И. Легалов // Вычислительные технологии. 2005. -№ 1 (10). — С. 71−89.
- Привалихин, Д. В. Интегрированная среда разработки программ нафункциональном языке программирования «Пифагор» / Д. В. Привалихин // Информатика и информационные технологии — Материалы межвузовской научной конференции. Красноярск, 2002. — С. 232−236.
- Легалов, А. И. Использование типов в языке программирования Пифагор / А. И. Легалов, Д. В. Привалихин // Проблемы информатизации региона. ПИР-2001- Сб. науч. трудов. Красноярск. ИПЦ КГТУ. 2002. — С. 55−61.
- Легалов, А. И. Эволюционное расширение программ в функциональном языке параллельного программирования / А. И. Легалов, Д. В.
- Привалихин // Вестник Красноярского государственного университета. -Красноярск, 2004. № 5/2. — С. 40−48.
- Фридман, А. C/C++. Архив программ / А. Фридман, Л. Кландер, X. Шильдт- пер. с англ. М.: ЗАО «Издательство БИНОМ», 2001. — 638 с.
- Керниган, Б. Язык программирования Си / Керниган Б., Ритчи Д.- пер. с англ. М.: Финансы и статистика, 1992. — 272 с.
- Кнут, Д. Искусство программирования для ЭВМ. Том 1. Основные алгоритмы. / Д Кнут- пер. с англ. М.: Мир, 1976. — 736 с.
- Кнут, Д. Искусство программирования для ЭВМ. Том 2. Получисленные алгоритмы. / Д Кнут- пер. с англ. М.: Мир, 1977. — 726 с.
- Кнут, Д. Искусство программирования для ЭВМ. Том 2. Сортировка и поиск. / Д Кнут- пер. с англ. М.: Мир, 1977. — 846 с.
- Вирт, Н. Алгоритмы + структуры данных = программы / Н. Вирт- пер. с англ. М.: Мир, 1982. — 406 с.
- Бентли, Д. Жемчужины программирования. / Д. Бентли- пер. с англ. -СПб.: Питер, 2002. 272 с.
- Александреску, А. Современное проектирование на С++. / А. Александреску. М.: Издательский дом «Вильяме», 2002. — 336 с.
- Ахо, А. Построение и анализ вычислительных алгоритмов. / А. Ахо, Дж. Хопкрофт, Дж. Ульман- пер. с англ. М.: Мир, 1979. — 536 с.
- Ахо А. Структуры данных и алгоритмы / А. Ахо, Дж. Хопкрофт, Дж. Ульман- пер. с англ. М.: Вильяме, 2001.- 384 с
- Гудман, С. Введение в разработку и анализ алгоритмов. / С. Гудман, С. Хидетниеми- пер. с англ. М.: Мир, 1981. — 368 с.
- Дал, У. Структурное программирование / У Дал., Э. Дейкстра, К. Хоор- пер. с англ. М.: Мир, 1975.-247 с.
- Лингер, Р. Теория и практика структурного программирования / Р. Лингер, X. Миллс, Б. Уитт- пер. с англ. М.: Мир, 1982. — 406 с.
- Растрнгин, JI. А. Адаптация сложных систем. Методы и приложения./ Л. А. Растригин. Рига, «Зинатне», 1981. -375с.
- Редькин, А.В. Событийное управление выполнением функционально-потоковых параллельных программ / А. В. Редькин, А. И. Легалов // Научный вестник НГТУ. 2008. -№ 3(32), — С. 111−117.
- Редькин, А.В. Промежуточное представление функционального языка потокового программирования / А. В. Редькин // Третья Сибирская школа-семинар по параллельным вычислениям / под ред. проф. А. В. Старченко. Томск: изд-во Том. Ун-та, 2006. С. 121−125.
- Редькин, А.В. Среда разработки для языка параллельного программирования ПИФАГОР / А. В. Редькин // Четвертая Сибирскаяшкола-семинар по параллельным вычислениям. Тез. докл. Томск, 2007. — С. 20−22.
- Хоар, Ч. Взаимодействующие последовательные процессы. / Ч. Хоар — пер. с англ. М.: Мир, 1989. — 264 с.
- Алгоритмы, математическое обеспечение и проектирование архитектур, многопроцессорных вычислительных систем / под ред. А. П. Ершова. М: Наука, 1982.-336 с.
- Воеводин, В.В. Параллельные вычисления / В. В. Воеводин, Вл.В. Воеводин СПб: БХБ-Петербург, 2002. — 608 с.
- Арыков, С.Б. Система асинхронного параллельного программирования «Аспект» / С. Б. Арыков, В. Э. Малышкин // Вычислительные методы ипрограммирование 2009. — Т.9 — С. 48−52.
- Опарин, Г. А. Технология синтеза модульных параллельных программ для DVM-системы / Г. А. Опарин, А. П. Новопашин // Труды VII Международного симпозиума «Интеллектуальные системы». М.: РУСАКИ, 2006. — С. 468−471.
- Рубан, А. И. Глобальная оптимизация методом усреднения координат: Монография / А. И. Рубан. Красноярск: ИПЦ КГТУ, 2004. 302 с.
- Tamara Munzner. НЗ: Laying Out Large Directed Graphs in 3D Hyperbolic Space. // Proceedings of the 1997 IEEE Symposium on Information Visualization, October 20−21 1997, Phoenix, AZ, 1997. P. 2−10.
- Drawing Graphs: Methods and Models // Lecture Notes in Computer Science). Springer, 2001.
- Удалова, Ю.В. Интегрированная среда разработки программ на параллельном функцио-нальном языке ПИФАГОР/ Ю.В. Удалова// Информатика и информационные техноло-гии. Красноярск 2004.
- Удалова, Ю.В. Среда разработки программ на языке ПИФАГОР под ОС LINUX. /Ю.В. Удалова, Д. А. Кузьмин //Распределенные и кластерные вычисления. Красноярск 2005.
- Удалова, Ю.В. О верификации функционально-потоковых параллельныхпрограмм на примере задачи разделения множеств. / Ю. В. Удалова //Распределенные и кластерные вычисления, Красноярск 2006.
- Мультипроцессорные вычислительные системы.: Пер. с англ. / Под ред. Ф. Г. Энслоу. М.: Энергия, 1976. — 384 с.
- Головкин, Б. А. Параллельные вычислительные системы. / Б. А. Головкин -М.: Наука, гл. ред. физ.-мат. лит., 1980. 520 с.
- Корнеев, В. В. Параллельные вычислительные системы. / В. В. Корнеев -М: «Нолидж», 1999. 320 с.
- Лацис, А.О. Как построить суперкомпьютер. / А. О. Лацис М.: Бестселлер, 2003. — 240 с.
- Эндрюс, Г. Р. Основы многопоточного, параллельного и распределенного программирования.: Пер. с англ. / Г. Р. Эндрюс М.: Издательский дом «Вильяме», 2003. — 512 с.