ПРЕСС-ЦЕНТР

Технология PCI Express как полноценная альтернатива Ethernet для систем с объединительными панелями

МКА: мир ВКТ 05/2008

Леонид Акиншин

Успешно завоевав массовый рынок, PCIExpress начала активное проникновение в сегмент систем с объединительными панелями. Сегодня в указанном сегменте PCIExpress – единственная коммуникационная технология, способная составить достойную конкуренцию Ethernet.

Коммуникационная технология PCI Express ворвалась в нашу жизнь стремительно. Ещё несколько лет назад её просто не существовало. Сегодня шиной PCI Express оснащены 80-90% персональных компьютеров, ноутбуков и серверов; без неё немыслимо дальнейшее развитие целых отраслей. Оглядываясь назад, трудно поверить, что всего тремя годами ранее ареал обитания PCI Express был ограничен персональными компьютерами класса High End, да и там она использовалась лишь как интерфейс для подключения графических карт. В наши дни эта коммуникационная технология взята на вооружение всеми ведущими производителями чипсетов, поддерживается серверами, рабочими станциями, системами хранения данных, RAID-контроллерами, хост-адаптерами Fibre Channel, сетевыми маршрутизаторами, коммутаторами и различными контрольно-измерительными устройствами.

Один из немногих секторов, где PCI Express не имела до недавнего времени широкого применения – это системы с объединительными панелями. Исторически в данном секторе доминировала Ethernet, от которой «жались по углам» все прочие коммуникационные технологии. Такое положение дел многих не устраивало, однако с ним ничего не могли поделать даже такие крупные отраслевые объединения, как консорциумы PICMG (www.picmg.org) и VITA (www.vita.com): несмотря на поддержку широкого спектра коммуникационных технологий, заложенную в системных архитектурах AdvancedTCA (спецификации серии PICMG 3.x), MicroTCA (спецификации MTCA.x), VXS (VITA 41.x) и VPX (VITA 46.x/48.x), и производители, и пользователи упорно продолжали предпочитать Ethernet всем доступным альтернативам. Сдвинуть ситуацию с мёртвой точки удалось лишь технологии PCI Express.

Серьёзный конкурент

К стандартизованным системным архитектурам, поддерживающим сразу несколько коммуникационных технологий, относятся AdvancedTCA, MicroTCA, VXS и VPX (спецификации PICMG 2.16 и VITA 31.1 поддерживают только Ethernet). Перечень доступных опций достаточно широк, однако на сегодняшний день для построения новых систем можно рекомендовать лишь технологии Ethernet, PCI Express и RapidIO.

До того, как PCI Express де-факто пришла в индустрию систем с объединительными панелями, разработчики высокопроизводительных решений на базе быстрых последовательных соединений стояли перед выбором: использовать Ethernet либо какую-нибудь частнофирменную технологию (RapidIO в ту пору ещё не была достаточно популярной и не рассматривалась как вариант для текущих проектов). Отчасти именно этим можно объяснить резкое улучшение эксплуатационных параметров Ethernet в последние годы – люди были вынуждены улучшать характеристики данной технологии.

Будучи не самым идеальным решением с точки зрения рабочих характеристик, во всём остальном технология Ethernet очень долго была наилучшим (а зачастую и единственно возможным) вариантом. Частнофирменные протоколы, требующие применения специализированных ASIC-микросхем, были и продолжают оставаться дорогим удовольствием, в то время как для построения внутрисистемных сетей Ethernet достаточно использовать наличную компонентную базу и существующее ПО. Технология Ethernet имеет мощнейшую программную поддержку, прошла обкатку в бесчисленном множестве реальных проектов (в том числе и в системах с объединительными панелями) и прекрасно знакома всем пользователям и поставщикам на земном шаре.

