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

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

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

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

Содержание

  • 1. Анализ параллельных архитектур, языковых и инструментальные средств параллельного программирования
    • 1. 1. Архитектуры параллельных ВС
      • 1. 1. 1. SMP-системы
      • 1. 1. 2. Система NUMA.1В
      • 1. 1. 3. МРР системы
      • 1. 1. 4. Кластерная архитектура
    • 1. 3. Общие подходы к реализации исполнения ФП программ
    • 1. 4. Системы, обеспечивающие параллельное выполнение на МРР и кластерных архитектурах
      • 1. 4. 1. PVM
      • 1. 4. 2. MPI
      • 1. 4. 3. Система MOSIX
      • 1. 4. 4. «Т-система»
    • 1. 5. Выбор среды для построения эмулирующей системы
  • Выводы по главе 1
  • 2. Управление вычислениями в функционально-потоковой модели
    • 2. 1. Описание динамики вычислений функционально-потоковой модели
    • 2. 2. Программо-формирующие операторы
      • 2. 2. 1. Оператор интерпретации
      • 2. 2. 2. Константный оператор
      • 2. 2. 3. Оператор копирования
      • 2. 2. 4. Оператор группировки в
  • список
    • 2. 2. 5. Оператор создания параллельного списка
    • 2. 2. 6. Оператор группировки в задержанный
  • список
    • 2. 3. Правила срабатывания операторов. ч1 2.4 Влияние эквивалентных преобразований на формирование информационно-управляющего графа
  • Выводы по главе 2
    • 3. Анализ и разработка методов выполнения функционально-параллельных программ
    • 3. 1. Способы реализации системы исполнения функционально-параллельных программ
    • 3. 2. Организация процесса интерпретации ФП программ
    • 3. 2. 1. Методы последовательного выполнения ФП программ
    • 3. 2. 2. Методы параллельного выполнения ФП программ
  • Выводы по главе 3
    • 4. Разработка инструментальной системы для выполнения функционально-параллельных программ на кластерной архитектуре
    • 4. 1. Реализация последовательно-параллельного интерпретатора с использованием системы динамического распараллеливания МОБГХ
    • 4. 1. 1. Структура интерпретатора
    • 4. 1. 2. Описание входного представления
    • 4. 1. 4. Алгоритм параллельной интерпретации
    • 4. 1. 5. Алгоритм эквивалентных преобразований списков
    • 4. 1. 6. Описание протокола взаимодействия процессов при передаче результатов
    • 4. 1. 7. Описание входных параметров командной строки интерпретатора
    • 4. 2. Оценка интерпретации ФПП
    • 4. 3. Методы повышения эффективности интерпретации
    • 4. 3. 1. Оценка вычислительной сложности интерпретируемой функции
  • Выводы по главе 4

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

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

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

Попытки создания инструментальных средств, обеспечивающих переносимость параллельных программ, предпринимались неоднократно и осуществлялись по нескольким направлениям. Все они, тем или иным образом, связаны с написанием программ для некоторой обобщенной архитектуры. Выполнение подобных программ на конкретной ПВС осуществляется после их предварительного преобразования с использованием специализированных средств распараллеливания (десеквенторов) [3].

Существуют различные варианты классификации методов десеквенции программ. Одним из них является деление по способам представления исходного параллелизма [4, 5, 6, 7]:

1. использование последовательного программирования с дальнейшим автоматическим распараллеливанием разработанных программ [8];

2. применение языков программирования, обеспечивающих непосредственное описание любых потоков параллельного управления, по сути являющихся расширениями традиционных последовательных языков за счет добавления разнообразных примитивов распараллеливания и синхронизации, при этом уровень параллелизма полностью контролируется разработчиком и может задаваться в зависимости от конкретных условий [9, 10]. Десеквенция подобных программ является переводом одной параллельной формы в другую;

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

Каждый из подходов в настоящее время представлен семейством соответствующих инструментальных средств.

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

• создавать мобильные программы с параллелизмом на уровне операторов, ограниченным лишь методом решения задачи [11];

