Студент заборстроительного 0 24 декабря, 2017 Опубликовано 24 декабря, 2017 · Жалоба если потери не сильно критичны, то даже DPDK с 10 Гбитами справится, без необходимости изучения ПЛИС. Во блин Как я отстал от прогрессу. Я думал что поток 10Гбит/с не сможет даже i7 в реалтайме "переварить". И что это вообще очень сложная задача. Возможно не решаема так как я описал. А оказывается сейчас с ней любой студент справится и даже DPDK (правда не знаю, что значит эта аббревиатура). Ну если парсить 10Гигабитный поток в реалтайме в 1000 потоков - это рядовая задача, с которой даже студент справится, то смело буду закладывать такое решение в ТЗ :beer: при проектировании в ПЛИС, нужно знать "сколько вешать в граммах", т.е. считать биты и такты. ваша проблема в том, что вы рисуете 1000 одновременных обработчиков, без четкого понимания в их необходимости. может, будет достаточно одного? или десяти? или ста? почему 1000? как считали и чем обосновываете необходимость? Я уже говорил. Что есть 1000 ОДИНАКОВЫХ удаленных девайсов. Поэтом алгоритм обработки данных, поступающих от них один и тот же. krux А по поводу всего остального .... Отвечу позже. Мне нужно время, что "переварить" и осмыслить все что вы сказали. Спасибо за большой и развёрнутый ответ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 24 декабря, 2017 Опубликовано 24 декабря, 2017 · Жалоба Во блин Как я отстал от прогрессу. Я думал что поток 10Гбит/с не сможет даже i7 в реалтайме "переварить". И что это вообще очень сложная задача. Возможно не решаема так как я описал. А оказывается сейчас с ней любой студент справится и даже DPDK (правда не знаю, что значит эта аббревиатура). производительность DPDK на специфических задачах: http://fast.dpdk.org/doc/perf/DPDK_16_11_I...ance_report.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Студент заборстроительного 0 27 декабря, 2017 Опубликовано 27 декабря, 2017 (изменено) · Жалоба далее про память. в ПЛИС не надо ничего хранить, нужно всё обрабатывать "на лету". если по алгоритму обрабатывать "на лету" невозможно, и рисуется необходимость хранить - нужна внешняя память. "На лету" обрабатывать - это значит за наносекунды закончить всю обработку? Не. Не получится. На обработку где-то несколько тысяч тактов уйдет. доступ в память - всегда "бутылочное горлышко" с точки зрения пропускной способности. Вы хотите сказать, что памяти, к которой ПАРАЛЛЕЛЬНО/ОДНОВРЕМЕННО могут обращаться 1000 узлов ПЛИС, не бывает? Ну т.е. невозможно, чтобы каждый схемный узел ПЛИС читал данные из своего дампа параллельно с 999-ю другими узлами, читающими из своих дампов? Изменено 27 декабря, 2017 пользователем Студент заборстроительного Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 33 27 декабря, 2017 Опубликовано 27 декабря, 2017 · Жалоба Приветствую! "На лету" обрабатывать - это значит за наносекунды закончить всю обработку? Не. Не получится. На обработку где-то несколько тысяч тактов уйдет. Вы хотите сказать, что памяти, к которой ПАРАЛЛЕЛЬНО/ОДНОВРЕМЕННО могут обращаться 1000 узлов ПЛИС, не бывает? Ну т.е. невозможно, чтобы каждый схемный узел ПЛИС читал данные из своего дампа параллельно с 999-ю другими узлами, читающими из своих дампов? Да такое сделаеть что забор покрасить - берете 1000 FPGA к каждой цепляете свою DDR4/QDRII, 10G/100G роутите на каждую FPGA и вперед - считайте все в паралель. Делов то ... Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Студент заборстроительного 0 27 декабря, 2017 Опубликовано 27 декабря, 2017 · Жалоба Приветствую! Да такое сделаеть что забор покрасить - берете 1000 FPGA к каждой цепляете свою DDR4/QDRII, 10G/100G роутите на каждую FPGA и вперед - считайте все в паралель. Делов то ... Удачи! Rob. Воблин А мне чуть выше писали, что это реализовать любой студент может. А по Вашему получается, что теоретически решить задачу теоретически вроде бы можно, но вот практически задача не имеет решения. И кому мне верить? :1111493779: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 33 27 декабря, 2017 Опубликовано 27 декабря, 2017 · Жалоба Приветствую! Воблин А мне чуть выше писали, что это реализовать любой студент может. А по Вашему получается, что теоретически решить задачу теоретически вроде бы можно, но вот практически задача не имеет решения. И кому мне верить? :1111493779: Никому, (мне можно ...) -= Где я написал что задачу решить нельзя ? Как раз вполне ПРАКТИЧНОЕ и реализуемое решение в полном соответствии поставленной задаче! Да к тому же и легко масштабируемое - вдруг Вам 10000 устройств надо будет обслуживать? Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Студент заборстроительного 0 27 декабря, 2017 Опубликовано 27 декабря, 2017 · Жалоба Мне говорили, что можно обойтись одной (ОДНОЙ, Карл) ПЛИСиной. Просто прошить её так, чтобы внутри неё было 1000 узлов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 33 27 декабря, 2017 Опубликовано 27 декабря, 2017 · Жалоба Приветствую! Мне говорили, что можно обойтись одной (ОДНОЙ, Карл) ПЛИСиной. Просто прошить её так, чтобы внутри неё было 1000 узлов Ааа... Ну если так то тогда Вам все ж придется как студенту, засесть за расчеты как выше советовал уважаемы krux. А может даже как прилежному студенту еще и доки по FPGA почитать . Тогда не придется беспокоится заранее о 1000 головой гидр.. RAM. Скукота... Эх! а можно было такое ТЗ сваять - домашний аналог Amazon F1 ! Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TRILLER 0 27 декабря, 2017 Опубликовано 27 декабря, 2017 · Жалоба Приветствую! Ааа... Ну если так то тогда Вам все ж придется как студенту, засесть за расчеты как выше советовал уважаемы krux. А может даже как прилежному студенту еще и доки по FPGA почитать . Тогда не придется беспокоится заранее о 1000 головой гидр.. RAM. Скукота... Эх! а можно было такое ТЗ сваять - домашний аналог Amazon F1 ! Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 28 декабря, 2017 Опубликовано 28 декабря, 2017 · Жалоба "На лету" обрабатывать - это значит за наносекунды закончить всю обработку? Не. Не получится. На обработку где-то несколько тысяч тактов уйдет. здесь мне видится рассуждение программиста, у которого за один такт может выполняться только одна вычислительная операция. для ПЛИС это тупиковый путь, и поэтому так не делают. этот вычислительный алгоритм должен быть полностью перелопачен для того чтобы его можно было эффективно реализовать на ПЛИС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Студент заборстроительного 0 28 декабря, 2017 Опубликовано 28 декабря, 2017 (изменено) · Жалоба Приветствую! Ааа... Ну если так то тогда Вам все ж придется как студенту, засесть за расчеты как выше советовал уважаемы krux. А может даже как прилежному студенту еще и доки по FPGA почитать . Тогда не придется беспокоится заранее о 1000 головой гидр.. RAM. Скукота... Эх! а можно было такое ТЗ сваять - домашний аналог Amazon F1 ! Удачи! Rob. Ваш сарказм означает, что насчёт "любой студент сможет" и "можно обойтись одной ПЛИСиной" меня тупо обманули? Вы мне просто скажите одно: можно ли на ПЛИС реализовать такую память, к которой можно было с одной стороны обращаться как к единому целому, а с другой как к 1000 независимых дампов памяти в 1000 потоков одновременно? Если нет, то как на серверах обрабатываются потоки даже не 10Гбит/с, а в терабиты и более? Как там паралеллят обработку принятых данных? Изменено 28 декабря, 2017 пользователем Студент заборстроительного Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 33 28 декабря, 2017 Опубликовано 28 декабря, 2017 · Жалоба Приветствую! Ваш сарказм означает, что насчёт "любой студент сможет" и "можно обойтись одной ПЛИСиной" меня тупо обманули? Я бы сказал что тонко пошутили :) Вы мне просто скажите одно: можно ли на ПЛИС реализовать такую память, к которой можно было с одной стороны обращаться как к единому целому, а с другой как к 1000 независимых дампов памяти в 1000 потоков одновременно? Можно! Если нет, то как на серверах обрабатываются потоки даже не 10Гбит/с, а в терабиты и более? Как там паралеллят обработку принятых данных? Вы сами уже ответили "... паралеллят обработку принятых данных ..." и обычно сервер для "любого студента" выглядит как на картинке внизу - на таком запросто(тонкая шутка!) можно обрабатывать поток 4 x 10G Ethernet. Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lutovid 1 28 декабря, 2017 Опубликовано 28 декабря, 2017 · Жалоба Я на всякий случай добавлю, вдруг поможет - если одинаковые пакеты приходят и на них формируются "ответки" по одному алгоритму, то может можно и не параллелить - можно отвечать на фреймы, используя очередь, это если вдруг формирование "ответок" реализовано не в процессорном стеке а в железе. Я делал нечто похожее. Все зависит от сложности формирования этих самых "ответок"(точнее throughput этого алгоритма). А, ну собственно примерно это уже и советовал krux Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Студент заборстроительного 0 28 декабря, 2017 Опубликовано 28 декабря, 2017 · Жалоба Я на всякий случай добавлю, вдруг поможет - если одинаковые пакеты приходят и на них формируются "ответки" по одному алгоритму, то может можно и не параллелить - можно отвечать на фреймы, используя очередь, Не успеет. Данные поступают со скоростью 10 Гбит/с, а обрабатываются (если обрабатывать в один поток) со скоростью 10 Мбит/сек Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 28 декабря, 2017 Опубликовано 28 декабря, 2017 (изменено) · Жалоба Не успеет. Данные поступают со скоростью 10 Гбит/с, а обрабатываются (если обрабатывать в один поток) со скоростью 10 Мбит/сек Я чего-то не понимаю, но откуда Вы взяли 1000 потоков ? Данные то приходят последовательно.... Не думаю, что одновременно данные приходят сразу от 1000 устройств. А раз данные приходят последовательно, то почему бы их так-же последовательно не обрабатывать ? Расписали бы примерную блок схему проекта. И как замешаны данные в потоке. Да и отдавать данные Вы сможете так-же последовательно.... Изменено 28 декабря, 2017 пользователем Flip-fl0p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться