Как стать автором
Обновить

Зачем и как мы разработали свою серверную материнскую плату

Время на прочтение 10 мин
Количество просмотров 10K
Всего голосов 51: ↑36 и ↓15 +21
Комментарии 39

Комментарии 39

Проброс сети через CPU в системе «доставки и обработки видео», вы серьёзно?

Только перед тем, как набрасываться на Максима Лапшина (@erlyvideo), вспомните, что этот человек написал Erlyvideo, затем Flussonic (и успешно продаёт его), лауреат премии HIghLoad++ за вклад в развитие IT-экосистемы в России, работает с видео уже более десяти лет и об обработке видео знает, наверное, чуть ли не больше всех в стране.

Я бы на вашем месте переформулировал вопрос без токсичного наброса "вы серьезно". Во что-нибудь типа "Подскажите, пожалуйста, зачем вы сделали проброс сети через CPU?"

Так будет понятно, что это вы чего-то не догнали, а не Максим ошибся.

Но это так, непрошенный совет...

НЛО прилетело и опубликовало эту надпись здесь

Согласен, был неправ.

Простите, но что нужно «догонять» лауреату премии, чтобы понимать, что что-то более-менее качественное в сфере доставки (и чуть менее в сфере обработки) видео чем «мы взяли АРМ, а не Intel» отметает даже саму идею пропускать сетевой трафик чере CPU без предварительной фильтрации. Пусть у вас там хоть ХайЛоад+=2 с опытом 20 лет, но 200 мегабит - это дичь.

Естественно, если мы понимаем термин доставка видео с камер и броадкастинг одинаково, в чём у меня сомнения, но кто я, а кто Максим, тут да, аргументов нет.

Так будет понятно, что это вы чего-то не догнали, а не Максим ошибся.

Вот сейчас вы немного перегнули палку, не надо так. Пока не доказано обратное, в публичной дискуссии на технические темы спрашивающий, даже с подковыркой, считается не менее квалифицированным специалистом, чем автор материала. Почему бы вам не ответить в стиле "Мы не использовали аппаратные ускорители...", а потом выдохнуть и продолжить "... потому что мы собирались использовать их позже"? Фидбек, даже негативный, всё равно фидбек.

Согласен, с формулировками был неправ.

Не у всех есть ресурсы Google или Microsoft чтобы выводить трафик сразу аж на ASIC и FPGA, или городить огород прямиком на шине PCIe.

Скажу больше: не у всех есть желание заниматься этой дичью. Тем более что одна из целей - минимизация стоимости клиентского устройства.

НЛО прилетело и опубликовало эту надпись здесь

Нижние Zynq 7000 - это конечно весело, но там FPGA не настолько жирный чтобы на нём реализовывались серьёзные задачи обработки видео. Его конечно пытаются продавать для таких задач, но это натягивание совы на глобус. Нужно очень постараться чтобы на этой штуке ускорять видео и при этом выиграть по производительности, энергопотреблению или цене на фоне тех же видеокарт, у которых в железе уже и ядер с FPU вагон, и кодеки под кучу разных форматов из коробки.

В целом сейчас пытаться перетаскивать типичные для GPU задачи на FPGA - идея крайне спорная, по озвученным выше причинам. Без опыта вкатываться в такое я не посоветую никому.

Вот для жёсткого реалтайма, оптимизации множества малых операций, приклеивания внешних асиков-ускорителей и прочей мелкобытовой радости Zynq подходит очень неплохо. Но по статье, в которой нет никакой конкретики, неясно, применимо ли оно тут вообще.

НЛО прилетело и опубликовало эту надпись здесь

И все же - минимизация стоимости - это одна из подзадач всей той дичи, которой "никто не хочет заниматься". Но вот и выходит по логике вещей, что и минимизация не очень то и сдалась с таким подходом...

НЛО прилетело и опубликовало эту надпись здесь
> Просто типичные манагеры… Как можно заниматься 10 лет софтом и не смочь составить то требования хотя бы и оформить его в задание?

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

