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

 
 
> Samtec)LVDS) ->read DDR3, а вот write DDR3 на стандартный DDR3 коннектор, и наоборот... Хочу готовую плату, или если нет, то хочу разработать
iiv
сообщение Jun 24 2016, 13:55
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Добрый день,

возможно у меня философский вопрос, не пинайте меня, пожалуйста, за это.

Уже в трех проектах мне надобно было брать поток с оцифровщиков и, минимальными изменениями заводить на PC. Сам PC обычно перекидывал содержимое этого потока на графические карты, а там дикая производительность решала все мои вопросы. При попытке хоть часть алгоритма оставить в FPGA время разработки проекта становилось ужасно ненормально большим. Задачи о которых я горовю - это задачи линейной и мультилинейной алгебры. В FPGA я с 2009, в вычислительной математике с 1990. То есть я четко понимаю, что мне надо:

я хочу поток с одного или нескольких оцифровщиков (а иногда с других компьютеров), положить в пишущий порт памяти, примерно на 1-8ГБ, иметь возможность воткнуть эту память в обычную материнку, чтобы она разпозналась как обычная память, и читать с процессора ее как есть, синхронизацию можно организовать внутри самой памяти, помещая на каждый блок на 4К какую-то синхронизационную информацию.

Аналогично, хочу сделать в обратную сторону, но это не сильно актуально.

Вопросы, скажите, пожалуйста:

1. есть ли уже готовый такой модуль?
2. думаю, что такого модуля нет, правильно ли я понимаю, что такое можно разработать, если всем этим будет управлять какая-нибудь не дорогая плиска, а на входе будет около 60 LVDS пар, работающих на примерно 200-800МГц частоте. Конечно хотелось бы иметь возможность и сердексы подсатвлять, но, наверное это не сразу.
3. сам много писал для плисок, но ни разу не разводил, да и с памятью работал больше гоняя чужие примеры или примеры с мануалов. Скажите, пожалуйста, сколько при сильной мотивации мне надо положить времени на такую разработку и сколько денег на платы и железки, если сам буду стараться по максимуму?

Спасибо

PS: просто реально приспичило, так как оцениваю, что мне таких плат в следующем году может потребоваться около 100, а то, что мы сейчас делаем через Terasic TR4 просто невозможно дальше модернизировать из-за того, что наши заумные алгоритмы плохо ложатся на FPGAшную логику, а количество умножителей в плисках все также стремится к нулю при одинаковой цене с графической картой. Все-таки хочется цену разумную иметь, у нас все-таки не военка с резиновым бюджетом.

ИИВ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
EvilWrecker
сообщение Jun 25 2016, 15:35
Сообщение #2


ядовитый комментатор
******

Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887



Цитата
наша фирма с 2008 является официальным консультантом Nvidia в Германии по массивно-параллельным вычислениям


В таком случай вопрос снимается laughing.gif Что касается остального:

Цитата
Хочу то, что сказал, так как устал от кривизны решений. Хочу, чтобы было просто и надежно! Идеально, если такое есть на рынке, покупал бы, но, похоже на рынке такого нет, то есть надо будет разрабатывать, пока не понятно с какой стороны подходить, и поэтому-то и вопрошаю.


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

Цитата
Не считаю, что тупой менеджер потоков (память-процессор, память-АЦП) должен занять много места на плате, поэтому считаю, что планка должна быть примерно в 2-3 раза больше обычной планки памяти, чтобы влезть в серверный U1


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

Цитата
Не хотелось бы это делать в асике, ибо нет опыта.


Это бессмысленно- не тот тип задач. Максимум- SOC/MCP

Имхо, реально задача для платформы с гетерогенными камнями- чтобы там вся грязная работа делалась, а далее кидало на ваш сервер. Говоря о больших буферах можно вообще на том девайсе поднять что-то вроде рамдиска через PCIe, но это разумеется вариант для серьезных камней. Если не секрет, на каком железе сейчас решаете или решали задачу(вся цепочка кроме TR4)?
Go to the top of the page
 
+Quote Post
iiv
сообщение Jun 25 2016, 19:19
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(EvilWrecker @ Jun 25 2016, 20:35) *
Если вы хотите втыкать девайс в сервер то помимо ранее обозначенных моментов серьезно могут заявить о себе проблемы с теплообменом внутри коробки.


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

