Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Сидоров Евгений Александрович

Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения
<
Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения
>

Данный автореферат диссертации должен поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - 240 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Сидоров Евгений Александрович. Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения : Дис. ... канд. техн. наук : 05.13.05 : Москва, 2003 147 c. РГБ ОД, 61:04-5/158-8

Содержание к диссертации

Введение

1. Исследование и выбор схемы построения коммуникационной среды для создания параллельных ЭВМ индустриального применения 17

1.1. Анализ области применения 17

1.2. Требования, предъявляемые к коммуникационным средам параллельных ЭВМ индустриального применения 18

1.3. Коммуникационные среды и архитектуры параллельных ЭВМ 20

1.3.1. Классификация коммуникационных сред 20

1.3.2. Основные типы архитектур параллельных ЭВМ 22

1.3.2.1. Симметричные мультипроцессорные системы 22

1.3.2.2. Системы с неоднородным доступом к памяти 23

1.3.2.3. Системы с массовым параллелизмом 24

1.3.2.4. Кластерные системы 27

1.3.2.5. Неоднородные системы 27

1.4. Выбор схемы построения коммуникационной среды, удовлетворяющей поставленным требованиям 28

1.4.1. Промышленные сети класса FieldBus 29

1.4.2. Высокопроизводительные коммуникационные среды масштаба вычислительной системы для создания параллельных ЭВМ научного и офисного применения 30

1.4.3. Высокопроизводительные коммуникационные среды масштаба вычислительной системы для создания параллельных ЭВМ индустриального применения зарубежных производителей 35

1.4.4. Двухслойная схема построения коммуникационной среды для создания параллельных ЭВМ индустриального применения 39

Выводы 42

2. Разработка методов и средств, используемых при построении верхнего слоя коммуникационной среды параллельной ЭВМ индустриального применения 44

2.1. Реализация индустриального Ethernet/Fast Ethernet на базе контроллера коммутатора/адаптера сетей Ethernet/Fast Ethernet 44

2.2. Разработка блоков контроллера коммутатора, повышающих эффективность его использования для построения коммуникационных сред параллельных ЭВМ кластерного типа 46

2.2.1. Организация управления коммутацией кадров в коммутаторе 46

2.2.1.1. Методы построения адресной таблицы 46

2.2.1.2. Методы организации транковых соединений 55

2.2.2. Масштабирование коммутаторов 58

2.3. Структура разработанного контроллера коммутатора Ethernet/Fast Ethernet 62

Выводы 67

3. Исследование и разработка методов построения нижнего высокопроизводительного слоя коммуникационной среды для создания параллельных ЭВМ индустриального применения 69

3.1. Исследование методов организации высокопроизводительных коммуникационных протоколов 69

3.1.1. Многоуровневая организация коммуникационных протоколов 69

3.1.2. Специализированные высокопроизводительные коммуникационные интерфейсы 71

3.1.2.1. Виртуальный интерфейс VI 73

3.1.2.2. Коммуникационная библиотека Myricom GM 76

3.1.2.3. Коммуникационная библиотека Quadrics QNA API 77

3.2. Разработка методов и средств построения высокопроизводительного коммуникационного интерфейса 79

3.2.1. Формулировка базовых принципов построения интерфейса 79

3.2.2. Архитектура и функционирование интерфейса 81

3.2.3. Разработка адаптера высокопроизводительной коммуникационной среды 89

3.2.3.1. Обобщенная функциональная модель адаптера 89

3.2.3.2. Структура адаптера 91

3.2.3.3. Схема функционирования разработанного адаптера в вычислительной системе 97

Выводы 104

4. Разработка методов построения канального уровня высокопроизводительного слоя коммуникационной среды для создания параллельных ЭВМ индустриального применения 106

4.1. Основные характеристики разработанного протокола 106

4.2. Разработка метода доступа к среде с кольцевой топологией 108

4.2.1. Алгоритм работы многомаркерного метода доступа 108

4.2.2. Методика оценки эффективности использования среды 112

4.2.3. Метод создания отказоустойчивых колец 119

4.2.4. Структура контроллера, реализующего разработанный протокол .121

4.3. Реализация подуровня коммутируемых соединений 122

Выводы 124

5. Использование разработанных средств построения коммуникационных сред 126

5.1. Проектирование систем на базе разработанных средств построения коммуникационных сред 126

5.2. Варианты построения систем на базе разработанного контроллера коммутатора Ethernet/Fast Ethernet 129

5.3. Специализированная распределенная вычислительная система на устройствах с перенастраиваемой архитектурой 133

Выводы 135

Заключение 137

Список литературы

Введение к работе

Усложнение технологий производства, стремление повысить интеллектуальность АСУ приводят к задачам построения и совершенствования высокопроизводительных ЭВМ, предназначенных для функционирования в условиях индустриальных систем и систем специального назначения.

