Помощь в учёбе, очень быстро...
Работаем вместе до победы

Методы асинхронного управления функционально-потоковыми параллельными вычислениями

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Использование параллельных вычислений в настоящее время приобретает массовый характер. С одной стороны, это связано с применением многоядерных процессоров, что ведет к параллелизму в персональных компьютерах. С другой, постоянно пополняется парк высокопроизводительных вычислительных систем для научных и инженерных расчетов. Многообразие архитектур параллельных вычислительных систем и методов… Читать ещё >

Содержание

  • 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. Выводы
  • 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. Выводы
  • 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. Выводы

Методы асинхронного управления функционально-потоковыми параллельными вычислениями (реферат, курсовая, диплом, контрольная)

Использование параллельных вычислений в настоящее время приобретает массовый характер. С одной стороны, это связано с применением многоядерных процессоров, что ведет к параллелизму в персональных компьютерах. С другой, постоянно пополняется парк высокопроизводительных вычислительных систем для научных и инженерных расчетов. Многообразие архитектур параллельных вычислительных систем и методов построения параллельных программ порождает различные подходы и парадигмы в параллельном программировании.

На сегодняшний день некоторые системы параллельного программирования получили широкое распространение. Например, для многоядерных вычислительных систем и параллельных вычислительных систем с общей памятью используются многопоточные библиотеки [1] и система программирования ОрепМР [2]. При разработке программ для систем с распределенной памятью наибольшую популярность получил стандарт MPI [3]. Следует отметить, что программы, созданные с применением этих средств, эффективно выполняются только на соответствующих им вычислительных системах (ВС). При переносе приложения на параллельную ВС с другой архитектурой его, как правило, приходится переписывать заново. Архитектурная зависимость параллельных программ порождается не только различиями в организации ВС. Даже в рамках одной архитектуры перенос программы с одной системы на другую может привести к разбалансировке вычислений из-за отличий в скоростных соотношениях процессоров и каналов передачи данных.

Из вышеизложенного следует, что проблема архитектурной зависимости параллельных программ принципиально отличается от уже решенной проблемы переносимости последовательных программ, поскольку затрагивает не только систему команд и организацию памяти ВС, но и сам алгоритм решения задачи, методы и принципы его построения. Поэтому перед разработчиками языков и инструментальных средств параллельного программирования стоит задача обеспечения архитектурной независимости параллельных программ.

Архитектурно-независимые методы параллельного программирования [4] основаны на разделении на отдельные этапы процессов формирования логики программы и ее архитектурной привязки, что позволяет не решать эти две задачи одновременно. При таком подходе программа может разрабатываться так, как будто она использует неограниченные вычислительные ресурсы. В этом случае она может служить в качестве базовой спецификации, обеспечивающей более быстрое решение вопросов, связанных с верификацией и отладкой, по сравнению с традиционным подходом.

Методы архитектурно-независимого параллельного программирования опираются на использование функциональных и потоковых языков, описывающих только информационный граф программы без привязки к системе исполнения. К таким языкам относятся Пифагор [5, 6, 7], Sisal [8], FPTL [9] и ряд других. Управление вычислениями в таких языках, как правило, задается неявно, что позволяет использовать различные подходы к его реализации [10, 11, 12].

Следует отметить, что возможности функциональных языков и методов управления в них параллельными вычислениями до конца не исследованы. Неизвестно, каким образом набор и семантика операторов таких языков влияет на их возможности описания различных параллельных алгоритмов, а также как должно осуществляться управление вычислениями на уровне виртуальных и реальных параллельных ВС. В связи с этим актуальной является задача исследования и разработки новых методов функционально-потокового параллельного программирования и механизмов управления функционально-потоковыми параллельными вычислениями.

Цель работы: исследование и разработка новых методов функционально-потокового параллельного программирования и обеспечение их инструментальной поддержки.

Для достижения указанной цели в работе решаются следующие задачи:

— разработка новых методов организации асинхронных вычислений по готовности данных и исследование их влияния на организацию функционально-потоковых параллельных программ;