• обеспечивать перенос программы на конкретную архитектуру, не распараллеливая программу, а сжимая ее максимальный параллелизм;

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

Основной упор делается на исследование общих принципов построения и использования исполняемой среды на кластерной архитектуре и создание средств выполнения функционально-параллельных (ФП) программ.

Актуальность этого направления обуславливается следующими причинами.

Развитие современных суперкомпьютеров привело к появлению параллельных архитектур, предусматривающих высокую степень распараллеливания и теоретически предоставляющих разработчикам возможность добавлять неограниченное число процессоров [12], с другой стороны в настоящее время более 30% высокопроизводительных систем реализованы на смешанных архитектурах и прослеживается тенденция к росту неоднородных систем в будущем. Соответственно, возникает дисбаланс между возможностями архитектуры и возможностями программного обеспечения. Можно утверждать, что существует необходимость в создании таких средств параллельного программирования, которые бы с одной стороны обеспечивали бы возможность реализовать максимальный параллелизм задачи, а с другой обладали бы свойством переносимости и соответственно избавили бы программистов от необходимости всякий раз переписывать программный код при переносе программного обеспечения на изменившуюся архитектуру ПВС.

Одним из направлений по решению проблемы переносимости параллельных программ является создание функциональных языков [13, 14, 15, 16] параллельного программирования, в которых выполнение каждого оператора осуществляется по готовности его данных. Они не требуют явного описания параллелизма задачи. Достаточно указать информационную взаимосвязь между функциями, осуществляющими преобразование данных.

Разработанный на основе функционально-потоковой модели вычислений язык функционально-параллельного программирования [17, 18, 19, 20, 21] относится именно к этому направлению.

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

В работе предлагается модель, описывающая динамику поведения ФП программ, построенных на основе функционально-потоковой модели вычислений [22, 23, 24, 25, 26]. Демонстрируются разработанные обобщенные алгоритмы функционирования базовых операторов модели. Исследуются методы выполнения ФП программ, на основании которых предлагаются различные стратегии управления функционально-потоковыми вычислениями.

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

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

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

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

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

В работе получены следующие научные результаты.

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

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

3. Предложен механизм отображения методов интерпретации ФП программ на ОС Linux с поддержкой системы MOSIX [27] в соответствии многоуровневой архитектурой параллельной виртуальной машины.

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

К практическим результатам работы следует отнести.

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

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

3. Для проведения экспериментов на базе учебных компьютерных классов создана кластерная система под управлением ОС Linux RedHat с поддержкой MOSIX и MPI [28, 29], позволившая провести работы по созданию и отладке параллельного интерпретатора, а также провести оценочные эксперименты параллельной интерпретации ФП программ.

4. Реализованы методы переноса ФП программ на последовательную и кластерную архитектуры. Методы основаны на сжатии максимального параллелизма задачи за счет изменения стратегии управления вычислениями.

На защиту выносятся:

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

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

— механизмы отображения методов интерпретации ФП программ на ОС Linux с поддержкой системы MOSIX в соответствии многоуровневой архитектурой параллельной виртуальной машины;

— программная реализация параллельного интерпретатора ФП программ разработанного для кластерной архитектуры под управлением ОС Linux с поддержкой системы динамического распараллеливания MOSIX.

Публикации.

По теме диссертации опубликовано 19 печатных работ, из них 3 в центральной печати и 1 международная публикация [21].

Результаты исследований использовались в научно-технических отчетах по грантам: ККФН № 4F0093, 1995 г.- ФЦП «Интеграция», проект 68, направление 21, 1998 г.- РФФИ№ 02−07−90 135, 2002,2003 г.

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

Основные положения и результаты работы докладывались на:

• 1, 2, 6 Всероссийских рабочих семинарах «Нейроинформатика и ее приложения», Красноярск (1993, 1994, 1998);

• Межреспубликанской научной конференции «Методы и средства управления технологическими процессами», Саранск, 1993;

• научно-технической конференции «Проблемы техники и технологий XXI века», Красноярск (1994);

