Знакомство с A-Tune

Введение

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

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

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

Чтобы преодолеть описанные выше трудности, сообщество openEuler выпускает решение A-Tune.

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

logo

Архитектура

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

  • Уровень интеллектуального принятия решений состоит из подсистем осведомленности и принятия решений, которые реализуют интеллектуальные функции оповещения о состоянии приложений и принятие решений по оптимизации системы соответственно.

  • Уровень системного профиля состоит из модели проектирования функций и двухуровневой модели классификации. Проектирование функций используется для автоматического выбора сервисных функций, а двухуровневая модель классификации — для обучения и классификации сервисных моделей.

  • Уровень системы взаимодействия отслеживает и настраивает различные системные ресурсы, а также выполняет политики оптимизации.

architecture

Поддерживаемые функции и сервисные модели

Поддерживаемые функции

Следующие функции A-Tune протестированы и могут быть использованы в пилотных проектах:

  • Автоматическая оптимизация 15 приложения в 11 типах рабочей нагрузки.

  • Определяемые пользователем сервисные модели и профиль.

  • Автоматическая оптимизация параметров.

Поддерживаемые сервисные модели

Основываясь на характеристиках рабочей нагрузки приложений, A-Tune классифицирует службы по 11 типам.

Поддерживаемые типы рабочих нагрузок и приложения:

Категория сервиса Тип Узкое место Поддерживаемые приложения

default

Тип по умолчанию

Низкий уровень использования ресурсов CPU, RAM, сети и ввода-вывода

 — 

webserver

Веб-приложение

CPU и сеть

  • NGINX

  • Apache Traffic Server

database

Базы данных

CPU, RAM и ввод-вывод

  • MongoDB

  • MySQL

  • PostgreSQL

  • MariaDB

big_data

Большие данные

CPU и RAM

  • Hadoop-HDFS

  • Hadoop-Spark

middleware

Платформа ПО промежуточного слоя

CPU и сеть

Dubbo

in-memory_database

Выполняющаяся в памяти база данных

RAM и ввод-вывод

Redis

basic-test-suite

Базовый набор тестов

CPU и RAM

  • SPECCPU2006

  • SPECjbb2015

hpc

Расшифровка генома человека

CPU, RAM и ввод-вывод

Gatk4

storage

Хранилище

Сеть и ввод-вывод

Ceph

virtualization

Виртуализация

CPU, RAM и ввод-вывод

  • Облако клиента

  • MariaDB

docker

Docker

CPU, RAM и ввод-вывод

MariaDB