|
Samtec)LVDS) ->read DDR3, а вот write DDR3 на стандартный DDR3 коннектор, и наоборот... Хочу готовую плату, или если нет, то хочу разработать |
|
|
|
Jun 24 2016, 13:55
|
вопрошающий
    
Группа: Свой
Сообщений: 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шную логику, а количество умножителей в плисках все также стремится к нулю при одинаковой цене с графической картой. Все-таки хочется цену разумную иметь, у нас все-таки не военка с резиновым бюджетом.
ИИВ
|
|
|
|
|
 |
Ответов
|
Jun 25 2016, 15:35
|

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

|
Цитата наша фирма с 2008 является официальным консультантом Nvidia в Германии по массивно-параллельным вычислениям В таком случай вопрос снимается  Что касается остального: Цитата Хочу то, что сказал, так как устал от кривизны решений. Хочу, чтобы было просто и надежно! Идеально, если такое есть на рынке, покупал бы, но, похоже на рынке такого нет, то есть надо будет разрабатывать, пока не понятно с какой стороны подходить, и поэтому-то и вопрошаю. Не сочтите за догматичность, однако сколько не изучал тему все равно везде встречал только кастомные решения. В конце концов, говоря о решении которое бы завелось прямо из коробки без магии, логично ожидать целевое применение боле под мэйнстрим, нежели под задачи как у вас. Разумеется с такими проблемами сталкиваетесь не только вы, но тут и кроется одна из причин почему в этой области доминируют кастомные изделия : люди выдвигают разные требования и предполагают разные пути решения, ну и бюджет соответственно у всех разных. Цитата Не считаю, что тупой менеджер потоков (память-процессор, память-АЦП) должен занять много места на плате, поэтому считаю, что планка должна быть примерно в 2-3 раза больше обычной планки памяти, чтобы влезть в серверный U1 Если вы хотите втыкать девайс в сервер то помимо ранее обозначенных моментов серьезно могут заявить о себе проблемы с теплообменом внутри коробки. Цитата Не хотелось бы это делать в асике, ибо нет опыта. Это бессмысленно- не тот тип задач. Максимум- SOC/MCP Имхо, реально задача для платформы с гетерогенными камнями- чтобы там вся грязная работа делалась, а далее кидало на ваш сервер. Говоря о больших буферах можно вообще на том девайсе поднять что-то вроде рамдиска через PCIe, но это разумеется вариант для серьезных камней. Если не секрет, на каком железе сейчас решаете или решали задачу(вся цепочка кроме TR4)?
|
|
|
|
|
Jun 25 2016, 19:19
|
вопрошающий
    
Группа: Свой
Сообщений: 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ТБайт, а наши алгоритмы на лету могут этот трафик (понятно от задачи к задаче отличный) его до нескольких гигабайт пожать. Да, на борту под терабайт оперативки можно найти, чтобы алгоритму хватало, но это все, больше нельзя, и ответ должен быть с адекватной задержкой, максимум в один день.
|
|
|
|
|
Jun 25 2016, 21:16
|
Профессионал
    
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Jun 28 2016, 17:48
|
вопрошающий
    
Группа: Свой
Сообщений: 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 штук. Итого, если мне в масспродакшене моя неведома зверюшка будет стоить дешевле восьми штук зелени и будет с меньшим гемором обходиться, я всеми конечностями за. Не так ли? Вот по этому-то и вопрошаю, и совершенно не хочу вступать с кем-то в полемику как прикрутить очередной писиайный или уэсбешный костыль, это криво и стоит ужасных нервов, на которые я не готов.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|