?

多核處理器發展趨勢及關鍵技術

2018-03-16 06:17胡海明
計算機工程與設計 2018年2期
關鍵詞:任務調度同構異構

周 楠,胡 娟,胡海明

(1.中國航天科工集團第二研究院706所,北京市 100854;2.中國電子科技集團公司第十五研究所,北京 100083)

0 引 言

多核技術相關的研究已成為當前處理器研究領域的重點,例如多核處理器的架構設計、低功耗設計、片上互連與通信技術等。多核技術仍處于發展階段,因此多核處理器的發展還具有極大的潛力。本文嘗試從多核處理器發展趨勢的分析著手,進一步分析多核處理器研究領域的五大關鍵技術,最后基于上述分析提出了多核處理器技術所面臨的三大問題。

1 多核處理器發展趨勢分析

1.1 處理器由單核向多核的發展

在單核處理器時期,為維持處理器性能的增長速度,主要采用兩種方法:

(1)改進處理器制造工藝以提高CPU主頻;

(2)提高指令執行效率,即增加每周期執行指令數(instruction per cycle,IPC)。

然而,這兩種方法卻會產生兩方面的問題[1]。一方面,通過改進制造工藝,可以在芯片上集成更多的電路從而獲得更高的時鐘頻率,但芯片的功耗與整個芯片的密度和運行時鐘頻率成正比,因此必將以增加整個芯片的功耗作為時鐘頻率提升的代價。如圖1所示,到2005年左右,處理器芯片的功耗達到頂峰,其原因是當芯片的總功耗達到100瓦時,計算機降溫系統不再能夠輕易地對芯片進行冷卻。因此,為了將芯片的功耗限制在一個可以接受的范圍內,不能再簡單地提高芯片時鐘頻率以提高芯片性能。

圖1 芯片時鐘頻率、功耗及性能發展趨勢

另一方面,為提高指令執行效率,目前的單核處理器廣泛使用指令流水線、超長指令字、超標量結構、超線程技術等。但受限于單核處理器的執行能力,并沒有從本質上顯著提升處理器系統的性能。隨著技術的發展,處理器核設計的復雜度已經停止增長,單芯片上可以集成的晶體管數量的不斷增加,使得系統設計者可以在單個芯片上放置更多的處理器核,從而可以利用應用程序的線程/任務級并行來提高處理器性能。如圖1所示,在2000年左右時鐘頻率到達極限時,處理器核的性能也趨于飽和。而由圖2可知此時單個芯片上集成的核數開始迅速增長,且其增長速度甚至比摩爾定律所提出的速度(每兩年翻一番)更快。這是因為設計者已經傾向于使用優化過的簡單核而不再是功耗巨大的復雜核?;谏鲜鰞蓚€問題,在單核處理器性能提升遇到瓶頸的情況下,處理器開始朝著多核方向發展。

圖2 芯片晶體管數、核數發展趨勢

1.2 多核處理器由同構向異構的發展

根據同一芯片上集成的各個處理器核的結構是否一致,可將多核處理器劃分為兩類,即同構多核處理器與異構多核處理器

1.2.1 同構多核處理器

同構多核處理器內部由相同結構的核心構成,每個核心的功能完全相同,沒有層級之分,可以看作傳統SMP在單芯片上的實現。就功能/性能比同構多核處理器還可以分為:低功耗處理器和高性能處理器兩種類型[2]。

(1)低功耗同構處理器

低功耗同構處理器的設計目標是使用小型的、同類的處理器核來降低處理器整體功耗。低功耗同構處理器按照應用側重點還可以進一步細分為兩類:面向低延遲的處理器的和面向高吞吐量的處理器。

1)面向低延遲的處理器

面向低延遲的處理器就是在低功耗條件下,能夠快速響應應用的處理器。此類處理器通常應用在移動設備中,以同時滿足設備的低功耗和應用實時性需求。例如,ARM的cortex-A9 MPCore處理器在一個芯片上就包含4個對稱的核。每個處理器核包含一個亂序的八級流水線[3],可在具有功耗限制的設備中可以提供相對低的延遲,通常應用在手機、數字電視等移動設備中。

2)面向高吞吐量的處理器

