99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

面向ARM異構(gòu)多核系統(tǒng)的性能分析與效能優(yōu)化

倩倩 ? 來(lái)源:算力基建 ? 作者:算力基建 ? 2022-09-22 14:56 ? 次閱讀
加入交流群

掃碼添加小助手

加入工程師交流群

268adf22-3a2e-11ed-9e49-dac502259ad0.png

01背景介紹

性能和能耗之間的平衡是設(shè)計(jì)新處理器的核心問(wèn)題之一,因?yàn)槌^(guò)90%的處理器最終用于嵌入式能源受限設(shè)備,例如智能手機(jī)物聯(lián)網(wǎng)傳感器。異構(gòu)系統(tǒng),結(jié)合不同的處理器類型,為不同類型的工作負(fù)載提供高能效處理。第一個(gè)異構(gòu)系統(tǒng)將處理器與不同的指令集架構(gòu)(ISA)相結(jié)合。最近,單ISA非對(duì)稱多核處理器(AMP)開(kāi)始流行。它們的優(yōu)勢(shì)是顯而易見(jiàn)的——因?yàn)樘幚砥鞴蚕硐嗤募軜?gòu),操作系統(tǒng)線程調(diào)度程序可以在運(yùn)行時(shí)做出關(guān)于將哪個(gè)任務(wù)/線程映射到哪個(gè)處理器/內(nèi)核的決定,這不僅取決于工作負(fù)載的特征,還取決于通過(guò)單個(gè)處理器/內(nèi)核的運(yùn)行時(shí)負(fù)載。另一方面,這為調(diào)度問(wèn)題引入了額外的自由度,使其更加復(fù)雜。

26b8bd7a-3a2e-11ed-9e49-dac502259ad0.png

非對(duì)稱多核處理器上的多線程多道程序工作負(fù)載,具有一個(gè)大核和一個(gè)小核。僅控制CPU核心親和性會(huì)導(dǎo)致次優(yōu)運(yùn)行時(shí)優(yōu)化決策。工作負(fù)載,這些應(yīng)用程序具有潛在的不平衡線程,并且線程總數(shù)可能高于內(nèi)核數(shù)。雖然向前邁出了重要一步,但WASH僅控制核心親和力,并且以有限的方式這樣做。前者意味著我們無(wú)法以整體方式處理核心分配和線程調(diào)度來(lái)加速最關(guān)鍵的線程。后者意味著WASH只真正控制每個(gè)線程的調(diào)度域,即允許線程使用的內(nèi)核組。每個(gè)線程的實(shí)際核心由底層LinuxCFS調(diào)度程序選擇,其啟發(fā)式忽略異構(gòu)性和線程關(guān)鍵性。

02COLAB方案概覽

COLAB是一種用于非對(duì)稱多核處理器的運(yùn)行時(shí)優(yōu)化策略,它能夠針對(duì)線程調(diào)度中的所有三個(gè)主要因素-核心敏感度、線程關(guān)鍵性和公平性做出協(xié)調(diào)決策。

1.核心敏感度:每種類型的核心都旨在處理不同類型的工作負(fù)載。例如,在ARM big.LITTLE系統(tǒng)中,大內(nèi)核主要用于性能關(guān)鍵型工作負(fù)載或具有指令級(jí)并行(ILP)的工作負(fù)載。在它們上執(zhí)行其他類型的工作負(fù)載不會(huì)顯著提高性能,但會(huì)顯著增加能耗。為了構(gòu)建高效的AMP調(diào)度程序,我們需要預(yù)測(cè)哪些線程適合哪種內(nèi)核。

2.線程關(guān)鍵性:更快地執(zhí)行工作負(fù)載的單個(gè)線程并不總是轉(zhuǎn)化為整個(gè)工作負(fù)載的更好性能。如果應(yīng)用程序的線程不平衡或以不同的速度執(zhí)行,例如因?yàn)椴煌木€程在不同類型的內(nèi)核上運(yùn)行,則應(yīng)用程序?qū)H以其最慢或最關(guān)鍵的線程(阻塞大部分其他線程的線程)運(yùn)行線程)。一個(gè)好的AMP調(diào)度程序會(huì)盡可能地加速這些線程,而不管核心敏感度如何。

