реклама на сайте
подробности

 
 
> Принять и ПАРАЛЛЕЛЬНО распарсить поток 10Гбит/с. Как решаются такие задачи?
Студент заборстр...
сообщение Dec 23 2017, 11:12
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Поясню.
По езернету принимаем данные об состоянии 1000 ОДИНАКОВЫХ распределенных устройств на скорости 10 Гбит/с по оптоволокну, обрабатываем и формируем "ответку". Которую тоже передаем по оптоволоку на 10Гбит/с
Т.к. устройства одинаковые, то алгоритм работы и логика обработки дампа от каждого устройства одинакова.

Отсюда возникает желание обрабатывать все дампы ПАРАЛЛЕЛЬНО.

Отсюда в голове появляется слово "ПЛИС".

Но возникает вопрос "Как?"

Я вижу это так. Есть память. Допустим 1 Мегабайт.
В эту память пишем принятые дампы из принятых пакетов, из неё же грузим данные в пакеты.
Тут пока ничего не обычного.

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

Пруфит? Увеличение скорости реакции в 1000 раз по сравнению с последовательной обработкой на MCU


Я объяснил несколько шероховато, поскольку не специалист по ПЛИС.

Меня интересует это реализуемо на ПЛИС.
И есть ли такая память, которая позволяет использовать её одновременно как единый блок и как совокупность дампов с независимым доступом к каждому дампу?

Т.е. при сериализации/десериализации память используется как неделимый блок.
А при обработке данных в памяти она должна использоваться ПЛИСиной как набор из 1000 независимых дампов с независимым доступом.

Такое есть в природе?

Или описанные мной задачи решаются как-то иначе?

Просто обычный MCU даже i7 не успеет обработать поток 10Гбит/сек (а есть мысли сделать даже 100Гб/с).
Нужно как-то распараллеливать обработку

А как?

Сообщение отредактировал Студент заборстроительного - Dec 23 2017, 11:07
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Inanity
сообщение Jan 2 2018, 17:37
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Алгоритм обработки для каждого из 1000 узлов одинаковый?
Go to the top of the page
 
+Quote Post
Студент заборстр...
сообщение Jan 2 2018, 17:40
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Цитата(Inanity @ Jan 2 2018, 20:37) *
Алгоритм обработки для каждого из 1000 узлов одинаковый?

Абсолютно.
Потому что удаленные устройства относятся к одному и тому же типу.
Но хотя алгоритм одинаковый устройства могут находится в разных состояниях (автомат состояний)
Поэтому для одного узла может потребоваться сделать одно, а для другого - другое (потому что он находится в другом состоянии)
Go to the top of the page
 
+Quote Post
Inanity
сообщение Jan 2 2018, 18:35
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(Студент заборстроительного @ Jan 2 2018, 20:40) *
Абсолютно.
Потому что удаленные устройства относятся к одному и тому же типу.
Но хотя алгоритм одинаковый устройства могут находится в разных состояниях (автомат состояний)
Поэтому для одного узла может потребоваться сделать одно, а для другого - другое (потому что он находится в другом состоянии)


1. Отлично, уже что-то. В любом случае будем считать, что можно написать такой алгоритм обработки, чтобы он мог обслужить любое из устройств, в любом из их внутренних состояний.
Итого мы получили некоторый обработчик (будем называть его так). Этот обработчик по своей сути - некоторая логическая схема, включающая в себя конечный автомат, буфер памяти, умножители и прочие функции, которые необходимы для обработки.

2. Итого, что мы имеем. Поток 10Gb разбирается (десериализируется) и раскидывается на N-ное количество обработчиков, далее, на выходе от обработчиков результат собирается обратно (сериализируется) в 10Gb. Теперь нам нужно понять сколько нужно таких обработчиков, чтобы канал не захлебнулся (когда новые данные поступают, а обработка старых не закончилась).
В идеальном варианте обработчик должен представлять из себя конвейер, который на каждом такте будет принимать новые данные, D - тактов обрабатывать и в конце выдавать на каждом такте результат. Другими словами у вас получится задержка на обработке в количестве D-тактов.

3. Теперь, чтобы эта мясорубка завелась, нужно прикинуть из чего состоит один обработчик, какие ему нужны ресурсы, сколько тактов уйдёт на обработку одного блока данных от одного устройства. Основные ресурсы для ОДНОГО обработчика:

-> количество памяти
-> количество FF и LUT (в терминалогии ПЛИС это регистры и логические функции)
-> количество DSP блоков, они нужны для математики, если она у вас есть (умножение/деление/корень и тд). Математику лучше делать на DSP иначе потратите много FF и LUT.