Один из основных способов повышения производительности вычислительной системы - это увеличение количества вычислительных устройств, т.е. построение параллельной ЭВМ. При построении высокопроизводительного параллельного компьютера ключевыми являются два вопроса: создание мощного базового процессорного узла и создание эффективной подсистемы коммуникаций, связывающей базовые узлы друг с другом - коммуникационной среды масштаба вычислительной системы. Именно поэтому вопрос создания такой среды стал одним из ведущих направлений исследований в США в рамках Стратегической ускоренной компьютерной инициативы ASCI Министерства энергетики США, под эгидой которой созданы на сегодняшний день самые мощные в мире суперЭВМ. Данное направление программы ASCI получило название PathForward и привело к созданию наиболее мощной современной коммуникационной среды масштаба вычислительной системы QsNet. Ряд подобных работ различных компаний и альянсов вылился в создание таких стандартов и спецификаций как Virtual Interface [1, 2], InfiniBand [3, 4], SCI[10], Myrinet [5, 6] и др.

Коммуникационная среда масштаба вычислительной системы служит для создания на базе независимых компонент - вычислительных модулей, устройств ввода/вывода, периферийных устройств и др. - единой распределенной вычислительной системы, параллельной ЭВМ. В англоязычной литературе для таких коммуникационных сред введен термин SAN - System Area Network. Этот термин вводится, чтобы отличить такие среды от сред для LAN) [7] - Local Area Networks - локальных вычислительных сетей (ЛВС). Особенность SAN, которая отличает ее от ЛВС - это направленность на организацию эффективных обменов информацией между процессами,

выполняющимися одновременно на вычислительных узлах системы. В то время как задача ЛВС — это организация обмена информацией между машинами сети.

В России подобные исследования развиты мало. Отечественных сред такого типа не существует. Для создания высокопроизводительных параллельных ЭВМ общего применения российские разработчики пока вынуждены использовать коммуникационное оборудование зарубежных производителей, главным образом, коммуникационных сред типа Myrinet и SCI на базе устройств и программного обеспечения соответственно компаний Myricom и Dolphinics Interconnect Solutions. Высокопроизводительное оборудование коммуникационных сред, удовлетворяющее требованиям условий индустриального и специального применения, для российского потребителя является коммерчески недоступным.

Данная работа посвящена решению актуальной научно-технической задачи разработки устройств и средств построения высокопроизводительной коммуникационной среды для создания параллельных многопроцессорных вычислительных систем индустриального и специального применения.

Работа имеет существенное значение для повышения производительности параллельных ЭВМ, предназначенных для контроля и автоматического управления объектами индустриального и специального применения. На важность указывает большое количество публикаций по теме в отечественной и зарубежной литературе, а также большое количество проводимых конференций и семинаров, посвященных данным вопросам, и большая практическая заинтересованность в создании таких систем.

Представленная работа связана с научными планами отдела разработки высокопроизводительных систем НИИ Системных Исследований РАН по созданию современных высокопроизводительных параллельных ЭВМ, а также по созданию и развитию коммуникационных устройств и вычислительных сетей.

Цель работы (исследования)

Цель диссертации заключается в научном исследовании, направленном на развитие теории и практики построения высокопроизводительных коммуникационных сред параллельных ЭВМ индустриального применения, а также на исследование и разработку схемотехнических и алгоритмических методов построения высокопроизводительных устройств коммуникационной среды для обеспечения взаимодействия процессов, выполняющихся параллельно на различных вычислительных модулях высокопроизводительной параллельной ЭВМ индустриального применения, обеспечивающих скорости обмена до 1 Гбит/с и время задержки от 5 мкс.

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

Состояние вопроса определяет необходимость:

провести исследование коммуникационных протоколов, стандартов и методов;

выполнить анализ требований, обуславливаемых областью применения;

исследовать структурно-алгоритмические решения;

на основе анализа протоколов, алгоритмов и требований области применения определить общие подходы и методики построения коммуникационной среды для создания параллельных ЭВМ индустриального применения;

определить методы построения высокопроизводительных устройств различных уровней коммуникационной среды для создания параллельных ЭВМ индустриального применения.

В соответствии с этим были определены следующие основные задачи:

анализ требований, предъявляемых к коммуникационным средам ' высокопроизводительных параллельных ЭВМ индустриального применения;

анализ методов, алгоритмов и подходов, используемых для создания коммуникационных сред высокопроизводительных параллельных ЭВМ;

выбор схем построения коммуникационной среды для создания высокопроизводительной параллельной ЭВМ индустриального применения;

разработка структур и схемотехники контроллера коммутатора/адаптера сетей типа Fast Ethernet для создания параллельных ЭВМ индустриального применения кластерного типа;

исследование и разработка высокопроизводительного коммуникационного интерфейса для построения параллельных ЭВМ индустриального применения с массовым параллелизмом;

