Getting to Know A-Tune

Introduction

An operating system (OS) is basic software that connects applications and hardware. It is critical for users to adjust OS and application configurations and make full use of software and hardware capabilities to achieve optimal service performance. However, numerous workload types and varied applications run on the OS, and the requirements on resources are different. Currently, the application environment composed of hardware and software involves more than 7000 configuration objects. As the service complexity and optimization objects increase, the time cost for optimization increases exponentially. As a result, optimization efficiency decreases sharply. Optimization becomes complex and brings great challenges to users.

Second, as infrastructure software, the OS provides a large number of software and hardware management capabilities. The capability required varies in different scenarios. Therefore, capabilities need to be enabled or disabled depending on scenarios, and a combination of capabilities will maximize the optimal performance of applications.

In addition, the actual business embraces hundreds and thousands of scenarios, and each scenario involves a wide variety of hardware configurations for computing, network, and storage. The lab cannot list all applications, business scenarios, and hardware combinations.

To address the preceding challenges, openEuler launches A-Tune.

A-Tune is an AI-based engine that optimizes system performance. It uses AI technologies to precisely profile business scenarios, discover and infer business characteristics, so as to make intelligent decisions, match with the optimal system parameter configuration combination, and give recommendations, ensuring the optimal business running status.

Architecture

The following figure shows the A-Tune core technical architecture, which consists of intelligent decision-making, system profile, and interaction system.

  • Intelligent decision-making layer: consists of the awareness and decision-making subsystems, which implements intelligent awareness of applications and system optimization decision-making, respectively.
  • System profile layer: consists of the feature engineering and two-layer classification model. The feature engineering is used to automatically select service features, and the two-layer classification model is used to learn and classify service models.
  • Interaction system layer: monitors and configures various system resources and executes optimization policies.

Supported Features and Service Models

Supported Features

Table 1 describes the main features supported by A-Tune, feature maturity, and usage suggestions.

Table 1 Feature maturity

Feature

Maturity

Usage Suggestion

Auto optimization of 50 applications of 14 workload types

Tested

Pilot

User-defined profile and service models

Tested

Pilot

Automatic parameter optimization

Tested

Pilot

Supported Service Models

Based on the workload characteristics of applications, A-Tune classifies services into 14 types. For details about the bottleneck of each type and the applications supported by A-Tune, see Table 2.

Table 2 Supported workload types and applications

Service category

Type

Bottlenecks

Supported Application

default

Default type

Low resource usage in terms of cpu, memory, network, and I/O

N/A

webserver

Web application

CPU and network

Nginx, Apache Traffic Server, Tomcat, Apache Http Server, Squid, Postfix, lighttpd

ftp server

FTP application

CPU and network

vsftpd, proftpd

database

Database

CPU, memory, and I/O

Mongodb, Mysql, Postgresql, Mariadb, openGauss, tidb, sqlite, QuestDB, influxdb, splunk, Cassandra, Neo4j

DDS

distributed data store

CPU, memory, and I/O

storm, glusterFS, Ceph, Infinispan, ElasticSearch

big_data

Big data

CPU and memory

Hadoop-hdfs, Hadoop-spark, hive

middleware

Middleware framework

CPU and network

Dubbo, Zookeeper, kafka, rabbitMQ, activeMQ, rocketMQ, etcd, karaf

in-memory_database

Memory database

Memory and I/O

Redis, Memcached, cachefilesd

operation

O&M tools

CPU and network

prometheus, ansible, puppet, zabbix

basic-test-suite

Basic test suite

CPU and memory

SPECCPU2006, SPECjbb2015

hpc

Human genome

CPU, memory, and I/O

Gatk4

virtualization

Virtualization

CPU, memory, and I/O

Consumer-cloud, Mariadb

docker

Docker

CPU, memory, and I/O

Mariadb

others

others

-

Encryption

Bug Catching

Buggy Content

Bug Description

Submit As Issue

It's a little complicated....

I'd like to ask someone.

PR

Just a small problem.

I can fix it online!

Bug Type
Specifications and Common Mistakes

● Misspellings or punctuation mistakes;

● Incorrect links, empty cells, or wrong formats;

● Chinese characters in English context;

● Minor inconsistencies between the UI and descriptions;

● Low writing fluency that does not affect understanding;

● Incorrect version numbers, including software package names and version numbers on the UI.

Usability

● Incorrect or missing key steps;

● Missing prerequisites or precautions;

● Ambiguous figures, tables, or texts;

● Unclear logic, such as missing classifications, items, and steps.

Correctness

● Technical principles, function descriptions, or specifications inconsistent with those of the software;

● Incorrect schematic or architecture diagrams;

● Incorrect commands or command parameters;

● Incorrect code;

● Commands inconsistent with the functions;

● Wrong screenshots.

Risk Warnings

● Lack of risk warnings for operations that may damage the system or important data.

Content Compliance

● Contents that may violate applicable laws and regulations or geo-cultural context-sensitive words and expressions;

● Copyright infringement.

How satisfied are you with this document

Not satisfied at all
Very satisfied
Submit
Click to create an issue. An issue template will be automatically generated based on your feedback.