Что касается технологии RapidIO, появившейся в секторе внутрисистемных коммуникаций незадолго до PCI Express, то, будучи «нишевым» решением, она не может составить серьёзной конкуренции ни Ethernet, ни PCI Express. Протокол RapidIO ориентирован на встраиваемые приложения и требует наличия RapidIO-совместимой компонентной базы, то есть процессоров с интегрированными интерфейсами RapidIO (данному условию удовлетворяют многие ЦП с архитектурой PowerPC), специальных коммутаторов, мостов и конечных точек. Однако большинство современных высокопроизводительных процессоров имеют архитектуру типа x86 и не имеют интерфейсов RapidIO, при этом все новые чипсеты для новых x86-совместимых ЦП поддерживают шину PCI Express по умолчанию. Более того, в последнее время поддержку PCI Express реализуют в своей продукции даже крупнейшие поставщики процессоров с архитектурой PowerPC. Получается, что технология PCI Express имеет по сравнению с RapidIO стартовое преимущество, причём с течением времени это преимущество лишь усиливается.

Реального конкурента Ethernet получила достаточно поздно и лишь в лице PCI Express. Сравним эти две технологии по тем ключевым параметрам, которые ещё недавно считались уникальными свойствами Ethernet, её преимуществами по сравнению с другими методами организации внутрисистемных соединений.

Вездесущесть

Когда молодая и энергичная PCI Express стала громко заявлять о себе как высокоэффективная технология для систем с объединительными панелями, это не заставило заинтересованных лиц побросать свои Ethernet-проекты. И разработчики, и пользователи, годами имевшие дело с программным обеспечением для Ethernet, вовсе не горели желанием переходить на ПО для PCI Express, которое им пришлось бы покупать или создавать самим. Кроме того, в общем и целом технология Ethernet справлялась со своими задачами: внутрисистемные соединения Gigabit Ethernet использовались практически во всех прикладных областях, где применялись объединительные панели. Казалось, что перспективный стандарт 10 Gigabit Ethernet и впечатляющие успехи, достигнутые в деле адаптации технологии Ethernet к внутрикрейтовой специфике, вот-вот приведут Ethernet к полной и окончательной монополии на рынке внутрисистемных коммуникаций.

Однако PCI Express смешала Ethernet все карты. Технология Ethernet, находившаяся буквально в шаге от мирового господства, была вынуждена уступить новичку, поддержанному Intel и другими монстрами компьютерной индустрии. Всего за пару-тройку лет PCI Express стала столь же распространённой, как и Ethernet, лишив тем самым последнюю её главного преимущества в конкурентной борьбе. Вопрос о компонентной базе, имеющий решающее значение для RapidIO, в случае PCI Express просто не стоит: поддержка PCIExpress реализуется по умолчанию во всех современных чипсетах. Технология PCI Express легко сопрягается с другими коммуникационными протоколами, включая Ethernet, Fibre Channel, InfiniBand, и на программном уровне полностью совместима с унаследованными параллельными шинами PCI и PCI-X, что лишает Ethernet ещё одного важного преимущества: PCI Express защищает софтверные инвестиции ничуть не хуже.

PCI Express не стала атаковать внутрисистемную Ethernet в лоб, что было бы самоубийственно для любой молодой технологии со сколь угодно мощной поддержкой – она зашла с тыла, для начала полностью захватив рынок так называемых офисных или массовых систем: ноутбуков, ПК и серверов. Мы не можем привести по данному поводу никакой цитаты из Сунь-цзы, но уверены, что у сего великого мыслителя найдётся какое-нибудь приличествующее случаю высказывание (как находятся они у него по поводу любых мало-мальски значимых событий современной жизни).