разработка структур и схемотехники адаптера коммуникационной среды, реализующего функции доступа к коммуникационной среде со стороны процессов, выполняющихся на вычислительном модуле, со скоростями обмена данными до 1 Гбит/с и временем задержки на межпроцессорные взаимодействия от 5 мкс;

разработка методов и средств доступа к высокопроизводительной коммуникационной среде с кольцевой топологией, позволяющих повысить отказоустойчивость и эффективность использования среды при большом количестве одновременных запросов на передачу данных по среде.

Методы исследования

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

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

Программные модели алгоритмов разрабатывались на языках высокого уровня C/C++ и на языке поведенческого моделирования архитектур Verilog. Для программного моделирования архитектуры устройств использовались системы Verilog-XL фирмы Cadence и ModelSim фирмы Mentor Graphics.

Для создания макетных образцов с реальными задержками и аппаратного моделирования использовались перепрограммируемые микросхемы типа FPGA фирмы Altera, и системы проектирования Max+PlusII и QuartusII фирмы Altera.

Научная новизна диссертации

  1. Предложена схема и обоснованы принципы двухслойного построения коммуникационной среды для создания высокопроизводительной параллельной ЭВМ индустриального применения. Двухслойная схема коммуникационной среды позволяет проводить логическое и физическое разбиение высокопроизводительной параллельной ЭВМ на слабосвязанные или независимые сегменты в соответствии со спецификой задач для ЭВМ индустриального применения.

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

  1. Разработана структура адаптера коммуникационной среды, реализующего аппаратно и микропрограммно основную часть функции разработанного высокопроизводительного коммуникационного интерфейса. Адаптер с разработанной структурой позволяет процессам, выполняющимся на различных вычислительных узлах параллельной ЭВМ, осуществлять обмен данными со скоростями до 1 Гбит/с и временами задержек на межпроцессорные взаимодействия от 5 мкс, что сравнимо по характеристикам с зарубежными коммерческими аналогами неиндустриального применения, при возможности одновременной обработки до 10 коммуникационных операций, что в 2,5 раза превосходит рассмотренный зарубежный аналог. Выигрыш достигается за счет того, что обработка базовых коммуникационных операций реализуется не микропрограммно на процессорном ядре адаптера, а аппаратно в конвейере на специально разработанной потоковой машине адаптера.

  2. Разработан метод доступа к среде с кольцевой топологией, позволяющий повысить эффективность использования среды в 11 раз по сравнению с текущими применяемыми алгоритмами. Повышение эффективности достигается за счет того, что в кольце передается не право на захват кольца, а при помощи маркеров станций в кольце передается право на захват конкретной целевой станции, что позволяет различным станциям в кольце вести одновременно независимые передачи пакетов.

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

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

Разработана структура и схемотехника масштабируемого управляемого контроллера коммутатора/адаптера Ethernet/Fast Ethernet, имеющая в своем составе контроллер интерфейса среды с кольцевой топологией и контроллер интерфейса шины PCI, что позволяет сократить количество разрабатываемых и используемых микросхем в 2...3 раза по сравнению с зарубежными аналогами для построения управляемых масштабируемых коммутаторов Ethernet/Fast Ethernet с количеством портов до 105 и многопортовых адаптеров с количеством портов до 8.

Предложена трехуровневая структура и схемотехника адресной таблицы сетевого коммутатора, позволяющая проводить поиск адреса в 1,5...2 раза быстрее, и иметь минимальное гарантированное количество адресов в 30 раз большее, чем у рассмотренных зарубежных аналогов. Первый уровень реализован с использованием хэш-функции на базе циклического кода CRC-10. Второй уровень введен для борьбы с коллизиями хэш-функции первого уровня и использует другую хэш-функцию циклического кода CRC-9. Третий уровень введен для борьбы с коллизиями хэш-функции второго уровня и использует алгоритм упорядоченного заполнения и бинарного поиска.

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

непредсказуемости порядка следования кадров, присущий методу случайного распределения трафика.

Основные положения, выносимые на защиту

  1. Двухслойная схема построения коммуникационной среды для создания высокопроизводительной параллельной ЭВМ индустриального применения.

  2. Архитектура и средства построения высокопроизводительного коммуникационного интерфейса, предназначенного для создания коммуникационных сред параллельных ЭВМ индустриального применения.

  3. Структура и схемотехнические решения узлов адаптера коммуникационной среды, реализующего аппаратно и микропрограммно основную часть функции разработанного высокопроизводительного коммуникационного интерфейса.

  4. Многомаркерный метод доступа к среде с кольцевой топологией, позволяющий повысить эффективность использования среды в 11 раз по сравнению с текущими применяемыми алгоритмами.

  5. Структура и схемотехнические решения узлов масштабируемого управляемого контроллера коммутатора/адаптера Ethernet/Fast Ethernet, имеющего в своем составе разработанный контроллер среды с кольцевой топологией и контроллер интерфейса шины PCI, что позволяет сократить количество разрабатываемых и используемых микросхем в 2...3 раза по сравнению с зарубежными аналогами для построения управляемых масштабируемых коммутаторов Ethernet/Fast Ethernet с количеством портов до 105 и многопортовых адаптеров с количеством портов до 8.