3.負(fù)載均衡:在多道程序工作負(fù)載中,單獨(dú)加速單個(gè)應(yīng)用程序是不夠的,如果它會(huì)懲罰其他應(yīng)用程序。理想情況下,我們需要負(fù)載均衡來(lái)平衡所有應(yīng)用程序中資源共享的負(fù)面影響。在同構(gòu)系統(tǒng)中,這很容易通過(guò)以循環(huán)方式在CPU上為每個(gè)應(yīng)用程序提供固定大小的時(shí)間片來(lái)實(shí)現(xiàn)。AMP使這個(gè)簡(jiǎn)單的解決方案變得不可行。由于每個(gè)內(nèi)核的性能不同,不同內(nèi)核類型上相同的CPU時(shí)間會(huì)導(dǎo)致執(zhí)行的工作量完全不同。

26f3019c-3a2e-11ed-9e49-dac502259ad0.png

系統(tǒng)分為運(yùn)行時(shí)調(diào)度過(guò)程和離線建模過(guò)程。運(yùn)行時(shí)調(diào)度器內(nèi)置在OS內(nèi)核中,由

i)一個(gè)核心分配器組成,用于處理公平性和核心敏感性;

ii)實(shí)現(xiàn)瓶頸加速的線程選擇器;

iii)基于機(jī)器學(xué)習(xí)的運(yùn)行時(shí)模型,它預(yù)測(cè)異構(gòu)內(nèi)核上線程的加速和功耗。離線建模處理用于通過(guò)離線訓(xùn)練構(gòu)建運(yùn)行時(shí)模型。

COLAB調(diào)度程序的主要新穎之處在于它可以以協(xié)作的方式處理多個(gè)運(yùn)行時(shí)因素(核心敏感性、瓶頸加速和公平性),以實(shí)現(xiàn)高系統(tǒng)性能和能源效率。

運(yùn)行時(shí)分析

核心分配器:支持AMP的核心分配器主要受線程的核心敏感度因素指導(dǎo),它量化了將線程從小核心遷移到大核心帶來(lái)的性能優(yōu)勢(shì)。將high-speedupthread(在大核心上享有較大的加速)從小核心遷移到大核心通常比遷移low-speedupthread 提供更多好處。然而,考慮到瓶頸因素,它量化了線程阻塞其他線程的程度,揭示了這種啟發(fā)式在多道程序工作負(fù)載上的問(wèn)題。以前的方法只是將預(yù)測(cè)的瓶頸加速和加速結(jié)合在一起。這可能會(huì)導(dǎo)致次優(yōu)的調(diào)度決策,其中瓶頸線程和高速加速線程都累積在大核心的運(yùn)行隊(duì)列中,更好的核心分配策略將避免瓶頸加速和加速的簡(jiǎn)單組合,而是專注于協(xié)作環(huán)境,其中大核心專注于高速瓶頸線程,小核心處理低加速瓶頸線程而無(wú)需額外遷移。此外,核心分配器試圖通過(guò)有效地共享異構(gòu)硬件并盡可能避免讓資源閑置來(lái)實(shí)現(xiàn)AMP的相對(duì)公平。簡(jiǎn)單地將就緒線程均勻地映射到不同類型的內(nèi)核上并不能實(shí)現(xiàn)真正的公平性,因?yàn)椴煌愋偷膬?nèi)核最終具有不同數(shù)量的線程優(yōu)先級(jí)。因此,應(yīng)采用分層分配來(lái)保證整體公平性,從而避免頻繁將線程遷移到空運(yùn)行隊(duì)列的需要。

線程選擇器:線程選擇器決定接下來(lái)將執(zhí)行每個(gè)內(nèi)核的運(yùn)行隊(duì)列中的哪個(gè)線程。線程選擇器通常會(huì)優(yōu)先考慮瓶頸線程,以避免線程被阻塞太久而導(dǎo)致性能損失。在多線程多程序環(huán)境中,可能需要同時(shí)加速來(lái)自不同程序的多個(gè)瓶頸線程。不像之前的瓶頸加速調(diào)度程序那樣簡(jiǎn)單地檢測(cè)瓶頸線程并將它們?nèi)糠峙浣o大核,線程選擇器需要做出協(xié)作決策——理想情況下,大核和小核核心將同時(shí)運(yùn)行瓶頸線程。核心敏感性通常對(duì)線程選擇器并不重要,它做出的決定完全由瓶頸加速來(lái)指導(dǎo)。一個(gè)例外是大核心的運(yùn)行隊(duì)列為空并且調(diào)用線程選擇器時(shí)。只有在這種情況下,才應(yīng)考慮就緒線程的核心敏感性的加速因素。必要時(shí),大核甚至可以搶占小核上的線程執(zhí)行。最后,線程選擇器還關(guān)注公平性。通過(guò)更新線程選擇器的時(shí)間間隔來(lái)縮放線程的時(shí)間片已被證明可以保證線程的相等進(jìn)度并實(shí)現(xiàn)多線程單程序工作負(fù)載的公平性。然而,僅僅確保所有線程的平等進(jìn)程是不夠的,不足以保證跨程序的公平性。線程選擇器應(yīng)確保每個(gè)單獨(dú)的程序都能平等地進(jìn)行使用大核和小核來(lái)加速瓶頸為此提供了機(jī)會(huì)。線程選擇器試圖通過(guò)盡快加速所有程序的瓶頸線程來(lái)確保程序之間的公平性。