— исследование принципов построения управляющих структур функционально-потоковых параллельных программ во время трансляции;

— разработка методов построения управляющих структур программ во время трансляции, позволяющих изменять стратегию управления вычислениями без изменения информационного графа программы;

— создание инструментальных средств, обеспечивающих поддержку функционально-потокового параллельного программирования. Научная новизна и положения, выносимые на защиту.

1 На основе анализа подходов к управлению вычислениями по готовности данных предложен метод управления данными с использованием асинхронных списков, обеспечивающий динамическую трансформацию параллелизма программы в зависимости от соотношений между временами выполнения операций и передачи данных между операциями. Это позволяет повысить гибкость функционально-потокового параллельного программирования и ведет к новому классу алгоритмов с неявным изменением параллелизма решаемой задачи.

2 Предложен метод трансляции функционально-потоковых параллельных программ, представленных в виде совокупности информационного графа и накладываемого на него графа управления, поддерживающий гибкое изменение стратегий управления параллельными вычислениями.

3 Разработан событийный процессор, обеспечивающий повышение эффективности асинхронного управления выполнением функционально-потоковых параллельных программ за счет обработки событий, задаваемых управляющим графом.

4 Предложена архитектура инструментальной системы, обеспечивающей трансляцию и архитектурно-независимую отладку функционально-потоковых параллельных программ. Методы исследования.

В диссертационной работе использовались методы и понятия теории графов, теории алгоритмов, элементы теории множеств, теории языков и формальных грамматик. Для описания синтаксиса языка программирования использовались расширенные формы Бэкуса-Наура (РБНФ), диаграммы Вирта. В экспериментальной части работы применялись методы синтаксического анализа и компиляции.

Практическая значимость.

1 На основе разработанной архитектуры реализована инструментальная система функционально-потокового параллельного программирования, обеспечивающая трансляцию, отладку и выполнение функционально-потоковых параллельных программ с применением предложенных подходов к организации функционально-потоковых параллельных вычислений.

2 Полученные научные и практические результаты использованы в учебном процессе по дисциплинам «Технология программирования» и «Модели параллельных вычислений» в ФГОУ ВПО «Сибирский федеральный университет».

Апробация работы.

Основные положения диссертации докладывались и обсуждались на следующих конференциях и семинарах:

— третья Сибирская школа-семинар по параллельным вычислениям, Томск, 2006;

— шестая межрегиональная школа-семинар «Распределенные и кластерные вычисления», Красноярск, 2006;

— четвертая Российско-германская школа по параллельным вычислениям,.

Новосибирск, 2007;

— четвертая Сибирская школа-семинар по параллельным вычислениям, Томск, 2007;

— Всероссийские научно-технические конференции «Молодежь и наукаXXI век», Красноярск, 2005;2008;

— третья международная конференция «Параллельные вычисления и задачи управления» РАСО '2006, Москва;