Важность массового рынка как плацдарма для наступления на сектор систем с объединительными панелями трудно переоценить. Дело не только в том, что компоненты офисного класса предлагаются огромным числом активно конкурирующих друг с другом поставщиков и стоят недорого. Когда какая-либо технология становится по-настоящему массовой и вездесущей, разработчик начинает сталкиваться с ней буквально на каждом шагу. Например, он может совершенно неожиданно для себя обнаружить, что большинство современных плат для магистрально-модульных систем уже имеют на себе локальные шины PCI Express (рис. 1), и по одной этой причине PCI Express вполне может считаться весьма серьёзным конкурентом для привычной ему Ethernet. А ведь локальные интерфейсы PCI Express – вещь вполне естественная: PCI Express разрабатывалась как шина для персональных компьютеров, следовательно, на одноплатных компьютерах ей сам бог велел быть. Заинтересовавшись данным явлением, разработчик может узнать ещё одну интересную деталь: локальные соединения на базе PCI Express реализуются в том числе и на платах с процессорами PowerPC, поскольку, как уже говорилось выше, крупнейшие производители PowerPC-изделий решили присоединиться к своим коллегам из сегмента x86 и принять технологию PCI Express на вооружение (Отметим, что в случае PowerPC разработчики плат получают поддержку PCI Express как бесплатный бонус, поскольку интерфейсы PCI Express интегрированы в ЦП. – Прим. авт.).

Рис. 1. Типичная архитектура современной процессорной платы


Пойдя в своих изысканиях чуть дальше, разработчик может обнаружить, что в тех решениях, где между объединительной панелью и интерфейсными модулями имеется дополнительный уровень, этот уровень также обычно реализуется на базе PCI Express (рис. 2). На долю всех прочих коммуникационных технологий остаётся, таким образом, лишь передача трафика по объединительной панели. Если реализовать каналы PCI Express и на объединительной панели, все виды взаимодействий в рамках одной системы будут осуществляться по одному стандартному протоколу. (Эти соображения очень похожи на те, что двигали людьми, мечтавшими об унификации соединений на разных архитектурных уровнях и создании условий для осуществления вертикальной интеграции оборудования на основе Ethernet. Они добились своего: сегодня такая унификация вполне реальна, в том числе и за сравнительно небольшие деньги. Судя по всему, сторонники PCI Express идут тем же путем, последовательно подготавливая почву для унификации соединений и вертикальной интеграции оборудования на базе своей коммуникационной технологии. Подтверждениями тому могут служить, в частности, такие инициативы, как PCI Express External Cabling, направленные на включение в зону влияния PCI Express рынка межсистемных соединений. – Прим. авт.)

Рис. 2. Система с дополнительным структурным уровнем, обеспечивающим взаимодействие между объединительной панелью и интерфейсными модулями


Если отталкиваться от базовых эксплуатационных характеристик, PCI Express необходимо признать эффективной технологией для организации внутрисистемных соединений, в то время как Ethernet всё-таки лучше подходит для наружного применения. Любопытно, что PCI Express намерена потеснить свою конкурентку даже на этом, родном для Ethernet рынке: принятая в прошлом году спецификация PCI Express External Cabling позволяет создавать кабельные соединения PCI Express длиной в несколько метров, пригодные для организации взаимодействия между аппаратными блоками в одной или разных близко расположенных стойках (см. врезку «PCI Express по кабелю»). Само собой, составить конкуренцию Ethernet в секторах локальных, городских или глобальных сетей никакая модификация PCI Express не сможет никогда.

Масштабируемость

Системные архитектуры нового поколения вроде AdvancedTCA позволяют объединять в один интерфейс до четырёх элементарных каналов. Для PCI Express первой версии теоретическая дуплексная пропускная способность одного интерфейса, через который плата взаимодействует с объединительной панелью, равна 10 Гбит/с (интерфейс PCI Express x4 из четырёх 2,5-гигабитных элементарных каналов). Реальная пропускная способность, однако, составляет лишь 80% от теоретической, то есть 8 Гбит/с, что связано с использованием схемы кодирования 8b/10b. Это чуть меньше, чем в случае 10 Gigabit Ethernet (80% от 3,125 Гбит/с, умноженных на 4 элементарных канала). Тем не менее в подавляющем большинстве случаев 8 Гбит/с более чем достаточно; агрегированная пропускная способность на уровне 10 Гбит/с требуется лишь в очень и очень немногих современных приложениях.

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

