- •Содержание
- •Глава 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. Расчет эвакуационного выхода.
- •Заключение
2.1 Алгоритм теста латентности и коммуникационной производительности.
Назначение теста TRANSFER состоит в том, чтобы измерять пиковые характеристики обмена данными между двумя узлами - латентность и пропускную способность.
Предположим, что на двух процессорах (узлах) вычислительной системы работают два процесса, между которыми с помощью сети (другой коммуникационной среды) пересылаются сообщения. В передаче информации, помимо аппаратных устройств, участвует и программное обеспечение, например протокольный (встроенный в ОС) и реализация shmem. Какими характеристиками определяется эффективность передачи информации между процессами параллельного приложения?
Основными характеристиками быстродействия сети являются латентность (latency) и пропускная способность (bandwidth).
Под пропускной способностью R сети будем понимать количество информации, передаваемой между узлами сети в единицу времени (байт в секунду). Очевидно, что реальная пропускная способность снижается программным обеспечением за счет передачи разного рода служебной информации.
Латентностью (задержкой) называется время, затрачиваемое программным обеспечением и устройствами сети на подготовку к передаче информации по данному каналу. Полная латентность складывается из программной и аппаратной составляющих.
Различают следующие виды пропускной способности сети:
пропускная способность однонаправленных пересылок ("точка-точка", uni-directional bandwidth), равная максимальной скорости, с которой процесс на одном узле может передавать данные другому процессу на другом узле.
пропускная способность двунаправленных пересылок (bi-directional bandwidth), равная максимальной скорости, с которой два процесса могут одновременно обмениваться данными по сети.
Значения пропускной способности будем выражать в мегабайтах в секунду (MB/sec), значения латентности - в микросекундах (usec = 10-6 sec).
Время T(L), необходимое на передачу сообщения длины L, можно определить следующим образом: T(L)=s+L/R, где s - латентность, а R - пропускная способность.
Как связаны эффективность пересылок и эффективность параллельных программ?
Для приложений с тонкой параллельной структурой (fine-grained parallelism), какими, как правило, являются вычислительные программы, крайне важны малые величины латентности; тогда как для приложений, использующих большие объемы пересылок (а это, как правило, коммерческие приложения БД), более важно максимальное увеличение пропускной способности.
Методика измерения пропускной способности
Для измерения пропускной способности "точка-точка" используется следующая методика. Процесс с номером 0 посылает процессу с номером 1 сообщение длины L байт. Процесс 1, приняв сообщение от процесса 0, посылает ему ответное сообщение той же длины. Используются блокирующие (blocking) вызовы shmem (shmem _Send, shmem _Recv). Эти действия повторяются N раз с целью минимизировать погрешность за счет усреднения. Процесс 0 измеряет время T, затраченное на все эти обмены. Пропускная способность R определяется по формуле R=2NL/T.
Пропускная способность двунаправленных обменов определяется по той же формуле. В этом случае используются неблокирующие (non-blocking) вызовы shmem (shmem _Isend, shmem _Irecv). При этом производится измерение времени, затраченного процессом 0 на передачу сообщения процессу 1 и прием ответа от него, при условии, что процессы начинают передачу информации одновременно после точки синхронизации.
Латентность измеряется как время, необходимое на передачу сигнала, или сообщения нулевой длины. При этом, для снижения влияния погрешности и низкого разрешения системного таймера, важно повторить операцию посылки сигнала и получения ответа большое число N раз. Таким образом, если время на N итераций пересылки сообщений нулевой длины туда и обратно составило T сек., то латентность измеряется как s=T/(2N).
Тест реализован в виде нескольких файлов на языке Си. Основной модуль (оболочка теста) содержится в файле test_shell.c, необходимые определения и прототипы функций находятся в заголовочном файле transfer.h. а в файлах transf1.c,transf2.c, ... transf5.c содержатся тестовые процедуры с именем transfer_test_operation(), которые соответствуют различным способам организации обменов между двумя процессорами. Например, transf1.c содержит процедуру однонаправленных обменов с помощью блокирующих вызовов shmem _Send/ shmem _Recv, transf2.c - процедуру двунаправленных обменов с использованием shmem_Sendrecv, transf3.c - процедуру двунаправленных обменов с использованием неблокирующих вызовов shmem _Isend/ shmem _Irecv.
Перед измерением производительности в каждом случае производится однократный запуск тестовой процедуры для проверки корректности пересылок.
Правило для сборки теста с помощью утилиты make описано в файле Makefile. После успешной сборки создаются исполняемые файлы transf1, transf2, ... transf5.
Исполняемые файлы можно запускать как на 2-х, так и на большем количестве процессоров, в этом случае будет производиться последовательное тестирование производительности обменов между головным и всеми остальными процессорами.