• 1, 5, 6 Всероссийских научно-практических конференциях «Проблемы информатизации региона», Красноярск (1995, 1999, 2000);

• третьем Сибирском конгрессе по прикладной и индустриальной математике (ИНПРИМ-98), Новосибирск, 1998;

• Всероссийской научно-практической конференции с международным участием «Достижения науки и техники — развитию сибирских регионов», Красноярск, 1999;

• 1−3 школах-семинарах «Распределенные и кластерные вычисления», Красноярск (2001, 2002, 2003);

• Международной конференции «Перспективы систем информатики» (рабочий семинар «Наукоемкое программное обеспечение»), Новосибирск, 2003 г.

Структура диссертации.

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

Выводы по главе 4.

1. Разработка интерпретатора обеспечила практическую поддержку экспериментов, связанных с исследованием параллельного выполнения функциональных программ, написанных на ФП языке программирования. Полученные результаты показывают, что использование многоуровневой архитектуры виртуальной машины в системе выполнения ФП программ позволяет обеспечивать сбалансированную загрузку узлов кластера под управлением ОС Linux с поддержкой MOSIX. Параллельная интерпретация позволила повысить производительность вычислений по сравнению с последовательным выполнением одних и тех же задач (в идеальных условиях, когда число используемых узлов кластера было больше числа одновременно выполняющихся «тяжелых» функций).

2. Программы, написанные на ФП языке программирования, и оттестированные на последовательном интерпретаторе выполнялись на параллельном интерпретаторе без модификации кода и достигали эталонных результатов решения.

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

Заключение

.

Получены следующие научные и практические результаты работы.

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

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

— последовательное выполнение низкоуровневых операций;

— параллельное выполнение на уровне отдельных процессов, а в общем случае, на уровне потоков и процессов (крупноблочное распараллеливание);

— последовательное выполнение независимых процессов при наличии ресурсных ограничений.

3. Предложены механизмы отображения методов интерпретации ФП программ на ОС Linux с поддержкой системы MOSIX в соответствии многоуровневой архитектурой параллельной виртуальной машины, на основании которых были разработаны:

— последовательный интерпретатор, обеспечивающий выполнение отладку ФП программ;

