概述
在2013年,big.LITTLE宗族又添加了新的SoC完成,有2个Cortex-A15+3个Cortex-A7核的ARM的参阅测验芯片TC2,以及在三星Galaxy S4手机中运用的Samsung-LSI的4个Cortex-A15核+4个Cortex-A7核的Octa-core芯片。Linaro在ARM的big.LITTLE SoCs上针对Linux和Android内核做了许多的功能优化(包含负载操控、针对big.LITTLE架构的功能和电源办理),以进步多核multi-core程序的能效,添加待机时刻。最新的多核多使命的调度办法包含内核里交换器(或许说CPU搬迁算法CPU Migration/IKS In Kernel Switcher)、大局使命调度(Global Task Scheduling,或许巨细核MP/ big.LITTLE MP)。
图1. big.LITTLE SoCs的多核使命调度算法
前期的big.LITTLE软模型才去簇搬迁或许CPU搬迁(cluster migration或许CPU migration)调度算法,即软件在核间切换,但不能把一切的核一起运转。最新的软件模型,大局使命调度(Global Task Scheduling)能一起使能一切的核,直接操控各核间的线程分配。巨细核切换是运用动态电压和频率调整(dynamic voltage and frequency scaling (DVFS))办法让使命在高电压的大核和低电压的小核间切换,然后进步各种负载情况下的能效。核间使命切换时刻为30微秒,而DVFS驱动每50微秒评价OS和核。GTS算法下会依据线程的负载进行负荷均衡。以上多核使命调度算法都是在内核层次进行的,因此不必对用户运用程序进行任何修正。
CPU搬迁算法IKS – In Kernel Switcher (CPU Migration)
IKS是Linaro开发的适用于对称的Cortex-A7和Cortex-A15核组的芯片。每一对Cortex-A7和Cortex-A15核组在Linux内核里被视为虚拟的对称核。线程在互斥的两个对称核里运转,即要么在高功能的Cortex-A15内运转,要么在低功耗的Cortex-A7核内运转,即最高功能只取决于Cortex-A15的核。IKS算法在Linux内核里现已完成,简单测验和产品化。
图2. IKS(4+4)和Cortex-A7和Cortex-A15核组架构图
大局使命调度(Global Task Scheduling ,巨细核MP/ big.LITTLE MP)
ARM开发的GTS算法也在Linaro里被称为big.LITTLE MP。此算法下,一切的巨细核在Linxu内核下都可见用于使命调度,日前的Linaro构建里都包含了该调度算法。
图3. GTS(4+4)和Cortex-A7和Cortex-A15核组架构图
比较IKS算法,GTS算法有如下的优势:更精密的核间负载操控,由于调度器Scheduler能直接切换核间使命,内核的额定开支削减然后削减功耗;
调度器Scheduler里的完成比较依据cpufreq结构的完成决议计划更快,比较IKS大概有10%的功能提高。
GTS支撑非对称的架构,如2个Cortex-A15核加上4个Cortex-A7核;
能够一起运用一切的峰值处理才能,如图3中的处理才能为4个Cortex-A15核加上4个Cortex-A7核的处理才能。
big.LITTLE MP内核补丁能创立一个处理当前使命的Cortex-A15和Cortex-A7核列表,然后依据前史负载计算分配并盯梢每个使命并进行核间使命切换。高处理才能需求的往Cortex-A15搬运,而低处理才能需求的往低功耗的Cortex-A7核搬迁。
表1. big.LITTLE IKS vs big.LITTLE MP(GTS)内核调度算法比较big.LITTLE IKS CPU Migrationbig.LITTLE MP、GTS
核装备Cortex-A15+Cortex-A7核对恣意数量的Cortex-A15核+Cortex-A7核,而且能够一起运转。
对内核影响最低极限的修正,修正只运用于governor对内核修正较多,包含调度器scheduler、流程标示等
最大处理才能一切的Cortex-A15一切的Cortex-A15核+Cortex-A7核
使命切换依据cpufreq结构直接运用scheduler,10%功能提高;
可用性存在Linaro的每月构建里存在Linaro的每月构建里
Kernel.org在3.11或许3.12里会存在在后续的几个季度内会上传
以上的调度算法以Cortex-A15核+Cortex-A7核的多核SoCs为例,但更多的big.LITTLE SoCs或许选用ARM更新的Cortex-A57+ Cortex-A53的架构相同适用。
总结
以上的big.LITTLE架构的使命调度算法现已在Linaro的构建里存在,而且有些算法在实践的体系中做了功能评价。如三星最新的Galaxy S4手机选用的是8核体系,即4个Cortex-A15核加上4个Cortex-A7核的体系现已选用依据簇的搬迁算法。即便是选用功能最不经济的cluster Migration算法在高通Qualcomm的多核Snapdragon体系中证明其能效的优越性。Samsung在Exynos 5中现已用Cortex-A7的能耗带来了相似Cortex-A15级其他功能。
最后
以上就是柔弱眼睛为你收集整理的linux 多核 arm,ARM big.LITTLE巨细核架构在Linux和Android内核下多核调度算法的全部内容,希望文章能够帮你解决linux 多核 arm,ARM big.LITTLE巨细核架构在Linux和Android内核下多核调度算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复