《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 多態并行處理器中的線程管理器設計
多態并行處理器中的線程管理器設計
來源:電子技術應用2014年第2期
錢博文1,李 濤1,韓俊剛2,楊 婷2,劉玉榮1
1.西安郵電大學 電子工程學院,陜西 西安710061; 2.西安郵電大學 計算機學院,陜西 西安710061
摘要: 基于多態并行處理器提出了一種硬件線程管理器,支持MIMD模式8個線程管理操作和SIMD模式SC控制器統一管理兩種工作模式,實現了線程級并行計算;可以監測各個線程的工作情況以及近鄰通信寄存器和路由器的狀態;能夠在通信時停止、切換、啟動線程,記錄每個線程的工作狀態,同時避免了因數據阻塞帶來的等待問題,能夠最大程度地提高單個處理器的執行效率。
中圖分類號: TP302
文獻標識碼: A
文章編號: 0258-7998(2014)02-0030-03
Design of a thread manager in a polymorphic parallel processor
Qian Bowen1,Li Tao1,Han Jungang2,Yang Ting2,Liu Yurong1
1.School of Electronic Engineering,Xi′an University of Posts & Telecommunications,Xi′an 710061,China;2.School of Computer,Xi′an University of Posts & Telecommunications,Xi′an 710061,China
Abstract: This paper proposes a hardware thread manager for the polymorphic parallel processor. The thread manager supports the MIMD mode with 8 threads and SIMD mode with multiple threads using the SC controllers in an unified approach to manage two operating modes to achieve a thread-level parallelism. Thread manager can monitor each thread′s work, neighboring communication register and router status. It can stop, switch and start threads. Thread manager can also record the working status of each thread, while avoiding the waiting problem caused by data congestion. This manager is able to maximize the efficiency of a single processor.
Key words : multicore;multithreading;array;parallel processors

    處理器是集成電路發展的重要產物。處理器首先經歷了單核時代,當功耗成為單核處理器發展的瓶頸時提出了多核。進入多核時代后,多核處理器雖然在一定程度上解決了功耗問題,但是功耗問題依然存在,隨著集成CPU計算核心數目的增多,功耗問題更加明顯。多核還面臨著程序分配的問題,尤其是核心較多時這個問題更加明顯。如何分配程序使各個計算核心的計算效率更高,這個問題和功耗問題不謀而合,當各個核心的計算效率變高時,功耗自然會下降。顯然,增加多核處理器的計算效率來降低功耗是一種綠色計算。由此提出了多線程的概念來管理多核處理器的計算。進入多線程時代后,處理器迎來了巨大的發展空間[1-2]。
    RMI公司的XLR系列網絡處理器具有8個核,每個核上具有4個硬件線程,每一個硬件線程在邏輯上可以看作一個虛擬的CPU(vCPU)。核上提供對硬件線程的支持,主要是為了提高CPU的利用率及進程上下文切換的能力[3]。
    本文在多態并行處理器的基礎上提出硬件線程管理器。與XLR處理器對比,本文中的多態處理器具有16個核,每個核具有8個SIMD線程和8個MIMD線程,同時也提高了處理器的利用率和進程上下文切換的能力。
1 多態并行處理器
    多態并行處理器是一種適用于圖形和圖像處理的并行陣列機,這種結構的陣列機支持SIMD(Single Instruction Multiple Data)和MIMD(Multiple Instruction Stream Multiple Data Stream)兩種工作模式,同時還具有異步執行、近鄰通信以及遠程路由器通信的機制[4]。
    本文的線程管理器就是基于此多態并行處理器提出的,如圖1所示。16個(4×4的二維陣列)基本處理單元(PE)、路由器(RU,即圖中R)、行控制器RC(Row Controller)、列控制器CC(Column Controller)和簇控制CLC(Cluster Controller)器組成一個基本簇。每個PE都包含上、下、左、右4個通信寄存器,也使得每個簇的PE個數可以自由定制(例如m×n的PE)[5]。

    圖1中的T(即Thread Manager,簡稱TM)就是針對這種靈活高效的處理器結構而提出的專用硬件線程管理器。
