Jump to content

    

Индустриальный 10GB Ethernet Switch на ПЛИС

Это не вопрос и не проблема, а чисто поговорить.

У нас сейчас пошел жесткий оптический Ethernet для реалтаймового Process Bus в системе управления. PRP, IEC61850, PTP для синхронизации.  EtherCAT уже не так прет.

Сегодняшние 20х 1G каналов наш Virtex-7 переваривает очень легко. Так как в сети оборудование почти все свое, хотим перейти на 10G. Ultrascale под рукой есть. Тот же Samtec предлагает вкусные Firefly в индустриальном диапазоне температур и даже нашли уже тех, кто готов на них FMC+ модули с 24х 10G дуплексными каналами сделать.

Но оказалось, что есть нюанс: индустриальных 10G Ethernet свичей нету. Парочка есть, но там только четыре 10G порта. А нам надо бы как минимум 12.

Вот и пришла идея взять ПЛИСину, прикрутить к ней оптическую FMC+ c 24-мя каналами Firefly, да забебехать простенький 10G Ethernet switch. Все это можно будет легко засунуть в индустриальщину, если взять подходящую плату. А если постараться, то даже cut-through можно замутить, вместо обычных store-and-forward - еще и задержки уменьшатся.

Как вам такая идея? Смотрю по статьям - народ все больше и больше понимает, что ПЛИС в этом деле стают очень интересной и полезной штукой. 

Share this post


Link to post
Share on other sites

Вполне себе вариант и без ультраскейлов.

Share this post


Link to post
Share on other sites

Приветствую!

Вполне  рабочая идея. Правда решение такое получится не самое дешевое но это и естественно. Получится этакой hand-made metamako switch :biggrin:

Хотя  полносвязная матрица 24х24  на 10G потребует серьезной буферной памяти и немало работы. Понятное дело если делать для себя  то можно и "сэкономить" на  функционале или совместимости со стандартами. Но это как и плюсы/минусы  такой работы надо тщательно взвешивать.  

Удачи! Rob.

Share this post


Link to post
Share on other sites

@syoma Здравствуйте, очень вкусные слова вы пишете =)

Сделать-то можно, только цель какая? Какую проблему решит 10G по сравнению с существующим дизайном? Может, готовых решений нет потому, что они никому не нужны?

Я высоко ценю высокотехнологичные, современные решения, но внедрять их без четкого понимания "ЗАЧЕМ?" - не стал бы, при всем уважении...

Share this post


Link to post
Share on other sites
В 17.01.2020 в 21:51, syoma сказал:

Но оказалось, что есть нюанс: индустриальных 10G Ethernet свичей нету. Парочка есть, но там только четыре 10G порта. А нам надо бы как минимум 12.

Вот и пришла идея взять ПЛИСину, прикрутить к ней оптическую FMC+ c 24-мя каналами Firefly, да забебехать простенький 10G Ethernet switch.

А может взять какой-нибудь ASIC от Broadcom? У них несколько линеек 10G+ свичей, должны быть варианты намного дешевле ПЛИС. Ну и тайм2маркет совсем другой. 

Share this post


Link to post
Share on other sites
On 1/17/2020 at 9:51 PM, syoma said:

взять ПЛИСину, прикрутить к ней оптическую FMC+ c 24-мя каналами Firefly, да забебехать

дико извиняюсь что лезу в что не понимаю, а вот такое вам не нужно ? https://aliexpress.ru/item/4000611407256.html?spm=a2g0v.12010612.8148356.1.a2777baeGYK2OW

Еще на 4 канала есть у него же, но по какой-то совершенно смешной цене https://aliexpress.ru/item/32907109444.html?spm=a2g0o.detail.1000013.1.26dd64b6UmVi8P&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.146401.0&scm_id=1007.13339.146401.0&scm-url=1007.13339.146401.0&pvid=b3e8b54c-e56b-4256-a015-e3f69d00c376

ЗЫ посмотрел на стоимость XCVU9P-1FLGC2104I из первой борды и пришел к выводу, что ее стоимость еще более смешная. :crazy: 

" меняю FPGA на квартиру" 

Quote

 

 

Share this post


Link to post
Share on other sites
On 1/19/2020 at 1:26 AM, pavlovconst said:

 Может, готовых решений нет потому, что они никому не нужны?

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

On 1/19/2020 at 1:26 AM, pavlovconst said:

Сделать-то можно, только цель какая? Какую проблему решит 10G по сравнению с существующим дизайном?

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

15 hours ago, Flood said:

А может взять какой-нибудь ASIC от Broadcom? У них несколько линеек 10G+ свичей, должны быть варианты намного дешевле ПЛИС. Ну и тайм2маркет совсем другой. 

Смысл в том, что нам не нужен чип или ASIC. Нам нужна уже готовая плата. И тайм то маркет у нас тоже совсем другой. Еще меньше. Дешевле/дороже по железу не сильно играют.

Quote

дико извиняюсь что лезу в что не понимаю, а вот такое вам не нужно ? https://aliexpress.ru/item/4000611407256.html?spm=a2g0v.12010612.8148356.1.a2777baeGYK2OW

ЗЫ посмотрел на стоимость XCVU9P-1FLGC2104I из первой борды и пришел к выводу, что ее стоимость еще более смешная. :crazy: 

Ну, по принципу работы - да, это примерно то, что и нужно по железу. Но на Алиекспрессе такие вещи, естественно, не покупаются.

Share this post


Link to post
Share on other sites
On 1/17/2020 at 8:51 PM, syoma said:

Сегодняшние 20х 1G каналов наш Virtex-7 переваривает очень легко. Так как в сети оборудование почти все свое, хотим перейти на 10G. Ultrascale под рукой есть.

