Эта статья содержит рекламный контент . ( Сентябрь 2019 г. ) |
Тон или стиль этой статьи может не отражать энциклопедический тон , используемый в Википедии . ( Сентябрь 2022 ) |
Год создания | 2000 ( 2000 ) |
---|---|
Ширина в битах | Ширина портов 1, 2, 4, 8 и 16 полос |
Количество устройств | Размеры 256, 65,536 и 4,294,967,296 |
Скорость | На полосу (в каждом направлении):
|
Стиль | Серийный |
Интерфейс горячего подключения | Да |
Внешний интерфейс | Да, чип-чип, плата-плата (объединительная плата), шасси-шасси |
Веб-сайт | www.rapidio.org |
Архитектура RapidIO — это высокопроизводительная технология пакетной коммутации электрических соединений . Она поддерживает семантику обмена сообщениями, чтения/записи и когерентности кэша . RapidIO, основанная на стандартных электрических спецификациях, таких как спецификации для Ethernet , может использоваться в качестве межсоединения чип-чип, плата-плата и шасси-шасси.
Протокол RapidIO был первоначально разработан Mercury Computer Systems и Motorola ( Freescale ) в качестве замены фирменной шины RACEway компании Mercury и шины PowerPC компании Freescale. [1] Торговая ассоциация RapidIO была образована в феврале 2000 года и включала производителей телекоммуникационного и хранилищного оборудования, а также производителей ПЛИС, процессоров и коммутаторов.
Спецификация RapidIO версии 1.1 (3xN Gen1), выпущенная в марте 2001 года, определила широкую параллельную шину. Эта спецификация не получила широкого коммерческого распространения.
Спецификация RapidIO версии 1.2, выпущенная в июне 2002 года, [2] определила последовательное соединение на основе физического уровня XAUI. Устройства, основанные на этой спецификации, достигли значительного коммерческого успеха в беспроводной базовой полосе, [3] визуализации и военных вычислениях. [4]
Версия спецификации RapidIO 1.3 была выпущена в июне 2005 года.
Спецификация RapidIO версии 2.0 (6xN Gen2) была выпущена в марте 2008 года. [5] Она добавила больше ширины портов (2×, 8× и 16×) и увеличила максимальную скорость линии до 6,25 ГБод / 5 Гбит/с.
Версия спецификации RapidIO 2.1 была выпущена в сентябре 2009 года.
Версия спецификации RapidIO 2.2 была выпущена в мае 2011 года.
Спецификация RapidIO версии 3.0 (10xN Gen3) выпущена в октябре 2013 года. [6] Были внесены следующие изменения:
Спецификация RapidIO версии 3.1 была выпущена в октябре 2014 года. [7] Она была разработана в сотрудничестве между RapidIO Trade Association и NGSIS. Версия 3.1 имеет следующие изменения по сравнению со спецификацией 3.0:
Версия спецификации RapidIO 3.2 была выпущена в феврале 2016 года.
Спецификация RapidIO версии 4.0 (25xN Gen4) была выпущена в июне 2016 года. [8] Она имела следующие изменения по сравнению со спецификациями 3.x:
Версия спецификации RapidIO 4.1 была выпущена в июле 2017 года. [9]
RapidIO-фабрики используются в сотовой инфраструктуре сетей 3G, 4G и LTE с миллионами портов RapidIO, поставленных [10] в беспроводные базовые станции по всему миру. RapidIO-фабрики изначально были разработаны для поддержки соединения различных типов процессоров от разных производителей в одной системе. Эта гибкость привела к широкому использованию RapidIO в оборудовании беспроводной инфраструктуры, где необходимо объединить гетерогенные, DSP, FPGA и коммуникационные процессоры в тесно связанной системе с низкой задержкой и высокой надежностью.
Центр обработки данных и аналитические системы HPC были развернуты с использованием RapidIO 2D Torus Mesh Fabric, [11] , которая обеспечивает высокоскоростной интерфейс общего назначения между системными картриджами. Это позволяет приложениям, которые выигрывают от высокой пропускной способности для связи между узлами с низкой задержкой. Унифицированная структура RapidIO 2D Torus маршрутизируется как кольцевая конфигурация тора, соединяющая до 45 серверных картриджей. Таким образом, она способна обеспечивать соединения 5 Гбит/с на полосу в каждом направлении к своим северным, южным, восточным и западным соседям. Это позволяет системе соответствовать многим уникальным приложениям HPC, где требуется эффективный локализованный трафик.
Кроме того, используя открытый модульный центр обработки данных и вычислительную платформу, [12] гетерогенная система HPC продемонстрировала свойство RapidIO с низкой задержкой, позволяющее проводить аналитику в реальном времени. [13] В марте 2015 года было объявлено о выходе коммутатора top-of-rack, который позволит внедрить RapidIO в основные приложения центров обработки данных. [14]
Межсоединение или «шина» является одной из критических технологий в проектировании и разработке авионики космических аппаратов, которая диктует ее архитектуру и уровень сложности. Существует множество существующих архитектур, которые все еще используются, учитывая их уровень зрелости. Эти существующие системы достаточны для определенного типа потребностей и требований архитектуры. К сожалению, для миссий следующего поколения желательна более мощная архитектура авионики; которая значительно превосходит возможности, предоставляемые существующими архитектурами. Жизнеспособным вариантом для проектирования и разработки этих архитектур следующего поколения является использование существующих коммерческих протоколов, способных поддерживать высокие уровни передачи данных.
В 2012 году RapidIO был выбран рабочей группой Next Generation Spacecraft Interconnect Standard (NGSIS) в качестве основы для стандартных коммуникационных соединений, которые будут использоваться в космических аппаратах. NGSIS — это зонтичный стандарт, включающий разработку RapidIO версии 3.1 и стандартизацию аппаратных средств на уровне коробок в рамках VITA 78 под названием SpaceVPX или High ReliabilityVPX. Комитет по требованиям NGSIS разработал обширные критерии требований с 47 различными элементами для соединения NGSIS. Результаты независимых торговых исследований компаний-членов NGSIS продемонстрировали превосходство RapidIO над другими существующими коммерческими протоколами, такими как InfiniBand, Fibre Channel и 10G Ethernet. В результате группа решила, что RapidIO предлагает наилучшее общее соединение для нужд космических аппаратов следующего поколения. [15]
Дорожная карта RapidIO соответствует разработке Ethernet PHY. Спецификации RapidIO для соединений 50 Гбод и выше находятся в стадии изучения. [16]
Протокол RapidIO определен в трехуровневой спецификации:
Технические характеристики системы включают:
Электрические характеристики RapidIO основаны на отраслевых стандартах Ethernet и Optical Interconnect Forum:
Уровень RapidIO PCS/PMA поддерживает две формы кодирования/фрейминга:
Каждый элемент обработки RapidIO передает и принимает три вида информации: пакеты, управляющие символы и последовательность ожидания.
Каждый пакет имеет два значения, которые управляют физическим уровнем обмена этого пакета. Первое — это идентификатор подтверждения (ackID), который является специфичным для канала, уникальным, 5-, 6- или 12-битным значением, которое используется для отслеживания пакетов, обмениваемых по каналу. Пакеты передаются с последовательно увеличивающимися значениями ackID. Поскольку ackID специфичен для канала, ackID покрывается не CRC, а протоколом. Это позволяет ackID меняться с каждым каналом, по которому он проходит, в то время как CRC пакета может оставаться постоянной сквозной проверкой целостности пакета. Когда пакет успешно получен, он подтверждается с использованием ackID пакета. Передатчик должен сохранять пакет до тех пор, пока он не будет успешно подтвержден партнером по каналу.
Второе значение — физический приоритет пакета. Физический приоритет состоит из бита идентификатора виртуального канала (VC), битов приоритета и бита потока критических запросов (CRF). Бит VC определяет, идентифицируют ли биты приоритета и CRF виртуальный канал от 1 до 8 или используются в качестве приоритета в виртуальном канале 0. Виртуальным каналам назначаются гарантированные минимальные полосы пропускания. В виртуальном канале 0 пакеты с более высоким приоритетом могут передавать пакеты с более низким приоритетом. Ответные пакеты должны иметь физический приоритет выше, чем запросы, чтобы избежать тупика.
Физический уровень вносит вклад в пакеты RapidIO в виде 2-байтового заголовка в начале каждого пакета, который включает ackID и физический приоритет, а также конечное 2-байтовое значение CRC для проверки целостности пакета. Пакеты размером более 80 байт также имеют промежуточный CRC после первых 80 байт. За одним исключением значение(я) CRC пакета действует как сквозная проверка целостности.
Символы управления RapidIO могут быть отправлены в любое время, в том числе в пакете. Это обеспечивает RapidIO минимально возможную задержку внутриполосного пути управления, позволяя протоколу достигать высокой пропускной способности с меньшими буферами, чем другие протоколы.
Управляющие символы используются для разграничения пакетов (Start of Packet, End of Packet, Stomp), подтверждения пакетов (Packet Acknowledge, Packet Not Acknowledged), сброса (Reset Device, Reset Port) и распределения событий в системе RapidIO (Multicast Event Control Symbol). Управляющие символы также используются для управления потоком (Retry, Buffer Status, Virtual Output Queue Backpressure) и для восстановления после ошибок.
Процедура восстановления после ошибки очень быстрая. Когда приемник обнаруживает ошибку передачи в полученном потоке данных, приемник заставляет связанный с ним передатчик отправить управляющий символ Packet Not Accepted. Когда партнер по каналу связи получает управляющий символ Packet Not Accepted, он прекращает передачу новых пакетов и отправляет управляющий символ Link Request/Port Status. Управляющий символ Link Response указывает ackID, который следует использовать для следующего переданного пакета. Затем передача пакетов возобновляется.
Последовательность IDLE используется во время инициализации канала для оптимизации качества сигнала. Она также передается, когда канал не имеет никаких контрольных символов или пакетов для отправки.
Каждая конечная точка RapidIO уникально идентифицируется идентификатором устройства (deviceID). Каждый пакет RapidIO содержит два идентификатора устройств. Первый — это идентификатор назначения (destID), который указывает, куда должен быть направлен пакет. Второй — это идентификатор источника (srcID), который указывает, откуда был создан пакет. Когда конечная точка получает пакет запроса RapidIO, требующий ответа, пакет ответа формируется путем замены srcID и destID запроса.
Коммутаторы RapidIO используют destID полученных пакетов для определения выходного порта или портов, которые должны пересылать пакет. Обычно destID используется для индексации в массиве контрольных значений. Операция индексации выполняется быстро и недорого. Коммутаторы RapidIO поддерживают стандартную модель программирования для таблицы маршрутизации, что упрощает управление системой.
Транспортный уровень RapidIO поддерживает любую топологию сети: от простых деревьев и сеток до n-мерных гиперкубов , многомерных тороидов и более сложных архитектур, таких как запутанные сети.
Транспортный уровень RapidIO обеспечивает аппаратную виртуализацию (например, конечная точка RapidIO может поддерживать несколько идентификаторов устройств). Части идентификатора назначения каждого пакета могут использоваться для идентификации определенных частей виртуального оборудования в конечной точке.
Логический уровень RapidIO состоит из нескольких спецификаций, каждая из которых предоставляет форматы пакетов и протоколы для различной семантики транзакций.
Уровень логического ввода-вывода определяет форматы пакетов для чтения, записи, записи с ответом и различных атомарных транзакций. Примерами атомарных транзакций являются установка, очистка, увеличение, уменьшение, своп, проверка и своп, сравнение и своп.
Спецификация Messaging определяет дверные звонки и сообщения. Дверные звонки передают 16-битный код события. Сообщения передают до 4 КБ данных, сегментированных на 16 пакетов каждый с максимальной полезной нагрузкой 256 байт. Ответные пакеты должны быть отправлены для каждого запроса дверного звонка и сообщения. Значение статуса ответного пакета указывает на выполнение, ошибку или повтор. Статус повтора запрашивает у отправителя запроса повторную отправку пакета. Ответ повтора логического уровня позволяет нескольким отправителям получать доступ к небольшому количеству общих ресурсов приема, что обеспечивает высокую пропускную способность при низком энергопотреблении.
Спецификация Flow Control определяет форматы пакетов и протоколы для простых операций управления потоком XON/XOFF. Пакеты управления потоком могут быть созданы коммутаторами и конечными точками. Прием пакета управления потоком XOFF останавливает передачу потока или потоков до тех пор, пока не будет получен пакет управления потоком XON или не истечет время ожидания. Пакеты управления потоком также могут использоваться в качестве универсального механизма управления системными ресурсами.
Спецификация Globally Shared Memory определяет форматы пакетов и протоколы для работы системы общей памяти с когерентным кэшем в сети RapidIO.
Спецификация Data Streaming поддерживает обмен сообщениями с другими форматами пакетов и семантикой, чем спецификация Messaging. Форматы пакетов Data Streaming поддерживают передачу до 64К данных, сегментированных по нескольким пакетам. Каждая передача связана с классом обслуживания и идентификатором потока, что позволяет создавать тысячи уникальных потоков между конечными точками.
Спецификация потоковой передачи данных также определяет форматы и семантику пакетов управления потоком Extended Header для управления производительностью в системе клиент-сервер. Каждый клиент использует пакеты управления потоком Extended Header, чтобы информировать сервер об объеме работы, который может быть отправлен на сервер. Сервер отвечает пакетами управления потоком Extended Header, которые используют протоколы XON/XOFF, rate или credit, чтобы контролировать, как быстро и сколько работы клиент отправляет на сервер.
Системы с известной топологией могут быть инициализированы специфическим для системы способом, не влияя на совместимость. Спецификация инициализации системы RapidIO поддерживает инициализацию системы, когда топология системы неизвестна или динамична. Алгоритмы инициализации системы поддерживают наличие избыточных хостов, поэтому инициализация системы не должна иметь единой точки отказа.
Каждый системный хост рекурсивно перечисляет структуру RapidIO, захватывая право собственности на устройства, выделяя идентификаторы устройств конечным точкам и обновляя таблицы маршрутизации коммутатора. Когда возникает конфликт за право собственности, побеждает системный хост с большим deviceID. «Проигравший» хост освобождает право собственности на свои устройства и отступает, ожидая «победившего» хоста. Победивший хост завершает перечисление, включая захват права собственности проигравшего хоста. После завершения перечисления победивший хост освобождает право собственности проигравшего хоста. Затем проигравший хост обнаруживает систему, считывая таблицы маршрутизации коммутатора и регистрируется на каждой конечной точке, чтобы узнать конфигурацию системы. Если победивший хост не завершает перечисление за известный период времени, проигравший хост определяет, что победивший хост вышел из строя, и завершает перечисление.
Системное перечисление поддерживается в Linux подсистемой RapidIO.
RapidIO поддерживает высокодоступную, отказоустойчивую конструкцию системы, включая горячую замену. Определены состояния ошибок, требующие обнаружения, и стандартные регистры для передачи информации о состоянии и ошибках. Также определен настраиваемый механизм изоляции, так что когда невозможно обмениваться пакетами по каналу, пакеты могут быть отброшены, чтобы избежать перегрузки и включить диагностику и восстановление. Определены внутриполосные (пакет записи порта) и внеполосные (прерывание) механизмы уведомления.
Спецификация RapidIO не обсуждает вопросы форм-факторов и коннекторов, оставляя это для конкретных сообществ, ориентированных на приложения. RapidIO поддерживается следующими форм-факторами:
Поддержка RapidIO, не зависящая от процессора, присутствует в ядре Linux. [ необходима ссылка ]
Межсоединение RapidIO широко используется в следующих приложениях [ необходима ссылка ] :
RapidIO расширяется в области суперкомпьютеров, серверов и приложений для хранения данных. [ необходима цитата ]
PCI Express нацелен на рынок хост-периферийных устройств, в отличие от встроенных систем. В отличие от RapidIO, PCIe не оптимизирован для одноранговых многопроцессорных сетей. PCIe идеально подходит для связи хост-периферийных устройств. PCIe не масштабируется так же хорошо в больших многопроцессорных одноранговых системах, поскольку базовое предположение PCIe о «корневом комплексе» создает проблемы отказоустойчивости и управления системой.
Другой альтернативной технологией межсоединений является Ethernet . Ethernet — это надежный подход к соединению компьютеров на больших географических территориях, где топология сети может неожиданно меняться, используемые протоколы находятся в движении, а задержки соединения велики. Чтобы справиться с этими проблемами, системам на базе Ethernet требуются значительные объемы вычислительной мощности, программного обеспечения и памяти по всей сети для реализации протоколов управления потоками, передачи данных и маршрутизации пакетов. RapidIO оптимизирован для энергоэффективной, малозадерживаемой связи между процессорами в отказоустойчивых встроенных системах, которые охватывают географические территории менее одного километра.
SpaceFibre — это конкурирующая технология для космических приложений. [17]
Time Triggered Ethernet — это конкурирующая технология для более сложных объединительных плат (VPX) и магистральных приложений для космоса (пусковые установки и интегрированная авионика, контролируемая человеком).