對某些系統而言,系統的整體吞吐量是首要考慮因素。如在面向并行計算的大型系統中,需要大量的處理器核以同時執行多個線程。相對于較大的處理核,小型、低功耗的處理器核占用的面積更小,因此可以在同一塊芯片上集成更多的小核以提升同時處理多線程的能力,從而提高系統整體吞吐量。MIT的RAW處理器和Oracle公司的SPARC T5都屬于面向高吞吐量的處理器。

由MIT推出的RAW處理器[4]由一組可編程的片組成,這些片之間通過緊密集成的可編程互連結構進行連接。每個片包含一個順序流水線以及私有的數據和指令內存。RAW處理器主要面向并行和多媒體應用,而且允許自定義操作。這種面向特定領域的處理器支持一些多媒體應用或同時執行多個線程,主要目的是提升整個系統的吞吐量。RAW處理器結構圖如圖3所示。

圖3 RAW處理器結構

Oracle公司的片上多線程SoC處理器SPARC T5[5]在前一代T4處理器的基礎上將處理器核數增加到16個,在將L3級緩存提升至8 MB的同時也將處理帶寬提升了3倍。SPARC T5主要面向多線程應用,它同時最多可以執行1024個線程,最大帶寬可以達到5.65 TB/s。SPARC T5相較于高性能處理器單線程性能可能相對較低,但是它支持同時執行多個線程,因而可以增加系統的整體吞吐量。此處理器適用于不需要進行大量計算的服務器,如web服務器等。

(2)高性能同構處理器

高性能多核處理器通常由幾個較大的采用亂序執行模型的超標量核構成。這種處理器的主要目的是最大化單線程性能,常用于對性能要求較高的應用中。Intel研制的Core i7處理器就是典型的高性能同構處理器。它主要是針對服務器和桌面計算機設計的,因而它對于單個線程具有極高的性能。然而,其缺點是它的核數相對較少且支持較少的線程數,相較于小型的低功耗處理器SPARC T5其功耗也較大。

1.2.2 異構多核處理器

異構多核處理器架構作為一種系統設計方法,其主要目標是在嚴格的功耗限制下提升用戶應用軟件性能。

異構多核處理器通常由一個或多個通用處理器核和多個針對特定領域的專用處理器核構成,以實現處理器性能的最優化組合,同時有效地降低功耗。設計異構多核處理器系統時,主要考慮的因素有處理器核的功耗、性能和可編程性等。典型的異構多核處理器有IBM的Cell BroadBand Engine[6]和ARM推出的big.LITTLE[7]。

Cell處理器是針對特定應用的一款異構多核處理器,主要用于流媒體或類似的科學應用中。Cell處理器由一個主處理器(power processing element,PPE)和8個協處理器(synergetic processing elements,SPEs)構成。PPE是一個兩路多線程通用處理器核,主要負責控制協調任務,并作為8個SPE的控制器。SPE則是單指令流多數據流(SIMD)向量處理器,其指令集主要由SIMD向量指令構成。通過將一個通用處理器核和8個小型卻計算能力強大的核結合起來,使得Cell處理器具有優異的處理性能。Cell處理器結構如圖4所示。

圖4 Cell 處理器結構

ARM推出的big.LITTLE異構多核處理器由兩個執行相同指令集的處理器:高性能的大型超標量處理器(ARM Cortex-A15)和高能效的小型順序處理器(Cortex-A7)構成。在某些應用中,兩個核可能不是同時保持著運行態,應用程序可以透明地在兩個核之間切換,使用Cortex-A15以獲得高性能,或使用Cortex-A7以降低功耗。如果有多個應用程序需要運行,則兩個核都將保持運行態。一般而言應用程序都是預先靜態地映射到它們最適合的核上,以獲取性能最大化。big.LITTLE架構如圖5所示。

圖5 big.LITTLE架構

由上述分析可知,異構多核處理器集成了多個功能、結構與運算性能都不相同的處理器核心,每個處理器核心分別負責各自的任務。因此可以更加靈活高效地均衡資源配置,提升系統性能,可有效降低系統功耗。同構多核處理器的發展卻受制于Amdal[8](阿姆達爾)定律:不斷增加同種類型CPU核心的數目雖然可以增強處理器并行處理器的能力,但程序中必須串行執行的部分卻會制約整個系統處理性能的提升。因此,在同構多核處理器內部核心數目達到某一極限后,將無法再通過增加處理器核心數目來提升其性能。異構多核處理器的諸多優點都符合未來計算機系統發展的要求,因此異構多核處理器將成為未來多核處理器發展的趨勢。

