Технология RAIDIX QoSmic. Машинное обучение для балансировки производительности

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

qosmic_big_eye

СП: Светлана, каков принцип работы QoSmic?

СЛ: Все запросы, поступающие к СХД, проходят через модуль распознавания приложений (см. рис. 1). Модуль работает в двух режимах:

  • Обучения: мы «знакомим» нашу систему хранения с новым приложением, которое планируется распознавать в целях работы QoS или упреждающего чтения
  • Распознавания: приложения для модуля QoS или упреждающего чтения идентифицируются в режиме реального времени.

Запросы в течении t секунд (например, 20 сек.) собираются в модули распознавания, далее данный лог анализируются, и по нему строятся I/O сигнатуры. В режиме обучения сигнатуры помечаются именем приложения, в режиме распознавания подаются в модуль для идентификации. В качестве алгоритма классификации («Модель» на рис. 1) используется Random Forest. У данного алгоритма есть преимущества по сравнению с другими алгоритмами классификации Data Mining:

  • высокая скорость обучения
  • неитеративное обучение (алгоритм завершается за фиксированное число операций)
  • масштабируемость (способность обрабатывать большие объемы данных)
  • высокое качество получаемых моделей (сравнимое с нейронными сетями и ансамблями нейронных сетей)
  • малое количество настраиваемых параметров

При этом у него есть и недостатки. Один из них – это склонность к переобучению на зашумленных данных. Впрочем, это проблема решается с помощью применения фильтров типа FCBF.

qosmic_scheme

Рисунок 1 — Схема распознавания приложений

СП: Какие основные параметры используются для распознавания приложений?

СЛ: Для идентификации приложения нам достаточно знать четыре характеристики: длину запроса, тип запроса (чтение или запись), оффсет (адресное пространство), время прихода запроса. На основании этих четырех параметров мы строим I/O сигнатуры.

СП: Как шла разработка, какие идеи проверяли?

СЛ: Сначала мы пытались искать известные «паттерны» (последовательности подряд идущих длин) для данного приложения. Данный подход отлично себя показал на примере бенчмарков, ПО для резервного копирования и антивирусов. Также мы тестировали различные алгоритмы машинного обучения. Сначала научились идентифицировать приложения с низкой вероятностью, но с добавлением специальных атрибутов в I/O сигнатуру довели точность идентификации до 99,99%.

СП: Какие параметры оказались совершенно не существенными для определения приложений, а что преподнесло сюрприз?

СЛ: Ключевым для идентификации оказалось распределение длин запросов от конкретного приложения. Несущественным параметром оказалось само адресное пространство, т. е. мы не идентифицируем приложение по его адресам и местоположению.

СП: Что произойдет, если с СХД начнет работать неизвестное приложение?

СЛ: Алгоритм выдаст ответ “не удалось определить”. Random Forest – вероятностный алгоритм. Когда начинает работать неизвестное приложение, он оценивает вероятность совпадения данного приложения с ранее обнаруженными в системе. В нашем случае приложение распознается, если вероятность превышает 60%.

СП: Как администратору понять, что пора выполнить переобучение?

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

СП: Как ты думаешь, должен ли администратор ИТ-инфраструктуры будущего быть немного Data Scientist?

СЛ: Это может прозвучать слишком радикально, но я думаю, что в будущем не будет администраторов как таковых. Дальнейшее развитие алгоритмов машинного обучения и искусственного интеллекта сведет вовлеченность человека в управление инфраструктурой к минимуму.

 

Светлана, спасибо за ответы! Так осуществляются распознавание в модуле QoSmic с помощью алгоритмов машинного обучения.

Следите за нашими обновлениями, чтобы узнать больше о предиктивной аналитике, автоматизации системных настроек и других областях применения искусственного интеллекта!