Машинное обучение в хранении данных: вредные мифы и конкретные сценарии

В последние месяцы мои новостные ленты заполонили статьи о машинном обучении (ML; Machine Learning) и глубинном обучении (Deep Learning). Действительно, за несколько лет исследователи существенно продвинулись в этом направлении – и, что важнее, общество стало готово к новым технологиям.

К сожалению, спекулируя на популярной теме машинного обучения, журналисты сосредоточились на совершенно ненужных человечеству областях его применения: генерации текстов и сценариев для безумных фильмов, написании картин в стиле известных художников и т.д. Часть подобных статей и вовсе скатывается до панических настроений вроде “Скоро мы все останемся без работы”.

Такой подход создает в обществе неверное представление о машинном обучении и сценариях его использования в реальных задачах. На практике ML позволяет нам автоматизировать тот или иной вид умственной деятельности. Машина способна принимать решения так же, как человек, и даже быстрее или точнее, чем человек, – за счет обработки большего количество данных. Тем не менее важно понимать, что алгоритм способен хорошо выполнять только одну определенную задачу.

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

Возвращаясь к теме систем хранения данных, зададимся вопросом: как подходы ML могут применяться в мире жестких и твердотельных дисков?

brain-future-tech-implant-ss-1920

Настройка параметров хранения на лету

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

Алгоритм, изучая множество данных и следя за характеристиками устройств, может изменять параметры поведения системы хранения. Так, несколько лет назад мы начали исследовательский проект “RAIDIX Autopilot”, целью которого было автоматическое изменение параметров работы СХД за счет выбора оптимальных настроек для текущего типа нагрузки. В дальнейшем проект разветвился на несколько направлений, об одном из которых мы расскажем позже.

Были попытки реализации подобного «автопилота» для flash-накопителей. Следует отметить, что разработчикам устройств на основе NAND Flash всегда приходится идти на компромиссы, выбирая между объемом, надежностью и максимальным количеством перезаписей. В данном случае возможно изменять параметры устройства, настраивая поведение контроллера через выставление параметров регистров. Таких регистров может быть 50–100 в планарной памяти и более 1000 в 3D NAND.

Яркий пример машинного обучения для изменения параметров различных регистров демонстрирует стартап NVMdurance. Подробности о том, как ML может быть применено в сфере SSD-накопителей, читайте в whitepaper от Coughlin Associates.

Предиктивная аналитика

Другая важная задача связана с анализом поведения СХД и предиктивной аналитикой. Алгоритм может анализировать журналы и историю событий и предсказывать потенциальные проблемы c кластером хранения. Так, большую работу на пути к “умному датацентру” проделали ребята из Nimble Storage. Рассказ об их продукте InfoSight вы можете найти по ссылке.

Развитие мобильных технологий и поведенческие характеристики нового поколения пользователей приведут к тому, что через 5-7 лет средства, используемые для управления инфраструктурой, будут понимать естественный язык. Уже сейчас появляются аналоги Microsoft IFTTT, которые понимают задачи вроде “Создать ссылку в Twitter для всех моих обновлений в Facebook”.

Рано или поздно системы на предприятиях смогут по простому запросу предоставить информацию о состоянии инфраструктуры, выделить нужные ресурсы или провести анализ нагрузки.

Часть того, о чем я написал, уже существует и используется в реальных продуктах, остальное появится через несколько лет. Ясно одно – подход к управлению инфраструктурой предприятия изменится и изменится кардинально.

QoS (качество обслуживания) на уровне приложений

Третий важный случай применения ML – обеспечение QoS для определенных приложений. Очевидно, что старый подход “одно приложение – один LUN” больше не работает. Мы неоднократно сталкивались с ситуацией, когда с одним и тем же томом с одного и того же хоста работают различные приложения. При этом многие из них совершенно не критичны для бизнеса, но очень требовательны к ресурсам.

Для решения этой проблемы мы реализовали проект QoSmic. Фактически, ПО RAIDIX научило СХД распознавать приложения и нагрузки по характерным признакам IO.

В следующей заметке руководитель Исследовательской лаборатории Рэйдикс Светлана Лазарева подробнее расскажет о функциональности QoSmic, ее особенностях и возможных сценариях развития технологии ML в будущем.

Оставайтесь с нами!