Адаптер коммуникационной сети

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

Нами определены основные компоненты для создания подобных многопроцессорных систем и разработана архитектура адаптера и микросхемы коммуникационного контроллера.

Рассмотрим вкратце архитектуру разработанного адаптера.

Для увеличения трафика через сеть и уменьшения времени занятости линий под отдельный пакет все пакеты перед посылкой в сеть или память вычислительного модуля буферизуются в локальной памяти контроллера канала коммуникационной сети. Кроме двух основных требований, которые обычно предъявляются к вычислительным устройствам - требований повышения быстродействия и надежности, к контроллеру канала коммуникационной сети еще предъявляется требование высокой степени автономности. Под автономностью здесь понимается такой режим работы устройства, когда для работы с этим устройством процессорные ресурсы вычислительного модуля (хост-процессор) используются в минимальном объеме. Это позволяет максимально разгрузить хост-процессор от обработки интерфейса нижнего сетевого уровня, что, в свою очередь, позволит хост-процессору уделять большую часть времени непосредственно на выполнение вычислительной задачи. Для этой цели в состав коммуникационного контроллера вводится "интеллектуальный" блок - процессорное RISC-ядро с собственным программным обеспечением. Кроме того, адаптер коммуникационной сети имеет в своем составе также контроллер прямого доступа к памяти для работы с памятью вычислительного модуля независимо от хост-процессора.

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

Для удовлетворения требований надежности работы коммуникационной сети и быстрого обнаружения ошибок передач данных на всех каналах ведется контроль правильности передач пакетов. При работе с памятью адаптер подсчитывает и контролирует биты четности отдельно для каждого байта данных, при пересылке пакетов через канал коммуникационной сети подсчитываются и контролируются избыточные циклические контрольные суммы CRC (Cykling Redundancy Check) . Подсчет и проверка всех контрольных битов и сумм ведется аппаратно в потоковом режиме. При работе с локальной памятью в режиме пересылки пакетов на канал коммуникационной сети адаптер может выявлять как случайные и устранимые ошибки чтения памяти, так и фатальные неустранимые сбои. В первом случае, при устранимых ошибках, адаптер может быстро восстановить свою работоспособность и продолжить передачу данных с текущего места, не проводя при обнаружении такой ошибки полную остановку работы, переинициализацию и тестирование всей системы.

Предлагаемый интеллектуальный контроллер коммуникационной сети может найти применение в многопроцессорных вычислительных системах, серверах кластерного типа и суперЭВМ, в которых требуется объединять между собой большое количество (23 - 216) процессоров и вычислительных модулей в высокоскоростную и надежную коммуникационную сеть.

Отдел разработки высокопроизводительных систем
НИИСИ РАН