2 多核處理器關鍵技術分析

隨著異構多核處理器的異軍突起,其在傳統的操作系統、并行計算方法以及多線程技術等領域都帶來了較為深遠的影響。就當前的多核環境而言,處理器的核間通信、任務調度、Cache一致性、核間同步與互斥、核間中斷處理機制等技術都極為重要。下面分別對上述5點進行分析。

2.1 核間通信

隨著單芯片上處理器核數的增多和計算復雜性的增加,處理器核間的互連和通信將會成為多核處理器系統的性能瓶頸,這需要更有效的處理器核間通信來提高性能,而不僅僅是它的處理速度。

目前主要使用的核間通信機制有3種方式:共享緩存的總線結構、共享總線結構和基于Noc的結構。

(1)共享緩存總線結構

該結構的特點是每個處理器核通過互連總線共享一個L2 cache或L3 Cache,以實現數據共享和互連通信。這是多核處理器領域最早的片上通信模式。圖6、圖7所示為共享緩存的總線的架構,其中圖6(a)是統一緩存存取架構(uniform cache access,UCA)。在UCA架構中,所有處理器核統一共享L2 Cache,并擁有相同的存取延遲。這種架構可以平衡內部負載,具有更高的設備利用率。其缺點是,如果L1 Cache缺失,則會在處理器通過內部總線存取L2 Cache時造成較大的存取延遲和總線競爭。圖6(b)是非統一緩存存取架構(non-uniform cache access,NUCA)。在NUCA架構中,每個處理器擁有一個本地L2 Cache。這種結構可以降低存取延遲和總線競爭,但是其缺點是,在L2 Cache中存在數據副本,因此設備利用率(容量利用率)較低。其次,這種架構預先劃分了L2 Cache的容量,所以會導致負載不均衡。隨著集成度提高,可以將L3 Cache集成到單個芯片中,這可以極大地解決處理器核之間的互連和通信問題,如圖7(a)、圖7(b)所示。

圖6 UCA及NUCA架構

圖7 帶有L3 Cache的UCA及NUCA

共享緩存的總線結構的優點是結構簡單、通信速度快等;其缺點是可擴展性差、延遲高,容易出現競爭和通信瓶頸。因此,這種結構適用于擁有少數處理器核的同構處理器。

(2)共享總線結構

共享總線意味著每個處理器核擁有單獨的處理單元和存儲,每個核通過交叉開關處理器核間的片上總線相連。其通信模型基于mailbox(郵箱),每個處理器核通過訪問一個公有郵箱相互通信。

前述IBM的Cell處理器所使用元件互連總線(element interconnect bus,EIB)就是典型的共享總線結構。圖8給出了其架構,作為片上互連的12個元件之間傳輸指令和數據的互聯總線,它有4個數據環、一個共享的命令總線和一個中央數據仲裁器,這些部件一起連接起12個Cell BE元件。EIB允許每個SPE分段使用總線。每個環能夠處理3個并發非重疊轉移,允許此網絡在EIB上同時支持12個數據轉移。

圖8 元件互連總線

共享總線結構的主要優點包括簡單的拓撲結構,低開銷和高可擴展性,但其缺點是具有復雜的硬件架構,需要較大的軟件改動,所以它主要應用在異構多核處理器中。此外“RISC+DSP”的架構同樣采用這種通信模式。隨著單芯片上處理器核數的增多,共享總線結構可以隨之擴展并適應。然而,一些新問題隨之出現,如,互連線延遲問題,系統全局同步問題,設計效率和重用問題等。因此,這種架構僅僅滿足小規模處理器核間通信的需求。

(3)基于Noc的結構

Noc[9]意味著在單個芯片上基于網絡通信實現了一個超級系統;它的主要思想是將網絡技術移植到芯片設計上,以解決通信瓶頸問題和全局時鐘問題。

典型的基于Noc結構的多核處理器是4*4的mesh-based RAW處理器,Inter的80-tile Noc連接的Tera-scale處理器,Tile64處理器等等。由前述可知RAW處理器主要由16個計算單元(Tile)和片上網絡構成,每個Tile是RAW的一個基本功能單元。在Tera-Scale處理器中,每個核有兩個獨立的算術單元,2 KB數據緩存和3 KB的指令緩存。80個核按照8*10矩陣進行排列,使用2D自路由方法連接每個核。在Tile64處理器中,它使用稱為imesh的網絡來連接64個計算節點,每個節點有一個RISC和兩個能夠訪問其它緩沖器的緩沖器構成?;贜oc的結構可以減少芯片面積,降低功耗,改善性能和提高可擴展性。它已經成為一種提供更高可擴展性、可靠性和更高帶寬的解決方案。