Ресурсы любой ПЛИС ограничены, как вы понимаете. Чем "легче" будет один обработчик, тем больше их можно будет впихнуть в параллельную обработку, чтобы справиться с 10Gb данных.
Если предположить, один обработчик работает с производительностью 100Мбит, то таких нужно будет 100 штук. Чтобы уместить 100 обработчиков + логику для разборки/сборки этого потока, нужно понимать сколько весит один обработчик, т.е. возвращаемся к пункту 3.



Я понимаю, что у вас не было опыта работы с ПЛИС, но если вы скажете, что обработчик должен, например:

1. иметь буфер памяти на 1КБ
2. Сделать 10-20 проверок (логических сравнений).
3. пару раз умножить числа разрядностью N x M с аккумуляцией результата где-то...
4. Взять квадратный корень из результата...
5. сложить результат с какой-нибудь фигнёй и таким образом сформировать итоговый результат.

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

Иначе - это всё разговоры ни о чём. Если ваш алгоритм требует 100.000 тактов сложной математики, то это ни в какую ПЛИС не влезет с такой пропускной способностью...



Сообщение отредактировал Inanity - Jan 2 2018, 18:48
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Студент заборстроительного   Принять и ПАРАЛЛЕЛЬНО распарсить поток 10Гбит/с. Как решаются такие задачи?   Dec 23 2017, 11:12
- - one_eight_seven   https://www.amazon.com/Computer-Architectur...y/dp...   Dec 23 2017, 11:45
|- - Студент заборстроительного   Цитата(one_eight_seven @ Dec 23 2017, 14...   Dec 23 2017, 12:09
|- - one_eight_seven   Цитата(Студент заборстроительного @ Dec 23 20...   Dec 23 2017, 13:36
- - _4afc_   Цитата(Студент заборстроительного @ Dec 23 20...   Dec 23 2017, 12:09
|- - Студент заборстроительного   Цитата(_4afc_ @ Dec 23 2017, 15:09) Берёт...   Dec 23 2017, 12:13
- - Студент заборстроительного   Цитата(one_eight_seven @ Dec 23 2017, 16...   Dec 23 2017, 18:28
- - vvvv   QUOTE (Студент заборстроительного @ Dec 23 20...   Dec 23 2017, 18:41
|- - Студент заборстроительного   Цитата(vvvv @ Dec 23 2017, 21:41) То что ...   Dec 23 2017, 21:14
|- - vvvv   QUOTE (jcxz @ Dec 24 2017, 01:03) А может...   Dec 24 2017, 03:56
|- - Tpeck   Цитата(vvvv @ Dec 24 2017, 06:56) Как люб...   Dec 29 2017, 08:37
- - krux   если потери не сильно критичны, то даже DPDK с 10 ...   Dec 24 2017, 03:30
|- - Студент заборстроительного   Цитата(krux @ Dec 24 2017, 06:30) если по...   Dec 24 2017, 14:15
|- - krux   Цитата(Студент заборстроительного @ Dec 24 20...   Dec 24 2017, 16:33
- - krux   при проектировании в ПЛИС, нужно знать "сколь...   Dec 24 2017, 04:29
|- - Mad_max   Поддержу krux'а подходить нужно более системно...   Dec 24 2017, 08:20
|- - Студент заборстроительного   Цитата(krux @ Dec 24 2017, 07:29) далее п...   Dec 27 2017, 18:44
|- - RobFPGA   Приветствую! Цитата(Студент заборстроительног...   Dec 27 2017, 19:16
||- - Студент заборстроительного   Цитата(RobFPGA @ Dec 27 2017, 22:16) Прив...   Dec 27 2017, 19:57
||- - RobFPGA   Приветствую! Цитата(Студент заборстроительног...   Dec 27 2017, 20:09
|- - krux   Цитата(Студент заборстроительного @ Dec 27 20...   Dec 28 2017, 04:11
- - Студент заборстроительного   Мне говорили, что можно обойтись одной (ОДНОЙ, Кар...   Dec 27 2017, 20:28
|- - RobFPGA   Приветствую! Цитата(Студент заборстроительног...   Dec 27 2017, 21:07
|- - TRILLER   Цитата(RobFPGA @ Dec 28 2017, 00:07) Прив...   Dec 27 2017, 22:05
|- - Студент заборстроительного   Цитата(RobFPGA @ Dec 28 2017, 00:07) Прив...   Dec 28 2017, 05:05
|- - RobFPGA   Приветствую! Цитата(Студент заборстроительного...   Dec 28 2017, 06:38
- - Lutovid   Я на всякий случай добавлю, вдруг поможет - если о...   Dec 28 2017, 11:43
|- - Студент заборстроительного   Цитата(Lutovid @ Dec 28 2017, 14:43) Я на...   Dec 28 2017, 21:00
|- - Flip-fl0p   Цитата(Студент заборстроительного @ Dec 29 20...   Dec 28 2017, 21:33
|- - Студент заборстроительного   Цитата(Flip-fl0p @ Dec 29 2017, 00:3...   Dec 29 2017, 03:49
|- - Flip-fl0p   Цитата(Студент заборстроительного @ Dec 29 20...   Dec 29 2017, 08:24
|- - Студент заборстроительного   Цитата(Flip-fl0p @ Dec 29 2017, 11:2...   Dec 29 2017, 15:05
- - Inanity   Студент заборстроительного... 1. Что значит 10Gb? ...   Dec 29 2017, 15:45
|- - Flip-fl0p   Цитата(Inanity @ Dec 29 2017, 18:45) Студ...   Dec 29 2017, 16:31
|- - Студент заборстроительного   Цитата(Inanity @ Dec 29 2017, 18:45) Студ...   Dec 29 2017, 18:54
|- - Flip-fl0p   Цитата(Студент заборстроительного @ Dec 29 20...   Dec 29 2017, 19:12
|- - zombi   Цитата(Студент заборстроительного @ Dec 29 20...   Dec 29 2017, 21:23
|- - krux   Цитата(Студент заборстроительного @ Dec 29 20...   Dec 30 2017, 04:36
||- - Студент заборстроительного   Цитата(krux @ Dec 30 2017, 07:36) ничего ...   Dec 30 2017, 07:45
||- - Mad_max   Студент, трудно, конечно, проникнуться вашими выкл...   Dec 30 2017, 08:34
||- - Студент заборстроительного   Mad_max Можно конечно поизвращаться с оптимизацией...   Dec 30 2017, 09:44
||- - iosifk   Цитата(Студент заборстроительного @ Dec 30 20...   Dec 30 2017, 10:09
||- - Студент заборстроительного   Цитата(iosifk @ Dec 30 2017, 13:09) немно...   Dec 30 2017, 11:26
||- - Flip-fl0p   Цитата(Студент заборстроительного @ Dec 30 20...   Dec 30 2017, 11:50
||- - RobFPGA   Приветствую! Цитата(Студент заборстроительног...   Dec 30 2017, 13:39
||- - iosifk   Цитата(RobFPGA @ Dec 30 2017, 16:39) Ну и...   Dec 30 2017, 13:46
||- - Студент заборстроительного   Цитата(RobFPGA @ Dec 30 2017, 16:39) В та...   Dec 30 2017, 14:34
||- - RobFPGA   Приветствую! Цитата(Студент заборстроительного...   Dec 30 2017, 15:08
||- - Александр77   Цитата(Студент заборстроительного @ Dec 30 20...   Dec 30 2017, 15:09
|||- - Студент заборстроительного   Цитата(Александр77 @ Dec 30 2017, 18:09) ...   Dec 30 2017, 15:14
||||- - Александр77   Цитата(Студент заборстроительного @ Dec 30 20...   Dec 30 2017, 15:40
|||- - iosifk   Цитата(Александр77 @ Dec 30 2017, 18:09) ...   Dec 30 2017, 15:27
|||- - Студент заборстроительного   Цитата(iosifk @ Dec 30 2017, 18:27) Мне к...   Dec 30 2017, 16:03
|||- - Flip-fl0p   Цитата(Студент заборстроительного @ Dec 30 20...   Dec 30 2017, 16:23
||||- - Александр77   Цитата(Flip-fl0p @ Dec 30 2017, 19:2...   Dec 30 2017, 16:39
|||||- - vvvv   QUOTE (Александр77 @ Dec 30 2017, 19:39) ...   Dec 30 2017, 16:58
||||- - Студент заборстроительного   Цитата(Flip-fl0p @ Dec 30 2017, 19:2...   Dec 30 2017, 21:23
||||- - Flip-fl0p   Цитата(Студент заборстроительного @ Dec 31 20...   Dec 30 2017, 21:56
||||- - Александр77   Цитата(Flip-fl0p @ Dec 31 2017, 00:5...   Dec 31 2017, 05:06
||||- - jojo   Цитата(Александр77 @ Dec 31 2017, 09:06) ...   Dec 31 2017, 06:18
|||- - RobFPGA   Приветствую! Цитата(Студент заборстроительного...   Dec 30 2017, 17:00
||- - zombi   Цитата(Студент заборстроительного @ Dec 30 20...   Dec 30 2017, 22:31
|- - des333   Цитата(Студент заборстроительного @ Dec 29 20...   Jan 2 2018, 21:19
|- - zombi   Цитата(des333 @ Jan 3 2018, 00:19) Автор ...   Jan 2 2018, 21:46
|- - Студент заборстроительного   Цитата(des333 @ Jan 3 2018, 00:19) ни в к...   Jan 2 2018, 22:51
|- - des333   Цитата(Студент заборстроительного @ Jan 3 201...   Jan 2 2018, 22:59
- - toshas   Предложу такой вариант: раз пакет 64 байта, делает...   Dec 30 2017, 11:51
- - one_eight_seven   Вы нуб, но почему-то решили, что можете судить по ...   Dec 30 2017, 21:56
|- - Студент заборстроительного   Цитата(one_eight_seven @ Dec 31 2017, 00...   Jan 2 2018, 12:04
|- - Александр77   Цитата(Студент заборстроительного @ Jan 2 201...   Jan 2 2018, 16:09
|- - Студент заборстроительного   Цитата(Александр77 @ Jan 2 2018, 19:09) П...   Jan 2 2018, 17:21
|- - Александр77   Цитата(Студент заборстроительного @ Jan 2 201...   Jan 2 2018, 18:01
|- - Студент заборстроительного   Цитата(Александр77 @ Jan 2 2018, 21:01) В...   Jan 2 2018, 19:45
- - svedach   Давайте ответим человеку. Каждый свое мнение. Он п...   Dec 31 2017, 08:03
|- - zombi   Цитата(svedach @ Dec 31 2017, 12:03) Отве...   Dec 31 2017, 09:02
- - Александр77   Это несправедливо, требовать ответа только с вариа...   Dec 31 2017, 10:21
- - vvvv   Вот одного не пойму или я полный идиот и чего то ...   Dec 31 2017, 11:15
|- - Александр77   Цитата(vvvv @ Dec 31 2017, 14:15) Что в в...   Dec 31 2017, 11:31
||- - zombi   Цитата(Александр77 @ Dec 31 2017, 15:31) ...   Dec 31 2017, 11:57
||- - Александр77   Цитата(zombi @ Dec 31 2017, 14:57) А заче...   Dec 31 2017, 12:23
|- - zombi   Цитата(vvvv @ Dec 31 2017, 15:15) ...с эт...   Dec 31 2017, 11:33
|- - blackfin   Цитата(zombi @ Dec 31 2017, 14:33) Оказыв...   Dec 31 2017, 11:46
- - syoma   Ну в принципе ТС указал конкретные максимальные тр...   Dec 31 2017, 13:55
|- - Flip-fl0p   Цитата(syoma @ Dec 31 2017, 16:55) Ну в п...   Dec 31 2017, 13:57
|- - Александр77   Цитата(syoma @ Dec 31 2017, 16:55) ... В ...   Dec 31 2017, 14:29
|- - syoma   Цитата(Александр77 @ Dec 31 2017, 16:29) ...   Dec 31 2017, 14:43
- - Александр77   Это все наши домыслы! Одно дело фильтрация, др...   Dec 31 2017, 14:52
- - Plain   Цитата(Студент заборстроительного @ Dec 23 20...   Dec 31 2017, 15:11
- - syoma   ИМХУется мне, что ТС вообще будет достаточно одног...   Jan 2 2018, 19:07
- - krux   с таким подходом - НЕТ. дело в том что я был в по...   Jan 2 2018, 19:55
- - Студент заборстроительного   Цитата(krux @ Jan 2 2018, 22:55) дело в т...   Jan 3 2018, 12:41
- - Inanity   Цитата(Студент заборстроительного @ Jan 3 201...   Jan 3 2018, 13:32
- - RobFPGA   Приветствую! Цитата(Inanity @ Jan 3 2018...   Jan 3 2018, 14:15
- - Студент заборстроительного   Цитата(Inanity @ Jan 3 2018, 16:32) Такая...   Jan 3 2018, 17:40
- - Александр77   Цитата(Студент заборстроительного @ Jan 3 201...   Jan 3 2018, 18:51
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 03:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01515 секунд с 7
ELECTRONIX ©2004-2016