— параллельный интерпретатор, обеспечивающий выполнение ФП программ на кластерных системах, однои многопроцессорных архитектурах под управлением ОС Linux с поддержкой системы динамического распараллеливания MOSIX.

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

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

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

  1. , В.В. Параллельные вычисления / В. В. Воеводин, Вл.В. Воеводин СПб.: БХВ-Петербург. — 2002. — 608 с.
  2. , В.А. Разработка параллельных программ для вычислительных кластеров и сетей // В. А. Крюков «Информационные технологии и вычислительные системы». — 2003. — № 1−2. — С. 42−61.
  3. , В.А. Распараллеливание алгоритмов и программ. Структурный подход / В. А. Вальковский -М.: Радио и связь. 1989. — 176 с.
  4. Алгоритмы, математическое обеспечение и проектирование архитектур, многопроцессорных вычислительных систем / Под ред. А. П. Ершова. — М.: Наука. 1982−336 с.
  5. , Ч. Взаимодействующие последовательные процессы / Ч. Хоар- пер. с англ. М.: Мир, 1989. — 264 с.
  6. , А.И. Стратегии управления вычислениями / А. И. Легалов // В кн.: Проблемы техники и технологий XXI века. Материалы научной конференции. Красноярск, КГТУ. 1994. — С. 122−126.
  7. , А.И. Управление в вычислительных системах и языках программирования. / А. И. Легалов // Материалы конференции «Проблемы информатизации города». Красноярск. 1994. — С. 198−202.
  8. , А. С. Эффективная адаптация последовательных программ для современных векторно-конвейерных и массивно-параллельных СуперЭВМ / А. С. Антонов, В. В. Воеводин // Программирование. 1996. — № 4. -С. 37−51.
  9. , Г. Программирование на языке Оккам / Г. Джоунз- пер. с англ. -М.: Мир, 1989.- 208 с.
  10. , А.О. Разработка ОС коллективного использования для многопроцессорной супер-ЭВМ МВС 100 / А. О. Лацис // Транспьютерныесистемы и их применение: Тез. докл. Всероссийск. науч. конф. — М.: ИПМ им. Келдыша. 1995. — С. 17−24.
  11. И. Легалов, А. И. На пути к переносимым параллельным программам / А. И. Легалов, Ф. А. Казаков, Д. А. Кузьмин, Д. В. Привалихин // Открытые системы. 2003. — № 5. — С. 36−42.
  12. Чиди, Д. ASCI White впереди планеты всей / Д. Чиди // Открытые системы: Еженедельник «Computerword». 2000. — № 42. — http://www.osp.ru/cw/2000/42/0060.htm
  13. , Дж. Алгебра функциональных программ: мышление функционального уровня, линейные уравнения и обобщенные определения // Математическая логика в программировании: Сб. статей / Дж. Бэкус- пер. с англ. -М: Мир.- 1991, — С. 8−53.
  14. , П. Функциональное программирование. Применение и реализация. / П. Хендерсон- пер. с англ. М.: Мир. — 1983. — 349 с.
  15. , У. Введение в программирование на языке ЛИСП / У. Маурер М.:Мир. — 1976. — 104 с.
  16. , П. Функциональный подход к разработке программ с развитым параллелизмом / П. Пеппер, Ю. Экснер, М. Зюдхольд // Системная информатика. Новосибирск: ВО «Наука». 1995. — С. 334−360. Вып. 4: Методы теоретического и системного программирования.
  17. , Ф.А. Параллельно-функциональный язык программирования / Ф. А. Казаков, Д. А. Кузьмин, А. И. Легалов // В кн.: Нейроинформатика и нейрокомпьютеры. Тезисы докладов рабочего семинара. Красноярск. 1993. — С. 14.
  18. , Ф.А. Параллельный язык управления потоков данных / Ф. А. Казаков, Д. А. Кузьмин, А. И. Легалов // Математическое обеспечение и архитектура ЭВМ: Сб. научных работ. Вып. 2. КГТУ, Красноярск. 1997.1. C.105−113.
  19. , Д.А. Язык программирования параллельных процессов / Д. А. Кузьмин, Ф. А. Казаков, А. И. Легалов // В кн. Нейроинформатика и ее приложения. Программа и тезисы докладов всероссийского рабочего семинара. Красноярск. 1994. — С. 203−204.
  20. Kuzmin, D.A. Description of parallel-functional programming language /
  21. D.A. Kuzmin, F.A. Kazakov, A.I. Legalov // Advances in Modeling & Analysis, A, AMSE Press, 1995.-Vol.28.-No. 3.- pp. 1−17.
  22. , Ф.А. Функциональная модель потоковых вычислений / Ф. А. Казаков, ДА. Кузьмин, А. И. Легалов // В кн.: Проблемы информатизации города: Вторая научно-практическая конференция, сб. тезисов докл. Красноярск, 1995.- С. 65−67.
  23. , А.И. Модель вычислений функционального языка параллельного программирования / А. И. Легалов, Ф. А. Казаков // 6-й Всероссийский семинар «Нейроинформатика и ее приложения». Тезисы докладов. Красноярск. 1998. — 1 с.
  24. , Д.А. Интерпретация функциональных программ на кластере под управлением MOSIX / Д. А. Кузьмин, И. Н. Рыженко,
  25. A.И. Легалов // Вестник Красноярского Государственного Технического университете. Выпуск № 33. Математические методы и моделирование. Под редакцией В. И. Быкова. Красноярск. ИПЦ КГТУ, 2003. С. 196−205.
  26. B.И. Подшивалова. Красноярск: КГТУ. 2001. — С. 66−73.
  27. , А.И. Стратегии управления вычислительными процессами и их модели / А. И. Водяхо, В. П. Емелин, А. И. Легалов // В кн.: Математическое и программное обеспечение САПР сетевых систем, Йошкар-Ола, 1985, — С. 135−142.
  28. , А.И. Функционально ориентированные процессоры /
  29. A.И. Водяхо, В. Б. Смолов, В. У. Плюснин, Д. В. Пузанков / Под ред.
  30. B.Б. Смолова Л.: Машиностроение. Ленингр. Отделение. — 1988. — 224 с.
  31. , Вл. В. Методы описания и классификации вычислительных систем. Учебное пособие. / Вл. В. Воеводин,
  32. A.П. Капитонова М.: Изд.-во МГУ. — 1994. — 103 с .
  33. , В.В. Параллельные вычислительные системы /
  34. B.В. Корнеев М: «Нолидж». — 1999. — 320 с.
  35. , М. Современные суперкомпьютеры: состояние и перспективы / М. Кузьминский, Д. Волков // Открытые системы. — 1995. — № 6. С. 33−40.
  36. , М. Архитектура ЭВМ и искусственный интеллект / Е. Амамия, Ю. Танака- пер. с японск. М.: Мир, 1993. — 400 е., ил.
  37. , В. Электронное пособие «Современные высокопроизводительные компьютеры» / В. Шнитман Информационно-аналитические материалы Центра Информационных Технологий. — 1996. -http://support.vologda.ru/Book/ARCHITECTURE/Svk/contents.htm
  38. Aad, J. van der Steen Overview of Recent Supercomputers // Aad J. van der Steen, Jack J. Dongarra -http://www.phys.uu.nl/~euroben/reports/web03/overview.html
  39. Aad, J. van der Steen Overview of Recent Supercomputers // Aad J. van der Steen, Jack J. Dongarra -http://www.top500.org/ORSC/2002/overview02.html
  40. Архитектура и проектирование вычислительных систем. Распределенные вычислительные системы. // Сборник статей. Рига: РПИ. -1990.- С. 14−21.
  41. Pfister, G. Sizing Up Parallel Architectures / G. Pfister -DataBase Programming & Design OnLine, May 1998. Vol. 11.- No. 5.
  42. Amza, C. Shared memory computing on networks of workstations, to appear in IEEE Computer Treadmarks / C. Amza, A.L. Cox, S. Dwarkadas, P. Keleher, R. Rajamony H. Lu, W. Yu, and W. Zwaenepoel // in IEEE Computer, Volume 29, Number 2, February 1996.
  43. Информационный портал НИВЦ МГУ Лаборатории Параллельных Информационных Технологий http://www.parallel.ru
  44. , М. Кирпичные компьютеры. Серверы нового поколения архитектуры NUMA компании SGI // М. Кузьминский -Открытые системы. 2000.- № 9. — http://www.osp.ru/os/2000/09/010.htm
  45. , Е. Система Sequent NUMA-Q // Е. Коваленко -Открытые системы. 1997. — № 2. — http://www.osp.rU/os/l997/02/6.htm
  46. , Б.А. Параллельные вычислительные системы / Б. А. Головкин -М.: Наука, Гл. ред. физ.-мат. лит. 1980. — 520 с.
  47. System architecture description of the Hitachi SR2201 -http://www.hitachi.co.jp/Prod/comp/hpc/eng/srl.html
  48. , Т.Г. Применение многопроцессорных транспьютерных систем для решения задач математической физики / Т. Г. Елизарова, Б. Н. Четверушкин // Математическое моделирование. 1992. — т. 4. — № 11. — С. 75−100.
  49. Гольдштейн, M. J1. Мультипроцессорная вычислительная система на базе транспьютерной идеологии / M.JI. Гольдштейн // Алгоритмы и программные средства параллельных вычислений. Сб. науч. тр. Екатеринбург: УрО РАН. 1995. — С. 61−68.
  50. Транспьютеры. Архитектура и программное обеспечение: Пер. с анг./ Под ред. Г. Харпа. М.:Радио и связь. — 1993. — 304 с.
  51. , И. Славянский прорыв на информационном поле / И. Андреев // «Академия Тринитаризма». 2002. — Эл. № 77−6567, публ. 10 170.
  52. The Earth Simulator Center http://www.es.jamstec.go.jp
  53. , M. Япония возглавила рейтинг Тор 500 / М. Уильяме // Открытые системы: Еженедельник «Computerworld». 2002. — № 17. -http://www.osp.rU/cw/2002/l 7/0041 .htm
  54. ASCI Program Plan http://www.llnl.gov/asci
  55. , А. Кластеры и суперкомпьютеры — близнецы или братья? / А. Андреев, В. Воеводин, С. Жуматий // Открытые системы. 2000. — № 5. -http://www.osp.ru/os/2000/05−06/009.htm
  56. , В. Направления развития отечественных высокопроизводительных систем / В. Митрофанов, А. Слуцкин, К. Ларионов, J1. Эйсымонт // Открытые системы. 2003. — № 6. -http://www.osp.ru/os/2003/05/029.htm
  57. , С. Искусство объединения / С. Орлов // Открытые системы: «LAN». 2003. — № 9. — http://www.osp.ru/lan/2003/09/072.htm
  58. , М. Кластер Apple третий в Тор500 // М. Уильяме -Открытые системы: Еженедельник «Computerworld». — 2003. — № 47. -http://www.osp.ru/cw/2003/47/028l.htm
  59. , В.А. Анализ производительности межпроцессорного обмена в МВС 1000 М / В. А. Анненков, Е. А. Нурминский, C.B. Смирнов // // «Информатика и системы управления». — 2002. — № 2. — С. 3−12.
  60. , Р. В Австралии строят Linux-суперкомпьютер / Р. Геда // Открытые системы. 2003. — http://www.osp.ru/cw/2003/31/0251 .htm
  61. , С. Российские кластеры на базе Opteron. / С. Орлов // Открытые системы: «LAN». 2003. — № 7−8. — http://www.osp.ru/lan/2003/07−08/0061 l. htm
  62. , А. Как построить и использовать суперкомпьютер. / А. Лацис М.: Бестселлер, 2003. — 240 с.
  63. , Г. М. Высокопроизводительный кластер ВЦ РАН им. А. А. Дородницына / Г. М. Михайлов, Ю. П. Рогов, М. А. Копытов // Научный сервис в сети Интернет. Труды Всероссийской научной конференции. 2003. -С. 60−62.
  64. , А. А. Опыт создания высокопроизводительного кластера с использованием двух коммуникационных сетей / A.A. Букатов, В. Н. Дацюк, О. В. Дацюк и др. // Научный сервис в сети Интернет. Труды Всероссийской научной конференции. 2003.- С. 110−112.
  65. , В.Ш. Языки программирования. Концепции и принципы / В. Ш. Кауфман М.: Радио и связь. — 1993. — 432 с.
  66. Ахо, А. Теория синтаксического анализа, перевода и компиляции: Том 1 / А. Ахо, Дж. Ульман М.: Мир. — 1978. — 612 с.
  67. , Я. Высокоскоростные вычисления. Архитектура, производительность, прикладные алгоритмы и программы суперЭВМ / Я. Ковалик М.: Радио и связь. — 1988. — 432 с.
  68. Себеста, Роберт У. Основные концепции языков программирования, 5-ое изд. пер. с англ. / Роберт У. Себеста М.: Издательский дом «Вильяме». — 2001.-672 с.
  69. , Э.А. Программное обеспечение параллельных процессов / Э. А. Трахтенгерц М.: Наука. — 1987. — 272 с.
  70. , Э.А. Введение в теорию анализа и распараллеливания программ ЭВМ в процессе трансляции / Э. А. Трахтенгерц М.: Наука. — 1981.-279 с.
  71. , В.Д. Параллельное программирование в MPI / В. Д. Корнеев -Новосибирск: Изд-во СО РАН. 2000. — 213 с.
  72. , С. А. Параллельное программирование для многопроцессорных систем / С. А. Немнюгин, O.JI. Стесик СПб.: БХВ-Петербург. — 2002. — 400 с.
  73. , И. Использование PVM. Введение в программирование. / И. Евсеев — http://www.csa.ru/~il/pvmtutor/ Использование PVM.htm
  74. Geist, Al PVM: Parallel Virtual Machine. A User’s Guide and Tutorial for Networked Parallel Computing / AI Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, Vaidy Sunderam // The MIT Press. Cambridge, Massachusetts. London, England.
  75. PVM: Parallel Virtual Machine http://www.csm.ornl.gov/pvm/
  76. Geist, A1 PVM: Parallel Virtual Machine A Users' Guide and Tutorial for Networked Parallel Computing / A1 Geist, Adam Beguelin, Jack Dongarra, Robert Manchek, Weicheng Jiang and Vaidy Sunderam / MIT Press. -1994.-299 pp.
  77. Breshears, Clay A Beginner’s Guide to PVM Parallel Virtual Machine / Clay Breshears, Asim YarKhan www-jics.cs.utk.edu/PVM/pvm/guide.html.
  78. Crawford, Emily Angerer PVM: An Introduction to Parallel Virtual Machine / Emily Angerer Crawford www.hpc.gatech.edu/seminar/pvm.html
  79. Буч, Г. Объектно-ориентированное проектирование с примерами применения / Г. Буч- пер. с англ. М.: Конкорд. — 1992. — 519 е., ил.
  80. Буч, Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. / Г. Буч- пер. с англ. -М.: «Издательства Бином», СПб: «Невский диалект». 1998. — 560 е., ил.
  81. Средства динамического распараллеливания программ (Т-система) -http://cluster.msu.ru/skif/t-system.html
  82. , В.А. Адаптация системы параллельных вычислений Т-system к компьютерной сети МГИУ / В. А. Евсеенко, М. Н. Иванов, В. Ю. Радыгин http://www.ctc.msiu.ru/program/t-system/firstindex.html
  83. Official MOSIX web http://www.mosix.org/
  84. McClure, S. MOSIX: How Linux Clusters Solve Real World Problems / S. McClure, R. Wheeler // Proc. 2000 USENIX Annual Tech. Conf., San Diego, CA., June 2000. pp. 49−56.
  85. Barak, A. Scalable Cluster Computing with MOSIX for Linux / A. Barak, O. La’adan, A. Shiloh // Proc. Linux Expo '99,, Raleigh, N.C., May 1999. pp. 95−100.
  86. Barak, A. The MOSIX Multicomputer Operating System for High Performance Cluster Computing / A. Barak, O. La’adan, // Journal of Future Generation Computer Systems, March 1998. Vol. 13. — No. 4−5. — pp. 361−372.
  87. , B.H. Промежуточное программное обеспечение для высокопроизводительных вычислений / В. Н. Рычков, И. В. Красноперов, С.П.
  88. Копысов // Вычислительные методы в программировании. 2001. — Том 2. -С. 109−124. — http://num-meth.srcc.msu.su/zhurnal/tom2001/art28.html
  89. Джоши, Рауль Параллельный процессинг в ОС Linux с использованием систем PVM и MPI / Рауль Джоши -http://fizmat.tspu.edu.ua/resources/info/mir/lg/lg65/articles/rus-joshi.html
  90. Керниган, Б.В. UNIX универсальная среда программирования / Б. В. Керниган, Р. Пайк — М.: Финансы и статистика. — 1992. — 304 с.
  91. Документация по Т-системе и Т-языку — ftp://ftp.botik.ru/pub/local/Sergei.Abramov/T-system/
  92. , В.А. Сравнение Т-системы и MPI на задаче ЕР из пакета тестов NPB 2.3 / В. А. Евсеенко, М. Н. Иванов, В. Ю. Радыгин // Вычислительные методы в программировании. 2001. — Том 2. — С. 17−21. -http://num-meth.srcc.msu.su/zhurnal/tom2001/art22.html
  93. American National Standard Programming Language С / ANCI Х3.159 -1989 American National Standards Institute, New York.
  94. , A. M. Операционная система UNIX / A. M. Робачевский СПб.:ВУН — Санкт-Петербург. — 1997. — 528 е., ил.
  95. Теренс, Чан Системное программирование на С++ для UNIX / Чан Теренс- пер. с англ. К.: Издательская группа BHV. — 1999. — 592 с.
  96. , В.Э. Конструкции языков программирования. Приемы описания. / В. Э. Вольфенгаген -М.: АО «Центр ЮрИнфоР». 2001. — 276 с.
  97. , Ф.А. Функциональная модель потоковых вычислений / Ф. А. Казаков, Д. А. Кузьмин, А. И. Легалов // В кн.: Проблемы информатизации региона: труды межрегиональной конференции. Красноярск. 1995. — С. 148.
  98. , А.И. Потоковая модель параллельных вычислений / А. И. Легалов, Ф. А. Казаков, Д. А. Кузьмин // Вестник Красноярского государственного технического университета. Сб. научных трудов. Вып. 6. Красноярск. 1996. — С. 60−67.
  99. Dennis, J.B. Weng Application of data flow compilation for the weather problem, high speed computer and algorithm organization / J.B. Dennis, K.S. Ken //Acad. Press. 1977.-p. 143−157.
  100. , Дж. Б. Схемы потоков данных / Дж. Б. Денис, Дж. Б. Фоссин, Дж. П. Линдерман // В кн. Теория программирования. Ч 2. Новосибирск: ВЦ СО АН СССР. 1972. — С. 7−43.
  101. , В. Методы рекурсивного программирования. Пер. с англ. / В. Бердж М.: Машиностроение. — 1983. — 248 с.
  102. , C.JI. О языке программирования для модели вычислений, основанной на принципе потока данных / C.JI. Головков, К. Н. Ефимкин, Э. З. Любимский // препринт института прикладной математики им. М. В. Келдыша РАН. 2002. — № 72. — 20 с.
  103. SIGMA-1: A Dataflow Computer for Scientific Computations / T. Yuba, T. Shimada, K. Hiraki, H. Kashiwagi // Computer Physics Communications. 1985. -pp. 141−148.
  104. , Ф.А. Семантическая модель функционального языка параллельного программирования / Ф. А. Казаков, Д. А. Кузьмин, А. И. Легалов // В кн.: Проблемы техники и технологий XXI века. Материалы научной конференции. Красноярск, КГТУ. 1994. — С. 85−88.
  105. , Ф.А. Разработка функционально-параллельных программ / Ф. А. Казаков, Д. А. Кузьмин, А. И. Легалов // В кн. Нейроинформатика и ее приложения. Программа и тезисы докладов всероссийского рабочего семинара. Красноярск. 1994. — С. 25.
  106. , Ф.А. Организация условных вычислений в потоковых моделях / Ф. А. Казаков // В кн.: Проблемы информатизации региона: труды межрегиональной конференции. Красноярск. 1995. — С. 68−70.
  107. , А.Л. Язык и система программирования для высокопроизводительных параллельных вычислений на неоднородных сетях / А. Л. Ластовецкий, А. Я. Калинов, И. Н. Ледовских и др. // Программирование. 2000. — № 4. — С. 55−80.
  108. Lastovetsky, A. L. Parallel Computing on Heterogeneous Clusters / A. L. Lastovetsky John Wiley & Sons, 2003. — 424 pp.
  109. Backus, J. Can Programming Be Liberated from von Neuman Style? A Functional Stile and Its Algebra of Programs. // J. Backus CACM, 1978. -vol.21.-No. 8.- p. 613−641.
  110. , С. Проектирование операционных систем для малых ЭВМ/ С. Кейслер М.: Мир. — 1986. — 680 с.
  111. , Г. Введение в операционные системы / Г. Дейтейл — М.: Мир. 1987.-231 с.
  112. , В. Операционные системы, 4-е издание / В. Столингс- пер. с англ. М.: Издательский дом «Вильяме». — 2002. — 842 с.
  113. Шоу, А. Логическое проектирование операционных систем / А. Шоу- пер. с англ. -М.: Мир, 1981. 360 с.
  114. Спенсер, Пол XML. Проектирование и реализация. / Пол Спенсер — Москва, Лори. 2001. — 509 с.
Заполнить форму текущей работой