271aa526-3a2e-11ed-9e49-dac502259ad0.png

運(yùn)行時(shí)協(xié)作

核心分配器和線程選擇器協(xié)作以實(shí)現(xiàn)性能和能耗之間的良好折衷,同時(shí)確保公平。模型的流程圖如下圖所示。

28c6ffe6-3a2e-11ed-9e49-dac502259ad0.png

基于加速預(yù)測(cè)和瓶頸識(shí)別的運(yùn)行時(shí)模型,通過(guò)定期將就緒線程分類(使用標(biāo)簽)分為兩個(gè)不同的類別來(lái)促進(jìn)協(xié)作。

核心分配標(biāo)簽:在大核心上具有高預(yù)測(cè)加速的線程將被標(biāo)記為大核心上的高優(yōu)先級(jí)。具有低預(yù)測(cè)加速和阻塞級(jí)別的線程,即非關(guān)鍵線程,將在小核心上獲得高優(yōu)先級(jí)(在大核心上獲得低優(yōu)先級(jí))。剩余線程在大核或小核上獲得相同的優(yōu)先級(jí)——然后可以自由分配這些線程以平衡核的負(fù)載。

線程選擇標(biāo)簽:具有高阻塞級(jí)別的線程將被標(biāo)記為本地線程選擇的高優(yōu)先級(jí)。無(wú)論它們是在大核還是小核上執(zhí)行,都將給予這些線程相同的優(yōu)先級(jí)。該標(biāo)簽仍然記錄了當(dāng)前核心的類型——如果存在具有空運(yùn)行隊(duì)列的相同類型的核心,線程總是優(yōu)先被相同類型的核心選擇。在小核心上運(yùn)行的線程也被標(biāo)記,因?yàn)樗鼈兛赡軙?huì)在合適的時(shí)候被搶占在大核心上遷移和執(zhí)行,但運(yùn)行線程永遠(yuǎn)不會(huì)優(yōu)先于等待就緒線程。

標(biāo)簽后處理:在標(biāo)記過(guò)程之后,公平性、核心敏感性和瓶頸加速由線程上的標(biāo)簽表示,并且可以由核心分配器、線程選擇器或兩者一起處理?;谶@種協(xié)調(diào)模型,核心分配器和線程選擇器從就緒線程集中處理不同的優(yōu)先級(jí)隊(duì)列——它們的決策不會(huì)像WASH這樣的混合多因素直接排名。相反,他們提供了一個(gè)基于時(shí)間片的協(xié)作方案。

協(xié)同多因素模型處理的另一個(gè)重要問(wèn)題是確保線程的平等進(jìn)展,我們不會(huì)干擾線程選擇的優(yōu)先級(jí)和決策,而是根據(jù)在大內(nèi)核上運(yùn)行的線程的預(yù)測(cè)加速值,通過(guò)按比例縮放的時(shí)間片方法在線程中實(shí)現(xiàn)相等的進(jìn)展。大核上的線程片比小核上的相對(duì)短。線程選擇功能更頻繁地被觸發(fā)以交換大核上的執(zhí)行線程,這保證了在所有核上執(zhí)行的線程的相對(duì)等進(jìn)度。運(yùn)行時(shí)模型會(huì)定期提取性能計(jì)數(shù)器,該計(jì)數(shù)器代表AMP上多線程多程序工作負(fù)載的當(dāng)前執(zhí)行環(huán)境。模型計(jì)算更新的運(yùn)行時(shí)因素包括預(yù)測(cè)的加速值和阻塞計(jì)數(shù)。此信息附加到線程并報(bào)告回多因素貼標(biāo)機(jī)以供下一輪使用。

03總結(jié)