— международная научная конференция Параллельные вычислительные технологии (ПаВТ'2009), Нижний Новгород.

Сведения о внедрении.

Результаты работы использованы при выполнении: научно-методического проекта Сибирского Федерального университета № 10 «Решение некоторых задач прикладной математики и информатики для повышения потенциала образовательного процесса" — проекта Сибирского Федерального университета «Использование технологий параллельной обработки в научной, образовательной и организационной деятельности" — проекта № 25 «Среда разработки для языка параллельного программирования Пифагор» в рамках «Программы развития СФУ на 2007;2010 годы».

Программный комплекс «Инструментальная система поддержки программирования на языке Пифагор с возможностями визуализации» используется в учебном процессе, что подтверждено актами внедрения. Публикации.

По теме диссертации опубликовано девять научных работ, из которых одна статья в издании, рекомендуемом ВАК. Структура и объем работы.

Диссертация состоит из введения, четырех глав, заключения и трех приложений. Робота содержит 129 страниц основного текста, 65 рисунков и 6 таблиц.

Список литературы

содержит 110 наименований.

4.9 Выводы.

Предложена архитектура системы инструментальной поддержки функционально-потокового параллельного программирования, основанная на.

разделении операций трансляции и интерпретации программы на отдельные этапы с сохранением промежуточного представления в специальном хранилище. Это позволяет гибко управлять программными проектами и упрощает программирование системы в целом за счет ее разделения на функциональные модули.

Разработан прототип предлагаемой системы управления проектами, включающий среду разработки, хранилище информационно-управляющих графов, интерпретатор с возможностью событийной отладки программ, система визуализации отладки на основе информационных графов.

Заключение

.

В рамках настоящей работы получены следующие результаты:

1 Проведен обзор методов управления асинхронными вычислениями по готовности данных, на основе которого предложен метод управления данными с использованием асинхронных списков, позволяющий динамически трансформировать параллелизм программы в зависимости от соотношений между временами выполнения операций и передачи данных между операциями. В перспективе это позволяет создать новые методы планирования параллельных вычислений, использующих динамическое изменение параллелизма в зависимости от характеристик существующих вычислительных ресурсов.

2 Проанализированы особенности функционально-потоковой модели параллельных вычислений и существующих систем трансляции, позволившие сформировать новый метод трансляции функционально-потоковых параллельных программ в информационный граф, на который могут накладываться различные управляющие графы. Это позволяет гибко изменять стратегии управления вычислениями в зависимости от особенностей исходной программы и архитектуры используемой вычислительной системы.

3 На основе анализа особенностей управляющего графа и его взаимодействия с информационным графом функционально-потоковой параллельной программы разработан событийный процессор, обеспечивающий асинхронного управление вычислениями. Это обеспечивает более гибкую отладку программ.

4 Для комплексного объединения процессов разработки, отладки и выполнения функционально-потоковых параллельных программ разработана архитектура инструментальной системы. Разработанная архитектура реализована в виде инструментальная системы функционально-потокового параллельного программирования, обеспечивающая трансляцию, отладку и выполнение функционально-потоковых параллельных программ с применением предложенных к подходов к организации функционально-потоковых параллельных вычислений.

Показать весь текст

Список литературы

  1. GNU Pthread The GNU Portable Threads Электронный ресурс. — Режим доступа: http://www.gnu.org/software/pth/, свободный. — Загл. с экрана.
  2. The OpenMP API specification for parallel programming Электронный ресурс. Режим доступа: http://www.openmp.org, свободный. — Загл. с экрана.
  3. Message Passing Interface Forum Электронный ресурс. Режим доступа: http://www.mpi-forum.org, свободный. — Загл. с экрана.
  4. , А. И. На пути к переносимым параллельным программам / А. И. Легалов и др. // Открытые системы. 2003. — № 5. — С. 36−42.
  5. , Ф. А. Параллельный язык управления потоков данных. / Ф. А. Казаков, Д. А. Кузьмин, А. И. Легалов // Математическое обеспечение и архитектура ЭВМ — Сб. науч. работ. КГТУ, Красноярск, 1997. Вып. 2. -С. 105−113.
  6. 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.
  7. , В. Н. Функциональный язык SISAL 3.0 / В. Н. Касьянов, Ю. В. Бирюкова, В. А. Евстигнеев // Поддержка супервычислений и Интернеториентированные технологии. Новосибирск — 2001. — С. 54−67.
  8. Vijayaraghavan, V. Control flow extensions to the data flow language SISAL / V. Vijayaraghavan, K.M. Kavi, B. Shirazi //Applied Computing, 1991. -P. 130−38.
  9. Модель параллельных вычислений функционального языка / А. И. Легалов и др. // Известия ТЭТУ. Сборник научных трудов. Структуры и математическое обеспечение специализированных средств. С.-Петербург. -1996.-Вып. 500.-С. 56−63.
  10. , А. И. Об управлении вычислениями в параллельных системах и языках программирования / А. И. Легалов // Научный вестник НГТУ.2004.-№ 3 (18).-С. 63−72.
  11. 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.
  12. , А. И. Потоковая модель параллельных вычислений. / А. И. Легалов, Ф. А. Казаков, Д. А. Кузьмин // Вестник Красноярского государственного технического университета. 1996. — Вып. 6. — С. 6067.
  13. 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.
  14. 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.
  15. Dennis, J. B. First Version Data of a Flow Procedure Language / J. B. Dennis // New York: Springer-Verlar. 1974. — P. 362−376.
  16. , Д. Б. Схемы потоков данных / Д. Б. Денис, Д. Б. Фоссин, Д. П. Линдерман // Теория программирования. 4 2.- Новосибирск: ВЦ СО АН СССР, 1972.-С. 7−43.
  17. 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.
  18. , Ч. Взаимодействующие последовательные процессы / Ч. Хоар- пер. с англ. М.: Мир, 1989. — 264 с.
  19. , А. И. Построение параллельных алгоритмов'. / А. И. Легалов // Открытые системы. 2004. — № 9 (101). — С. 64−68.
  20. , Т. Алгоритмы: построение и анализ. / Т. Кормен, Ч. Лейзерсон, Р. Ривест- пер. с англ. М.: МЦНМО, 1999. — 960 с.
  21. Introduction to Parallel Computing, Second Edition./ A. Grama et al. -Addison Wesley, 2003. 856 p.
  22. , 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.
  23. 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.
  24. , А. П. Внутреннее представление системы функционального программирования Sisal 3.0 / А. П. Стасенко- Препр. / РАН. Сиб. Отд-е. ИСИ- № 110.- Новосибирск, 2004. — 54 с.
  25. , А. И. Функциональный язык для создания архитектурно-независимых параллельных программ. / А. И. Легалов // Вычислительные технологии. 2005. — № 1 (10). — С. 71−89.
  26. , А. И. Влияние стратегии управления на организациюпараллельных вычислительных систем / А. И. Легалов // IV Всесоюзная школа-семинар «Распараллеливание обработки информации» — Тезисы докладов и сообщений. Львов, 1983. — Часть 3. — С. 218−219.
  27. , А. П. Система интерфейсов транслятора во внутреннее представление IR1 / А. П. Стасенко // Методы и инструменты конструирования и оптимизации программ Новосибирск: Институт систем информатики имени А. П. Ершова СО РАН, 2005. — С. 229−238.
  28. , В. Н. Реструктурирующие преобразования: алгоритмы распараллеливания циклов / В. Н. Касьянов, И. Л. Мирзуитова // Программные средства и математические основы информатики. -Новосибирск. 2004. — С. 142−188.
  29. , А.Б. Вычислительная система, управляемая потоком данных' / А. Б. Барский, В. В. Шилов // Приложение к журналу «Информационные технологии». 2000. — № 8. — 24 с.
  30. , А.Б. Потоковая вычислительная система: программирование и оценка эффективности. / А. Б. Барский, В. В. Шилов // Приложение к журналу «Информационные технологии». 2003, № 7. 24 с.
  31. , А. И. Управление в вычислительных системах и языках программирования / А. И. Легалов // Материалы конференции «Проблемы информатизации города». Красноярск, 1994. С. 198−202.
  32. , Д. В. Транслятор функционального языка параллельного программирования / Д. В. Привалихин // Информатика и информационные технологии — Материалы межвузовской научной конференции. Красноярск, 2002. — С. 228−232.
  33. , А. И. Стратегии управления вычислениями / А. И. Легалов //
  34. Проблемы техники и технологий XXI века. Материалы научной конференции. Красноярск, КГТУ, 1994. С. 122−126.
  35. , А.В. Промежуточное представление информационного графа для языка Пифагор / А. В. Редькин // Информатика и информационные технологии. Красноярск. 2004. — С. 205−209.
  36. Python Programming Language Official Website Электронный ресурс.,-Режим доступа: http://www.python.org/, свободный. — Загл. с экрана.
  37. 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.
  38. 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.
  39. Реконфигурируемые мультиконвейерные вычислительные структуры /
  40. И.А. Каляев и др. Ростов-на-Дону. Издательство ЮНЦ РАН, 2008 -393 с.
  41. 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.
  42. 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.
  43. 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.
  44. 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.
  45. , E.JI. Классификация моделей параллельных вычислительных процессов по признакам ширины и общности. / E.JI. Полин, К. В. Защелкин // Труды Одесского политехнического университета, 2004. -Вып. 1(21).-С. 1−6.
  46. 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.
  47. 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
  48. Computer Architecture, 1975.-P. 126−32.
  49. , А. П. Транслирующие компоненты системы функционального программирования SFP / А. П. Стасенко и др. // Современные проблемы конструирования программ. Новосибирск, 2002. — С. 69−87.
  50. Stasenko, А. P. Sisal 3.1 language structures decomposition / A. P. Stasenko // Bull. Novosibirsk Сотр. Center. Ser. Computer Science. -Novosibirsk, 2006. Iss. 24. — 8 p.
  51. , В. Э. Введение в параллельное программирование мультикомпьютеров / В. Э. Малышкин Новосибирск, 2003. — 268 с.
  52. , В. П. Модель асинхронных вычислений значений функций в языке функциональных схем / В. П. Кутепов, В. Н. Фальк // Программирование. 1978. — № 3. — С. 3−15.
  53. , В. П. Функциональные системы: теоретический и практический аспекты. / В. П. Кутепов, В. Н. Фальк // Кибернетика. 1979. — № 1. — С. 46−58.
  54. , А. И. Функциональный язык для создания архитектурно-независимых параллельных программ. / А. И. Легалов // Вычислительные технологии. 2005. -№ 1 (10). — С. 71−89.
  55. , Д. В. Интегрированная среда разработки программ нафункциональном языке программирования «Пифагор» / Д. В. Привалихин // Информатика и информационные технологии — Материалы межвузовской научной конференции. Красноярск, 2002. — С. 232−236.
  56. , А. И. Использование типов в языке программирования Пифагор / А. И. Легалов, Д. В. Привалихин // Проблемы информатизации региона. ПИР-2001- Сб. науч. трудов. Красноярск. ИПЦ КГТУ. 2002. — С. 55−61.
  57. , А. И. Эволюционное расширение программ в функциональном языке параллельного программирования / А. И. Легалов, Д. В.
  58. Привалихин // Вестник Красноярского государственного университета. -Красноярск, 2004. № 5/2. — С. 40−48.
  59. Фридман, А. C/C++. Архив программ / А. Фридман, Л. Кландер, X. Шильдт- пер. с англ. М.: ЗАО «Издательство БИНОМ», 2001. — 638 с.
  60. , Б. Язык программирования Си / Керниган Б., Ритчи Д.- пер. с англ. М.: Финансы и статистика, 1992. — 272 с.
  61. , Д. Искусство программирования для ЭВМ. Том 1. Основные алгоритмы. / Д Кнут- пер. с англ. М.: Мир, 1976. — 736 с.
  62. , Д. Искусство программирования для ЭВМ. Том 2. Получисленные алгоритмы. / Д Кнут- пер. с англ. М.: Мир, 1977. — 726 с.
  63. , Д. Искусство программирования для ЭВМ. Том 2. Сортировка и поиск. / Д Кнут- пер. с англ. М.: Мир, 1977. — 846 с.
  64. , Н. Алгоритмы + структуры данных = программы / Н. Вирт- пер. с англ. М.: Мир, 1982. — 406 с.
  65. , Д. Жемчужины программирования. / Д. Бентли- пер. с англ. -СПб.: Питер, 2002. 272 с.
  66. , А. Современное проектирование на С++. / А. Александреску. М.: Издательский дом «Вильяме», 2002. — 336 с.
  67. Ахо, А. Построение и анализ вычислительных алгоритмов. / А. Ахо, Дж. Хопкрофт, Дж. Ульман- пер. с англ. М.: Мир, 1979. — 536 с.
  68. Ахо А. Структуры данных и алгоритмы / А. Ахо, Дж. Хопкрофт, Дж. Ульман- пер. с англ. М.: Вильяме, 2001.- 384 с
  69. , С. Введение в разработку и анализ алгоритмов. / С. Гудман, С. Хидетниеми- пер. с англ. М.: Мир, 1981. — 368 с.
  70. Дал, У. Структурное программирование / У Дал., Э. Дейкстра, К. Хоор- пер. с англ. М.: Мир, 1975.-247 с.
  71. , Р. Теория и практика структурного программирования / Р. Лингер, X. Миллс, Б. Уитт- пер. с англ. М.: Мир, 1982. — 406 с.
  72. , JI. А. Адаптация сложных систем. Методы и приложения./ Л. А. Растригин. Рига, «Зинатне», 1981. -375с.
  73. , А.В. Событийное управление выполнением функционально-потоковых параллельных программ / А. В. Редькин, А. И. Легалов // Научный вестник НГТУ. 2008. -№ 3(32), — С. 111−117.
  74. , А.В. Промежуточное представление функционального языка потокового программирования / А. В. Редькин // Третья Сибирская школа-семинар по параллельным вычислениям / под ред. проф. А. В. Старченко. Томск: изд-во Том. Ун-та, 2006. С. 121−125.
  75. , А.В. Среда разработки для языка параллельного программирования ПИФАГОР / А. В. Редькин // Четвертая Сибирскаяшкола-семинар по параллельным вычислениям. Тез. докл. Томск, 2007. — С. 20−22.
  76. , Ч. Взаимодействующие последовательные процессы. / Ч. Хоар — пер. с англ. М.: Мир, 1989. — 264 с.
  77. Алгоритмы, математическое обеспечение и проектирование архитектур, многопроцессорных вычислительных систем / под ред. А. П. Ершова. М: Наука, 1982.-336 с.
  78. , В.В. Параллельные вычисления / В. В. Воеводин, Вл.В. Воеводин СПб: БХБ-Петербург, 2002. — 608 с.
  79. , С.Б. Система асинхронного параллельного программирования «Аспект» / С. Б. Арыков, В. Э. Малышкин // Вычислительные методы ипрограммирование 2009. — Т.9 — С. 48−52.
  80. , Г. А. Технология синтеза модульных параллельных программ для DVM-системы / Г. А. Опарин, А. П. Новопашин // Труды VII Международного симпозиума «Интеллектуальные системы». М.: РУСАКИ, 2006. — С. 468−471.
  81. , А. И. Глобальная оптимизация методом усреднения координат: Монография / А. И. Рубан. Красноярск: ИПЦ КГТУ, 2004. 302 с.
  82. 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.
  83. Drawing Graphs: Methods and Models // Lecture Notes in Computer Science). Springer, 2001.
  84. , Ю.В. Интегрированная среда разработки программ на параллельном функцио-нальном языке ПИФАГОР/ Ю.В. Удалова// Информатика и информационные техноло-гии. Красноярск 2004.
  85. , Ю.В. Среда разработки программ на языке ПИФАГОР под ОС LINUX. /Ю.В. Удалова, Д. А. Кузьмин //Распределенные и кластерные вычисления. Красноярск 2005.
  86. , Ю.В. О верификации функционально-потоковых параллельныхпрограмм на примере задачи разделения множеств. / Ю. В. Удалова //Распределенные и кластерные вычисления, Красноярск 2006.
  87. Мультипроцессорные вычислительные системы.: Пер. с англ. / Под ред. Ф. Г. Энслоу. М.: Энергия, 1976. — 384 с.
  88. , Б. А. Параллельные вычислительные системы. / Б. А. Головкин -М.: Наука, гл. ред. физ.-мат. лит., 1980. 520 с.
  89. , В. В. Параллельные вычислительные системы. / В. В. Корнеев -М: «Нолидж», 1999. 320 с.
  90. , А.О. Как построить суперкомпьютер. / А. О. Лацис М.: Бестселлер, 2003. — 240 с.
  91. , Г. Р. Основы многопоточного, параллельного и распределенного программирования.: Пер. с англ. / Г. Р. Эндрюс М.: Издательский дом «Вильяме», 2003. — 512 с.
Заполнить форму текущей работой