《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 多態并行處理器中的線程管理器設計
多態并行處理器中的線程管理器設計
來源:電子技術應用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網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区二区成人| 亚洲人精品午夜| 亚洲欧洲一区二区三区| 国产亚洲激情在线| 国产女人精品视频| 国产精品日韩欧美| 国产精品日韩精品| 国产精品腿扒开做爽爽爽挤奶网站| 欧美午夜精品理论片a级大开眼界| 欧美精品激情在线| 欧美成人午夜激情在线| 欧美96在线丨欧| 欧美激情第3页| 欧美日韩国产一区二区三区| 欧美国产日韩精品| 欧美区一区二| 欧美日韩精品是欧美日韩精品| 欧美日韩123| 欧美午夜精品久久久久免费视| 欧美午夜不卡影院在线观看完整版免费 | 亚洲巨乳在线| 一区二区三区四区国产| 亚洲天堂男人| 欧美一区二区三区四区高清| 久久精品女人的天堂av| 亚洲精品乱码久久久久久久久 | 久久精彩视频| 91久久综合亚洲鲁鲁五月天| 日韩视频在线观看一区二区| 亚洲午夜免费福利视频| 香蕉久久夜色| 久久亚洲精选| 欧美麻豆久久久久久中文| 国产精品va在线| 国产一区二区三区久久| 悠悠资源网亚洲青| 亚洲精品影院在线观看| 亚洲一区久久| 亚洲第一网站免费视频| 亚洲看片免费| 亚洲影视在线播放| 久久偷窥视频| 欧美日韩免费观看一区二区三区 | 久久精彩视频| 欧美成年人网站| 国产精品免费区二区三区观看| 国产揄拍国内精品对白| 亚洲精品一二区| 欧美一区影院| 9久re热视频在线精品| 校园春色国产精品| 欧美r片在线| 国产精品视频成人| 亚洲国语精品自产拍在线观看| 亚洲一区中文| 日韩系列在线| 久久激情综合网| 欧美日韩免费观看一区三区| 国产私拍一区| 日韩视频一区二区在线观看 | 久久精品国产亚洲aⅴ| 一本久久青青| 久久人人爽人人| 国产精品久久久久免费a∨大胸| 1769国产精品| 午夜精品剧场| 亚洲午夜一二三区视频| 久久亚洲精品一区二区| 国产精品久久97| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲国产精品久久久久秋霞影院| 亚洲影视中文字幕| 欧美成人激情在线| 国产一区二区三区av电影| 日韩午夜黄色| 91久久精品日日躁夜夜躁欧美 | 久久久久免费视频| 国产精品国产亚洲精品看不卡15| 亚洲国产精品一区二区第一页| 午夜精品视频在线| 亚洲一二三四区| 欧美极品在线视频| 国语精品中文字幕| 亚洲欧美一区二区三区久久| 一本久道久久综合婷婷鲸鱼| 美女视频黄 久久| 国产欧美一区二区三区久久人妖| 亚洲美女啪啪| 亚洲美女电影在线| 欧美aaa级| 一区精品在线| 久久国产精品久久w女人spa| 欧美一级视频免费在线观看| 欧美新色视频| 99re热这里只有精品视频| 最新热久久免费视频| 久久国产精品电影| 国产精品一区免费观看| 一本久道久久综合婷婷鲸鱼| 艳妇臀荡乳欲伦亚洲一区| 欧美高清在线一区二区| 在线播放日韩| 亚洲国产第一页| 久久免费观看视频| 国产日韩精品在线观看| 亚洲免费一在线| 午夜精彩视频在线观看不卡| 欧美四级电影网站| 宅男精品导航| 午夜精品一区二区三区四区| 国产精品v欧美精品∨日韩| 一本色道久久| 亚洲永久免费视频| 国产精品久久久久高潮| 一区二区欧美激情| 亚洲一区二区欧美日韩| 欧美视频国产精品| 亚洲午夜久久久久久久久电影院| 亚洲男人的天堂在线| 国产精品久久久久久久9999| 亚洲午夜激情| 久久黄金**| 今天的高清视频免费播放成人| 亚洲电影在线看| 欧美激情视频网站| 99精品热视频| 亚洲欧美一区二区视频| 国产精品人成在线观看免费| 亚洲欧美伊人| 久久在线91| 最新成人av在线| 亚洲性图久久| 国产日韩欧美在线播放不卡| 亚洲第一二三四五区| 你懂的一区二区| 亚洲精品一线二线三线无人区| 亚洲一区久久久| 国产精品一区二区三区免费观看| 欧美一区二区性| 欧美 日韩 国产 一区| 亚洲精品小视频在线观看| 亚洲影院一区| 国产亚洲视频在线观看| 亚洲国内高清视频| 欧美啪啪成人vr| 亚洲自拍电影| 乱人伦精品视频在线观看| 亚洲精品国产视频| 亚洲欧美日韩专区| 黄色一区二区三区四区| 亚洲精品乱码久久久久久蜜桃91 | 亚洲国产二区| 欧美日本亚洲视频| 午夜国产精品视频| 欧美国产激情| 亚洲一区bb| 奶水喷射视频一区| 一本色道久久综合亚洲精品不 | 欧美一区观看| 亚洲电影在线| 午夜精品理论片| 亚洲高清在线播放| 小处雏高清一区二区三区 | 亚洲一区二区在| 狠狠久久婷婷| 亚洲一卡二卡三卡四卡五卡| 国产一二三精品| 一区二区三区欧美视频| 国产一区二区三区久久久久久久久 | 欧美三级在线视频| 久久se精品一区精品二区| 欧美韩日一区| 香蕉尹人综合在线观看| 欧美黄在线观看| 香蕉久久夜色| 欧美视频不卡| 亚洲欧洲在线播放| 国产精品亚发布| av成人毛片| 怡红院精品视频| 欧美一级欧美一级在线播放| 亚洲国产精品一区二区第四页av | 久久亚洲欧洲| 亚洲欧美韩国| 欧美日韩免费视频| 亚洲国产一区二区在线| 国产欧美日韩另类一区| 制服丝袜激情欧洲亚洲| 精品成人一区二区三区四区| 午夜精品偷拍| 一本久道久久综合中文字幕| 欧美/亚洲一区| 午夜亚洲影视| 国产精品久久久久久久久免费| 亚洲精品欧美一区二区三区| 国产亚洲在线观看| 午夜在线一区| 一本色道久久88综合亚洲精品ⅰ | 亚洲影院免费观看| 亚洲精品视频一区|