Бета-версия Forecle: принципы работы и план развития

Совсем недавно вышла первая бета-версия Forecle — программы для умного мониторинга состояния железа компьютера. В этой статье мы подробно рассмотрим принципы работы новой программы, а также план её развития.

Погружение в принципы работы Forecle

Forecle отслеживает состояние компонентов компьютера. Этот процесс состоит из нескольких этапов: сбор данных с сенсоров, выполнение анализа, выявление неполадок и прогнозирование.

Сбор данных о состоянии компьютера и мониторинг

Источниками информации могут служить практически все компоненты компьютера. Это могут быть температурные датчики, физически расположенные, например, на материнской плате или на видеокарте, а также метрики, которые собираются самими устройствами, например, сила тока, напряжение, уровень нагрузки и др. В случае с накопителями это может быть также информация об их состоянии (количество ошибок чтения\записи, количество некорректных завершений работы, битые блоки, и т.п.). Причём данные, которые можно получить для SATA HDD\SSD и для NVMe накопителей, различаются. Таким образом, можно собрать большое количество данных. Обычно параметров больше сотни или даже двух сотен. Количество может разниться в зависимости от набора комплектующих компьютера. Это происходит потому, что разные производители железа реализуют сбор метрик по-разному.

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

Также важно отфильтровывать получаемые данные. Это необходимо, так как в конкретный момент времени могут быть получены заведомо некорректные данные с сенсоров, например, мгновенное падение температуры до 0, отрицательная нагрузка на процессор и т.п. Такое может происходить из-за ошибок в ПО операционной системы или в работе контроллера, предоставляющего эти данные.

Forecle — это ещё и средство мониторинга. Отслеживать изменение параметров можно в главном окне программы, на вкладке «сенсоры». Там можно отфильтровать список, выбрав нужные типы устройств и категорий параметров, воспользоваться поиском, а также добавить нужные параметры в избранное.

Вкладка "сенсоры"

Анализ состояния, выявление неполадок и прогнозирование

Следующий важный этап — анализ полученных данных. Для выполнения анализа используется библиотека машинного обучения Interference (доступна в нашем GitHub репозитории). Весь анализ происходит на машине пользователя, без подключения к сторонним сервисам и передачи туда каких-либо данных о железе компьютера. Вообще, этап анализа состоит из четырёх уровней. На первом уровне происходит выявление отклонений для каждого из параметров в отдельности. Отклонение — в данном случае это параметр, который означает, насколько то или иное значение выходит за допустимые диапазоны. При обнаружении такого отклонения создаётся запись в журнале событий Forecle.

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

Третий уровень — прогнозирование дальнейшего изменения значений. Модель пытается предсказать, через какое время и какие параметры могут достичь своих критических значений, то есть придти к состоянию неполадки.

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

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

План развития бета-версии Forecle

План развития до полноценного релиза Forecle, помимо исправления существующих проблем, включает в себя многосторонние улучшения программы. Вот ключевые пункты:

  1. Улучшение системы анализа и прогнозирования неполадок. Улучшение моделей.
  2. Расширение базы знаний о неполадках. Покрытие большего количества различных случаев.
  3. Доработка и расширение системы оповещений. Добавление новых возможностей по индикации неполадок.
  4. Доработка пользовательского интерфейса. Добавление подсказок для новичков.

Мы надеемся, что эти изменения помогут улучшить опыт использования Forecle. Мы всегда рады обратной связи.

Следите за новостями!