2.2 任務調度設計

多核處理器上的任務調度技術已經十分成熟,比如簡單的調度算法RR(round robin)、Linux經典調度算法DP(dynamic priority)、Linux2.6.23之后采用的完全公平調度算法CFS(completely fair scheduler)等。但這些傳統的調度算法是基于以下兩個前提的:

(1)處理器核是同構的,不存在結構與性能差異;

(2)處理器核的數目是固定不變的。

但是,對于異構多核處理器而言這些前提都不成立,傳統任務調度算法在異構多核處理器上存在不足。因此,我們不能簡單地將傳統任務調度算法移植到異構多核處理器上。異構多核環境下的任務調度主要分為靜態任務調度和動態任務調度兩種類型[10]:

(1)靜態任務調度適用于具有約束與依賴關系的任務,需要提前獲悉任務的運行時間、任務優先級、任務間的數據承接關系以及當前處理器核的處理能力、拓撲結構等基本信息。在編譯程序時就根據上述信息將任務分配到相應的處理器核上,且此任務分配過程是不可逆的。

(2)動態任務調度則無法在調度之前將任務分配到確定的處理器核上,而需要根據處理器核的實時負載情況進行任務分配,以達到各個處理器核上任務負載均衡的目的。

已有的一些采用構造任務狀態圖以支持關鍵路徑的動態調度算法,需要實時獲取前一階段的整體調度信息,使得與任務調度無關的開銷較大。Kallia Chronaki等[12]提出了一種支持關鍵路徑的動態調度器,同典型的HEFT算法相比,該方法基于運行時發現的信息,可以在不使用數據庫或先前調度信息的條件下完成任務調度。在具有快核和慢核的異構多核處理器上,調度器可以動態地將關鍵任務分配到快核上以提高性能。該調度器仍需進一步擴展調度策略,以根據運行時資源的可用性和應用的特點來靈活地進行任務調度,從而提高調度器的自適應性。

2.3 Cache一致性機制設計

Cache結構廣泛應用于基于共享內存的多核處理器中。Cache用于將共享內存中的數據復制到本地處理器核上,以提升多核處理器數據訪問的速度。這一復制過程會導致共享內存中的數據在各處理器核上都存在一份單獨鏡像的問題,因此不同的處理器核通過Cache訪問同一地址時可能出現數據差異錯誤。為維護Cache訪問的一致性,常采用如下4種典型的Cache一致性機制:

(1)監聽協議;

(2)目錄協議;

(3)Token協議;

(4)Hammer協議。

隨著手機等移動設備的普及,移動多核處理器的需求日益增加。因為需要頻繁地進行各種信號偵聽與響應,處理器在維持本地Cache的一致性時需要消耗大量能量。當多核共享Cache一致性較弱時,可以利用應用程序使用內存的動態行為來調整Cache一致性協議,以降低維持一致性的功耗?;诖?,Garo Bournoutian等[13]提出了一種架構以減緩維護智能手機中多核處理器的整體Cache一致性功耗。利用一種細粒度的方法,這種架構可以在較好的性能功耗比下實現較高的硬件Cache一致性。

在不同核和不同層次的共享Cache間進行數據轉移和數據處理,會影響到內存訪問延遲和功耗。高性能共享內存多核處理器的效率依賴于片上Cache層次結構的設計和一致性協議。Nitin Chaturvedi等[14]提出了一種優化的Cache架構,可以支持不同數量的Cache塊,且各個塊的容量大小可以不同。

傳統的基于目錄的Cache一致性協議在數據請求的關鍵路徑上添加了額外的負載,降低系統整體性能。事實上,利用全局的共享高性能互連結構可以優化Cache一致性并降低額外的負載。Qi Hu等[15]利用多頻段傳輸線實現了全局共享互連。利用聚合的頻段資源,該互連結構可以擴展系統并行性以改善Cache一致性的效率。

2.4 核間同步與互斥

