认识A-Tune

简介

操作系统作为衔接应用和硬件的基础软件,如何调整系统和应用配置,充分发挥软硬件能力,从而使业务性能达到最优,对用户至关重要。然而,运行在操作系统上的业务类型成百上千,应用形态千差万别,对资源的要求各不相同。当前硬件和基础软件组成的应用环境涉及高达7000多个配置对象,随着业务复杂度和调优对象的增加,调优所需的时间成本呈指数级增长,导致调优效率急剧下降,调优成为了一项极其复杂的工程,给用户带来巨大挑战。

其次,操作系统作为基础设施软件,提供了大量的软硬件管理能力,每种能力适用场景不尽相同,并非对所有的应用场景都通用有益,因此,不同的场景需要开启或关闭不同的能力,组合使用系统提供的各种能力,才能发挥应用程序的最佳性能。

另外,实际业务场景成千上万,计算、网络、存储等硬件配置也层出不穷,实验室无法遍历穷举所有的应用和业务场景,以及不同的硬件组合。

为了应对上述挑战,openEuler推出了A-Tune。

A-Tune是一款基于AI开发的系统性能优化引擎,它利用人工智能技术,对业务场景建立精准的系统画像,感知并推理出业务特征,进而做出智能决策,匹配并推荐最佳的系统参数配置组合,使业务处于最佳运行状态。

认识A-Tune - 图1

架构

A-Tune核心技术架构如下图,主要包括智能决策、系统画像和交互系统三层。

  • 智能决策层:包含感知和决策两个子系统,分别完成对应用的智能感知和对系统的调优决策。
  • 系统画像层:主要包括自动特征工程和两层分类模型,自动特征工程用于业务特征的自动选择,两层分类模型用于业务模型的学习和分类。
  • 交互系统层:用于各类系统资源的监控和配置,调优策略执行在本层进行。

认识A-Tune - 图2

支持特性与业务模型

支持特性

A-Tune支持的主要特性、特性成熟度以及使用建议请参见表1

表 1 特性成熟度

特性

成熟度

使用建议

11大类15款应用负载类型自动优化

已测试

试用

自定义profile和业务模型

已测试

试用

参数自调优

已测试

试用

支持业务模型

根据应用的负载特征,A-Tune将业务分为11大类,各类型的负载特征和A-Tune支持的应用请参见表2

表 2 支持的业务类型和应用

业务大类

业务类型

瓶颈点

支持的应用

default

默认类型

算力、内存、网络、IO各维度资源使用率都不高

N/A

webserver

web应用

算力瓶颈、网络瓶颈

Nginx、Apache Traffic Server

database

数据库

算力瓶颈、内存瓶颈、IO瓶颈

Mongodb、Mysql、Postgresql、Mariadb

big-data

大数据

算力瓶颈、内存瓶颈

Hadoop-hdfs、Hadoop-spark

middleware

中间件框架

算力瓶颈、网络瓶颈

Dubbo

in-memory-database

内存数据库

内存瓶颈、IO瓶颈

Redis

basic-test-suite

基础测试套

算力瓶颈、内存瓶颈

SPECCPU2006、SPECjbb2015

hpc

人类基因组

算力瓶颈、内存瓶颈、IO瓶颈

Gatk4

storage

存储

网络瓶颈、IO瓶颈

Ceph

virtualization

虚拟化

算力瓶颈、内存瓶颈、IO瓶颈

Consumer-cloud、Mariadb

docker

容器

算力瓶颈、内存瓶颈、IO瓶颈

Mariadb