Практическая ценность диссертации

1. На основе структуры и схемотехники управляемого масштабируемого контроллера коммутатора/адаптера сетей типа Ethernet/Fast Ethernet разработана микросхема, способная работать в жестких условиях окружающей среды, присущих системам индустриального применения. Данная микросхема

используется в ряде ОКР по созданию автоматизированных систем управления и кластерных систем индустриального и специального применения.

  1. На основе структуры и схемотехники адаптера коммуникационной среды планируется разработка микросхемы для использования в жестких условиях окружающей среды для использования в ОКР по созданию высокопроизводительных параллельных ЭВМ индустриального и специального применения.

  2. Разработанная архитектура высокопроизводительного коммуникационного интерфейса рекомендована для использования в ряде ОКР по созданию систем с массовым параллелизмом и суперЭВМ.

  3. Предложенный метод доступа к среде с кольцевой топологией используется для создания высокоскоростных каналов, посредством которых сетевые коммутаторы могут объединяться друг с другом в масштабируемые стековые коммутаторы.

Апробация

Основные положения диссертации докладывались и обсуждались на научно-технических конференциях и семинарах:

Научно-техническая сессия «Электроника, Микро- и Наноэлектроника», 2000.

На VI международной конференции PRIP'2001 - Pattern Recognition and Information Processing, Минск, Беларусь, 2001г.

На 6 международной конференции РаСТ 2001. Parallel Computing Technologies. Novosibirsk, Russia, 2001г.

Научные сессии МИФИ-2002 и МИФИ-2003.

Научно-техническая сессия «Электроника, Микро- и Наноэлектроника», 2002.

На семинарах НИИСИ РАН, МИФИ, межведомственных совещаниях и семинарах.

Публикации

По теме диссертации опубликовано 10 работ. Структура и объем работы.

Диссертация состоит из введения, пяти глав, заключения и списка литературы.

В первой главе приведена классификация основных типов коммуникационных сред, представлен обзор архитектур параллельных ЭВМ и рассмотрена специфика коммуникационных сред для построения параллельных ЭВМ индустриального применения.

Предложена двухслойная схема построения высокопроизводительной коммуникационной среды для создания параллельных ЭВМ индустриального применения.

Во второй главе рассмотрен верхний слой коммуникационной среды, служащий для создания параллельных ЭВМ кластерного типа, предложены методы повышения производительности операций коммутации кадров и масштабирования коммутаторов, приведена структура и характеристики разработанного контроллера коммутатора Ethernet.

В третьей главе рассматривается организация нижнего, высокопроизводительного, слоя коммуникационной среды для создания параллельных ЭВМ индустриального применения. Нижний слой имеет архитектуру типа МРР и строится на базе высокопроизводительного коммуникационного интерфейса КоИн и специализированных высокопроизводительных коммуникационных адаптерах.

Предложена архитектура коммуникационного интерфейса, позволяющая создавать отечественные параллельные ЭВМ индустриального применения с массовым параллелизмом. Разработана структура высокопроизводительного адаптера коммуникационной среды.

В четвертой главе приведена реализация канального уровня высокопроизводительного слоя коммуникационной среды для создания параллельных ЭВМ индустриального применения.

Разработан метод многомаркерного доступа к среде с кольцевой топологией, позволяющий на порядок повысить эффективность использования среды по сравнению с другими методами.

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

В пятой главе рассмотрены вопросы практического использования
Э разработанных средств для построения коммуникационных устройств и

распределенных вычислительных систем.

В заключении формулируются основные результаты работы, полученные автором на основе исследований, проведенных в диссертации. Делается основной вывод по результатам диссертационной работы.

Требования, предъявляемые к коммуникационным средам параллельных ЭВМ индустриального применения

Основное назначение параллельных ЭВМ индустриального и специального применения — осуществление контроля и автоматического управления объектами индустриального и специального применения. Большинство характерных задач при этом укладывается в схему, где поток данных протекает по направлению сенсор — предобработка - центральное вычислительное/решающее устройство - управление исполнительным устройством - исполнительное устройство, а также потоки на периферии между независимыми сенсорами и управляющими устройствами (см. рис. 1.1). При этом потоки данных внутри отдельных функциональных блоков на порядок интенсивнее, чем потоки данных между блоками, так как внутри блоков распределено решается сильносвязанная задача, тогда как блоки обмениваются друг с другом только промежуточными результатами, служащими в качестве входных или начальных данных для соседних блоков.