2 線程管理器工作流程
    在加入線程管理器之前,基本簇中的每個PE工作與否在很大程度上決定于指令寄存器中加載的指令是否通信阻塞以及需要的數據是否到來。如果每個PE在工作過程中與相鄰PE進行數據通信很少,那么多態并行處理器整體的計算效率就會比較大。但是當PE間數據通信較多時,處理器計算效率就會明顯下降。
    本文提出的基于多態并行處理器的線程管理器解決了處理器計算效率的問題。該線程管理器包含8個SIMD線程。在執行指令的過程中,如果執行到近鄰通信的指令,則線程管理器會監視通信寄存器CR(Communi-
cation Register)的通信狀態;如果遇到遠程調度路由指令,則線程管理器會監視路由器RU的通信狀態。當遇到近鄰通信指令和遠程調度指令時,線程管理器會切換其他的線程以減少等待通信數據帶來的延遲,有效地提高處理器的執行效率。
3 線程管理器功能描述
    線程管理器需要監測PE中MIMD模式下8個線程的執行狀態,若遇到近鄰通信指令或者路由指令,則需要切換線程或者進行其他響應操作,具體詳見3.2節。除此之外,線程管理器還需要管理MIMD模式的8個線程的運行及切換(注:SIMD模式由SC控制器統一管理控制)。
3.1 線程寄存器
    線程寄存器包括2組寄存器、線程配置表寄存器和線程狀態表寄存器。
    線程配置表寄存器共58位,包括5個域,如表1所示。這5個域的意義:quant 表示該線程分配的一次執行時間;I-base表示該線程的指令存儲基地址;I-size表示該線程分配的指令存儲大小;M-base表示該線程的數據存儲基地址;M-size表示該線程分配的數據存儲大小。
    線程狀態表寄存器共38位,包括6個域,如表2所示。這6個域的意義:PC表示該線程當前執行的指令地址;status表示當前線程的狀態;avail表示當前線程正在執行指令的兩個源操作數和一個目的操作數的存在與否;mask表示源操作數和目的操作數是否被當前執行的指令使用;rank表示調度優先權,0表示優先權最高;stamp為時間戳,表示該線程在quant時間內的運行時間。

3.2 路由指令處理方法
    路由指令通信分為兩種,一種是PE執行過程中遇到路由指令,另一種是RU傳來路由指令。
3.2.1 PE發出路由指令
    MOVEF:按照調度算法切換線程,線程調度算法詳見3.3節。
    MOVET:掛起當前線程,停止所有線程的工作,當路由器發來finish后,再啟動當前掛起的線程。
    此外,CALLR同MOVEF;RETR無操作;MVT、MOVET、MVF、CALLC則同MOVEF。
3.2.2 RU發出路由指令
    MOVET:首先路由器發來請求信號request,然后掛起正在工作的線程,停止所有線程的工作;停止后給路由器響應信號respond,路由器開始傳輸數據;傳輸結束后會發來一拍的結束信號finish,同時發來線程號thread_id,然后啟動thread_id線程。
    MOVEF:操作與MOVET類似,唯一不同的是最終啟動的是之前掛起的線程。
    此外,CALLR、RETR、MVT、RETC均同MOVET。
3.3 線程調度算法
    本文設計的調度算法具體如下[6]:
    (1)每次執行線程,只執行rank值為0線程。
    (2)運行時間達到分配的執行時間時,該線程停止執行,該線程rank值變為最大。
    (3)遇到近鄰通信阻塞時,該線程停止執行,且rank值變為最大。
    (4)遇到路由通信阻塞時,該線程停止執行,具體執行方法參照3.2節。
    (5)阻塞數據到來時,正在執行的線程停止執行,rank值加1,被喚醒的線程rank值變成0。
    下面以0、1、2、6 4個線程為例來描述線程調度算法,如圖2所示。

    (1)idle:空閑狀態,表示該線程沒有指令需要執行。當該線程加載好指令及數據后,線程跳轉到ready狀態。
    (2)ready:就緒狀態,表示該線程已經具備可執行的條件。當該線程被選中執行時,線程跳到run狀態。
    (3)run:運行狀態,表示該線程正在運行。當該線程運行時間值stamp等于一次分配的執行時間quant時或者強制停止運行時,該線程跳轉到ready狀態;當該線程運行完畢時,該線程跳轉到idle狀態;當該線程發生阻塞時,該線程跳轉到wait狀態。
    (4)wait:等待狀態,表示該線程正在等待阻塞數據的到來。當路由或近鄰通信的阻塞數據到來時,該線程就會跳轉到ready就緒狀態,等待該線程被選中執行。