傳統的單核處理器環境下,通過關中斷并禁止在進入臨界區時進行任務調度就可以實現互斥操作。但對多核處理器而言,實現互斥則更為復雜:對于多核處理器,由于多個處理器核獨立運行代碼,使得單核處理器下的互斥操作變得不再是互斥的[16]。

對于采用共享數據結構的多核應用程序,需要使用同步技術來協調多個核之間數據訪問的正確性,目前多核系統中一般采用基于鎖的方式來互斥地訪問數據,以實現各個核之間的數據同步,然而基于鎖的同步互斥方式只能線性地訪問數據,效率較低,極大地影響了多核處理器的整體性能。因此,多核處理器下的核間同步與互斥技術顯得極為重要。

在高速網絡中線速數據流量監控是管理網絡的必要手段,為滿足線速需求,可以利用多核架構來并行處理流量監控從而提升信息處理能力。隨著網絡容量和復雜度的不斷提升,為多核處理器在網絡中的應用提出了挑戰。為此,Patrick P.C.Lee等[17]提出了一種無鎖的、Cache利用率高的同步機制,以應用在多線程的多核流量監控應用中。他們將這種同步機制嵌入到MCRingBuffer(多和共享環型緩沖)中,MCRingBuffer一方面允許并發的無鎖數據存取,另一方面可以提升線程同步變量的Cache訪問局部性。

2.5 核間中斷處理機制

中斷機制是一種用于通知處理器處理異步事件的機制。異步事件發生后會通過硬件向處理器發出中斷請求,一旦處理器響應了中斷請求就將保存當前狀態下的寄存器值,運行中斷服務程序(ISR)將異步事件處理完成,隨后處理器返回之前的處理狀態。中斷機制使得處理器可以在異步事件發生后才進行相應的處理,而不是一直輪詢是否有事件發生。核間中斷則是在多核處理器系統中用于實現核間消息同步與傳遞的一種特殊中斷。

核間中斷機制[18]的作用是通過向核間中斷控制器寫入相應的值,以通知其它核掛起當前的任務執行序列并跳轉至ISR執行新任務。在單核處理器系統中,一般使用一個外部中斷控制器來解決所有中斷處理請求。在多核處理器系統中則存在中斷由哪個核處理的問題,若還是由一個處理器核負責處理所有中斷請求,則此核上運行的任務將被頻繁地中斷,這就會影響到多核系統的整體性能。因而需要核間中斷處理機制來將各個外部中斷高效地分配到各個處理器核上,實現系統均衡的核間中斷管理。

核間中斷處理系統需要盡可能降低中斷處理延遲,以提高軟件的可靠性?;趪揽拼笞灾餮邪l的多核DSP芯片M-DSP,萬曉陽等[19]設計和實現了一種多核中斷處理系統,相較于單核中斷處理系統,該系統集成了片級中斷控制器(chip interrupt controller)和片內中斷控制器(interrupt controller)。運行在M-DSP上的應用程序由中斷處理系統驅動,中斷處理系統一方面可以完成操作系統對應用程序的調度控制,另一方面能夠實現M-DSP與硬件接口之間的信息傳遞。

3 多核處理器面臨的問題

3.1 性能功耗比

傳統單核處理器通常采用提升頻率的方式來提升處理器性能,然而處理器功耗會隨著頻率的提升而急劇增加。因此在多核處理器的設計中主要通過降低處理器核頻率來達到降低功耗的目的,但是這一定程度上會影響到處理器的性能。因此,在進行多核處理器系統設計時如何在功耗和性能之間達到一個平衡以爭取最大的性能功耗比,就成為了一個重要的問題。

目前,通常從時間尺度和空間尺度實現多核處理器的低功耗設計。從時間尺度上可以采用降低處理器的工作時鐘頻率與電壓,并且在一定時間范圍內根據應用程序運行情況暫停處理器的部分運算部件的工作的方法來降低處理器功耗,但這種方式是以犧牲性能為代價的,比如針對關鍵資源的動態功耗管理技術。從空間尺度上,可將當前功耗較高的處理器核上的任務遷移到另一個可替代的處理器核,使功耗密度在整個處理器芯片上實現均衡分布。此方式對處理器性能影響較小,但需要有冗余的處理器核作為替代核,比如動態任務分配與遷移技術。因此,可通過結合這兩類方法的優勢以提升處理器的性能功耗比。

3.2 任務遷移與通信