Для систем индустриального и специального применения распространены задачи двух типов (см. рис. 1.2): конвейерных вычислений и моделирование процессов переноса. Логическая архитектура таких задач соответствует физической топологии цепочки или кольца, поэтому целесообразно в качестве базовой топологии среды выбрать кольцевую топологию. При этом вычислительные модули в ЭВМ могут объединяться друг с другом в кольцо непосредственно без использования дополнительного оборудования типа коммутаторов или концентраторов. Такой подход позволяет сократить количество разрабатываемых и используемых устройств для построения коммуникационных сред параллельных ЭВМ индустриального применения при небольшом (1-15) количестве вычислительных узлов.

Требования, предъявляемые к коммуникационным средам параллельных ЭВМ индустриального применения

К коммуникационным средам масштаба вычислительной системы для создания параллельных ЭВМ индустриального применения предъявляются те же требования по производительностям и функциональности, что и к средам ЭВМ научного и коммерческого применения [10]: малые времена задержек на межпроцессные обмены (2-1000мкс); высокая пропускная способность (100Мбит/с-10Гбит/с на каждое соединение); возможность совмещения по времени передач данных через среду с вычислениями в модулях; базирование на стандартах; надежные протоколы с управлением потоком и коррекцией ошибок; поддержка различных топологий вычислительных систем; масштабируемость, конфигурируемость и технологичность исполнения. В отличие от систем научного и коммерческого применения, к системам индустриального и специального применения предъявляются повышенные требования к надежности и условиям функционирования. Увеличение надежности может достигаться, в частности, за счет исполнения элементов системы по технологиям, позволяющим функционировать в условиях расширенного температурного диапазона, повышенной вибрации, ионизирующих излучений и т.д. Также увеличение надежности достигается за счет резервирования функциональных блоков, возможности разнесения блоков в пространстве и независимого функционирования различных блоков.

На коммуникационные среды для построения параллельных ЭВМ индустриального применения, поэтому, накладываются дополнительные ограничивающие требования: способность функционирования в жестких условиях окружающей среды (расширенный температурный диапазон, вибрация, электромагнитные наводки, упрочненная конструкция и др.); способность к сегментированию, позволяющая в случае необходимости разбивать всю систему на ряд относительно независимых подсистем (т.е. способных к независимому функционированию и разнесенных в пространстве). 1.3. Коммуникационные среды и архитектуры параллельных ЭВМ

Классификация коммуникационных сред Коммуникационные среды для создания параллельных ЭВМ можно выделить в отдельный класс коммуникационных сред по аналогии с разделением на классы глобальных сетей и ЛВС (см. Рис. 1.3).

В качестве параметра разделения по классам можно указать характерные расстояния, а также назначение сред: глобальные сети: объединение независимых ЛВС и удаленных пользователей; ЛВС: объединение пользователей в рамках рабочих групп или предприятий; среды масштаба ВС: создание параллельной ЭВМ, обеспечение эффективного взаимодействия процессов, идущих параллельно на разных модулях параллельной ЭВМ. В соответствии с назначением коммуникационных сред масштаба вычислительной системы, можно выделить характерные требования, предъявляемые к таким средам [10]: малые времена задержек на межпроцессные обмены (2-1 ОООмкс); высокая пропускная способность (100Мбит/с-10Гбит/с на каждое соединение); возможность совмещения по времени передач данных через среду с вычислениями в модулях; базирование на стандартах; надежные протоколы с управлением потоком и коррекцией ошибок; поддержка различных топологий вычислительных систем; масштабируемость, конфигурируемость и технологичность исполнения.

Выбор схемы построения коммуникационной среды, удовлетворяющей поставленным требованиям

Требуемым показателям производительности удовлетворяет ряд коммуникационных сред масштаба вычислительной системы зарубежных производителей, на базе которых построено большое количество параллельных ЭВМ и суперЭВМ научного и коммерческого применения.

Наиболее известными и распространенными коммерчески доступными коммуникационными средами для создания параллельных ЭВМ типа МРР и кластеров являются SCI, Myrinet, QsNet, cLAN, ServerNet и Fast/Gigabit Ethernet. Отдельно можно выделить стандарт на коммуникационную среду InfiniBand, который специально разрабатывался альянсом крупнейших западных компаний таких как Intel, Dell, IBM, HP, Mellanox и др., и предназначен для создания высокопроизводительных кластерных серверов.

Одной из наиболее распространенных коммуникационных сред, поддерживающей единую глобальную адресацию памяти в системе и обеспечивающей когерентность локальной и удаленной памяти и КЭШей вычислительных модулей, является среда SCI (Scalable Coherent Interface -Масштабируемый когерентный интерфейс) [10, 43]. Среда SCI принята как стандарт IEEE (ANSI/IEEE Std 1596-1992). Этот стандарт развивают Apple, Dolphinics Interconnect Solution, VITESSE, SGI/CRAY, HP, SUN, IBM, CERN и ряд других организаций. Стандарт SCI обеспечивает построение легкой в реализации, масштабируемой коммуникационной среды для объединения процессоров и памятей, либо создания распределенной сети рабочих станций, либо для организации ввода/вывода суперЭВМ, высокопроизводительных серверов и рабочих станций на базе современных микропроцессоров. Стандарт предусматривает создание пропускной способности не менее 1 Гбайт/с для сосредоточенных систем и не менее 1 Гбит/с для распределенных систем типа сети рабочих станций.