Ой ли? На Virtex-7 вы полноценное в состянии коммутировать ажно 20 гигабитных каналов? По полной выкладе? Разгребая/проверяя/анализируя заголовки и тело, поднимая сложнючую сигнализацию типа H.248? Строя и предсказывая коммутационные таблицы и трафик по разным направлениям, с использованием совсем не тривиальных алгоритмов? Ой, что не верится мне ...

А по поводу "десятки", во-первых, 20 "единичек" к здоровому камню уровню Виртекс-7/Стратикс-4 прикрутить не проблема. А вот где вы 12 phy на десятку в одной плисине возъмёте? Или если ставить несколько камней уровня "Ультраскэйл", то, простите, сколько ж такой девайс-то стоить будет? Если вы там гос.деньги, как водится, пилите - понятно. Но на ком.рынке - это, по-моему, утопия.

И, наконец, сложность такой разработки и, плюс, разгребание всего, что я выше написал, но уже когда это всё летает внутри кристалла на 156МГц по 72 верёвкам. Думаете справитесь с такой задачкой?

Edited by Kluwer

Share this post


Link to post
Share on other sites
11 minutes ago, Kluwer said:

Разгребая/проверяя/анализируя заголовки и тело, поднимая сложнючую сигнализацию типа H.248?

Как-то я в постановке задачи не увидел подъема выше L2...

Share this post


Link to post
Share on other sites

Приветствую!

17 minutes ago, Kluwer said:

А вот где вы 12 phy на десятку в одной плисине возъмёте?

Так сейчас 32-48-64-96-120 каналов на 16/25/32 Gbit в одном чипе  V/K Ultrascale  обычное дело.  

Удачи! Rob.

Share this post


Link to post
Share on other sites
1 hour ago, Kluwer said:

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

В том, то и дело, что как выше сказали, мне выше L2 особо не нужно. Надо только MACи разбирать, да на нужные порты перенаправлять. Единственное, что есть требование примитивного VLAN - чтобы ограничить броадкастинк по портам и трафик на нужные порты направлять, но я и тут думаю без L3 обойтись - мы только самую примитивщину используем, без всяких заморочек с резервацией полосы и прочего. А еще хочу шедулинг по TSN - но это хотелка очень-очень отдаленного будущего.

Quote

Ой ли? На Virtex-7 вы полноценное в состянии коммутировать ажно 20 гигабитных каналов?

Сорри, если неправильно поняли. У меня Virtex-7 в сегодняшнем виде выглядит как 20 сетевых плат с гигабитным интерфейсом каждая. Т.е. коммутации внутри ПЛИС между ними нет (кроме PRP на два порта) - они работают как бы независимо на прием и передачу в разных сетях и только потом уже между собой. И все это работает со стандартными индустриальными 1G свичами.

1 hour ago, Kluwer said:

А вот где вы 12 phy на десятку в одной плисине возъмёте? Или если ставить несколько камней уровня "Ультраскэйл", то, простите, сколько ж такой девайс-то стоить будет? Если вы там гос.деньги, как водится, пилите - понятно. Но на ком.рынке - это, по-моему, утопия.

Я не очень понял проблему. У меня не гос.деньги и это для внутреннего использования в системах управления, которые стоят пару лимонов по железу и стоимость 10 ПЛИС особо не влияет.

Share this post


Link to post
Share on other sites

Приветствую!

13 minutes ago, syoma said:

В том, то и дело, что как выше сказали, мне выше L2 особо не нужно. Надо только MACи разбирать, да на нужные порты перенаправлять

Такой функционал без проблем можно в один чип засунуть. Я уже кидал ссылку на metamako (Arista 7130K series) -  на одном древнем Virtex7 до 48 портов 10G.

Удачи! Rob.

Share this post


Link to post
Share on other sites
5 minutes ago, RobFPGA said:

Приветствую!

Такой функционал без проблем можно в один чип засунуть. Я уже кидал ссылку на metamako (Arista 7130K series) -  на одном древнем Virtex7 до 48 портов 10G.

Удачи! Rob.

Сомневаюсь насчёт 10x10G(не говоря уж о 48) в одной 7-ке.. Если можно терять данные и никак их не буферизировать то да, можно. Но вот даже в 2xDDR3_1866 100G в дуплексе ну никак не пролазит. 96 да, а 100 нет.
Стало быть, это либо лживо "маркетингово" обеспечивать много портов, либо несколько кристаллов.
U+ в этом плане повеселее будет.

Share this post


Link to post
Share on other sites

Приветствую!

22 minutes ago, TRILLER said:

Сомневаюсь насчёт 10x10G(не говоря уж о 48) в одной 7-ке.. Если можно терять данные и никак их не буферизировать то да, можно. Но вот даже в 2xDDR3_1866 100G в дуплексе ну никак не пролазит. 96 да, а 100 нет.
Стало быть, это либо лживо "маркетингово" обеспечивать много портов, либо несколько кристаллов.

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

Удачи! Rob.

Share this post


Link to post
Share on other sites
46 минут назад, syoma сказал:

Сорри, если неправильно поняли. У меня Virtex-7 в сегодняшнем виде выглядит как 20 сетевых плат с гигабитным интерфейсом каждая.

Вопрос чуть в сторону - при реализации 20-и портов что происходит с частотными доменами портов? Можно ли получить единый домен для всех портов уже на уровне PHY, или они будут группироваться по-квадово? Если можно для всех, то достаточно ли для этого синхронизированных внешних рефклоков?

Интересно как для 1Гбит (CPLL),  так и для случая 10Гбит (QPLL).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now