相較于同構多核處理器,異構多核處理器的核之間存在差異性,這些差異性包括微架構、執行單元的數目和類型、執行單元的大小、本地Cache的大小、分支預測器的類型和大小,ISA等等。這將導致在其上進行高效的任務調度難度更大。高效的調度算法在進行任務調度時,需要考慮應用程序的特點、行為和相關性能,然后將這些任務正確地分配到不同類型的具有相應特性的處理器核上[20]。

此外,應用程序的行為可能隨時發生變化,這就導致在一些執行階段應用程序會有不同的行為特點,此時在不同類型的核上執行可能獲得更好的性能。在某些階段,一個線程可能在這個核上運行時具有最好的性能,在另外一些階段則需要運行在另一個核上。雖然靜態調度算法在執行之前就為核進行了固定的任務分配,從而避免任務遷移,但是動態調度更能適應負載的動態變化。動態調度可以充分利用異構系統的異構性從而增加應用程序的性能或者降低系統的能耗。此外,核之間的任務通信主要依賴核間通信機制,如何針對不同處理器架構設計相應的核間通信機制以提高處理器系統通信效率和吞吐量是一個亟待解決的問題。根據前述分析,未來處理器將朝著異構多核方向發展。因此,解決任務遷移與通信的問題應該結合異構多核環境,深入任務動態調度算法和核間通信機制的研究。

3.3 軟件設計與開發

多核處理器在硬件上可以通過增加處理器核來提升整體的運算性能,但是不同的多核處理器可能具有各自的指令集架構,這就將軟件設計的難題拋給了軟件開發者[21]。在使用同構多核處理器時,已有的并行編程語言主要有MPI、OpenMP和Pthread等,盡管這些并行編程庫的功能已經相當完善,但是仍然不能完全發揮出多核處理器的并行處理能力。當前主流的編程語言是C、Java和C++,在嵌入式領域較為流行的是C和C++。然而這些語言的編程模型都是針對統一的、共享內存的同構處理器而設計的,因此這些編程模型不適合于專用的異構多核處理器架構,這就為面向異構多核處理器的軟件設計和開發帶來了挑戰。加強面向多核處理器的軟件設計與開發,將有利于充分挖掘處理器潛力,提升應用程序的性能。然而當前針對多核處理器環境下的軟件設計與開發還需要適應性更強的編程語言和并行編程模型,這將成為未來軟件設計領域一個重要的研究方向。

4 結束語

多核處理器因其控制邏輯簡單、整體功耗相對較低、核心數目易于擴展及具有良好的并行性能等優點,為摩爾定律的延續提供了一個新的方向并逐步成為各個處理器應用領域的主流。相較于同構多核處理器,異構多核處理器可以擁有更加靈活的處理器核配置,具有更高的性能功耗比。未來處理器將繼續朝著低功耗高性能發展,在這一特點在嵌入式領域顯得尤為突出。因此,處理器的發展趨勢將進一步朝著異構多核低功耗高性能的方向發展。多核處理器相關技術已經經歷了近20年的發展,許多技術日益趨于完善,但是多核處理器仍有巨大的潛力亟待發掘。因此,仍然需要進一步加深多核處理器核間通信、任務調度等關鍵技術的研究,以更完善地解決性能功耗比、任務遷移與通信及多核相關軟件設計與開發等方面的問題。

[1]Tran AT.On-chip network designs for many-core computatio-nal platforms[D].Sacramento:University of California,2012:1-4.

[2]Sawalha LH.Exploiting heterogeneous multicore processors through fine-grained scheduling and low-overhead thread migration[D].Oklahoma:The University of Oklahoma,2012:4-25.

[3]Koppanalil J,Yeung G,O’Driscoll D,et al.A 1.6 GHz dual-core ARM cortex A9 implementation on a low power high-K metal gate 32 nm process[C]//International Symposium on Vlsi Design,Automation and Test.IEEE,2011:1-4.

[4]Abellan JL,Ros A,Fernandez J,et al.ECONO:Express coherence notifications for efficient cache coherency in many-core CMPs[C]//International Conference on Embedded Computer Systems:Architectures,Modeling,and Simulation.NJ:IEEE,2013:237-244.

[5]Hart JM,Cho H,Ge Y,et al.A 3.6 GHz 16-core SPARC SoC Processor in 28 nm[J].IEEE Journal of Solid-State Circuits,2014,49(1):19-31.

