Computational storage – хранилища с возможностью обработки данных – не только ускоряют объемные вычисления с интенсивным использованием подсистемы хранения, но и повышают энергоэффективность компьютера в целом.
По мере того, как снижается средняя цена 1 Тбайт емкости условного полупроводникового накопителя, расширяется функциональность SSD, как коммерческих, так и ориентированных на пользовательский сегмент ИТ-рынка. Речь идет о computational storage – хранилищах с возможностью обработки данных, пример которых являет выпускающийся серийно SmartSSD с интерфейсом NVMe, уже второе поколение такого рода накопителей разработки Samsung Electronics.
![](https://bytemag.ru/wp-content/uploads/2022/12/smartssd-400.jpg)
Учитывая высокие скорости обработки информации современными процессорами, при повышении общей производительности вычислительных систем все более узкими местами становятся внутренние шины данных, по которым информация циркулирует между накопителем, оперативной памятью, ЦП и ГП. Использование computational storage не только ускоряет объемные вычисления с интенсивным задействованием подсистемы хранения, но и повышает энергоэффективность компьютера в целом – для SmartSSD, по оценке самого разработчика, до 70%.
Понятно, что оснащать накопитель высокопроизводительным процессором бессмысленно: бóльшую часть времени тот будет просто простаивать. Однако даже несложная вычислительная СБИС общего назначения в составе SmartSSD гарантирует заметное ускорение относительно простых операций (таких как взвешенное суммирование, выборки по базе данных на основе заданного шаблона, массовое шифрование и/или сжатие и т. п.), которые необходимо выполнять над огромными массивами чисел, хранящихся в ячейках памяти. А ведь именно к таким операциям сводятся чрезвычайно актуальные сегодня задачи из сфер машинного обучения и искусственного интеллекта.
И хотя SmartSSD построен на закрытой проприетарной архитектуре, новейшие логические интерфейсы внутрикомпьютерных коммуникаций – такие, как активно развивающийся сегодня протокол CXL, – делают возможным применение разнородных computational storage внутри классических x86-систем с помощью «умных» контроллеров на портах, к которым подключены соответствующие шины.