Цитата(EvilWrecker @ Jun 25 2016, 20:35) *
Не сочтите за догматичность, однако сколько не изучал тему все равно везде встречал только кастомные решения.

у меня количество в качество переходит, уже 7-ое приложение требует одного и того же dataflow, хотя алгоритмы у всех этих задач существенно отличаются. Из-за того, что алгоритмы проще параллелить и отлаживать на CPU и GPU, а на плиске оно еще может вдруг не вместиться или по таймингу не пройти, готов помучится и таки сделать что-то, чтобы оно стало так работать.

Цитата(EvilWrecker @ Jun 25 2016, 20:35) *
Если не секрет, на каком железе сейчас решаете или решали задачу(вся цепочка кроме TR4)?

из самого маленького - вместо TR4 была DE3, а все крутилось на вначале на мелких псшках, потом на 5-ом эксиносе, был жуткий гемор по засовыванию алгоритма на DE3 (я тут как-то об этом несколько лет назад писал), так как писюк или эксинос не мог много засосать трафика и жутко тормозил при получении данных по етернету,

из самого большого - сервер с 8-ю бордами H8QG6-F, в каждой по PCIe заходил трафик из своей TR4, буфферизовался на терабайте внутренней памяти и перенаправлялся на АМДшную сдвоенную карту, на которой и проходил основной расчет. Трафик с PCIe от TR4 почти полностью убивал способность 64 наличевствующих обычных ядер хоть что-то посчитать (получалось около 10% от пика, в то время, как без PCIe трафика все разгонялось до 60% от пика). Трафик с GPU всегда можно сделать блочно, поэтому там все было классно, а в TR4 тогда буфферизация на внутренней памяти не была задействована, так как слотов не хватало.

Вот была бы у меня такая неведома зверушка, сидела бы она на одном из 32 слотов в H8QG6-F и не было бы у меня печали, и две ГПУшки бы засунул, и считался бы на раз, а может бы и все входы с АЦПшек смог бы на пару слотов в памяти в одну материнку запихнуть и было бы мне тогда счастье, что все в общей памяти крутится.

Цитата(RobFPGA @ Jun 25 2016, 23:54) *
Еще раз - есть рабочая система - принимает непрерывный трафик 4 GByte/s рапаралеленный по 4м 10G Ethernet - собирает его в памяти и пишет на raid. Все это удовольствие кушает ~20-40 % ОДНОГО ядра 8 ядерного проца. Остальные 7 ядер как и второй проц в системе бездельничают.
Есть система с картой Gen2 x8 передает непрерывно 2.7 GByte/s - ОДНО ядро в проце занято на 7 %.

да процессоры будут не заняты, но контроллер памяти забъется, так как трафик будет не рыба не мясо, и после этого серьезные задачи, которые плотно работают с памятью на этой системе решить будет нельзя. Проверяли на PCIe, перед началом коммуникаций если все данные не лежат в кеше процессора, можно сразу сушить весла, так как все колом встает. А кеш-то только 16МБ, то есть много не запихнуть, а памяти бывает, что и 1ТБ есть, и хочется к ней всей обращаться.

EDIT: сразу не прочитал... Какой раид!!! У меня трафик 4ГБайта в секунду по 8 часов непрерывно валит! Это 100ТБайт, а наши алгоритмы на лету могут этот трафик (понятно от задачи к задаче отличный) его до нескольких гигабайт пожать. Да, на борту под терабайт оперативки можно найти, чтобы алгоритму хватало, но это все, больше нельзя, и ответ должен быть с адекватной задержкой, максимум в один день.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jun 25 2016, 21:16
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



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

Цитата(iiv @ Jun 25 2016, 22:19) *
из самого большого - сервер с 8-ю бордами H8QG6-F, в каждой по PCIe заходил трафик из своей TR4, буфферизовался на терабайте внутренней памяти и перенаправлялся на АМДшную сдвоенную карту, на которой и проходил основной расчет. Трафик с PCIe от TR4 почти полностью убивал способность 64 наличевствующих обычных ядер хоть что-то посчитать (получалось около 10% от пика, в то время, как без PCIe трафика все разгонялось до 60% от пика). Трафик с GPU всегда можно сделать блочно, поэтому там все было классно, а в TR4 тогда буфферизация на внутренней памяти не была задействована, так как слотов не хватало.