Обычно на масштабируемость той или иной технологии смотрят под сугубо практическим углом зрения. Если отвлечься от реальных задач, стоящих перед реальными разработчиками, технология Ethernet, развивающаяся вот уже 35 лет, окажется более масштабируемой, нежели PCI Express, ещё не отметившая свою седьмую весну. Однако жизнь не стоит на месте, и к настоящему времени такие поддерживаемые Ethernet скорости, как 10 Мбит/с (собственно Ethernet) и 100 Мбит/с (стандарт Fast Ethernet), успели безнадёжно устареть. Применительно к объединительным панелям мало-помалу утрачивает актуальность и 1 Гбит/с (стандарт Gigabit Ethernet). Выше 1 Гбит/с у Ethernet имеется лишь одна опция: 10 Гбит/с (10 Gigabit Ethernet). Если в конкретной задаче нужна пропускная способность 2 Гбит/с, разработчик будет вынужден использовать 10 Gigabit Ethernet, то есть переплачивать за 8 Гбит/с, которые ему совершенно не нужны.

Технология PCI Express гораздо более масштабируема именно в этом сугубо практическом аспекте, то есть с учётом реалий сегодняшнего и завтрашнего дня. В зазоре между уже почти неактуальным в реальных приложениях одним гигабитом и ещё неактуальными десятью гигабитами PCI Express предлагает целый набор вариантов, включающий 2 Гбит/с, 4 Гбит/с и 8 Гбит/с (1, 2 и 4 элементарных канала соответственно). В случае PCI Express разработчик может двигаться вперёд «мелкими шажками», выбирая ту пропускную способность, которая наиболее близка к требованиям его приложения; Ethernet же заставляет его совершать огромные скачки даже при незначительном повышении этих требований. Отметим, что пропускная способность интерфейса PCI Express x1 (один элементарный канал) уже вдвое больше пропускной способности Gigabit Ethernet (2 Гбит/с и 1 Гбит/с соответственно), что опять-таки важно в контексте практического применения, поскольку, как уже говорилось, во многих реальных задачах 1 Гбит/с уже недостаточно.

Накладные расходы и задержки

Слабым местом Ethernet всегда были высокие накладные расходы и большие задержки. Для передачи средствами PCI Express четырёх байтов «полезных» данных их необходимо оформить как пакет длиной 20 байтов, что означает 16 байтов накладных расходов. В случае Ethernet формируются пакеты длиной 64 байта, то есть к четырём байтам «полезных» данных добавляется не 16, а целых 60 байтов накладных расходов. Использование Ethernet, таким образом, связано с повышенной нагрузкой на процессор при тех же объёмах пересылаемых полезных данных. Кроме того, боEthernet, а PCI Express или RapidIO.

«Как же так? – может удивиться читатель, – ведь в статье про внутрисистемные сети Ethernet говорилось, что слишком большие задержки и прочие «детские болезни» Ethernet уже побеждены?». Так-то оно так, но дело в том, что эксклюзивные разработки отдельных производителей и даже групп – это всё-таки не мейнстримовская Ethernet и уж точно не та Ethernet, которая есть в вашем персональном компьютере или ноутбуке. Напомним: ключевое преимущество технологии Ethernet, обусловившее её доминирование на рынке коммуникаций для объединительных панелей, есть её широчайшая распространённость. Что ни в коей мере не относится к Ethernet-коммутаторам с задержками в 200 нс, а также к Ethernet-чипам с интегрированной поддержкой протокола iWARP и блоками разгрузки TCP/IP: пока ещё такие компоненты распространены не очень широко. Во всяком случае, в вашем ПК подобные изделия появятся не очень скоро (если вообще появятся). Нужно понимать, что на текущий момент модернизированная, улучшенная Ethernet, подходящая к применению, в том числе и в задачах реального времени, имеет мало общего с рынком массовых систем, на который опирается Ethernet мейнстримовская.