Базовой топологической единицей среды SCI является однонаправленное кольцо, в котором каждый узел получает данные от предшествующего узла на кольце и посылает данные следующему узлу. Один узел в кольце, называемый scrubber, выполняет функции инициации кольца с установлением адресов, управления таймерами, уничтожения пакетов не нашедших адресата. Этот узел помечает проходящие сквозь него пакеты и уничтожает уже помеченные пакеты. Возможно построение многокольцевых систем, связанных через агентов.

Среда MemoryChannel разрабатывалась как коммуникационная среда для межмодульных объединений в кластерных системах [44, 45]. В MemoryChannel обращение к физической памяти, резидентной в удаленных модулях, организуется как обращения по некоторым адресам внутримодульного виртуального адресного пространства. Обращения к памяти по этим адресам инициируют механизмы работы среды MemoryChannel. Благодаря организации межмодульных соединений как прямых обменов память-память в пользовательских адресных пространствах без вызовов функций ядра операционной системы, в среде MemoryChannel достигается высокая скорость удаленных операций и малые времена задержки на такие операции. На физическом уровне среда MemoryChannel 2 представлена адаптерами на шине PCI (32-разрядная, 33 МГц) и коммутаторами crossbar. Коммутаторы могут быть либо 8-ми, либо 16-портовыми. В коммутаторе реализованы соединения "точка-точка" и "точка-всем точкам".

В MemoryChannel части виртуального адресного пространства -страницы, размеры которых совпадают с размерами страниц памяти операционной системы, ассоциируются с физической памятью удаленных модулей. Прежде чем пара модулей сможет взаимодействовать через MemoryChannel, в этих модулях должно быть определено разделяемое адресное пространство - в одном модуле как выходящее, в другом как входящее. Модуль, создающий входящую страницу, выделяет страницу физической памяти и делает ее доступной для разделения с другими модулями. Модуль, создающий выходящую страницу, заполняет элемент таблицы управления страницами (РСТ - Page Control Table) в адаптере MemoryChannel, задавая в каждом элементе адрес модуля, в который будет производиться пересылка данных.

Коммуникационная среда QsNet была разработана итальяно-британской фирмой Quadrics Supercomputer Worlds (QSW) [37, 38]. В альянсе с компанией DEC, а затем с Compaq, фирма QSW участвовала в программе PathForward Министерства энергетики США в рамках инициативы ASCI (Accelerated Strategic Computer Initiative - Ускоренной стратегической компьютерной инициативы) [39]. Основная цель программы PathForward заключалась в разработке технологий организации систем связи между компьютерами, которые позволили бы ускорить разработку сбалансированных вычислительных систем и достичь к 2004 году производительности 30-100 TFLOPS с помощью объединения большого количества коммерческих SMP-серверов. На базе среды QsNet построены системы QWS QM-1 и Compaq AlphaServer SC. В среде реализованы механизмы прямого доступа к удаленной памяти на уровне виртаыльных адресных пространств процессов, идущих на различных узлах системы. В сети может применяться как режим статической глобальной маршрутизации, так и адаптивной локальной в обход сбойных каналов. Также в среде аппаратно поддерживаются широковещательные передачи. В каждом коммутаторе ведется обнаружение и коррекция ошибок в пакетах. Задержка на коммутацию составляет 35 не в одном коммутаторе. В системах, использующих в качестве коммуникационной среды QsNet, узлы, как правило, объединяются в структуру с топологией "толстое дерево" (fatree).

Разработка блоков контроллера коммутатора, повышающих эффективность его использования для построения коммуникационных сред параллельных ЭВМ кластерного типа

Организация адресной таблицы и способ взаимодействия с ней являются частной разработкой компании-изготовителя и относятся к информации закрытого типа. В доступной документации на устройство указывается только размер адресной таблицы без описания алгоритмом поиска данных и заполнения AT. Исключением является коммутатор AL126 компании Allayer Communications [60,61 ].

Внутренняя адресная таблица AL126 рассчитана на 1031-ну запись. За счет подключения внешней статической памяти, адресное пространство может быть увеличено до 8 или 16 килобайт (см. рис. 2.3). При использовании только внутренней адресной таблицы, поиск и обучение осуществляется с использованием функции хеширования CRC8 (порождающий многочлен кода не приведен в документации). Проблема коллизий решается с помощью метода пакетирования, сущность которого состоит в том, что записи таблицы объединяются в пакеты фиксированного, относительно небольшого размера -8 записей, по значению кода CRC8 (hash pointer). Функция хеширования дает на выходе не адрес записи, а адрес пакета. После нахождения пакета, в пакете выполняется линейный поиск по ключу, или запись в первую свободную ячейку при автоматическом обучении. При полном заполнении любого из пакетов, запись при обучении помещается в область переполнения (overflow buffer) размером 7, перезаписываемую в случае необходимости.