Вы что данные программно через CPU читали из PCIe 8-()!!! Как может PCIe Gen2 x4 жалкие 2 GB трафика забить суммарную пропускную памяти этой платы в 100 GByte/s.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
iiv
сообщение Jun 28 2016, 17:48
Сообщение #5


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(RobFPGA @ Jun 26 2016, 02:16) *
Вы что данные программно через CPU читали из PCIe 8-()!!! Как может PCIe Gen2 x4 жалкие 2 GB трафика забить суммарную пропускную памяти этой платы в 100 GByte/s.

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

Я бы не писал об это если бы этим не занимался 7 лет.

Я бы не писал бы об этом, если бы конкретно в этой ситуации с этой картой (H8QG6-F) не происходило бы следующее: трафик с PCIe был всего-то 1ГБайт/с, но вспомним, что на TR4 всего есть чуть меньше 2МБайт M9K и похожей памяти, реально, если работать двумя сегментами, можно писать только по пол мегабайта, то есть пол мегабайта со скоростью 2ГБайта в секунду напрочь забивают один из двух каналов в каждом процессорном блоке.

Память должна быть замаплена, иначе, по PCIe работать нельзя, чтобы ее притащить в общую, то есть надо копировать, то есть размаппим и копируем, итого, второй канал тоже серьезно забит, примерно на 30-40%, а в реальности серьезно больше, так как остальные процессоры к этой памяти хотят достучаться. Итого имеем напрочь забитые 16 ядер из 64, ну и примерно четверть от 100ГБайт,с трафика этой памяти тоже товось, то есть коту под хвост, а это суммарно со стоимостью TRки около 8 штук.

Итого, если мне в масспродакшене моя неведома зверюшка будет стоить дешевле восьми штук зелени и будет с меньшим гемором обходиться, я всеми конечностями за. Не так ли?

Вот по этому-то и вопрошаю, и совершенно не хочу вступать с кем-то в полемику как прикрутить очередной писиайный или уэсбешный костыль, это криво и стоит ужасных нервов, на которые я не готов.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- iiv   Samtec)LVDS) ->read DDR3, а вот write DDR3 на стандартный DDR3 коннектор   Jun 24 2016, 13:55
- - RobFPGA   Приветствую! Для начала - каков входной поток...   Jun 24 2016, 15:06
|- - iiv   Приветствую Вас RobFPGA, да, понимаю, PCIe, так т...   Jun 24 2016, 19:56
- - RobFPGA   Приветствую! Ну я и имел ввиду двух-портовая ...   Jun 24 2016, 21:36
|- - iiv   а вообще в идеале чтобы одна и та же планка для вв...   Jun 24 2016, 22:12
- - RobFPGA   Приветствую! Если так то я бы на вашем месте ...   Jun 24 2016, 22:56
|- - iiv   Да нет же все это шашечки, а мне ехать надо. Сейча...   Jun 25 2016, 09:29
|- - RobFPGA   Приветствую! Цитата(iiv @ Jun 25 2016, 1...   Jun 25 2016, 11:07
|- - iiv   Цитата(RobFPGA @ Jun 25 2016, 17:07) Кака...   Jun 25 2016, 14:02
|- - RobFPGA   Приветствую! Цитата(iiv @ Jun 25 2016, 1...   Jun 25 2016, 18:54
- - EvilWrecker   Здравствуйте, Достаточно давно делаю платки для ...   Jun 25 2016, 14:09
|- - iiv   Цитата(EvilWrecker @ Jun 25 2016, 20:09) ...   Jun 25 2016, 14:49
|- - dm.pogrebnoy   Цитата(iiv @ Jun 25 2016, 22:19) EDIT: ср...   Jun 25 2016, 20:10
|- - RobFPGA   Приветствую! Цитата(iiv @ Jun 28 2016, 2...   Jun 28 2016, 22:02
- - Flood   Не пробовали качать данные по PCIe непосредственно...   Jun 25 2016, 20:02
|- - RobFPGA   Приветствую! Цитата(Flood @ Jun 25 2016,...   Jun 25 2016, 20:47
- - EvilWrecker   ЦитатаНо на таком уровне задачу на коленке не реши...   Jun 25 2016, 20:53


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

 


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


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