认识A-Tune

简介

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

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

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

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

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

认识A-Tune - 图1

架构

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

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

认识A-Tune - 图2

支持特性与业务模型

支持特性

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

表 1 特性成熟度

特性

成熟度

使用建议

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

已测试

试用

自定义负载类型和业务模型

已测试

试用

参数自调优

已测试

试用

支持业务模型

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

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

负载模型

业务类型

负载特征

支持的应用

default

默认类型

CPU、内存带宽、网络、IO各维度资源使用率都不高

N/A

webserver

https应用

CPU使用率高

Nginx

big_database

数据库

  • 关系型数据库

    读: CPU、内存带宽、网络使用率高

    写:IO使用率高

  • 非关系型数据库

    CPU、IO使用率高

MongoDB、MySQL、PostgreSQL、MariaDB

big_data

大数据

CPU、IO使用率较高

Hadoop、Spark

in-memory_computing

内存密集型应用

CPU、内存带宽使用率高

SPECjbb2015

in-memory_database

计算+网络密集型应用

CPU单核使用率高,多实例下网络使用率高

Redis

single_computer_intensive_jobs

计算密集型应用

CPU单核使用率高,部分子项内存带宽使用率高

SPECCPU2006

communication

网络密集型应用

CPU、网络使用率高

Dubbo

idle

系统idle

系统处于空闲状态,无任何应用运行

N/A