К счастью, сегодня в распоряжении разработчиков есть технология PCI Express, у которой подобные проблемы отсутствуют как класс. Протоколы TCP/IP в PCI Express не используются, в связи с чем на их обработку не тратятся дополнительные процессорные ресурсы, и отпадает необходимость в применении специальных аппаратных решений, разгружающих ЦП. Что касается накладных расходов или заголовков пакетов, то их негативное влияние существенным образом зависит от степени «зернистости» данных. Если данные передаются большими пакетами, относительный вклад заголовков невелик. При уменьшении длины пакетов влияние заголовков растёт. На уровне управления, где данные передаются в пакетах небольшого размера и обрабатываются ЦП, технология PCI Express оказывается заметно более эффективной, чем Ethernet.

Функциональность QoS

Во многих приложениях важна функциональность QoS (Quality of Service/качество и класс услуг передачи данных). В отличие от Ethernet технология PCI Express по самой своей природе обеспечивает гарантированную и безошибочную доставку пакетов. Она органически неспособна терять пакеты и не требует подтверждения приёма на каждом сегменте для обеспечения целостности данных. В случае с Ethernet всё в точности до наоборот: пакеты теряются, на каждом сегменте требуется подтверждение приёма. Доходит до того, что потери пакетов могут существенным образом ограничивать реальную пропускную способность каналов Ethernet. Поскольку аппаратное устранение ошибок в технологии Ethernet не предусмотрено, факте потери пакета вскрывается лишь тогда, когда данные достигают адресата, после чего генерируется запрос на повторную отправку источником всего пакета тем же путем. Частые потери пакетов с их повторной передачей приводят к уменьшению реальной пропускной способности коммуникационной среды.

Заглядывая в будущее

Убеждённые сторонники внутрисистемных сетей Ethernet уже очень скоро будут вынуждены переходить с Gigabit Ethernet на новый стандарт 10 Gigabit Ethernet, что повлечёт за собой дополнительные расходы. Необходимо отдавать себе отчёт, что, рассуждая сегодня о новых системах с объединительными панелями на базе технологии Ethernet, мы, фактически, говорим о системах с внутренними соединениями 10 Gigabit Ethernet. При переходе с Gigabit Ethernet на 10 Gigabit Ethernet инвестиции, сделанные в программное обеспечение, сохранятся, а вот оборудование придётся покупать новое и дорогое, поскольку, несмотря на почтенный возраст самой технологии Ethernet, сектор 10 Gigabit Ethernet ещё сравнительно молод и слаборазвит.

У PCI Express было больше времени, чем у 10 Gigabit Ethernet, чтобы устояться как технология и сформировать вокруг себя высококонкурентный рынок. Оборудование для PCI Express предлагается неизмеримо большим числом поставщиков, чем оборудование для 10 Gigabit Ethernet, что не может не сказываться на ценах.

Технология PCI Express создавалась с прицелом на однопроцессорные системы, что было одним из её главных недостатков по сравнению с Ethernet, которая всегда обладала способностью связать друг с другом ровно столько ЦП, сколько нужно. Появление непрозрачных мостов PCI Express устранило эту проблему, и сегодня технологию PCI Express можно с успехом использовать в многопроцессорных системах.

