Comments 40
В системе с двадцатью четырьмя SmartSSD скорость чтения сжатых данных (LZ4) может достигать 72 Гбит/с.
Получаем 375 MiB в секунду на одном накопителе. На CPU можно сжимать по 780 MiB/s на ядро.
А в чём профит? CPU там не может быть мощнее хоста, иначе он станет не нужен на хосте.
Меньшие задержки — тоже сомнительно, скорости M.2 x4 PCIe4 и так слишком большие чтобы быть узким местом.
Противоречивые чувства вызывает это поделие с учётом необходимости писать софт ещё и под диск, но посмотрим, может и займёт нишу в проф. вычислениях.
Фигвам. Базы данных — это сложно. Вот засунуть в устройство sequential scan — это пожалуйста. А всякие b-tree и optimistic locking — это и на процессорах с трудом делают, а уж в силиконе точно не получится.
Как вы его себе представляете в силиконе?
Как вы себе представляете оптимистичную блокировку в отсутствие compare-n-store операции между независимыми устройствами? Если не делать, то база данных либо будет тогда ограничена размером одного устройства, либо будет делать блокировку в софте.
Получается, что у вас не может быть транзакций больше, чем размер устройства. Что кажется "много" пока не задумаешься про restore для базы данных.
Каким образом соседние устройства будут координировать оптимистичные блокировки в конкурентной среде?
Вот у вас тут база шуршит, и тут кто-то запускает foosql_client < dump.sql
. И каким образом у вас образуется ACID из набора локальных блокировок per device?
с интерфейсом PCIe Gen3 x4
Я правильно понимаю, что они предлагают воткнуть программируемую железяку в слот с Direct Memory Access?
Интересно, насколько он защищён от несанкционированной перепрошивки?
P.S. Когда фраза запустить Doom на SSD становится неоднозначной.
Как скоро начнут майнить на прошивках SSD?
Звучит интересно, в условиях возможностей ПЛИС — прям идиллия. Однако, учитывая
1) сложность разработки прошивок [разработчиков таких маловато на рынке на фоне фронтендеров и иже с ними]
2) малую универсальность [на ПЛИС чаще всего решают одну задачу с целью достижения максимальной эффективности ее решения]
3) неясность, можно ли вообще будет эти прошивки туда лить, или это просто способ ускорить работу того или иного софта за счёт левых подключаемых библиотек от производителя,
4) вопросы сохранности данных [если диск занимается только записью и чтением, вероятность что-то дописать при резком отключении, к примеру, изрядно выше, чем если он по пути что-то шифрует или пакует. в конце не сойдется контрольная сумма, и куча данных будет потеряна]
на выходе имеем крайне нишевый продукт с высокой стоимостью.
Короче, не верю. Может быть, через несколько лет это доведут до ума, и тогда этим стоит пользоваться, когда станут ясны функциональность, ограничения и риски.
сложность разработки прошивок
Они же пишут про поддержку разработки с использованием HLS. Т.е. если не можете на HDL, пишите на C, а среда попытается это превратить в железячную прошивку.
неясность, можно ли вообще будет эти прошивки туда лить
Можно, они же пишут про Vitis и библиотеки, Vitis — это среда для разработки прошивок ПЛИС и SoC.
малую универсальность
Имхо, конкретно эта вещь представляет собой аналог Alveo, только уже для storage, а не для сетей. Если глянете Альвео, то там тоже плата с интерфейсами и широкими возможностями программирования, в т.ч. не на голом HDL, а на всяких более знакомых обычным программистам вещах типа С. По сути и альвео и данная вещь — это полуфабрикаты, на базе которых можно сделать то, что надо конкретно вам, без возни с пайкой и разработкой печатных плат и прочего.
С, конечно, в некотором смысле решает вопрос — но только до некоторого порядка. Программирование на С для ядра Linux, микроконтроллеров вроде STM32, и долбеж в указатели, требуемый для втягивания в проекты всяких библиотек с сишным интерфейсом — очень разное программирование с разными предметными областями. Да, проще, чем Verilog/VHDL, но аппаратуру понимать надо. Любого "сишника" туда не посадишь, а их нынче на рынке немного больше нуля. Из них ещё искать придется… С++- программисты, которых больше на порядок (однако, и мой вымирает вид...), на эту позицию не подойдут, ибо языки и возможности разные абсолютно, стиль, близкий к С, в современном С++ абсолютно неприемлем.
Короче, сомнительная процедура. Найти готового HDL-паяльщика-разработчика-плат-разраба-прошивок, ИМХО, проще, чем посадить за эту задачу кого-то со знанием С.
Имхо, у Xilinx план следующий: они хотят расширить аудиторию пользователей (рынок), уменьшая порог вхождения, отсюда заигрывания с HLS. Кроме HLS у них в таком же ключе была тема с генерацией нейронок, когда задаешь параметры, указываешь железяку и оно генерит код или прошиву под неё без всякого понимания железячной части. Ещё была тема с генерацией сетевых вещей — SDNet, когда также без всякой возни с железом можно было генерить свои сетевые ускорители.
Реальные подходы к снижению порога вхождения, думаю, включают написание каких-нибудь аппаратно ускоренных бэкэндов к пользовательским библиотекам на вендорных прошивках. Для того же AI/ML — например, аппаратно ускоренная реализация TensorFlow/PyTorch на их железяке, чтоб гонять модели из Kerasa в Питоне в аппаратно-упоротом режиме.
Ну, или если на уровень пониже — например, какой-нибудь бэкэнд для математики вроде BLAS сделать такой же.
Почитал тут их примеры на С — макросня, куча всяких goto с метками, и прочий крайне низкоуровневый код.
Не являясь фанатом HLS, хочу заметить, что это всё-таки гораздо выше уровня HDL.
Для того же AI/ML — например, аппаратно ускоренная реализация TensorFlow/PyTorch на их железяке, чтоб гонять модели из Kerasa в Питоне в аппаратно-упоротом режиме.
Эта тема у Xilinx уже пару лет есть, что в предыдущем комменте я и упоминал. Они купили стартап Deephi, и в том числе на его основе сделали DNNDK. DNNDK как раз включает ядро для плис и программную инфраструктуру для работы с ним. На ядрышке можно гонять TensorFlow и Keras модели. Ядрышко с теми или иными настройками можно поднять практически на любой плис, в том числе и на той, которую мы видим в данном девайсе.
Примечательно, что ссылка в публикации Xilinx на умный твердотельный накопитель ведет на несуществующую страницу.Ну как так можно!..
(вроде, пофиксили уже).
Xilinx и Samsung представили умный SSD с вычислительными способностями прямо на накопителе