Недостатки организации адресной таблицы коммутатора в том, что при возникновении коллизии хэш-функции, гарантированное минимальное количество адресов, которые могут быть запомнены в таблице невелико и составляет лишь 1.45% от максимально возможного количества, время поиска адреса при этом растет линейно от количества адресов, по которым произошла коллизия хэш-функции.

Предложен метод организации адресной таблицы, который позволяет значительно повысить гарантированное минимальное количество адресов, которые могут быть запомнены в таблице, и сократить при этом время поиска адреса в таблице. Адресная таблица имеет трехуровневую структуру. Первый уровень реализован с использованием хэш-функции на базе циклического кода CRC-10 [62]. Второй уровень введен для борьбы с коллизиями хэш-функции первого уровня и использует другую хэш-функцию циклического кода CRC-9. Третий уровень введен для борьбы с коллизиями хэш-функции второго уровня и использует алгоритм упорядоченного заполнения и бинарного поиска.

Адресная таблица состоит из двух страниц неравного размера, с возможностью одновременного обращения. Страница О AT - область хеширования, страница 1 - область двоичного поиска. Ассоциативная память (страница 0) может содержать до 1536 адресов, логически разделенных на области хэш-функции первого уровня (1024 ячейки) и второго уровня (512 ячеек); область переполнения (страница 1) может содержать до 512 адресов (см. рис. 2.4).

Если при попытке записи в таблицу оказывается, что требуемое место в таблице уже занято (происходит коллизия хэш-функции первого уровня), то значение записывается в ту же таблицу на какое-то другое место. Другое место определяется при помощи вторичной функции хеширования Н2, аргументом которой также является исходное значение адреса. Хэш-функция второго уровня выбирается так, чтобы пространства записей для HI и Н2 не перекрывались.

Предложенный способ организации адресной таблицы [63, 64] и механизмы заполнения таблицы и поиска адресов позволяют с хорошей долей вероятности поддерживать различные комбинации сетевых адресов в системе: при максимальном размере таблицы в 2048 записей минимальное гарантированное количество адресов составляет 514, т.е. 25% от максимального числа. Максимальное время, затрачиваемое на поиск адреса при коллизиях, растет при этом логарифмически от количества адресов, занесенных в общую область переполнения.

Образующие полиномы хэш-функций CRC-9 и CRC-10 подобраны таким образом, чтобы вероятности совпадения кодов для различных 48-разрядных сетевых адресов при использовании этих хэш-функций были минимальными. На основании результатов программ, написанных на языке программирования Си, дающих оценку использования различных полиномов в качестве порождающих многочленов кодов, были выбраны следующие полиномы: CRCW: х10 + х9 + х1 + Xі +1, в восьмеричной системе счисления 32118. CRC9:x +х +х +х +х +х + ї t в восьмеричной системе счисления 12678. Аппаратное вычисление кодов в потоке параллельных данных выполняется за один такт.

Многоуровневая организация коммуникационных протоколов

Для построения высокопроизводительных многопроцессорных систем стандартные механизмы поддержки сетевых взаимодействий часто оказываются непригодны. Реализация многоуровневой схемы сетевых взаимодействий требует больших вычислительных затрат, она критична по времени, так как каждый уровень производит обработку данных, причем часто это сопровождается многократным копированием данных и переключением контекстов. Достоинство многоуровневых моделей - их универсальность и переносимость, но при этом происходит потеря производительности. В суперЭВМ, где необходимо решать распределенные сильносвязные задачи, такие производительности коммуникационных интерфейсов неприемлемы. Перечисленные выше механизмы могут использоваться лишь в кластерных системах, где степень связности вычислительных элементов относительно невысокая.

Разработчики высокоскоростных коммуникационных сред предлагают специальные коммуникационные интерфейсы, которые, с одной стороны, более полно используют аппаратные возможности коммуникационной среды и, с другой стороны, представляют пользователю более быстрый и непосредственный доступ к коммуникационной среде из прикладной программы. Переносимость прикладного программного обеспечения при этом достигается за счет использования стандартов параллельных языков и параллельных расширений языков высокого уровня. Сами стандартные системы параллельного программирования при этом реализуются непосредственно поверх специализированных коммуникационных библиотек. Наибольшая производительность достигается при прямом использовании в прикладных приложениях специализированных коммуникационных библиотек.

