Перейти к содержанию
    

Принять и ПАРАЛЛЕЛЬНО распарсить поток 10Гбит/с. Как решаются такие задачи?

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

Во блин :wacko:

Как я отстал от прогрессу.

Я думал что поток 10Гбит/с не сможет даже i7 в реалтайме "переварить".

И что это вообще очень сложная задача. Возможно не решаема так как я описал.

А оказывается сейчас с ней любой студент справится и даже DPDK (правда не знаю, что значит эта аббревиатура).

Ну если парсить 10Гигабитный поток в реалтайме в 1000 потоков - это рядовая задача, с которой даже студент справится, то смело буду закладывать такое решение в ТЗ :beer:

 

 

при проектировании в ПЛИС, нужно знать "сколько вешать в граммах", т.е. считать биты и такты.

ваша проблема в том, что вы рисуете 1000 одновременных обработчиков, без четкого понимания в их необходимости.

может, будет достаточно одного? или десяти? или ста? почему 1000? как считали и чем обосновываете необходимость?

Я уже говорил. Что есть 1000 ОДИНАКОВЫХ удаленных девайсов.

Поэтом алгоритм обработки данных, поступающих от них один и тот же.

 

krux

А по поводу всего остального .... Отвечу позже.

Мне нужно время, что "переварить" и осмыслить все что вы сказали.

Спасибо за большой и развёрнутый ответ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во блин :wacko:

Как я отстал от прогрессу.

Я думал что поток 10Гбит/с не сможет даже i7 в реалтайме "переварить".

И что это вообще очень сложная задача. Возможно не решаема так как я описал.

А оказывается сейчас с ней любой студент справится и даже DPDK (правда не знаю, что значит эта аббревиатура).

производительность DPDK на специфических задачах:

http://fast.dpdk.org/doc/perf/DPDK_16_11_I...ance_report.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

далее про память. в ПЛИС не надо ничего хранить, нужно всё обрабатывать "на лету". если по алгоритму обрабатывать "на лету" невозможно, и рисуется необходимость хранить - нужна внешняя память.

"На лету" обрабатывать - это значит за наносекунды закончить всю обработку?

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

 

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

Вы хотите сказать, что памяти, к которой ПАРАЛЛЕЛЬНО/ОДНОВРЕМЕННО могут обращаться 1000 узлов ПЛИС, не бывает? Ну т.е. невозможно, чтобы каждый схемный узел ПЛИС читал данные из своего дампа параллельно с 999-ю другими узлами, читающими из своих дампов?

Изменено пользователем Студент заборстроительного

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

"На лету" обрабатывать - это значит за наносекунды закончить всю обработку?

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

 

Вы хотите сказать, что памяти, к которой ПАРАЛЛЕЛЬНО/ОДНОВРЕМЕННО могут обращаться 1000 узлов ПЛИС, не бывает? Ну т.е. невозможно, чтобы каждый схемный узел ПЛИС читал данные из своего дампа параллельно с 999-ю другими узлами, читающими из своих дампов?

Да такое сделаеть что забор покрасить - берете 1000 FPGA к каждой цепляете свою DDR4/QDRII, 10G/100G роутите на каждую FPGA и вперед - считайте все в паралель. Делов то ...

 

 

Удачи! Rob.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

Да такое сделаеть что забор покрасить - берете 1000 FPGA к каждой цепляете свою DDR4/QDRII, 10G/100G роутите на каждую FPGA и вперед - считайте все в паралель. Делов то ...

 

 

Удачи! Rob.

 

Воблин :wacko:

 

А мне чуть выше писали, что это реализовать любой студент может.

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

 

И кому мне верить? :1111493779:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Воблин :wacko:

 

А мне чуть выше писали, что это реализовать любой студент может.

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

 

И кому мне верить? :1111493779:

Никому, (мне можно ...) -=

Где я написал что задачу решить нельзя ? Как раз вполне ПРАКТИЧНОЕ и реализуемое решение в полном соответствии поставленной задаче! Да к тому же и легко масштабируемое - вдруг Вам 10000 устройств надо будет обслуживать?

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне говорили, что можно обойтись одной (ОДНОЙ, Карл) ПЛИСиной.

Просто прошить её так, чтобы внутри неё было 1000 узлов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Мне говорили, что можно обойтись одной (ОДНОЙ, Карл) ПЛИСиной.

Просто прошить её так, чтобы внутри неё было 1000 узлов

