Исследование межплатформенной переносимости прикладных программ

Автор работы: Пользователь скрыл имя, 23 Августа 2011 в 12:48, диссертация

Краткое описание

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

Содержание работы

ВВЕДЕНИЕ 4
ПОЛОЖЕНИЯ, ВЫНОСИМЫЕ НА ЗАЩИТУ 8
ГЛАВА 1. ПРОБЛЕМА МЕЖПЛАТФОРМЕННОЙ ПЕРЕНОСИМОСТИ ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 9
1.1. ПРИНЦИПЫ И ТЕХНОЛОГИЯ ОТКРЫТЫХ СИСТЕМ 9
1.1.1. ПРИНЦИПЫ ОТКРЫТЫХ СИСТЕМ 9
1.1.1.1. Определение открытой системы 9
1.1.1.2. Модульность ПП 10
1.1.1.3. Переносимость ПП 10
1.1.1.4. Понятие API 13
1.1.1.2. ЭТАЛОННАЯ МОДЕЛЬ СРЕДЫ ОТКРЫТЫХ СИСТЕМ И ЕЕ РАСШИРЕНИЯ 14
1.1.1.3. СТАНДАРТЫ POSIX 16
1.1.1.4. WINDOWS И POSIX 19
1.1.1.5. ЯЗЫКИ ПРОГРАММИРОВАНИЯ, ПРИГОДНЫЕ ДЛЯ НАПИСАНИЯ ПЕРЕНОСИМЫХ ПРИКЛАДНЫХ ПРОГРАММ 20
1.1.1.6. ТЕХНОЛОГИЯ ОТКРЫТЫХ СИСТЕМ: ОСНОВНЫЕ ЭТАПЫ 24
1.1.1.6.1. Выбор модели 26
1.1.1.6.2. Построение профилей 26
1.1.1.6.3. Составление спецификаций и закупка аппаратных и программных средств 27
1.1.1.6.4. Разработка приложений 27
1.1.1.7. ОСНОВНЫЕ ПРИНЦИПЫ ТЕСТИРОВАНИЯ И СЕРТИФИКАЦИИ ПП 27
1.2. МАЛЫЕ И КРУПНОМАСШТАБНЫЕ ЗАДАЧИ 29
1.3. ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ, КАК ПРИМЕР КРУПНОМАСШТАБНОЙ ЗАДАЧИ 32
1.3.1. ОСНОВЫ ВЫЧИСЛИТЕЛЬНОГО ЭКСПЕРИМЕНТА 32
1.3.2. МЕСТО ВЫЧИСЛИТЕЛЬНОГО ЭКСПЕРИМЕНТА В СИСТЕМЕ НАУЧНЫХ ИССЛЕДОВАНИЙ, ЕГО ПРЕИМУЩЕСТВА И НЕДОСТАТКИ 33
1.3.3. ЦИКЛ ВЫЧИСЛИТЕЛЬНОГО ЭКСПЕРИМЕНТА 34
1.3.4. ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ И ПЕРЕНОСИМОСТЬ ПП 36
1.4. КЛАССИФИКАЦИЯ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСОВ 37
1.4.1. СУПЕРКОМПЬЮТЕРЫ 37
1.4.2. КЛАССИФИКАЦИЯ ФЛИНА 38
1.4.3. КЛАССИФИКАЦИЯ ПО СПОСОБАМ ОРГАНИЗАЦИИ ПАМЯТИ 40
1.4.4. ОРГАНИЗАЦИЯ СТАНДАРТИЗОВАННОГО ДОСТУПА К СУПЕР-ЭВМ 47
1.4.5. ТЕХНОЛОГИИ GRID 49
1.4.5.1. Проблема GRID 49
1.4.5.2. Основные понятия GRID 51
1.4.5.3. Сервисы GRID 52
1.4.5.4. Архитектура GRID 54
1.5. ВЫВОДЫ ПО ГЛАВЕ 1 (ПОСТАНОВКА ЗАДАЧИ) 61
ГЛАВА 2. ПЕРЕХОД НА ОТКРЫТОЕ ПО И АНАЛИЗ ПРОБЛЕМ ПЕРЕНОСИМОСТИ ПП ПРИ РЕШЕНИИ МАЛЫХ ЗАДАЧ 63
2.1. ОТКРЫТОЕ И ЗАКРЫТОЕ ПО 63
2.1.1. ОТКРЫТОЕ И ЗАКРЫТОЕ ПО 63
2.1.2. ПО С ОТКРЫТЫМ КОДОМ (OPEN SOURCE SOFTWARE) 67
2.1.3. БИНАРНЫЕ И ТЕКСТОВЫЕ ФОРМАТЫ, ОТКРЫТЫЕ И ЗАКРЫТЫЕ 68
2.1.4. GENERAL PUBLIC LICENSE (GPL) 69
2.1.5. ПРЕИМУЩЕСТВА ОТКРЫТОГО ПО 69
2.1.6. НЕДОСТАТКИ ОТКРЫТОГО ПО (НАКЛАДНЫЕ РАСХОДЫ) 71
2.1.7. СРЕДСТВА РАЗРАБОТКИ 72
2.2. РАЗВИТИЕ ТЕНДЕНЦИЙ ПО ПЕРЕХОДУ НА ОТКРЫТОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 73
2.3. АНАЛИЗ ПРОБЛЕМ ПЕРЕНОСИМОСТИ В ЗАДАЧАХ УПРАВЛЕНИЯ ГОРОДСКИМ ХОЗЯЙСТВОМ 77
2.4. ТРЕБОВАНИЯ К ПЕРЕНОСИМЫМ ПП 87
2.4.1.ОБЩИЕ РЕКОМЕНДАЦИИ РАЗРАБОТЧИКАМ ПЕРЕНОСИМЫХ ПП 87
2.4.2. ТЕХНИЧЕСКИЕ УСЛОВИЯ НА ПЕРЕНОСИМЫЕ ПП 90
2.4.3. РАСШИРЕНИЕ НАБОРА СТАНДАРТОВ 91
2.5. ВЫВОДЫ ПО ГЛАВЕ 2 92
ГЛАВА 3. ОСОБЕННОСТИ ПРОБЛЕМ ПЕРЕНОСИМОСТИ ПРИ РЕШЕНИИ КРУПНОМАСШТАБНЫХ ЗАДАЧ 94
3.1. СИНТЕЗ МОДЕЛЕЙ ВЭ И СРЕДЫ ОТКРЫТЫХ СИСТЕМ 94
3.2. НЕОБХОДИМОСТЬ РАСПАРАЛЛЕЛИВАНИЯ ПРОГРАММ 97
3.2.1. ВЫБОР API ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ 99
3.2.2. ДОСТОИНСТВА И НЕДОСТАТКИ MPI 107
3.2.3. ИСПОЛЬЗОВАНИЕ ПАРАЛЛЕЛЬНЫХ БИБЛИОТЕК, ОТЛИЧНЫХ ОТ MPI 108
3.2.4. ОСОБЕННОСТИ РАБОТЫ НА НЕОДНОРОДНЫХ КЛАСТЕРАХ 109
3.2.5. ОСОБЕННОСТИ РАБОТЫ С ДИСКОМ 110
3.3. ТРЕБОВАНИЯ К ПП ДЛЯ РЕШЕНИЯ КРУПНОМАСШТАБНЫХ ЗАДАЧ 111
3.4. РАЗРАБОТКА И ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ ЭМУЛЯЦИИ ОБЩЕЙ ПАМЯТИ 113
3.4.1. ПЕРЕНОСИМОСТЬ ПРОГРАММ НА СУПЕРКОМПЬЮТЕР 114
3.4.2. ПРОГРАММА НА MPI 114
3.4.3. БИБЛИОТЕКИ ЭМУЛЯЦИИ ОБЩЕЙ ПАМЯТИ 116
3.4.4. ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ 117
3.4.5. РЕАЛИЗАЦИЯ БИБЛИОТЕКИ 120
3.5. ВЫВОДЫ ПО ГЛАВЕ 3 124
ГЛАВА 4. ЭКСПЕРИМЕНТАЛЬНАЯ ПРОВЕРКА ПЕРЕНОСИМОСТИ ПП (АТТЕСТАЦИОННОЕ ТЕСТИРОВАНИЕ) 125
4.1. СОЗДАНИЕ СРЕДСТВ АТТЕСТАЦИОННОГО ТЕСТИРОВАНИЯ ПП 125
4.1. МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ 125
4.1.1. Уровни тестирования 126
4.1.2. Уровни сложности элементов тестирования: 127
4.1.3. Классификация тестовых утверждений 128
4.1.4. Написание тестовых утверждений 130
4.1.2. МЕТОДИКА ТЕСТИРОВАНИЯ 140
4.1.3. АЛГОРИТМ ТЕСТИРОВАНИЯ 143
4.1.4. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ПРОВЕДЕНИЯ АВТОМАТИЧЕСКОГО ТЕСТИРОВАНИЯ ПРИКЛАДНЫХ ПРОГРАММ НА МЕЖПЛАТФОРМЕННУЮ ПЕРЕНОСИМОСТЬ 145
4.1.4.1. Общее описание функционирования программы 146
4.1.4.2. Описание логики (Алгоритм по шагам) 147
4.2. ЭКСПЕРИМЕНТАЛЬНОЕ ТЕСТИРОВАНИЕ ПП 150
4.2.1. Результаты тестирования прикладных программ 150
4.2.2. Основные направления развития работ по сертификации 157
4.2.3. “Сертификат соответствия” стандартам POSIX 159
4.3. ВЫВОДЫ ПО ГЛАВЕ 4 160
ЗАКЛЮЧЕНИЕ 161
ЛИТЕРАТУРА 163
СТАНДАРТЫ 166
WEB РЕСУРСЫ 166
ПРИЛОЖЕНИЯ 168

Содержимое работы - 1 файл

Исследование межплатформенной переносимости прикладных программ при решении крупномасштабных задач Дисертация.doc

— 1.50 Мб (Скачать файл)