Знакомство с A-Tune
Введение
Операционная система (ОС) — это базовое программное обеспечение, связывающее приложения и оборудование. Пользователям крайне важно настроить конфигурации ОС и приложений и в полной мере использовать возможности программного и аппаратного обеспечения для достижения оптимальной производительности сервиса. Однако в ОС выполняются многочисленные типы рабочих нагрузок и разнообразные приложения с разными требованиями к ресурсам. В настоящее время среда приложений, формируемая из аппаратных и программных средств, включает более 7000 объектов конфигурации. По мере увеличения сложности сервиса и числа объектов оптимизации временные затраты на оптимизацию увеличиваются в геометрической прогрессии. В результате эффективность оптимизации резко снижается. Оптимизация становится сложной и вызывает у пользователей серьезные трудности.
Кроме того, являясь инфраструктурным программным обеспечением, ОС предоставляет большое количество возможностей для управления программным и аппаратным обеспечением. Требуемые возможности различаются в зависимости от сценария. Таким образом, возможности необходимо включать или отключать с учетом сценариев, а подходящее сочетание возможностей позволит добиться наиболее оптимальной производительности приложений.
Кроме того, реальные компании вынуждены рассматривать сотни и тысячи сценариев, каждый из которых включает в себя обширный спектр аппаратных конфигураций для вычислений, работы с сетью и хранения. В лабораторных условиях невозможно предусмотреть все приложения, бизнес-сценарии и комбинации аппаратных средств.
Чтобы преодолеть описанные выше трудности, сообщество openEuler выпускает решение A-Tune.
A-Tune — это подсистема на основе искусственного интеллекта, которая отвечает за оптимизацию производительности системы. Это решение использует технологии искусственного интеллекта для точного профилирования бизнес-сценариев, обнаружения и определения бизнес-характеристик, чтобы способствовать принятию грамотных решений, подбирать оптимальную комбинацию настроек системных параметров и выдавать рекомендации по оптимизации работы компании.

Архитектура
На следующем рисунке показана базовая техническая архитектура A-Tune, состоящая из интеллектуального принятия решений, системного профиля и системы взаимодействия.
-
Уровень интеллектуального принятия решений состоит из подсистем осведомленности и принятия решений, которые реализуют интеллектуальные функции оповещения о состоянии приложений и принятие решений по оптимизации системы соответственно.
-
Уровень системного профиля состоит из модели проектирования функций и двухуровневой модели классификации. Проектирование функций используется для автоматического выбора сервисных функций, а двухуровневая модель классификации — для обучения и классификации сервисных моделей.
-
Уровень системы взаимодействия отслеживает и настраивает различные системные ресурсы, а также выполняет политики оптимизации.

Поддерживаемые функции и сервисные модели
Поддерживаемые функции
Следующие функции A-Tune протестированы и могут быть использованы в пилотных проектах:
-
Автоматическая оптимизация 15 приложения в 11 типах рабочей нагрузки.
-
Определяемые пользователем сервисные модели и профиль.
-
Автоматическая оптимизация параметров.
Поддерживаемые сервисные модели
Основываясь на характеристиках рабочей нагрузки приложений, A-Tune классифицирует службы по 11 типам.
Поддерживаемые типы рабочих нагрузок и приложения:
| Категория сервиса | Тип | Узкое место | Поддерживаемые приложения |
|---|---|---|---|
default |
Тип по умолчанию |
Низкий уровень использования ресурсов CPU, RAM, сети и ввода-вывода |
— |
webserver |
Веб-приложение |
CPU и сеть |
|
database |
Базы данных |
CPU, RAM и ввод-вывод |
|
big_data |
Большие данные |
CPU и RAM |
|
middleware |
Платформа ПО промежуточного слоя |
CPU и сеть |
Dubbo |
in-memory_database |
Выполняющаяся в памяти база данных |
RAM и ввод-вывод |
Redis |
basic-test-suite |
Базовый набор тестов |
CPU и RAM |
|
hpc |
Расшифровка генома человека |
CPU, RAM и ввод-вывод |
Gatk4 |
storage |
Хранилище |
Сеть и ввод-вывод |
Ceph |
virtualization |
Виртуализация |
CPU, RAM и ввод-вывод |
|
docker |
Docker |
CPU, RAM и ввод-вывод |
MariaDB |