<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM big.LITTLE大小核架構在Linux和Android內核下多核調度算法

ARM big.LITTLE大小核架構在Linux和Android內核下多核調度算法

作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò ) 收藏
在2013年,big.LITTLE家族又增加了新的SoC實(shí)現,有2個(gè)Cortex-A15+3個(gè)Cortex-A7核的ARM的參考測試芯片TC2,以及在三星Galaxy S4手機中應用的Samsung-LSI的4個(gè)Cortex-A15核+4個(gè)Cortex-A7核的Octa-core芯片。Linaro在A(yíng)RM的big.LITTLE SoCs上針對LinuxAndroid內核做了很多的性能優(yōu)化(包括負載控制、針對big.LITTLE架構的性能和電源管理),以提高多核multi-core程序的能效,增加待機時(shí)間。最新的多核多任務(wù)的調度方法包括內核里交換器(或者說(shuō)CPU遷移算法CPU Migration/IKS In Kernel Switcher)、全局任務(wù)調度(Global Task Scheduling,或者大小核MP/ big.LITTLE MP)。

本文引用地址:http://dyxdggzs.com/article/201611/317416.htm

圖1. big.LITTLE SoCs的多核任務(wù)調度算法

早期的big.LITTLE軟模型才去簇遷移或者CPU遷移(cluster migration或者CPU migration)調度算法,即軟件在核間切換,但不能把所有的核同時(shí)運行。最新的軟件模型,全局任務(wù)調度(Global Task Scheduling)能同時(shí)使能所有的核,直接控制各核間的線(xiàn)程分配。大小核切換是使用動(dòng)態(tài)電壓和頻率調整(dynamic voltage and frequency scaling (DVFS))方法讓任務(wù)在高電壓的大核和低電壓的小核間切換,進(jìn)而提高各種負載情況下的能效。核間任務(wù)切換時(shí)間為30微秒,而DVFS驅動(dòng)每50微秒評估OS和核。GTS算法下會(huì )根據線(xiàn)程的負載進(jìn)行負荷均衡。以上多核任務(wù)調度算法都是在內核層次進(jìn)行的,因而不用對用戶(hù)應用程序進(jìn)行任何修改。

CPU遷移算法IKS – In Kernel Switcher (CPU Migration)

IKS是Linaro開(kāi)發(fā)的適用于對稱(chēng)的Cortex-A7和Cortex-A15核組的芯片。每一對Cortex-A7和Cortex-A15核組在Linux內核里被視為虛擬的對稱(chēng)核。線(xiàn)程在互斥的兩個(gè)對稱(chēng)核里運行,即要么在高性能的Cortex-A15內運行,要么在低功耗的Cortex-A7核內運行,即最高性能只取決于Cortex-A15的核。IKS算法在Linux內核里已經(jīng)實(shí)現,容易測試和產(chǎn)品化。

圖2. IKS(4+4)和Cortex-A7和Cortex-A15核組架構圖

全局任務(wù)調度(Global Task Scheduling ,大小核MP/ big.LITTLE MP)

ARM開(kāi)發(fā)的GTS算法也在Linaro里被稱(chēng)為big.LITTLE MP。此算法下,所有的大小核在Linxu內核下都可見(jiàn)用于任務(wù)調度,日前的Linaro構建里都包含了該調度算法。

圖3. GTS(4+4)和Cortex-A7和Cortex-A15核組架構圖

相比IKS算法,GTS算法有如下的優(yōu)勢:

  • 更精細的核間負載控制,因為調度器Scheduler能直接切換核間任務(wù),內核的額外開(kāi)銷(xiāo)減少從而減少功耗;
  • 調度器Scheduler里的實(shí)現相比基于cpufreq框架的實(shí)現決策更快,相比IKS大概有10%的性能提升。
  • GTS支持非對稱(chēng)的架構,如2個(gè)Cortex-A15核加上4個(gè)Cortex-A7核;
  • 可以同時(shí)應用所有的峰值處理能力,如圖3中的處理能力為4個(gè)Cortex-A15核加上4個(gè)Cortex-A7核的處理能力。

big.LITTLE MP內核補丁能創(chuàng )建一個(gè)處理當前任務(wù)的Cortex-A15和Cortex-A7核列表,然后根據歷史負載統計分配并跟蹤每個(gè)任務(wù)并進(jìn)行核間任務(wù)切換。高處理能力需求的往Cortex-A15轉移,而低處理能力需求的往低功耗的Cortex-A7核遷移。

表1. big.LITTLE IKS vs big.LITTLE MP(GTS)內核調度算法比較

big.LITTLE IKS CPU Migration

big.LITTLE MP、GTS

核配置

Cortex-A15+Cortex-A7核對

任意數量的Cortex-A15核+Cortex-A7核,并且可以同時(shí)運行。

對內核影響

最低限度的修改,修改只應用于governor

對內核修改較多,包括調度器scheduler、流程標注等

最大處理能力

所有的Cortex-A15

所有的Cortex-A15核+Cortex-A7核

任務(wù)切換

基于cpufreq框架

直接使用scheduler,10%性能提升;

可用性

存在Linaro的每月構建里

存在Linaro的每月構建里

Kernel.org

在3.11或者3.12里會(huì )存在

在后續的幾個(gè)季度內會(huì )上傳

以上的調度算法以Cortex-A15核+Cortex-A7核的多核SoCs為例,但更多的big.LITTLE SoCs可能采用ARM更新的Cortex-A57+ Cortex-A53的架構一樣適用。

總結

以上的big.LITTLE架構的任務(wù)調度算法已經(jīng)在Linaro的構建里存在,并且有些算法在實(shí)際的系統中做了性能評估。如三星最新的Galaxy S4手機采用的是8核系統,即4個(gè)Cortex-A15核加上4個(gè)Cortex-A7核的系統已經(jīng)采用基于簇的遷移算法。即便是采用性能最不經(jīng)濟的cluster Migration算法在高通Qualcomm的多核Snapdragon系統中證明其能效的優(yōu)越性。Samsung在Exynos 5中已經(jīng)用Cortex-A7的能耗帶來(lái)了類(lèi)似Cortex-A15級別的性能。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>