- •Содержание
- •Глава 1. Обзор литературы и постановка задачи 8
- •1.4 Модели программирования 41
- •6.4.10 Мероприятия и средства по защите окружающей среды 103
- •Введение
- •Глава 1. Обзор литературы и постановка задачи
- •1.1 Высокопроизводительные вычисления
- •1.2 Архитектура суперкомпьютеров.
- •1.2.1 Коммуникационные среды.
- •1.2.2 Топология соединительной сети суперкомпьютеров
- •1.2.3 Обзор коммуникационных сред
- •1.3. Программное обеспечение
- •1.3.1 Классификация ос
- •1.3.2Компиляторы
- •1.3.3 Компилятор gnu Compiler Collection
- •1.3.6 Библиотеки для программирования параллельных вычислений.
- •1.3.7 Библиотеки программирования вMpi,cudAиshmem.
- •1.4 Модели программирования
- •1.4.1 Модель передачи сообщенийMpi
- •1.4.2 ТехнологияOpenMp
- •1.4.3 Технология: shmem.
- •1.5 Постановка задачи.
- •Глава 2. Разработка Алгоритма тестирования
- •2.1 Алгоритм теста латентности и коммуникационной производительности.
- •2.2. Блок схема алгоритма
- •Глава 3. Разработка программного обеспечения
- •3.1 Описание и состав суперкомпьютера «эск-е»
- •3.2 Функциональная схема коммуникационной среды.
- •3.3 Основная конфигурацияPci
- •Коммуникационная среда pci Express
- •3.4 Текст программы
- •3.4.1 Объяснение значений параметров тестового по.
- •Глава 4. Экспериментальные исследования
- •Глава 5. Организационно – экономическая часть.
- •5.1. Технико-экономическое обоснование объекта проектирования.
- •5.2. Состав конструкторской группы и их должностные оклады.
- •5.3. Перечень этапов опытно-конструкторских работ при разработке программного обеспечения.
- •5.4. Расчёт сметы затрат на окр при разработке программного обеспечения.
- •5.5. Вывод
- •Глава 6. Безопасность и экологичность проектных решений
- •6.1. Цель и решаемые задачи
- •6.2. Опасные и вредные факторы при работе с пэвм
- •6.3. Характеристика объекта исследования
- •6.4. Мероприятия по безопасности труда и сохранению работоспособности.
- •6.4.1. Обеспечение требований эргономики и технической эстетики
- •6.4.1.1. Планировка помещения и размещение оборудования
- •6.4.1.2. Эргономические решения по организации рабочего места пользователя пэвм
- •6.4.1.3. Цветовое оформление помещения
- •6.4.2. Обеспечение оптимальных параметров воздуха рабочих зон
- •6.4.2.1. Нормирование параметров микроклимата
- •6.4.2.2. Нормирование уровней вредных химических веществ
- •6.4.2.3. Нормирование уровней аэроионизации
- •6.4.3. Создание рационального освещения
- •6.4.4 Защита от шума
- •6.4.5 Обеспечение режимов труда и отдыха
- •6.4.6. Обеспечение электробезопасности
- •6.4.7. Защита от статического электричества
- •6.4.8. Обеспечение допустимых уровней электромагнитных полей
- •6.4.9 Обеспечение пожаробезопасности
- •6.4.9.1 Обеспечение безопасной эвакуации персонала
- •6.4.9.2 Средства извещения и сигнализации о пожаре.
- •6.4.9.3 Способы и средства тушения пожара
- •Пути снижения выбросов и токсичности: стимулом к сокращению объёмов предполагается заинтересованность в сокращении расхода топлива.
- •6.4.10.1 Утилизация компьютеров и оргтехники
- •6.5. Инженерные расчеты
- •6.5.1. Расчет эвакуационного выхода.
- •Заключение
1.4 Модели программирования
Традиционная архитектура ЭВМ была последовательной. Это означало, что в любой момент времени выполнялась только одна операция и только над одним операндом. Совокупность приемов программирования, структур данных, отвечающих последовательной архитектуре компьютера, называется моделью последовательного программирования. Ее основными чертами являются применение стандартных языков программирования (как правило, это ФОРТРАН-77, ФОРТРАН-90, С/С++), достаточно простая переносимость программ с одного компьютера на другой и невысокая производительность.
Появление в середине шестидесятых первого компьютера класса суперЭВМ, разработанного в фирме CDC знаменитым Сеймуром Крэем, ознаменовало рождение новой - векторной архитектуры. Начиная с этого момента суперкомпьютером принято называть высокопроизводительный векторный компьютер. Основная идея, положенная в основу новой архитектуры, заключалась в распараллеливании процесса обработки данных, когда одна и та же операция применяется одновременно к массиву (вектору) значений. В этом случае можно надеяться на определенный выигрыш в скорости вычислений. Идея параллелизма оказалась плодотворной и нашла воплощение на разных уровнях функционирования компьютера. Более подробное обсуждение аппаратной реализации параллельной обработки информации можно найти во второй главе, здесь же упомянем конвейерную обработку, многопроцессорность и т.д. [17]
Основными особенностями модели параллельного программирования являются высокая эффективность программ, применение специальных приемов программирования и, как следствие, более высокая трудоемкость программирования, проблемы с переносимостью программ.
1.4.1 Модель передачи сообщенийMpi
В модели передачи сообщений параллельная программа представляет собой множество процессов, каждый из которых имеет собственное локальное адресное пространство. Взаимодействие процессов - обмен данными и синхронизация - осуществляется посредством передачи сообщений. Обобщение и стандартизация различных библиотек передачи сообщений привели к разработке стандарта MPI (Message Passing Interface). Его широкое внедрение в последующие годы обеспечило коренной перелом в решении проблемы переносимости параллельных программ, разрабатываемых в рамках разных подходов, использующих модель передачи сообщений в качестве модели выполнения.
В числе основных достоинств MPI по сравнению с интерфейсами других коммуникационных библиотек обычно называют следующие его возможности:
Возможность использования в языках Фортран, Си, Си++;
Предоставление возможностей для совмещения обменов сообщениями и вычислений;
Предоставление режимов передачи сообщений, позволяющих избежать излишнего копирования информации для буферизации;
Широкий набор коллективных операций (например, широковещательная рассылка информации, сбор информации с разных процессоров), допускающих гораздо более эффективную реализацию, чем использование соответствующей последовательности пересылок точка-точка;
Широкий набор редукционных операций (например, суммирование расположенных на разных процессорах данных, или нахождение их максимальных или минимальных значений), не только упрощающих работу программиста, но и допускающих гораздо более эффективную реализацию, чем это может сделать прикладной программист, не имеющий информации о характеристиках коммуникационной системы;
Удобные средства именования адресатов сообщений, упрощающие разработку стандартных программ или разделение программы на функциональные блоки;
Возможность задания типа передаваемой информации, что позволяет обеспечить ее автоматическое преобразование в случае различий в представлении данных на разных узлах системы.
Однако разработчики MPI подвергаются и суровой критике за то, что интерфейс получился слишком громоздким и сложным для прикладного программиста. Интерфейс оказался сложным и для реализации, в итоге, в настоящее время практически не существует реализаций MPI, в которых в полной мере обеспечивается совмещение обменов с вычислениями.