
- •1 Задачи анализа;
- •2 Задачи синтеза;
- •3 Задачи идентификации.
- •Основные задачи теории кс
- •1. Задачи анализа;
- •2. Задачи синтеза;
- •3. Задачи идентификации.
- •2. Высокой интенсивностью взаимодействия и вытекающим отсюда требованием уменьшения времени ответа.
- •Функционирование кс
- •Основные задачи теории вычислительных систем
- •Общая характеристика методов теории вычислительных систем
- •3. Классификация вычислительных систем
- •Характеристики производительности и надежности кс
- •Характеристики надежности кс
- •1 Холодное резервирование. Работает только основной канал.
- •2 Нагруженный резерв. Включены оба канала (резервный канал занимается посторонними задачами). Время перехода на основную задачу меньше чем в холодном резерве.
- •Общая характеристика методов теории вычислительных систем
- •Характеристики производительности кс
- •1. Номинальная производительность ;
- •2. Комплексная производительность ;
- •3. Пакеты тестовых программ spec XX
- •Характеристики надежности кс
- •1 Холодное резервирование. Работает только основной канал.
- •2 Нагруженный резерв. Включены оба канала (резервный канал занимается посторонними задачами). Время перехода на основную задачу меньше чем в холодном резерве.
- •4) Указывается начальное состояние системы;
- •8) Находятся показатели качества вс на основе найденных вероятностей состояния системы.
- •Анализ надежности кс со сложной структурой
- •2.Расчет надежности кс
- •2. Для каждой вершины можно вычислить среднее количество попаданий вычислительного процесса в эту вершину по формуле
- •1. Разбить множество операторов на классы:
- •Модели вычислительных систем как систем массового обслуживания
- •1 Общие понятия и определения
- •Например m/m/1
- •2 Параметры систем массового обслуживания
- •Модели массового обслуживания вычислительных систем|
- •1. Представление вычислительной системы в виде стохастической сети
- •2. Потоки заявок
- •3. Длительность обслуживания заявок
- •Характеристики одноканальных смо
- •Многопроцессорные системы
- •5. Характеристики бесприоритетных дисциплин обслуживания
- •1) В порядке поступления (первой обслуживается заявка, поступившая раньше других);
- •2) В порядке, обратном порядку поступления заявок (первой обслуживается заявка, поступившая позже других);
- •3) Наугад, т. Е. Путем случайного выбора из очереди.
- •6. Характеристики дисциплины обслуживания с относительными приоритетами заявок
- •3.8. Характеристики дисциплин обслуживания со смешанными приоритетами
- •§ 3.9. Обслуживание заявок в групповом режиме
- •§ 3.10. Смешанный режим обслуживания заявок
- •§ 3.11. Диспетчирование на основе динамических приоритетов
- •§ 3.12. Оценка затрат на диспетчирование
- •1.Определяется интенсивность потока заявок I в смо Si из системы алгебраических уравнений
- •2.Вычисляются коэффициенты передач для каждой смо
- •3.Определяется среднее время обслуживания Ui заявки в смо Si :
- •6.Для моделирующей сети в целом характеристики п.5 определяются как
- •2.Расчет характеристик мультипроцессорной системы
- •1) Имеет доступ к общей памяти;
- •1.Средняя длина очереди заявок, ожидающих обслуживания в системе:
- •3. Среднее время пребывания заявок в системе :
- •Основные задачи теории кс
- •1. Задачи анализа;
- •2. Задачи синтеза;
- •3. Задачи идентификации.
- •1) С неограниченным временем пребывания заявок;
- •2) С относительными ограничениями на время пребывания заявок;
- •3) С абсолютными ограничениями на время пребывания заявок;
- •2.4. Контроллеры и сетевые комплексы ge Fanuc
- •Модели 311,313/323, 331
- •Коммуникационные возможности серии 90-30
- •2.4.3. Контроллеры VersaMax
- •2.4.4. Программное обеспечение
- •Общая характеристика протоколов и интерфейсов асу тп
- •2. Протоколы и интерфейсы нижнего уровня.
- •2. Основные технические характеристики контроллеров и программно-технических комплексов
- •Требования к корпоративной сети
- •2) Одновременное решение различных задач или частей одной задачи;
- •3) Конвейерная обработка информации.
- •1. Суть проблемы и основные понятия
- •1.1 Главные этапы распараллеливания задач
- •1.2 Сведения о вычислительных процессах
- •1.3 Распределенная обработка данных
- •1. Классификации архитектур параллельных вычислительных систем
- •1.1 Классификация Флинна
- •1. Процессоры
- •Память компьютерных систем
- •Простые коммутаторы
- •Простые коммутаторы с пространственным разделением
- •Составные коммутаторы
- •Коммутатор Клоза
- •Баньян-сети
- •Распределенные составные коммутаторы
- •Коммутация
- •Алгоритмы выбора маршрута
- •Граф межмодульных связей Convex Exemplar spp1000
- •Граф межмодульных связей мвс-100
- •3. Граф межмодульных связей мвс-1000
- •1. Построения коммуникационных сред на основе масштабируемого когерентного интерфейса sci
- •2. Коммуникационная среда myrinet
- •3. Коммуникационная среда Raceway
- •4. Коммуникационные среды на базе транспьютероподобных процессоров
- •1. Структура узла
- •2. Пакеты и свободные символы
- •3. Прием пакетов
- •4. Передача пакетов
- •5. Управление потоком
- •1. Структура адресного пространства
- •2. Регистры управления и состояния
- •3. Форматы пакетов
- •Когерентность кэш-памятей
- •1. Организация распределенной директории
- •2. Протокол когерентности
- •3. Алгоритм кэширования.
- •1 . Основные характеристики
- •1.2. Происхождение
- •1.3. Механизм когерентности
- •1. 4. Предназначение
- •1. 5. Структура коммуникационных сред на базе sci
- •1. 6. Физическая реализация
- •1. 7. Обозначение каналов
- •2. Реализация коммуникационной среды
- •2.1. На структурном уровне коммуникационная среда состоит из трех компонентов, как показано на рис. 2.1:
- •Масштабируемый когерентный интерфейс sci
- •Сетевая технология Myrinet
- •Коммуникационная среда Raceway
- •Коммуникационные среды на базе транспьютероподобных процессоров
- •1.Информационные модели
- •1.2. Мультипроцессоры
- •1.3. Мультикомпьютеры
- •Сравнительный анализ архитектур кс параллельного действия.
- •Архитектура вычислительных систем
- •Smp архитектура
- •Симметричные мультипроцессорные системы (smp)
- •Mpp архитектура
- •Массивно-параллельные системы (mpp)
- •Гибридная архитектура (numa)
- •Системы с неоднородным доступом к памяти (numa)
- •Pvp архитектура
- •Параллельные векторные системы (pvp)
- •1. Системы с конвейерной обработкой информации
- •1.2 Мультипроцессоры uma с много- ступенчатыми сетями
- •Мультипроцессоры numa
- •Мультипроцессор Sequent numa-q
- •Мультикомпьютеры с передачей сообщений
- •1. Общая характеристика кластерных систем.
- •2.Особенности построения кластерных систем.
- •Планирование работ в cow.
- •Без блокировки начала очереди (б); заполнение прямоугольника «процессоры-время» (в). Серым цветом показаны свободные процессоры
- •Общие сведения
- •Общие сведения
- •Логическая структура кластера
- •Логические функции физического узла.
- •Устройства памяти
- •Программное обеспечение
- •Элементы кластерных систем
- •1.1. Характеристики процессоров
- •Рассмотрим в начале процессор amd Opteron/Athlon 64.
- •Примеры промышленых разработок
- •Кластерные решения компании ibm
- •Диаграмма большого Linux-кластера.
- •Аппаратное обеспечение
- •Вычислительные узлы, выполняющие основные вычислительные задачи, для которых спроектирована система.
- •Программное обеспечение
- •Кластерные решения компании hp
- •Кластерные решения компании sgi
- •Производительность операций с плавающей точкой
- •Производительность памяти
- •Производительность системы ввода/вывода Linux
- •Масштабируемость технических приложений
- •Системное программное обеспечение
- •Архитектура san
- •Компоненты san
- •Примеры решений на основе san
- •San начального уровня
- •San между основным и резервным центром
- •Практические рекомендации
- •Построение san
- •Заключение
- •Принципы построения кластерных архитектур.
- •Оценки производительности параллельных систем
- •1) Имеет доступ к общей памяти;
- •2) Имеет общий доступ к устройствам ввода-вывода;
- •3) Управляется общей операционной системой, которая обеспечивает требуемое взаимодействие между процессорами и выполняемыми им программами как на аппаратном, так и на программном уровне.
- •4 Вероятность того, что в момент поступления очередной заявки все n процессоров заняты обслуживанием
- •Выбор коммутационного компонента.
- •Проблема сетевой перегрузки.
- •1. Обзор современных сетевых решении для построения кластеров.
- •1000-Мега битный вариант Ethernet
- •Организация внешней памяти
- •Эффективные кластерные решения
- •Концепция кластерных систем
- •Разделение на High Avalibility и High Performance системы
- •3. Проблематика High Performance кластеров
- •Проблематика High Availability кластерных систем
- •Смешанные архитектуры
- •6.Средства реализации High Performance кластеров
- •7.Средства распараллеливания
- •8.Средства реализации High Availability кластеров
- •9.Примеры проверенных решений
- •Архитектура san
- •Компоненты san
- •Примеры решений на основе san
- •San начального уровня
- •San между основным и резервным центром
- •Практические рекомендации
- •Построение san
- •Заключение
- •Symmetrix десять лет спустя
- •Матричная архитектура
- •Средства защиты данных
- •Ревизионизм и фон-неймановская архитектура
- •Литература
- •Связное программное обеспечение для мультикомпьютеров
- •1. Синхронная передача сообщений.
- •2. Буферная передача сообщений.
- •Планирование работ в cow
- •Средства распараллеливания
- •7.Средства распараллеливания
- •2. Кластерн ый вычислительн ый комплекс на основе интерфейса передачи сообщений
- •2.2 Программная реализация интерфейса передачи сообщений
- •2.3 Структура каталога mpich
- •2.4 «Устройства» mpich
- •2.5 Выполнение параллельной программы
- •2.6 Особенности выполнения программ на кластерах рабочих станций
- •2.7 Тестирование кластерного комплекса
- •Параллельная виртуальная машина
- •3 Кластерн ый вычислительн ый комплекс на основе пАраллельной виртуальной машины
- •3.1 Параллельная виртуальная машина
- •3.1.1 Общая характеристика
- •3.1.2 Гетерогенные вычислительные системы
- •3.1.3 Архитектура параллельной виртуальной машины
- •3.2 Настройка и запуск параллельной виртуальной машины
- •3.3 Структура каталога pvm
- •3.4 Тестирование параллельной виртуальной машины
- •На рисунке 3.2 представлена диаграмма, отображающая сравнение производительности коммуникационных библиотек mpi и pvm.
- •3.5 Сходства и различия pvm и mpi
- •4 . Кластерн ый вычислительн ый комплекса на основе программного пакета openMosix
- •4.1 Роль openMosix
- •4.2 Компоненты openMosix
- •4.2.1 Миграция процессов
- •4.2.2 Файловая система openMosix (oMfs)
- •4.3 Планирование кластера
- •4.4 Простая конфигурация
- •4.4.1 Синтаксис файла /etc/openmosix.Map
- •4.4.2 Автообнаружение
- •4. 5. Пользовательские утилиты администрирования openMosix
- •4. 6. Графические средства администрирования openMosix
- •4. 6.1 Использование openMosixView
- •4. 6.1.2 Окно конфигурации. Это окно появится после нажатия кнопки “cluster-node”.
- •4. 6.1.3 Окно advanced-execution. Если нужно запустить задания в кластере, то диалог "advanced execution" может сильно упростить эту задачу.
- •4.6.1.4 Командная строка. Можно указать дополнительные аргументы командной строки в поле ввода вверху окна. Аргументы приведены в таблице 9.2.
- •4. 6.2.2 Окно migrator. Этот диалог появляется, если кликнуть на каком-либо процессе из окна списка процессов.
- •4. 6.2.3 Управление удалёнными процессами. Этот диалог появляется при нажатии кнопки “manage procs from remote”
- •4.5.3 Использование openMosixcollector
- •4. 6.4 Использование openMosixanalyzer
- •4. 6.4. 1 Окно load-overview. Здесь отображается хронология нагрузки openMosix.
- •4. 6.4. 2 Статистическая информация об узле
- •4.5.4.3 Окно memory-overview. Здесь представляется обзор использования памяти (Memory-overview) в openMosixanalyzer.
- •4. 6.4.4 Окно openMosixhistory
- •4. 6.5 Использование openMosixmigmon
- •4.6 Список условных сокращений
- •Перечень ссылок
- •Общие сведения
- •2. Создание Windows-кластера
- •Суперкомпьютерная Программа "скиф"
- •Описание технических решений
- •Направления работ
- •Основные результаты
- •Кластер мгиу
- •Содержание
- •Понятие о кластере
- •Аппаратное обеспечение
- •Пропускная способность и латентность
- •1. Определение распределенной системы
- •2.1. Соединение пользователей с ресурсами
- •2.2. Прозрачность
- •Прозрачность в распределенных системах
- •2.3. Открытость
- •2.4. Масштабируемость
- •3.1. Мультипроцессоры
- •3.2. Гомогенные мультикомпьютерные системы
- •3.3. Гетерогенные мультикомпьютерные системы
- •4. Концепции программных решений рс
- •4.1. Распределенные операционные системы
- •4.2. Сетевые операционные системы
- •4.3. Программное обеспечение промежуточного уровня
- •5. Модель клиент-сервер рс
- •5.1. Клиенты и серверы
- •5.2. Разделение приложений по уровням
- •5.3. Варианты архитектуры клиент-сервер
- •Формы метакомпьютера
- •Настольный суперкомпьютер.
- •2. Интеллектуальный инструментальный комплекс.
- •Сетевой суперкомпьютер.
- •Проблемы создания метакомпьютера
- •Сегодняшняя архитектура метакомпьютерной среды
- •Взаимосвязь метакомпьютинга с общими проблемами развития системного по
- •5. Модель клиент-сервер рс
- •5.1. Клиенты и серверы
- •5.2. Разделение приложений по уровням
- •5.3. Варианты архитектуры клиент-сервер
- •Symmetrix десять лет спустя
- •Матричная архитектура
- •Средства защиты данных
- •Ревизионизм и фон-неймановская архитектура
- •Однородные вычислительные среды
- •Однокристальный ассоциативный процессор сам2000
- •Модели нейронных сетей
- •Модели инс
- •Оптимизационные системы.
- •Неуправляемые системы распознавания образов.
- •Системы feed forward.
- •Элементы нейрологики с позиции аппаратной реализации
- •Реализация нейронных сетей
- •Программные нейрокомпьютеры
- •Программно-аппаратные нейрокомпьютеры
- •Практическое использование инс
4 Вероятность того, что в момент поступления очередной заявки все n процессоров заняты обслуживанием
, ( 4)
МПВС с 2-х уровневой памятью
Если часть информации размещается во внешней памяти, то в процессе обслуживания заявок возникает необходимость обращения к памяти второго уровня, подключенной через каналы ввода-вывода.
Функционирование МПС в режиме разделения нагрузки с двухуровневой памятью можно представить разомкнутой сетевой моделью (рисунок 3).
Рисунок 9.3 - Сетевая модель МВС с общей памятью двух уровней
Обслуживание заявки, поступившей на вход системы, состоит из этапов счета, выполняемых процессорами, которые моделируются системой S1, и этапов обращения к памяти, моделируемой системой S2. Этап обращения к памяти следует за этапом счета с вероятностью p и с вероятностью (1-p) заявка покидает систему. Внешняя память представлена С-канальной системой массового обслуживания S2, т.е. предполагается, что любое обращение к внешней памяти может быть обслужено любым из каналов ввода-вывода. На основе использования аппарата линейных стохастических сетей могут быть найдены следующие характеристики МВС с общей памятью двух уровней:
1.Средняя длина очереди заявок, ожидающих обслуживания в системе: ( 5)
где l 1- средняя длина очереди заявок в S1; l 2 - средняя длина очереди заявок в S2; b 1 = l 1J 1 - среднее число занятых процессоров в S1; b 2 = l 2J 2 - среднее число занятых каналов в S2;
;
- интенсивности потоков, входящих в системы S1 и S2 соответственно;
- среднее время обслуживания заявки в процессоре;
J 2 - среднее время обслуживания заявки одним из каналов ввода-вывода, т.е. среднее время обмена информацией между ОП и ВП. N - число каналов в системе S1; C- число каналов в системе S2;
- вероятность того, что система S1 свободна от обслуживания заявок ;
- вероятность того, что система S2 свободна от обслуживания заявок;
2. Среднее время ожидания заявок в очереди :
. ( 6)
3. Среднее время пребывания заявок в системе :
( 7)
Для кластерных систем более корректно использовать сетевую модель с индивидуальной памятью.
Характеристики мультипроцессорных и многомашинных систем с индивидуальной памятью
В МВС с индивидуальной памятью (рис..1) каждый из процессоров Пр1, ..., ПрN обращается в основном к своему модулю памяти - модулям МП1, ..., МПN соответственно. Для обмена данными между подсистемами (Пр1 - МП1), ..., (ПрN - МПN) в процессорах предусмотрены блоки обмена БО, обеспечивающие передачу информации между общей памятью ОП и модулем памяти МПN. Доступ к ОП осуществляется через коммутатор К.
Принцип индивидуальной памяти позволяет существенно упростить обмен информацией в подсистеме "процессор - модуль памяти", вследствие чего увеличивается номинальное быстродействие процессора и уменьшаются затраты оборудования по сравнению с общей памятью. В связи с этим в таких МВС каждый из процессоров ориентируется на обслуживание заявок определенных типов, а именно тех, программы обслуживания которых размещены в памяти процессора. Такой режим работы МВС называется режимом разделения функций.
Рис. 1 Структура МВС с индивидуальной памятью
В наиболее простом случае, когда процессоры не обмениваются информацией с общей памятью (рис.1) или количество информации, передаваемой при обменах, может быть столь незначительно, что допустимо пренебречь влиянием процессов обмена на процесс обслуживания заявок. В таком случае можно считать, что процессоры функционируют независимо и работу N-процессорной системы в режиме разделения функций можно рассматривать как процесс функционирования N-одноканальных систем массового обслуживания (рис.2).
Рис.2 Модель МВС с индивидуальной памятью одного уровня
Каждая из систем массового обслуживания состоит из потока заявок с интенсивностью l i, очереди Oi и процессора Прi. Предполагая, что входные потоки пуассоновские, длительности обслуживания распределены по экспоненциальному закону и принята дисциплина обслуживания заявок FIFO, могут быть получены следующие зависимости для основных характеристик каждой из систем:
1.Среднее время ожидания заявок
,
где
i- загрузка i-ой системы, i = 1,N;
-
длительность обслуживания заявки в
i-ой
системе;
i
- трудоемкость программы, решаемой в
i-процессоре; B - быстродействие процессора.
2.Среднее время пребывания заявок
3.Среднее число заявок в очереди
МВС как целый объект обслуживает суммарный поток заявок, поступающий на вход системы с интенсивностью:
Заявка из суммарного потока с вероятностью l 1/l будет ожидать обслуживания в среднем w1 единиц времени, с вероятностью l 2/l - w2 - единиц времени. С учетом этого характеристики системы определяются следующими выражениями:
1.Среднее время ожидания заявок
2.Среднее время пребывания заявок
3.Средняя длина очереди заявок
Функционирование МВС с двухуровневой памятью в режиме разделения функций можно представить сетевой моделью (рис.4.3).
Рис.4.3. Сетевая модель МВС с индивидуальной памятью двух уровней
На вход сети поступают потоки заявок с интенсивностями
1, 2, …, N. Одноканальные системы массового обслуживания S1, S2, …, SN моделируют работу процессоров Пр1, Пр2, …, ПрN в режиме разделения функций. C-канальная система массового обслуживания моделирует работу памяти второго уровня. Обслуживание заявки, поступившей на вход системы состоит из этапов счета, выполняемых процессорами Прi за среднее время i, и этапов обращения к внешней памяти, выполняемых C-каналами ввода/вывода за среднее время N+1. Этап обращения к памяти следует за этапом счета с вероятностью P, и с вероятностью (1-P) заявка по окончанию этапа счета покидает систему. По окончании этапа обращения к внешней памяти с вероятностью Pi, i=1,N возвращается в одну из систем Si, i=1,N.
Определение характеристик рассматриваемой МВС производится с использованием аппарата экспоненциальных стохастических сетей.
Суммарная интенсивность потока на входе системы Si, i=1,N.
Интенсивность потока на входе системы SN+1
О с н о в н ы е х а р а к т е р и с т и к и д л я с и с т е м ы Si, i=1,N:
1.Среднее время ожидания заявок
2.Среднее время пребывания заявок
3.Среднее число заявок в очереди
О с н о в н ы е х а р а к т е р и с т и к и д л я с и с т е м ы SN+1:
1.Средняя длина очереди заявок
где
вероятность того, что многоканальная система SN+1 свободна от обслуживания заявок.
2.Среднее время ожидания заявок
3.Среднее время пребывания заявок
О с н о в н ы е х а р а к т е р и с т и к и в ц е л о м:
1.Среднее число заявок, ожидающих обслуживания в сети:
2.Среднее время ожидания заявок в сети:
3.Среднее время пребывания заявок в сети:
При расчетах по вышеприведенным формулам принято, что вероятности Pi = 1/i, где i=1,N.
Выбор аппаратного обеспечения кластера.
Критериями эффективности сети кластера являются:
пропускная способность канала «точка-точка»,
латентность.
экспериментальный коэффициент полноты.
потребность сети в вычислительной мощности
Для начала рассмотрим общую схему. Пусть нам необходимо построить локальную есть из вычислительных узлов (в количестве, допустим. 15 штук) и управляющей машины.
На вычислительных узлах будут выполняться параллельные программы, которые проще всего писать, исходя из равной загрузки узлов работой.
По этой причине все сервисные функции, в том числе подготовку программ и данных, лучше возложить на отдельный компьютер - управляющую машину, а не на один из узлов.
Все узлы и управляющая машина должны быть связаны между собой сетью управления, при помощи которой управляющая машина взаимодействует с узлами, а углы, при необходимости, друг с другом.
Кроме того, узды должны быть связаны между собой сетью коммуникация, посредством которой узлы обмениваются данными в процессе совместного решения единой задачи .
Управляющая машина не обязательно должна быть включена в есть коммуникаций. От последней как минимум требуется максимально возможная производительность. Ведь чем теснее связаны узлы, чем меньше ограничений накладывает сеть на интенсивность общения узлов между собой, тем проще будет программисту построить параллельный алгоритм, дающий максимальный скоростной выигрыш от параллельного выполнения.
Puс
1. Общая
структура кластера
Рабочая станция узла
Для простоты будем считать, что в этом качестве используется обычный Intel-совместимый персональный компьютер, хотя, конечно, возможны и другие варианты. Клавиатура и монитор узлу не требуются - разве что для первоначальной установки ОС . Локальный диск весьма желателен - это упрощает не только начальную загрузку, но и многие другие сервисные действия. Будем считать, что он есть. Весьма желательно также, чтобы узлы были близки по производительности, а управляющая машина совпадала с узлами по системе команд процессора.
Первое, что нам предстоит сделать с узлами. - это объединить их средой связи, способной выполнять функции сетей управления и коммуникации. Подавляющее большинство современных материнских плат имеет встроенный разъем для подключения локальной сети Fast Ethernet. Опыт показывает, что возложение всех сетевых функций на единственную физическую сеть Fast Ethernet не желательно и что следует обеспечить возможность подключения хотя бы одного дополнительного сетевого адаптера
В целом рабочая станция узла как таковая - наиболее беспроблемная часть проекта кластерной машины, чего нельзя сказать о сетевом компоненте, к рассмотрению которого мы и переходим,
Коммуникационная среда - баланс стоимости и
производительности
Разброс цен и производительностей коммуникационного оборудовании. применяемого в современных кластерах, значительно превосходит один десятичный порядок. Поэтому будет желательно построить модель стоимости-производительности.
Из чего складывается эта самая производительность. Для этого построим очень простую грубую, но во многих отношениях полезную модель коммуникационной среды кластера
Базовое понятие нашей модели - обмен «точка-точка» между двумя произвольными углами: например, узел 7 посылает узлу 9 сообщение длиной 100 байт, а узел 9 его принимает. Прежде всего, примем гипотезу симметрии обменов «точка-точка»: будем считать, что с точки зрения производительности обмены между любыми двумя узлами равноценны. В отношении современных технологий локальных сетей, применяемых при построении кластеров, наше допущение довольно реалистично, поскольку все они строятся либо на основе центрального коммутатора. либо (реже) на основе общей шины. Неоднородностью внутренней структуры коммутатора или каскада из небольшого числа коммутаторов можно с некоторой степенью точности пренебречь.
Производительность
обмена «точка-точка» зависит от того,
является ли этот
обмен единственным в сети или одновременно
с
ним
выполняются другие обмены.
Не только обмены с одними и теми же
участниками (например, две одновременных
посылки из узлов 3 н 5 в узел 11). но и обмены
между разными парами
узлов (3-й посылает 5-му, а в это же время
9-й посылает 8-му) могут «мешать»
друг другу.
Наконец- при выполнении обмена (приема или передачи сообщения) узлом процесс разделяется на два элементарных акта; запуск обмена и проверка завершения.
В то время, когда обмен запущен, но еще не завершился, будет вправе выполнять некоторые расчеты.
Вычислительная производительность узла на фоне выполняющегося обмена может быть ниже, чем обычно, поскольку идущий асинхронно обмен потребляет ресурсы узла нагружает шину памяти, отвлекает процессор прерываниями .
Конечно, модель коммуникационной среды, построенная с учетом только этих соображений, далека от полноты и точности, но для целей формулирования критериев эффективности мы этими соображениями ограничимся.
Критерии эффективности коммуникационной среды. Производительность, латентность и цена обмена
Производительностью канала «точка-точка» между узлами А и В будем называть количество данных, передаваемых по каналу в единицу времени в среднем за некоторый большой промежуток времени, скажем, за минуту.
Производительность канала можно представить себе как среднюю скорость передачи данных Очевидно, производительность канала сильно зависит от того, какой длины сообщения используются при передаче данных, то есть от того, как часто канал «останавливается». чтобы потом снова «разогнаться».
Пусть узел А передает yзлу В сообщение длиной X байт, и при этом никаких других обменов в сети не происходит .
Время T, затрачиваемое на такую передачу, довольно точно оценивается формулой:
T=S*X+ L , где L не зависит от X
В этой формуле, очевидно. Т есть пропускная способность канала «точка-точка» на пустой сети или мгновенная скорость передачи данных. S измеряется в (мегабайтах а секунду)
Величина L. в свою очередь, представляет собой время запуска обмена, не зависящее от длины сообщения, и измеряется в микросекундах. На профессиональном жаргоне принято называть эту величину латентностью.
Иногда удобно оперировать латентостью, приведенной к скорости. иди ценой обмена, которую мы обозначим как Р
P=L*S.
Эта величина измеряется в байтах и имеет несколько полезных «физических» интерпретаций Прежде всего, цена обмена - это число байт, которое канал «точка-точка» мог бы передать за время своего запуска, если бы «умел» запускаться мгновенно Иными словами, за счет «инертности» канала к каждому передаваемому им сообщению «как бы добавляется», с точки зрения скорости передачи Р байт.
Таким образом, производительность канала зависит от длин сообщении, используемых при передаче данных.
Если X много больше Р, то есть длина сообщении много больше цены обмена, производительность близка к пропускной способности. Напротив,
Если X много меньше Р. производительность практически полностью определяется латентностью, а не пропускной способностью.
Наконец, при X равном Р производительность ровна в точности половине пропускной способности канала. Тем самым, иена обмена - это такая длина сообщения, при использовании которой производительность канала равна половине его пропускной способности.
В итоге, мы сформулировали два независимых критерия эффективности; пропускную способность каната «точка - точка» на пустой сети - латентность и один производный критерий - цену обмена. Очевидно, сеть тем лучше, чем выше протскная способность, и чем ниже латентность.
Так. в SMP-системе (машине с общей, симметрично адресуемой памятью) пропускная способность бесконечна, а латентность теоретически равна нулю.
Полнота сети
Полнота сети есть мера того, насколько несколько одновременно происходящих обменов («мешают» друг другу. Простейшее определение полноты сети это понятие бисекционной полноты.
Сеть называется бисекционно полной, если любые обмены между разными парами узлов, происходящие одновременно и в любом количестве, совсем не мешают друг другу.
Или.
что то же самое, при любом
разделении сети пополам (бисскиии)
пропускная
способность потока данных из одной
половины в другую есть сумма пропускных
способностей независимых каналов.
ведущих из одной половины сети в другую
|. Типичный пример бисекционно
неполной сети - сеть на базе двух
однородныч коммутаторов. объединенных
между собой единственной линией.
Рис 2.2. Бисекционно неполная сеть
Следует отмстить, что при практической оценке пропускной способности реальной сети в режиме интенсивных перекрестных обменов модель бисекционной полноты недостаточна.
Если сеть построена на базе центрального коммутатора (а так бывает чаще всего), то реальное время выполнения серии одновременных обменов, некоторые из которых пересекаются по участвующим процессорам, зависит от особенностей внутренней реализации коммутатора.
Достаточно типична ситуация, когда два коммутатора разных моделей, каждый из которых реализует попарно независимые обмены без потери быстродействия, сильно отличаются по времени выполнения одной и той же тестовой серии частично пересекающихся обменов.
Информацию о внутренней логике поведения коммутатора, по которой можно было бы предсказать его скоростные характеристики в этом режиме, добыть обычно не удается: производители ее не сообщают. При этом в реальных задачах почти всегда имеет место именно такой режим, когда одни и те же процессоры участвуют одновременно в нескольких разных обменах.
Поскольку достоверной информации о внутренней логике коммутатора у нас нет практически нецелесообразно строить на эту тему какие-то сложные формализованные модели, основанные на выдуманных допущениях.
При необходимости оценить качество коммутатора или сравнить несколько коммутаторов между собой разумно воспользоваться каким-либо простым эталонным тестом. Такой тест должен циклически много раз подряд осуществлять обмены всех узлов со всеми сообщениями фиксированной длины X, причем X должно быть заметно больше цены обмена
Все обмены на одном узле должны запускаться одновременно, чтобы исключить их зависимость друг от друга по порядку выполнения. Если среднее время выполнения витка такого теста равно Т, то легко подсчитать суммарный объем переданных за это время одним узлом данных D:
D=X(N-1)
где N - число узлов кластера. Если бы сеть была идеальна, то есть никакой обмен не мешал бы никакому другому, этот объем данных мог бы быть передан из узла за врем Ti
Ti=D/S=(X(N-1))/S
Считая канал, связывающий узел с сетью, дуплексным, то есть способным одновременно с передачей принимать данные с тон же скоростью, и помня, что узлы работают одновременно, видим, что T, представляет собой теоретически идеальное время срабатывания витка нашего теста. В действительности, тест будет выполнять виток за экспериментально измеренное время T очевидно, больше, чем T. Поделив одно на другое, получим экспериментальный коэфициициент полноты Fi
Fi=T/Ti
Вне всякого сомнения, приведенное здесь определение экспериментального коэффициента полноты нельзя назвать определением в математическом смысле этого слова. Мы сделали слишком много не формализованных допущений. Конечно, значение коэффициента будет при прочих равных условиях зависеть и от длины сообщения X, и от особенностей тестовой программы.
Однако приведенная здесь процедура экспериментальной оценки полноты сети обладает одним несомненным достоинством: она позволяет на практике измерить буквально, на сколько процентов наша сеть является идеальной с точки зрения се полноты. Опыт показывает. что для сравнения между собой различных сетевых коммутаторов такой способ измерения весьма полезен. Конечно, если полученные на разных коммутаторах значения F,. отличаются на четверть, это мало чем говорит, но на практике не редкостью являются отличия в несколько раз.
Потребность сети в вычислительной мощности
Пусть некоторое вычисление - например, перемножение двух матриц - занимает время Tm. Выполним то же самое вычисление на фоне запущенного обмена время завершения которого заведомо превосходит Tm . Теперь это же вычисление займет время Tm. Коэффициент замедления счета на фоне обмена С вычисляется по формуле:
С=Tm /Tc
Отмстим, что для «более или менее разумной» сети С должно мало отличаться от единицы, то есть не должна заметно потреблять вычислительную мощность узла.
В итоге мы сформулировали четыре независимых критерия эффективности сети, важных с точки зрения ее практического использования. Таковыми являются:
пропускная способность канала «точка-точка»,
латентность.
экспериментальный коэффициент полноты.
потребность сети в вычислительной мощности,