天天看點

A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors

A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors(前四章)

  1. 摘要:
    • AMPs具有不同的微架構或者是ISAs的處理器,為了更好的滿足工作負載的多樣性
    • 目前針對AMPs的研究:優化串行執行和并行執行的性能
    • 論文介紹了之前設計和管理AMPs的一些技術研究,包括體系結構級别和系統級别的技術,同時論文利用這些技術包含的關鍵特征進行了技術分類,介紹了這些技術的相似和不同
    • 論文澄清了一些這個領域中的術語名詞
    • 關鍵詞:分類,AMP,異構多核,ARM的大小核,可重構的AMP
  2. AMP的目的:針對功耗/性能或者不同的應用特征進行優化,或者用于開發不同級别的并行性,例如ILP,TLP,MLP

    AMP的問題:随着核的種類的增加,ISAs的增加或者利用的并行性的級别的擴大,AMP的管理的複雜程度将以指數級别增加

  3. 論文的整體結構
    • 介紹用于描述AMP的相關概念的專有名詞,澄清這些名詞的含義,進而保證之後使用統一的名詞
    • 針對于一些商業已有的AMP進行讨論,包括AMP之後的原理和帶來的新挑戰
    • 比較AMP和SMP之間的差異,并且對這些結構進行分類
    • 讨論建構和管理靜态AMP的技術和其中為了達到一些性能優化目标而提出的技術
    • 介紹設計和管理可重構AMP的相關技術
  4. 論文介紹的範圍
    • 包括具有不對稱架構的CPU核心,包括靜态或者動态兩個方面
    • 主要針對于不同的微體系結構特性,例如流水線設計,緩存層次結構,發射或者取指寬度等,不僅僅是頻率或者電壓的不同
    • 不包括帶有GPU等其它完全不同類型的處理器的異構結構
    • 不包括僅僅有不同的電路設計的處理器(CMOS和Tunnel FET)或者是不同的制程工藝
  5. 專用術語
    • 單ISA的AMP(asymmetric single-ISA CMP ASISA-CMP 2008)
      A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors
    • 對于AMP中的核的稱呼,名字的不同代表着側重點不同(perf,power,arear,design complexity)
      A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors
    • 可重配置的AMP或者可重配置的體系結構的術語
      A Survey of Techniques for Architecting and Managing Asymmetric Multicore Processors
  6. AMP中的異構類型
    • 微體系結構,ISA,頻率,cache大小等因素
    • 2011年Srinivasan的三類:虛拟的AMP(一樣的微結構和ISA,不同的頻率或者緩存大小),實體AMP(一樣的ISA,不同的微架構),混合的處理器(不同的ISA和微架構)
    • 2010年Koufaty的兩類:性能AMP(Performance AMP, 同樣的ISA,不同的微架構,緩存大小和頻率),功能AMP(Functional AMP,不同的ISA和不同的微架構)
    • 2010年Khan和Kundu的兩類:深思熟慮的異構(Deliberate heterogeneity,不同的微架構,ISA和專有化,例如GPU和CPU),臨時的異構(Extemporaneous heterogeneity,利用DVFS或者硬體的重新配置實作可選的處理器性能)
    • 作者的分類标準:根據AMPs内部的核的性能排序進行分類
      • 單調的AMP:AMP内部的core能夠按照性能或者複雜度嚴格的排序,所有應用的性能
      • 非單調:無法嚴格排序的AMP。因為不同的核是為了不同的指令級行為或者應用特征進行優化的,所有無法比較性能優劣
  7. AMP出現的原因和優勢
    • 原因:(1) 多樣化的程式和使用模式;(2) 能源效率逐漸成為衡量計算機系統性能的主要限制
    • 可重新配置AMP的優勢:
      • 可以靈活的擴充,以更好的利用單線程中的MLP和ILP,同時能夠在多線程中利用TLP
      • 可以避免core的過度使用,進而提供更好的HW utilization和錯誤恢複能力
      • 相對于靜态AMP,能夠獲得更好的性能和能耗
  8. 使用AMP面臨的挑戰
    • 需要對系統堆棧進行更改
      • 對整個系統棧進行重新設計
      • 系統棧(也叫核心棧、核心棧)是記憶體中屬于作業系統 空間的一塊區域,主要用途為: (1)儲存中斷現場,對于嵌套中斷,被中斷程式的現場資訊依次壓入系統棧,中斷傳回時逆序彈出;(2)儲存作業系統子程式間互相調用的參數、傳回值、傳回點以及子程式(函數)的局部變量
      • 在制造方面,需要支援不同core在不同的電壓和頻率下工作
      • 在設計時,AMP中的cores需要能夠覆寫盡可能廣泛的性能和複雜度的設計空間
      • 随着core的類型和應用程式的增加,AMP的排程複雜度會以指數增長
      • 對于仍在變化的AMP領域,單獨設計OS和編譯器等軟體環境并不是一個好選擇
    • 異構的複雜性權衡,包括HW,ISA,OS,程式設計模型等
    • 線程排程的挑戰
      • 靜态的線程排程政策無法應對多變的執行時的應用特征
      • 動态的根據運作時資料進行分析排程,但是針對短線程效果不好,是以資料收集和分析需要更長時間的資料
    • 線程遷移所帶來的開銷,也包括了flush緩存和其它狀态所帶來的負面影響
    • 線程之間公平性的保證
    • 可配置AMP的挑戰
      • 重新配置的延遲和能量開銷
      • 需要更加複雜的編譯器,或者自定義的ISA,新的工藝技術
      • 可能需要修改OS和應用的binary code
      • 利用更高适應性的特點利用不同級别的并行性可能會限制對專有應用的加速
    • 模組化的挑戰。現在大多使用DVFS或者時鐘限制來模拟AMP。但是這種模拟過于簡化,非常不準确。按頻率縮放的核不能真實地模拟具有微體系結構異質性的核。
  9. AMPs的潛在性能
    • 使用分析模型比較AMP和SMP
      • AMP和SMP相對于單核的性能加速比的相關因素:程式中可并行部分的占比,相對于單核的整體片上資源和每個核上用于提高單核性能的資源。同時為了簡化不考慮排程和重新配置的開銷以及其它資源(cache等)。這種方式得到的結論:AMP能夠加速串行代碼性能,同時最大的加速比比SMPs要更高,并且從來不會更差。可重配置的AMPs相對于靜态的AMPs的加速比更高
      • Amdahl定律假設當核數變多時,可并行的工作量保持不變。Gustafson定律假設可并行的工作會線性根據核數的增加而增加。Juurlink假設可并行的工作量是核數p的次線性變化函數(線性函數,但是斜率為0到1之間)。根據Juurlink的結論預測多核的發展趨勢,得到的結果和Amdahl預測的結果有很大的不同。AMP雖然比SMP更好,但是僅僅隻是好一點點。可重配置的AMP的好處也沒有Amdahl預測的那麼多
      • Amdahl定律假設代碼可以完全分為串行和完全并行的代碼。但是Eyerman擴充了這個結論,程式中并行代碼會包含臨界區(critical sections),CS中的同步操作會限制并行代碼的性能。此時采用一個大核多個小核的設計将會損失性能,因為臨界區中的串行代碼也要運作在小核上。根據上面的結論,在硬體開銷固定的情況下,SMP會比AMP更有優勢,因為SMP的小核相對更大,更快,能夠更有效的加速臨界區執行。
      • 通過将線程映射到最适合的core執行,一些AMP會在性能和吞吐量兩個方面都比特定的SMP好。但是某些SMP的結構确實能夠達到最佳的性能權衡,是以AMP不一定由于SMP,事實上一些好的性能和吞吐量的權衡結構都是利用SMP實作的。
      • 兩種核心類型足以提供來自異質性的大部分好處,額外的類型并不會顯著的提高性能
    • 使用模拟器或者真實硬體的比較評估(AMP,SMP)

      P o w e r = E P I ∗ I P S E P I : e n e r g y   p e r   r e t i r e d   i n s t r u c t i o n I P S : t o t a l   r e t i r e d   i n s t r u c t i o n s   p e r   s e c o n d   o n   a l l   c o r e s Power=EPI*IPS \\EPI:energy\ per\ retired\ instruction\\IPS:total\ retired\ instructions\ per\ second\ on\ all\ cores Power=EPI∗IPSEPI:energy per retired instructionIPS:total retired instructions per second on all cores

      • 在功耗有限的情況下,處理器應該在有限的并行度(低IPS)階段花費更大的EPI,而在高并行度的階段(高IPS)降低EPI。是以,AMP更加适合提供不同的EPI,相對于SMP,即在功耗限制的情況下,AMP能夠比SMP得到更高的性能提升
      • 假設所有的串行代碼都在大核上運作,并行代碼利用所有核執行,根據理論模型計算,SMP的功率效率(每瓦特的性能)上界沒有AMP高。
      • 線程互動行為對AMP和SMP的性能/能耗的影響。當線程的工作量相近,并且幾乎沒有互動,帶有的更快的core的SMP,所消耗的能量更少。随着互動的增加,帶有較慢的core的SMP和AMP會消耗更少的能量。當線程的工作量不同時,由于AMP能夠将不同的線程映射到不同類型的core上執行,是以能夠獲得更好的能效。MT程式的特征不同,AMP/SMP的選擇也将不同

繼續閱讀