本期報(bào)告著重介紹了COLAB運(yùn)行時(shí)優(yōu)化框架,該框架針對(duì)非對(duì)稱多核處理器(AMP)上的多線程多道程序工作負(fù)載。AMP在當(dāng)今處理器市場(chǎng)尤其是嵌入式系統(tǒng)中占據(jù)重要部分。COLAB是第一個(gè)通用調(diào)度程序,通過(guò)對(duì)核心敏感性、線程關(guān)鍵性和調(diào)度公平性做出協(xié)作決策,優(yōu)化了影響AMP調(diào)度的所有這三個(gè)因素-核心親和力、線程關(guān)鍵性和調(diào)度公平性。COLAB調(diào)度程序在性能方面分別比最先進(jìn)的WASH、ARMGTS 和LinuxCFS調(diào)度程序高出21%、20%和25%,平均系統(tǒng)吞吐量高了6%、2%和15%,與WASH和ARMGTS相比,COLAB實(shí)現(xiàn)了平均5%的節(jié)能。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9353

    瀏覽量

    377779
  • 多核處理器
    +關(guān)注

    關(guān)注

    0

    文章

    110

    瀏覽量

    20321
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    508

    瀏覽量

    20243

原文標(biāo)題:面向ARM異構(gòu)多核系統(tǒng)的運(yùn)行時(shí)性能分析與效能優(yōu)化