5 仿真及性能分析
    本文在ModelSim中完成了功能仿真,編寫了4×4陣列的匯編程序。仿真結果如圖4所示。由圖可見結果正確,能夠正常執行、切換、停止線程[7]。

 

 

    在完成功能仿真的同時,本文還進行了簡單的性能分析。本文使用了8個不同的16核PE的無線程程序,將第1種程序放在16個PE的0號線程,第2種程序放在16個PE的1號線程,以此類推,8個線程都放入程序。經統計,使用線程管理器后,總的程序計算時鐘數為3 127;不加入線程管理器時,8個程序的總計算時鐘數為3 762。性能提升計算式:
    
    由式(1)可得,性能提升百分比為16.9%。
    本文提出了一種適用于多態并行處理器的硬件線程管理器,完成了電路設計、功能仿真工作,最終在Xilinx V6 550 FPGA上實現。這種硬件線程管理器能夠管理處理器中MIMD模式下的8個線程,同時能夠配合完成SMID模式操作。線程管理器的提出使得通信數據阻塞帶來的等待不復存在,可以大大提升處理器的執行效率,降低處理器的功耗。
    今后的研究工作重點是通過完成大量的測試,分析線程管理器的性能,根據分析結果改進線程管理器調度算法,以滿足更高的性能需求。
參考文獻
[1] KECKLER S W,DALLY W J,KHAILANY B,et al.GPUS  and the future of parallel computing[J].IEEE Computer,2011,44(9):7-17.
[2] MAROWKA A,GAN R.Back to thin-core massively parallel  processors[J].IEEE Computer,2011,44(12):49-54.
[3] 劉近光,梁滿貴.多核多線程處理器的發展及其軟件系統架構[J].微處理機,2007(2):1-7.
[4] 李濤,肖靈芝.面向圖形和圖像處理的輕核陣列機結構[J]. 西安郵電學院學報,2012,17(3):43-46.
[5] Fan Dongrui,Zhang Hao,Wang Da,et al.Godson-T:an  efficient many-core processor exploring thread-level parallelism[J].IEEE Computer Society,2012,32(10):38-47.
[6] LIU C L,LAYLAND J W.Scheduling algorithms for multiprogramming in a hard-real-time environment[J].Journal of  the ACM,1973,20(1):46-61.
[7] TSUEI T F,YAMAMOTO W.Queuing simulation model for   multiprocessor stems[J].Computer,2003,36(2):58-64.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美综合中文字幕久久 | 男女一进一出无遮挡黄 | 亚洲精品乱码国产精品乱码 | 亚洲欧美精品中文字幕 | 又黄又爽的成人免费视频播放 | 国产日韩91 | 午夜高h在线影院 | 国产伦精品一区二区三区 | 波多野结衣一区二区三区在线观看 | 欧美乱人伦中文在线观看不卡 | 真正免费一级毛片在线播放 | 狠狠色噜噜狠狠狠合久 | a网站在线观看 | 亚洲日本va中文字幕线 | 亚洲欧美日韩国产 | 国产免费丝袜调教视频 | 欧美在线成人午夜影视 | 国产精品久久久亚洲第一牛牛 | 日韩中文字幕一区 | 亚洲制服丝袜第一页 | 永久免费毛片手机版在线看 | 日本国产美国日韩欧美mv | 黑丝裸足 | 37pao成人国产永久免费视频 | 国产在线成人精品 | 久久免费特黄毛片 | 亚洲日本va| 欧美黄色一级 | 5x性区m免费毛片视频看看 | 一区二区在线视频 | 日产免费自线一二 | 一级a毛片免费观看久久精品 | 久久综合色婷婷 | 欧美日韩大片在线观看 | 日本一区二区三区在线 视频 | 亚洲国产精久久久久久久 | 中国性猛交xxxxx免费看 | 亚洲影视一区 | 未成人禁止视频高清在线观看 | 毛片无遮挡高清免费观看 | 在线天堂网 |