В SMP-системах коммуникационный интерфейс обычно реализуется в рамках стандартных средств взаимодействия процессов, предоставляемых операционной системой. Наиболее эффективный механизм при этом -использование разделяемой памяти. Подобный механизм используется, например, интерфейсом MPICH при установке его на SMP-систему. Собственно специальные коммуникационные интерфейсы имеет смысл разрабатывать для МРР-систем. Ниже рассмотрены интерфейсы для коммуникационных сред, в которых вычислительные модули связываются со средой через специальные коммуникационные контроллеры или адаптеры.

Виртуальный интерфейс VI (Virtual Interface) представляет собой открытую спецификацию, предложенную совместно корпорациями Compaq, Intel и Microsoft, для создания интерфейсов между аппаратным обеспечением высокопроизводительных коммуникационных сред и вычислительными системами [1,2]. Задача этой архитектуры заключается в том, чтобы улучшить производительность распределенных приложений путем уменьшения задержек, связанных с наиболее критичными операциями передачи сообщений [76]. Достигается это за счет уменьшения количества системных операций, выполняемых ядром операционной системы, и обеспечения более тесной связи прикладной задачи с коммуникационным интерфейсом.

В рамках VI приложения могут обмениваться данными и управляющей информацией напрямую, без вызовов системных функций ядра операционной системы и без многократного копирования данных из адресных пространств виртуальной памяти процессов и ядра. Достигается это за счет того, что адаптер коммуникационной среды имеет прямой доступ к виртуальному адресному пространству пользовательского процесса (см. рис. 3.5).

Производитель виртуального коммуникационного интерфейса (VI Provider) должен обеспечить соответствующие механизмы за счет добавления специального модуля (Kernel Agent) в ядро операционной системы, который чаще всего реализуется как некоторый драйвер [77, 78].

Взаимодействие процессов происходит через специальные объекты, называемые Виртуальным Интерфейсом VI. Доступ к коммуникационной среде предоставляется процессу после вызова специальной функции создания VI. Прежде чем взаимодействовать, пара процессов должна установить соединение (connection) своих VI, подобно тому, как это организуется в механизме сокетов с предварительным установлением соединения. Обмен данными между несвязанными VI в рамках данной спецификации не предусматривается. Интерфейс определяет два основных способа обмена данными между процессами: первый осуществляется путем передачи и приема сообщений, второй - операциями прямого доступа к удаленной памяти.

Все пересылки управляются специальными очередями дескрипторов. Данные передаются напрямую между виртуальными адресными пространствами пользовательских процессов. Адаптер должен иметь доступ к тем областям виртуальной памяти процессов, в которых хранятся управляющие дескрипторы, и к областям, в которых хранятся передаваемые и принимаемые данные. Соответствующие страницы виртуальной памяти должны быть зарегистрированы в операционной системе, т. е. замкнуты в физической памяти и защищены от свопирования и перемещения во вторичную память. Таблицы преобразования виртуальных адресов процессов в физические адреса оперативной памяти должны быть также доступны адаптеру: при создании и регистрации таких страниц соответствующая информация копируется в адаптер. Регистры и служебная память адаптера отображаются в пространство виртуальной памяти пользовательского процесса.

Механизм передачи данных через VI следующий. Пользовательское приложение имеет две рабочих очереди дескрипторов (send queue и receive queue) и, возможно, одну очередь возврата исполнения дескрипторов (completion queue) для каждого объекта VI. Создав дескриптор, процесс помещает его в очередь и посылает уведомление в адаптер в специальный регион, называемый doorbell, который выполнен как очередь FIFO. Получив уведомление, адаптер считывает дескриптор и выполняет его обработку. После завершения соответствующей операции, адаптер может уведомить об этом пользовательский процесс тремя способами: либо установив соответствующий флаг завершения непосредственно в дескриптор (пользовательское приложение при этом производит периодический опрос соответствующего флага), либо добавив запись выполнения дескриптора в completion queue (которую также периодически опрашивает пользовательское приложение), либо через механизм прерывания. После получения уведомления приложение должно удалить соответствующий дескриптор из очереди.

Существует два основных типа дескрипторов: дескрипторы операций пересылки/получения сообщений (Send/Receive) и дескрипторы операций прямого доступа к удаленной памяти (RDMA - Remote Direct Memory Access). Через дескрипторы первого типа процессы обмениваются сообщениями. Сообщение хранится в буфере зарегистрированной памяти. Короткие сообщения могут также содержаться непосредственно в дескрипторе (immediate data), обработка таких сообщений выполняется быстрей, чем обычных. Каждому дескриптору Send на передающей стороне должен соответствовать дескриптор Receive на принимающей стороне. Операции RDMA выполняются по адресам в виртуальном адресном пространстве удаленного процесса, поэтому эти адреса должны быть заранее известны процессу-инициатору.

Похожие диссертации на Исследование и разработка высокопроизводительных устройств коммуникационной среды для создания параллельных ЭВМ индустриального применения