Отчет о научно-исследовательской работе

Вид материалаОтчет
Приложение 1 26
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   22

СОДЕРЖАНИЕ


Введение 7

Организация межпроцессорных обменов 8

1.Техническое решение на кластерном уровне 8

1.1.Общая память 8

1.2.Сборщик мусора и последовательный номер. 9

1.3.Возможное расширение адресного пространства суперпамяти для поддержки вычислительных сетей 10

2.Поддержка различных программно-аппаратных платформ. 11

2.1.Работа OpenTS в гетерогенной среде 11

3.Поддержка отказоустойчивости 14

3.1.Предыстория: возможности DMPI до начала работ 14

3.2.Существующие возможности обеспечения отказоустойчивости 15

3.3.Двухпроцессная схема вызова функций MPI 16

3.4.Реализация вызовов MPI через дополнительный процесс 16

3.5.Реализация асинхронных вызовов MPI (MPI_Isend). 18

3.6.Организация общей памяти 18

3.7.Тестирование отказоустойчивости 18

4.Исследования по механизмам быстрого кэширующего захвата ресурсов 20

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

6.Исследования по эффективным алгоритмам системы планирования 20

6.1.Автоупорядочение по тяжести гранул (по глубине вложенности функций) 20

6.2.Спекулятивное распределение свободных ресурсов (кооперативный макропланировщик) 22

7.Система тестов на работоспособность и производительность 23

8.Экспериментальный испытательный стенд для распределённых приложений 24

9.Возможное практическое использование результатов 25

10.Публикации 25

11.Приложения 25

ПРИЛОЖЕНИЕ 1 26

1.HTTP-агент 41

1.1.Описание. 41

1.2.Получение CGI-скрипта 41

1.3.Настройка HTTP-сервера. 41

1.4.Использование. 42

1.5.Возможные проблемы и способ их решения 44

2.Конфигурационный файл для метакластера 45

1.Настройки системы мониторинга FLAME для использования альтернативных вариантов интерфейса для сбора информации 57

1.1.Задачи 58

1.2.Программа загрузки узлов кластера 58

1.3.Пример результата работы программы node_info. 59

1.4.Программа node_list. 59

1.5.Исходный текст программы node_list. 59

1.6.Пример результата работы программы node_list. 60

1.7.Установка и проверка работы на тестовом кластере 60

1.8.Настройка LDAP сервера 60

1.9.Настройка динамической базы данных DDB-LDAP 60

1.10.Настройка пакета NET-SNMP 60

1.11.Файл конфигурации кластера для динамической базы данных: Часть файла skif-panther.xml 61

1.12.Файл настройки SNMP: /etc/snmp/snmpd.conf 63

1.13.Файл обработки запросов SNMP:Часть файла /etc/snmp/get2 63

1.Пакет для мета-вычислений MetaMPICH/PACX 65

1.1.Общая информация о пакете 65

1.2.Инсталляция пакета 73

1.3.Изменения, внесенные в исходные тексты пакета PACX-MPI 75

1.4.Компиляция MPI-приложений с PACX 76

1.5.Запуск MPI-приложений, скомпилированных с PACX-MPI 76

1.6.Обеспечение информационной безопасности 77

1.7.Переменные окружения, используемые PACX-MPI 78

2.Схема использования PACX в составе испытательного стенда T-GRID 78

2.1.Сопряжение с MPI 78

2.2.Сопряжение с T-системой 79

Введение. Программа и параллельный алгоритм 81

Особенности функционального подхода к распараллеливанию 82

Знакомство с Т-системой: примеры программ 83

Числа Фибоначчи 83

Краткая характеристика языка Т++ 84

Возможность последовательного исполнения программ на языке Т++ 85

Рекурсивный обход дерева 86

Разработка программ на языке T++ 87

Особенности организации параллельных вычислений при помощи Т-системы 88

Программное обеспечение Т-системы и дополнительные возможности 88

Компилятор языка Т++ 89

Архитектура ядра Т-системы 89

Сервисные возможности Т-системы 91

Вместо заключения 92

Ссылки и библиография 93

Рабочие ресурсы разработчиков OpenTS: 93

.polnet.botik.ru 93



Введение

С возникновением концепции «вычислительных сетей» (computation grids) как средства организации высокопроизводительных вычислений, системы автоматического динамического распараллеливания приобретают новое значение.

В случае «традиционных» средств параллельных вычислений, таких как SMP или MPP, все процессоры обладают одинаковыми характеристиками, их время предполагается целиком, посвященным одной задаче, отказ одного вычислителя с высокой вероятностью означает отказ системы целиком. При разработке параллельных программ для таких систем чаще всего используются MPI или аналогичны средства. Программисты стараются разделить задачу на приблизительно равные части и минимизировать межпроцессорные обмены.

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

Как показывают эксперименты с построением метакластеров в сети Интернет [1], «вычислительные сети» обладают весьма ненадёжными элементами. В ходе расчёта [1], который продолжался несколько суток, количество процессоров в системе постоянно менялось.

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

Пропускная способность каналов Интернет постоянно меняется в зависимости от времени суток и многих случайных факторов.

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


Организация межпроцессорных обменов