Ааа... Ну если так то тогда Вам все ж придется как студенту, засесть за расчеты как выше советовал уважаемы krux. А может даже как прилежному студенту еще и доки по FPGA почитать :wacko: . Тогда не придется беспокоится заранее о 1000 головой гидр.. RAM. Скукота...

 

Эх! а можно было такое ТЗ сваять - домашний аналог Amazon F1 !

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

Ааа... Ну если так то тогда Вам все ж придется как студенту, засесть за расчеты как выше советовал уважаемы krux. А может даже как прилежному студенту еще и доки по FPGA почитать :wacko: . Тогда не придется беспокоится заранее о 1000 головой гидр.. RAM. Скукота...

 

Эх! а можно было такое ТЗ сваять - домашний аналог Amazon F1 !

 

Удачи! Rob.

:lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"На лету" обрабатывать - это значит за наносекунды закончить всю обработку?

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

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

для ПЛИС это тупиковый путь, и поэтому так не делают.

этот вычислительный алгоритм должен быть полностью перелопачен для того чтобы его можно было эффективно реализовать на ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

Ааа... Ну если так то тогда Вам все ж придется как студенту, засесть за расчеты как выше советовал уважаемы krux. А может даже как прилежному студенту еще и доки по FPGA почитать :wacko: . Тогда не придется беспокоится заранее о 1000 головой гидр.. RAM. Скукота...

 

Эх! а можно было такое ТЗ сваять - домашний аналог Amazon F1 !

 

Удачи! Rob.

Ваш сарказм означает, что насчёт "любой студент сможет" и "можно обойтись одной ПЛИСиной" меня тупо обманули?

Вы мне просто скажите одно: можно ли на ПЛИС реализовать такую память, к которой можно было с одной стороны обращаться как к единому целому, а с другой как к 1000 независимых дампов памяти в 1000 потоков одновременно?

 

Если нет, то как на серверах обрабатываются потоки даже не 10Гбит/с, а в терабиты и более?

Как там паралеллят обработку принятых данных?

Изменено пользователем Студент заборстроительного

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ваш сарказм означает, что насчёт "любой студент сможет" и "можно обойтись одной ПЛИСиной" меня тупо обманули?
Я бы сказал что тонко пошутили :)

Вы мне просто скажите одно: можно ли на ПЛИС реализовать такую память, к которой можно было с одной стороны обращаться как к единому целому, а с другой как к 1000 независимых дампов памяти в 1000 потоков одновременно?
Можно!

 

Если нет, то как на серверах обрабатываются потоки даже не 10Гбит/с, а в терабиты и более?

Как там паралеллят обработку принятых данных?

Вы сами уже ответили "... паралеллят обработку принятых данных ..." и обычно сервер для "любого студента" выглядит как на картинке внизу - на таком запросто(тонкая шутка!) можно обрабатывать поток 4 x 10G Ethernet.

Успехов! Rob.

Supermicro-X9DRH-7TF-Block-Diagram.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я на всякий случай добавлю, вдруг поможет - если одинаковые пакеты приходят и на них формируются "ответки" по одному алгоритму, то может можно и не параллелить - можно отвечать на фреймы, используя очередь, это если вдруг формирование "ответок" реализовано не в процессорном стеке а в железе. Я делал нечто похожее. Все зависит от сложности формирования этих самых "ответок"(точнее throughput этого алгоритма). А, ну собственно примерно это уже и советовал krux

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я на всякий случай добавлю, вдруг поможет - если одинаковые пакеты приходят и на них формируются "ответки" по одному алгоритму, то может можно и не параллелить - можно отвечать на фреймы, используя очередь,

Не успеет.

Данные поступают со скоростью 10 Гбит/с, а обрабатываются (если обрабатывать в один поток) со скоростью 10 Мбит/сек

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не успеет.

Данные поступают со скоростью 10 Гбит/с, а обрабатываются (если обрабатывать в один поток) со скоростью 10 Мбит/сек

Я чего-то не понимаю, но откуда Вы взяли 1000 потоков ? Данные то приходят последовательно.... Не думаю, что одновременно данные приходят сразу от 1000 устройств. А раз данные приходят последовательно, то почему бы их так-же последовательно не обрабатывать ?

Расписали бы примерную блок схему проекта. И как замешаны данные в потоке.

Да и отдавать данные Вы сможете так-же последовательно....

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...