Статья откровенно пустая. Вы там что, исчерпали квоту на конкретику?

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

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

Это "несушка" на 8 штук тегра nx. Это даже не ксавьеры ))

"технологи возвращали нам платы со словами: «Это нельзя сделать» "
Звучит странно. Когда разрабатываешь топологию HDI (High-Density-Interconnect) PCB - всегда заранее знаешь технологические параметры и ограничения, все DRC, препреги, ожидаемые импедансы, типы переходных отверстий, какие слои паруются, будут ли лазерные отверстия, можно ли отверстия стекировать. Если потом технологи сказали "нет", то для конструктора это залет.

В теории информация у производителя исчерпывающая и говорит всё что разработчику платы нужно знать о его возможностях. Вбиваешь прям в DRC, делаешь плату, кидаешь в производство, получаешь "ок" на следующий день и плата у тебя в руках через месяц. Конечно, эта плата сделана идеально и запускается с первого раза. В теории.

На практике иногда вылезают детали. От того, что информация немного не соответствует реальным возможностям производства и до того, что ты с точностью снайпера попал в edge case, который по описанию возможностей проходит, но производитель всё равно просит убрать чтобы не было мучительно больно всем участникам процесса.

НЛО прилетело и опубликовало эту надпись здесь

Могу поделиться "практикой", 20 лет занимался разработкой "железа" и, в том числе спроектировал сотни PCB под серийное производство (работа на самом деле очень скучная и рутинная, но это была только часть моих обязанностей, так что было весело перепрыгивать между программированием, HDL-дизайном и платами):

- "вбиваешь прям в DRC, делаешь плату, кидаешь в производство, получаешь "ок" на следующий день и плата у тебя в руках через месяц" - да, а что тут сложного? Иногда бывают уточняющие вопросы от производителей, изредка что-то минимально надо переделать. Категорическое "не сделаем" очень-очень редко звучало, чаще были предложения - "а вот так было бы проще, надежнее и дешевле, согласны? Доделаете?"


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

- "запускается с первого раза". Да, запускается. У меня были буквально единичные случаи когда не запуcкалось. Это сейчас кетайцы, есть прямой доступ к ним и дешевое прототипирование. А когда году в начале нулевых отдаешь $5K за десять прототипов 12-слойки, то к проектированию подходишь очень тщательно. Тут и независимое ревью компонентов в CAD-е, и ревью схемы, и сквозная верификация платы со схемой, и сигнал интегрити и все-все-все. Косяки на первых платах есть всегда. Но критический косяк приводящий к незапуску, который нельзя пропатчить паяльником - это очень серьезный залет.

Так я про то и говорю, что и "запускается с первого раза" случается на самом деле не с первого раза, а после доработки напильником, то есть паяльником. Каких только смешных и тупых вещей не вылезает в иной раз в этом процессе. И такие коррективы реальность вносит постоянно.

Cкажите пожалуйста, "сквозная верификация платы со схемой" - это имеется в виду в ручном режиме (как раз этим я регулярно занимаюсь), или в каком-то САПРе?

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

Прямо сейчас я рисую схему похожего устройства (насколько можно понять ваши замыслы из туманных намеков) на базе одного из процессоров семейства NXP Layerscape, в разработке "железа" там нет ничего такого уберсложного, чего не осилила бы обычная команда схемотехник + конструктор печатных плат + конструктор-механик. Все доки свободно лежат на сайте NXP и доступны сразу после регистрации, демо-борды продаются по себестоимости (~ $4k, если не ошибаюсь), техподдержка отвечает.

Конечно, запустить Intel’овский процессор класса Core​ i9 на столе — это безнадега. Потому что это очень сложное устройство с жутко синхронизированными таймингами старта, подачей напряжения и пр.

Это достаточно рядовая инженерная проблема.

Например, технологи возвращали нам платы со словами: «Это нельзя сделать», и железячники перекомпоновывали детали на плате — переносили, перетаскивали.

