《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 多態并行處理器中的線程管理器設計
多態并行處理器中的線程管理器設計
來源:電子技術應用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表示該線程分配的指令存儲大?。籑-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網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一本一本久久| 免费不卡在线观看av| 亚洲第一精品福利| 亚洲欧美成人在线| 一区二区欧美亚洲| 亚洲久久成人| 亚洲精品黄色| 亚洲精品国精品久久99热| 在线日韩精品视频| 精品不卡在线| 韩国av一区二区三区| 国语精品中文字幕| 精品999日本| 伊人久久噜噜噜躁狠狠躁| 一区二区三区在线观看国产| 激情成人av在线| 一区在线视频| 在线观看中文字幕不卡| 在线日韩欧美视频| 亚洲人成网站色ww在线| 亚洲九九精品| 亚洲视频在线观看视频| 亚洲在线观看视频网站| 欧美一级网站| 亚洲高清不卡在线| 亚洲国产日韩一区二区| 日韩天堂在线视频| 亚洲视频在线视频| 亚洲欧美在线播放| 久久国产主播| 欧美成人精品| 欧美日韩一区综合| 国产精品嫩草影院一区二区| 国产精品视频| 国产综合网站| 亚洲国产精品久久久| 亚洲乱码日产精品bd| 一区二区三区四区国产精品| 亚洲一区网站| 亚洲成人在线视频播放| 亚洲区一区二| 亚洲一区二区精品在线| 午夜精品美女久久久久av福利| 小嫩嫩精品导航| 久久人人97超碰精品888| 欧美电影在线免费观看网站| 欧美午夜理伦三级在线观看| 国产午夜亚洲精品不卡| 在线观看一区欧美| 99v久久综合狠狠综合久久| 亚洲欧美国产va在线影院| 久久国产精品久久久久久| 亚洲老板91色精品久久| 午夜精品久久久久久久| 免费在线欧美黄色| 欧美无砖砖区免费| 国产亚洲免费的视频看| 亚洲激情社区| 亚洲欧美日韩在线观看a三区| 亚洲黑丝在线| 西西裸体人体做爰大胆久久久| 久久日韩粉嫩一区二区三区 | 亚洲欧美在线另类| 久久手机精品视频| 欧美三级乱码| 国内一区二区三区| 在线性视频日韩欧美| 亚洲福利小视频| 亚洲欧美中文字幕| 欧美粗暴jizz性欧美20| 国产女人精品视频| 亚洲精选中文字幕| 久久精品一区二区三区不卡牛牛| 亚洲深夜福利| 麻豆成人综合网| 国产精品久久中文| 亚洲国产你懂的| 欧美一区二区高清| 亚洲性线免费观看视频成熟| 老司机久久99久久精品播放免费 | 亚洲在线中文字幕| 欧美成人一二三| 国产日韩精品一区二区三区在线 | 国产一区在线观看视频| 99国产精品久久久久老师| 久久黄色级2电影| 欧美亚洲视频在线看网址| 欧美激情精品久久久久| 国产在线观看精品一区二区三区| 中文网丁香综合网| 日韩午夜免费| 欧美+日本+国产+在线a∨观看| 国产欧美精品xxxx另类| 日韩一区二区久久| 91久久夜色精品国产网站| 欧美中文在线观看国产| 欧美性猛片xxxx免费看久爱| 亚洲国产精品一区在线观看不卡 | 麻豆9191精品国产| 国产麻豆成人精品| 夜夜爽99久久国产综合精品女不卡| 91久久精品国产91久久性色tv| 久久九九免费视频| 国产日韩欧美三级| 亚洲视频在线观看免费| 这里只有精品丝袜| 欧美剧在线免费观看网站| 亚洲国产成人高清精品| 亚洲国产精品久久久久秋霞蜜臀| 久久久另类综合| 国产手机视频精品| 亚洲欧美日韩区| 欧美亚洲视频在线观看| 国产精品亚洲а∨天堂免在线| 一本色道久久综合亚洲精品高清 | 久久影音先锋| 一区二区视频在线观看| 欧美中在线观看| 久久米奇亚洲| 红桃视频一区| 久久精品国产精品亚洲精品| 久久尤物视频| 黄色一区二区三区四区| 亚洲二区免费| 免费久久99精品国产| 亚洲二区在线| 日韩午夜三级在线| 欧美日韩三级| 亚洲一区二区黄色| 欧美专区在线观看| 国产亚洲在线| 亚洲第一色在线| 欧美福利影院| 亚洲精选视频在线| 亚洲中字黄色| 国产农村妇女精品| 欧美在线免费看| 蜜臀久久99精品久久久久久9 | 国产亚洲美州欧州综合国| 欧美在线日韩| 免费观看在线综合色| 亚洲人成毛片在线播放女女| 这里只有精品视频| 国产精品人人爽人人做我的可爱 | 亚洲人体影院| 亚洲午夜精品视频| 国产欧美日韩高清| 久久9热精品视频| 模特精品在线| 亚洲美女中文字幕| 亚洲欧美日韩国产精品| 国产日韩av在线播放| 91久久黄色| 欧美揉bbbbb揉bbbbb| 亚洲在线观看免费| 久久免费视频网站| 亚洲精品小视频| 午夜在线观看免费一区| 韩国一区电影| 一区二区免费在线播放| 国产精品自拍小视频| 亚洲电影免费观看高清完整版在线 | 亚洲国产精品一区二区久| 欧美精品一区二区在线播放| 亚洲午夜国产一区99re久久 | 亚洲一区二区三区免费视频| 久久久精品国产免费观看同学| 在线观看国产精品网站| 亚洲午夜精品国产| 国产一区香蕉久久| 亚洲作爱视频| 国产欧美91| 最新热久久免费视频| 国产精品国色综合久久| 久久精品动漫| 国产精品啊v在线| 亚洲国产精品va在线看黑人| 国产精品mv在线观看| 亚洲第一精品久久忘忧草社区| 欧美日韩在线免费观看| 久久国产精彩视频| 欧美性做爰毛片| 亚洲区中文字幕| 国产日韩精品一区| 在线亚洲激情| 伊伊综合在线| 午夜影视日本亚洲欧洲精品| 亚洲国产婷婷香蕉久久久久久| 欧美一区观看| 9l视频自拍蝌蚪9l视频成人| 久久久久久高潮国产精品视| 99这里只有久久精品视频| 美女视频黄a大片欧美| 亚洲欧洲av一区二区三区久久| 欧美日韩a区| 亚洲第一在线| 国产欧美一级| 亚洲一区影音先锋| 亚洲国产高清在线| 久久精品人人做人人爽|