[6]Zhou R,Chen H,Liu Q,et al.A server model for reliable communication on cell/B.E.[C]//International Conference on Parallel Processing.IEEE Computer Society,2013:1020-1027.

[7]Greenhalgh P.Big.little processing with arm cortex-a15 & cortex-a7[J].ARM White Paper,2011,1(1):1-8.

[8]Ananthanarayanan G,Malhotra G,Balakrishnan M,et al.Amdahl’s law in the era of process variation[J].International Journal of High Performance Systems Architecture,2013,4(4):218-230.

[9]Ganguly A,Chang K,Deb S,et al.Scalable hybrid wireless network-on-chip architectures for multicore systems[J].IEEE Transactions on Computers,2011,60(60):1485-1502.

[10]GENG Xiaozhong.Research on key techniques of task scheduling based on multi-core distributed environment[D].Changchun:Jilin University,2013:14-20(in Chinese).[耿曉中.基于多核分布式環境下的任務調度關鍵技術研究[D].長春:吉林大學,2013:14-20.]

[11]Barthou D,Jeannot E.SPAGHETtI:Scheduling/placement approach for task-graphs on heterogeneous architecture[M]//Euro-Par 2014 Parallel Processing.Springer International Publishing,2014:174-185.

[12]Chronaki K,Rico A,Badia RM,et al.Criticality-aware dynamic task scheduling for heterogeneous architectures[C]//ACM on International Conference on Supercomputing,205:329-338.

[13]Bournoutian G,Orailoglu A.Dynamic, multi-core cache coherence architecture for power-sensitive mobile processors[C]//International Conference on Hardware/Software Codesign and System Synthesis.IEEE,2011:89-97.

[14]Chaturvedi N,Sharma P,Gurunarayanan S.An adaptive coherence protocol with adaptive cache for multi-core architectures[C]//International Conference on Advanced Electronic Systems.IEEE,2013:197-201.

[15]Hu Q,Wu K,Liu P.Exploiting multi-band transmission line interconnects to improve the efficiency of cache coherence in multiprocessor system-on-chip[C]//IEEE International System-on-Chip Conference.IEEE,2015.

[16]KONG Shuaishuai.Communication and interrupt researches based on embedded multicore processor[D].Chengdu:University of Electronic Science and Technology of China,2011:7-25(in Chinese).[孔帥帥.基于嵌入式多核處理器的通信及中斷問題的研究[D].成都:電子科技大學,2011:7-25.]

[17]Lee PPC,Tian B,Chandranmenon G.A lock-free,cache-efficient multi-core synchronization mechanism for line-rate network traffic monitoring[C]//IEEE International Symposium on Parallel & Distributed Processing.IEEE,2010:1-12.

[18]LIJiaojiao.DesignandimplementationofthemainmodulesforoperatingsystemrunningonSMPprocessorplatform[D].Xi’an:XidianUniversity,2012:47-51(inChinese).[李嬌嬌.面向SMP架構處理器平臺操作系統主要模塊的設計與實現[D].西安:西安電子科技大學,2012:47-51.]

[19]WANXiaoyang,LIYong,LUOBo.DesignandimplementationofmulticoreDSPinterruptsystembasedonM-DSP[C]//MicroprocessorTechnologyForum,2014:1-6(inChinese).[萬曉陽,李勇,羅波.基于M-DSP的多核DSP中斷系統的設計與實現[C]//微處理器技術論壇,2014:1-6.]

[20]HungSH,TuCH,YangWL.Aportable,efficientinter-corecommunicationschemeforembeddedmulticoreplatforms[J].JournalofSystemsArchitecture,2011,57(2):193-205.

[21]GrayI,AudsleyNC.Challengesinsoftwaredevelopmentformulticoresystem-on-chipdevelopment[C]//23rdIEEEInternationalSymposiumonRapidSystemPrototyping.IEEE,2012:115-121.

猜你喜歡
任務調度同構異構
試論同課異構之“同”與“異”
例談函數中的同構思想
指對同構法巧妙處理導數題
同構式——解決ex、ln x混合型試題最高效的工具
基于PEPA的云計算任務調度性能分析
基于改進NSGA-Ⅱ算法的協同制造任務調度研究
商周刊(2019年1期)2019-01-31
異構醇醚在超濃縮洗衣液中的應用探索
基于小生境遺傳算法的相控陣雷達任務調度
LTE異構網技術與組網研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合