2
Journal of Software 软件学报
1 介绍
性能非对称性异构多核处理器(AMPs,asymmetric multicore processors)在同一处理器中集成不同微架构
设计的 CPU 核心(Core),这些核心具有不同的特性,比如高性能、低功耗,可以协同工作提供良好的性能功耗
比(能效)
[1-3]
.目前典型的代表是 ARM 的 big.LITTLE
[4]
架构设计(例如:高通骁龙 855 和华为麒麟 980),
普遍应用在移动终端场景下,可以根据手机上不同应用的需求
[5]
选择不同的 CPU 核心(Core)处理,以便达到
性能与功耗的平衡.
然而,异构多核处理器设计在提供高能效的同时,也为操作系统的任务调度带来诸多挑战
[1]
,任务调度作为
提高多核系统性能和资源利用率的重要手段
[6]
,其中一个重要的问题是 CPU 调度的负载均衡
[7][8]
.由于传统负
载均衡主要是针对同构多核处理器设计,其基本思想是保证负载在各个核之间均匀分布,当分布不均时,需要将
任务从高负载核心迁移到低负载核心
[9][10]
.然而在异构环境中,不同核之间的微架构存在差异,相同任务在不同
类型核上运行的相对负载不尽相同,无法再以任务的平均分布情况作为负载均衡的单一判别标准.同时,由于不
同类型任务对于 CPU 核的利用情况差异显著
[2-3]
,传统的负载均衡会导致不合理的决策.
基于此问题,已有研究工作是面向异构环境进行调度模块本身的设计和优化
[7][11-15]
,为异构环境提供了可
用的调度和负载均衡方案;然而由于缺乏平台级的改进,无法对传统环境下已有的调度器形成支持,因而降低
了系统调度机制适配的可扩展特性.在上述背景下,本文提出一种新的负载均衡机制 S-Bridge,在系统层实现对
CPU 微架构和任务异构性的感知;继而对所有调度器提供相应开发接口,协助调度器进行异构感知的负载均衡.
本文的主要贡献如下:(1)提出一种新的负载均衡机制 S-Bridge,在不修改调度算法的前提下,在系统层面
实现接口和参数,进行处理器核心和工作负载的异构性的适配.S-Bridge 最显著的贡献是在异构环境下可以协
助没有异构支持的调度器进行快速适配和性能优化;(2)提出一种新的负载度量模型,在传统负载度量方法的
基础上进行扩展,基于对任务运行性能的经验分析,为负载均衡决策提供感知决策;(3)在不同的内核版本上针
对不同的调度算法实现 S-Bridge,验证 S-Bridge 的有效性和通用性.
本文第 1 节介绍研究背景和主要贡献;第 2 节介绍异构调度的相关工作;第 3 节描述异构多核环境下的负载
均衡问题;第 4 节详细介绍 S-Bridge 的设计与实现;第 5 节介绍相关实验及结果讨论;第 6 节是结论及展望.
2 相关工作
异构多核处理器最主要的优势是不同类型的核心可以满足不同特定应用的需求
[1]
.因此,在任务调度时,需
要感知异构所带来的计算能力的差异性和任务特性,为任务选择更合适的核心.近年异构支持的调度优化出现
很多研究工作,主要从满足性能
[7][11-14][16-21]
、能效
[22-26]
、公平性
[15][27-28]
等优化目标提出调度算法.由于本文主
要是性能为主要优化目标,下面将重点介绍已有研究工作.
HASS
[18]
是静态调度算法,在调度之前借助编译器的反馈优化技术提前对程序进行分析,并在二进制文件
中保存架构签名,主要包括程序在不同配置核上的访存信息,作为程序是否受益大核的依据.文献
[7][11][19]
根据应
用的运行时状态(比如性能事件信息)进行调度策略的优化,文献
[19]
通过将线程分配到不同类型核上运行一段
时间周期性的进行 IPC 的采样,根据在大核和小核上运行的 IPC 加速比进行线程的迁移,为了避免 IPC 变化所
带来的频繁迁移,调度决策依据历史 IPC 和当前 IPC 的加权平均.文献
[7]
建立 CPI 栈模型,由核内阻塞、核外阻
塞和真正执行占用的周期数组成,通过在不同核上采样证明当线程 CPI 栈以执行周期为主时,线程具有大核偏
好(BIAS),反之则具有小核偏好,在系统不均衡的情况下,选择最合适的任务迁移到目标核上.文献
[11]
根据周期
性的统计性能事件(包括:LLC 缺失数,指令数,指令之间的依赖距离分布等)建立栈模型,结合硬件的架构参
数进行 MLP 和 ILP 的预测,并根据预测结果做出调度决策.文献
[20]
提出一种异构感知的负载均衡策略,保证核上
运行的负载与核功耗成比例,并通过优先使用大核的策略提升系统执行性能,通过在线监控线程的常驻工作集
预测线程迁移的代价,并根据迁移代价进行线程迁移的优化.文献
[21]
采用跟文献
[20]
相类似的大核优先的调度策
略和类似的效果,两者的主要区别是文献
[20]
在提升性能的同时保证公平性.文献
[12]
基于间隔分析(interval
评论