文章出處:【微信號(hào):算力基建,微信公眾號(hào):算力基建】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ARM Mali GPU 深度解讀

    ARM Mali GPU 深度解讀 ARM Mali 是 Arm 公司面向移動(dòng)設(shè)備、嵌入式系統(tǒng)和基礎(chǔ)設(shè)施市場(chǎng)設(shè)計(jì)的圖形處理器(GPU)IP
    的頭像 發(fā)表于 05-29 10:12 ?1114次閱讀

    Arm 公司面向 PC 市場(chǎng)的 ?Arm Niva? 深度解讀

    面向 PC 市場(chǎng)的 ? Arm Niva ? 深度解讀 ? Arm Niva ? 是 Arm 公司為 PC 市場(chǎng)推出的核心計(jì)算平臺(tái),屬于其“平臺(tái)優(yōu)先”戰(zhàn)略的關(guān)鍵布局。作為 ?
    的頭像 發(fā)表于 05-29 09:56 ?702次閱讀

    Arm 公司面向移動(dòng)端市場(chǎng)的 ?Arm Lumex? 深度解讀

    (CSS)? ? 在移動(dòng)端的落地形態(tài),Lumex 旨在通過(guò)高度集成化的軟硬件方案,解決移動(dòng)設(shè)備在 AI 性能、能效比與開(kāi)發(fā)效率上的挑戰(zhàn)。以下從技術(shù)架構(gòu)、性能突破、應(yīng)用場(chǎng)景、生態(tài)系統(tǒng)及戰(zhàn)略價(jià)值展開(kāi)
    的頭像 發(fā)表于 05-29 09:54 ?1285次閱讀

    Arm 公司面向汽車市場(chǎng)的 ?Arm Zena? 深度解讀

    汽車市場(chǎng)的落地形態(tài),Zena 旨在解決汽車智能化轉(zhuǎn)型中的算力需求、開(kāi)發(fā)效率與功能安全挑戰(zhàn)。以下從技術(shù)架構(gòu)、性能優(yōu)勢(shì)、應(yīng)用場(chǎng)景、生態(tài)系統(tǒng)及戰(zhàn)略意義展開(kāi)分析: 一、技術(shù)架構(gòu):異構(gòu)集成與功能
    的頭像 發(fā)表于 05-29 09:51 ?1379次閱讀

    米爾瑞芯微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布

    。 低延時(shí)、高實(shí)時(shí)性RK3506采用了AMP多核異構(gòu),具備強(qiáng)大的實(shí)時(shí)性能使得一顆芯片便能靈活搭配多種操作系統(tǒng),確保系統(tǒng)能夠快速響應(yīng)各類輸入信
    發(fā)表于 05-16 17:20

    全志科技多核異構(gòu)SoC助力行業(yè)智能化創(chuàng)新

    近日, “第十二屆開(kāi)源操作系統(tǒng)年度技術(shù)會(huì)議”在北京舉行,全志科技受邀參會(huì)。會(huì)上,全志進(jìn)行了題為《多核異構(gòu)SoC在行業(yè)應(yīng)用中軟件方案的思考與實(shí)踐》的分享。分享從市場(chǎng)和技術(shù)洞察、方案設(shè)計(jì)創(chuàng)新、場(chǎng)景化應(yīng)用落地三個(gè)維度展開(kāi)
    的頭像 發(fā)表于 04-18 09:11 ?622次閱讀
    全志科技<b class='flag-5'>多核</b><b class='flag-5'>異構(gòu)</b>SoC助力行業(yè)智能化創(chuàng)新

    RK3399處理器:高性能多核異構(gòu)計(jì)算平臺(tái)

    RK3399是一款高性能多核異構(gòu)計(jì)算平臺(tái),集成了強(qiáng)大的CPU、GPU以及豐富的多媒體和接口功能。其獨(dú)特的雙Cortex-A72+四Cortex-A53大小核CPU結(jié)構(gòu),使得RK3399在處理復(fù)雜
    的頭像 發(fā)表于 02-08 18:04 ?1555次閱讀

    如何優(yōu)化總線系統(tǒng)性能

    總線系統(tǒng)是計(jì)算機(jī)和其他電子設(shè)備中用于傳輸數(shù)據(jù)的關(guān)鍵組件。性能優(yōu)化可以提高數(shù)據(jù)傳輸速率、降低延遲,并增強(qiáng)系統(tǒng)的可靠性和擴(kuò)展性。 1. 理解總線系統(tǒng)
    的頭像 發(fā)表于 12-31 09:54 ?690次閱讀

    如何優(yōu)化DCS系統(tǒng)性能

    優(yōu)化DCS(分布式控制系統(tǒng)系統(tǒng)性能是確保工業(yè)自動(dòng)化過(guò)程高效、穩(wěn)定運(yùn)行的關(guān)鍵。以下是一些具體的優(yōu)化措施: 一、硬件
    的頭像 發(fā)表于 11-13 09:19 ?1468次閱讀

    如何優(yōu)化SOC芯片性能

    優(yōu)化SOC(System on Chip,系統(tǒng)級(jí)芯片)芯片性能是一個(gè)復(fù)雜而多維的任務(wù),涉及多個(gè)方面的優(yōu)化策略。以下是一些關(guān)鍵的優(yōu)化措施: 一
    的頭像 發(fā)表于 10-31 15:50 ?1758次閱讀

    使用Arthas火焰圖工具的Java應(yīng)用性能分析優(yōu)化經(jīng)驗(yàn)

    分享作者在使用Arthas火焰圖工具進(jìn)行Java應(yīng)用性能分析優(yōu)化的經(jīng)驗(yàn)。
    的頭像 發(fā)表于 10-28 09:27 ?1302次閱讀
    使用Arthas火焰圖工具的Java應(yīng)用<b class='flag-5'>性能</b><b class='flag-5'>分析</b>和<b class='flag-5'>優(yōu)化</b>經(jīng)驗(yàn)

    【米爾NXP i.MX 93開(kāi)發(fā)板試用評(píng)測(cè)】1、異構(gòu)核心通信的技術(shù)內(nèi)容

    多核系統(tǒng)通常包含具有不同性能和功能的不同類型處理器核心,例如,一個(gè)系統(tǒng)可能同時(shí)包含高性能ARM
    發(fā)表于 09-21 20:24

    復(fù)旦微PS+PL異構(gòu)多核開(kāi)發(fā)案例分享,基于FMQL20SM國(guó)產(chǎn)處理器平臺(tái)

    FMQL20S400M是復(fù)旦微四核ARM Cortex-A7@1GHz(PS端)+85K可編程邏輯資源(PL端)異構(gòu)多核SoC處理器。創(chuàng)龍科技基于FMQL20S400M設(shè)計(jì)的工業(yè)核心板
    發(fā)表于 08-22 14:04

    66AK2Hxx多核DSP+ARM? KeyStone II片上系統(tǒng)(SoC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《66AK2Hxx多核DSP+ARM? KeyStone II片上系統(tǒng)(SoC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-07 09:34 ?0次下載
    66AK2Hxx<b class='flag-5'>多核</b>DSP+<b class='flag-5'>ARM</b>? KeyStone II片上<b class='flag-5'>系統(tǒng)</b>(SoC)數(shù)據(jù)表

    如何在RK3562J的AMP雙系統(tǒng)實(shí)現(xiàn)裸核中斷嵌套機(jī)制

    ,例如可以基于RK HAL硬件抽象層適配指定的RTOS等。 在處理器核心方面: 瑞芯微多核異構(gòu)系統(tǒng)支持SoC中同構(gòu)的ARM Cortex-A核心獨(dú)立運(yùn)行。也支持SoC中
    發(fā)表于 07-29 16:29