Несмотря на то, что PCI Express уже сегодня представляет собой одну из самых высокопроизводительных коммуникационных технологий, организация PCI-SIG (PCI Special Interest Group, www.pcisig.comPCI Express 2.0 пропускная способность одного элементарного канала PCI Express возросла до 5 Гбит/с, в 2009 году должна появиться спецификация PCI Express 3.0, где минимальная пропускная способность интерфейса PCI Express будет увеличена ещё вдвое – до 8 Гбит/с. С учётом того, что большинство используемых в настоящее время плат PCI Express имеют интерфейсы PCI Express x4 и PCI Express x8, можно ожидать, что уже в 2010 году, когда начнётся массовое внедрение спецификации PCI Express 3.0, пропускная способность типичного нового продукта с поддержкой PCI Express будет составлять 32/64 Гбит/с.

При этом все последующие версии шины PCI Express сохраняют и будут сохранять обратную совместимость с предыдущими. По умолчанию каждый интерфейсный компонент начинает работать на оригинальной частоте PCI Express, повышение частоты происходит лишь в том случае, когда выясняется, что более скоростная спецификация поддерживается на обоих концах канала. Поддержка элементарных каналов с разными скоростями при возможности объединения в один интерфейс 2, 4, 8, 12, 16 и 32 элементарных каналов делает технологию PCI Express чрезвычайно гибким и удобным инструментом для реализации текущих и перспективных проектов самого различного прикладного назначения.

Заключение

Несмотря на все достоинства и доминирующее положение Ethernet в секторе систем с объединительными панелями технология PCI Express уже смогла привлечь на свою сторону немалое число занятых в этом секторе разработчиков. Коммуникационная технология PCI Express характеризуется меньшими накладными расходами, обеспечивает меньшие задержки, дешевле в реализации и эксплуатации. Сторонники Ethernet могут указать на широчайшую распространённость своей технологии, однако сегодня PCI Express распространена не менее широко: заняв доминирующее положение на рынках ПК, серверов и ноутбуков, она начала активное проникновение в сектор систем на базе объединительных панелей. Всё больше и больше разработчиков приходят к выводу, что в тех приложениях, где требуется передавать пакеты небольших размеров и/или осуществлять интенсивную обработку передаваемых данных, лучше использовать не Ethernet, а PCI Express. Росту популярности PCI Express в системах с объединительными панелями способствуют поставщики аппаратных средств, предлагающие коммутаторы PCI Express с большим числом портов. Потенциал для роста доли PCI Express на этом рынке ещё далеко не исчерпан. Есть все основания полагать, что на фоне успешных внедрений PCI Express и дальнейшего развития этой технологии процесс перетекания экс-сторонников Ethernet в лагерь PCI Express будет продолжаться.

Напомним: PCI Express заявлена как основная внутренняя шина для персональных компьютеров на ближайшие 10-15 лет. Из чего немедленно следует, что она сможет занять и продолжительное время удерживать весьма значительные доли на большинстве смежных рынков. Так было с ISA и PCI, так должно быть с PCI Express. Это данность, судьба, от которой не уйти. Поддержку PCI Express несут в себе сотни миллионов чипсетов всех основных производителей. С шиной PCI Express умеют общаться Ethernet-контроллеры, графические адаптеры, дисковые контроллеры и практически все современные средства ввода-вывода. Наконец, для решений на базе PCI Express прекрасно подходит всё ПО, созданное за годы существования различных версий параллельного интерфейса PCI.

Можно заметить, что основополагающие принципы проектирования объединительных панелей меняются раз в 10-12 лет. Причины этого легко понять: именно с такой периодичностью происходит смена поколений внутренних шин для массовых систем. Задержка проникновения новых технологий из мира офиса в смежные секторы связана, в частности, с тем, что задачи в этих секторах обычно более сложные и требуют большего времени на разработку аппаратных и программных средств. Кроме того, «неофисные» изделия и системы имеют более длительный жизненный цикл. Если на рынке ПК и ноутбуков активная рыночная жизнь нового продукта продолжается полгода-год, то в промышленных, медицинских, транспортных, коммуникационных и оборонных приложениях оперируют сроками от 5 лет и выше. Это означает, что новые технологии в указанных прикладных областях могут внедряться не чаще, чем раз в пятилетку. Поскольку переход сегмента массовых систем на PCI Express успешно завершён – что вынуждены учитывать крупнейшие производители компонентов, для которых именно этот сегмент всегда был, есть и будет основным – у PCI Express просто нет иного выбора, как прочно утвердиться на рынке технологий для организации обмена данными по объединительным панелям. Иными словами, внутрисистемной Ethernet придётся потесниться.