Фигня какая-то. У каждого производителя есть список технологических требований (пример для "Резонита"), цифры из которого вводятся в ваш САПР. После этого отгрузить плату, которую "возвращают технологи", становится практически невозможно.

Не упирайте так на git и CI, здесь это не главное. Выхлоп инженера - здоровенный бинарь (~5 Мбайт схема, ~30 Мбайт плата), относитесь спокойно к тому, что не видите толкового diff'а.

Просто найдите электронщика, у которого есть опыт в такого рода задачах, заплатите ему зарплату обычного программиста-миддла и всё у вас пойдет гораздо более живенько и предсказуемо. Сейчас же вы видите магию там, где имеются обычные инженерные задачи.

НЛО прилетело и опубликовало эту надпись здесь

Оно есть, но не для того о чём вы думаете. Да, факапы на разных этапах пути неизбежны, но у железячников к ним подход особый, они их предусматривают закладывая в дизайн пространство для манёвра. В зависимости от объёма производства и личной заинтересованности :-)

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

За зарплату миддла, чудес будет не меньше. Имеющие опыт люди не работают за еду и спрос на их услуги велик, особенно в последнее время. Ибо скупой здесь пролюбит и время и деньги :-)

Красивый рассказ, составленный из нелепых баек коллег.

Там ведь написали, что большинство делает что-то на специфичное на гос или оборонку. Там скорее всего будет все на уровне прошлого тысячелетия. Вообще выглядит как наколенная разработка, для которой искали где подешевле а не где нормально.

Если есть не просто доставка видео, но и его обработка, то тут важно наличие аппаратных кодеков в процессоре. В Intel их точно достаточно, а вот есть ли они на выбранном ARM процессоре? И как с их поддержкой в ядре? Может они есть, но не задействованы. Долга конечно просадка в скорости может быть серьёзной, и проблема уже не в сетевой части.

Доставку даже HD/3G с камеры через CPU никто в своём уме не делает, на что-то более серьёзное тем более никакой ARM не поможет, даже без обработки.

НЛО прилетело и опубликовало эту надпись здесь

Мелкое фото платы, где большая часть закрыта радиаторами. А можно без радиаторов? И с 2х сторон?

НЛО прилетело и опубликовало эту надпись здесь

Кому нужны исх.коды для ориг.конструкции? — Можно только посмотреть, если хватит терпения. Аналогично фото 2х внешних слоев, которые вряд ли получится перевести в чертежи этих слоев, для многослойной платы, практической ценности не имеют. Простое любопытство, нпр., оценить плотность монтажа.

НЛО прилетело и опубликовало эту надпись здесь

Если в компаниях паранойя, то это неоспоримо.


Тогда может не надо было публиковать эту статью: вдруг кто-то что-то использует?

НЛО прилетело и опубликовало эту надпись здесь

сразу вспоминаются платы asrock которые thin mini itx, а по факту что-то свое, но еще интереснее! там mxm слот, т.е. плата уже чуть побольше. вместо обычных 1слота m.2 и второго недо-m.2, их несколько штук!

если бы сюда добавить больше VRM, pci-e x8 перевернутый продольно, оптические/3-10Гбит порты за доп $ и тд. а. особенно 2 слота sodimm мало. есть же некоторые платы от рабочих станций/моноблоков, и там слотов больше 2, но компактны. как есть и под 2011, 2011-v3 китайские платы очень компактные, на которых смогли аккуратно и компактно разместить слоты под оперативку, гут!

крч, нужное что-ниб нафаршированное под завязку в минимальном корпусе. еще и кулер выпустить, который одновременно с мультика, питальников и тп снимает теплосьемником(ками), чтобы закрывал сверху на все 17*20 см. и в высоту не сильно выпирало.+- как у видюх. accelero s1 plus. только побольше и поквадратнее, с небольшими в высоту 90+- мм тоненькими вентиляторами как на видюхах.

крч. скопировать +- всю ту плату асрока (но питальник куда мощнее!), но под новые сокеты, а лучше что-ниб серверное , чтоб кол-во ядер надолго хватило.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий