本發(fā)明涉及計(jì)算機(jī)體系結(jié)構(gòu)
技術(shù)領(lǐng)域:
,更具體的說(shuō)是涉及一種可重構(gòu)系統(tǒng)中可重構(gòu)資源并行構(gòu)建方法和系統(tǒng)。
背景技術(shù):
:本部分旨在為權(quán)利要求書(shū)中陳述的本發(fā)明的實(shí)施方式提供背景或上下文。此處的描述可包括可以探究的概念,但不一定是之前已經(jīng)想到或者已經(jīng)探究的概念。因此,除非在此指出,否則在本部分中描述的內(nèi)容對(duì)于本申請(qǐng)的說(shuō)明書(shū)和權(quán)利要求書(shū)而言不是現(xiàn)有技術(shù),并且并不因?yàn)榘ㄔ诒静糠种芯统姓J(rèn)是現(xiàn)有技術(shù)??芍貥?gòu)計(jì)算(ReconfigurableComputing,PC)在20實(shí)際60年代末被提出,試圖在達(dá)到比軟件實(shí)現(xiàn)更高性能的前提下,提供一定的硬件實(shí)現(xiàn)靈活性。在進(jìn)行重構(gòu)操作時(shí),需要對(duì)大量的現(xiàn)場(chǎng)可編程門(mén)陣列(Field-ProgrammableGateArray,F(xiàn)PGA)進(jìn)行配置,配置的常規(guī)方式是采用串行配置,這種方式存在效率低的問(wèn)題。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明的目的在于提供一種可重構(gòu)系統(tǒng)中可重構(gòu)資源并行構(gòu)建方法和系統(tǒng)。本發(fā)明的一方面,提供一種可重構(gòu)系統(tǒng)中可重構(gòu)資源并行構(gòu)建方法,包括:接收應(yīng)用需求信息,并選擇滿足應(yīng)用需求的可重構(gòu)資源;如果可重構(gòu)資源數(shù)量為多個(gè)且分布在不同的科學(xué)計(jì)算組件中,則為每個(gè)具有所述可重構(gòu)資源的科學(xué)計(jì)算組件分配一個(gè)獨(dú)立線程,不同的科學(xué)計(jì)算組件對(duì)應(yīng)不同的線程;啟動(dòng)各個(gè)線程,配置各個(gè)線程各自對(duì)應(yīng)的科學(xué)計(jì)算組件中的可重構(gòu)資源從上述技術(shù)方案可以看出,本發(fā)明提供的方案采用為每個(gè)科學(xué)計(jì)算組件分配獨(dú)立線程的方式,實(shí)現(xiàn)了對(duì)不同的科學(xué)計(jì)算組件中的可重構(gòu)資源的并行配置,節(jié)約了系統(tǒng)重構(gòu)的時(shí)間,提高了重構(gòu)效率。優(yōu)選的,上述方法中,所述科學(xué)計(jì)算組件包括多個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列FPGA和一個(gè)控制單元,所述控制單元通過(guò)一條聯(lián)合測(cè)試行動(dòng)小組Jtag鏈路與多個(gè)FPGA相連。優(yōu)選的,上述方法中,某一線程在配置對(duì)應(yīng)可重構(gòu)資源時(shí),如果出錯(cuò)或出現(xiàn)異常,則記錄當(dāng)前狀態(tài)信息并上報(bào)控制主機(jī),由控制主機(jī)停止所述線程。優(yōu)選的,上述方法中,所述控制主機(jī)選擇新可重構(gòu)資源代替出錯(cuò)或出現(xiàn)異常的可重構(gòu)資源,并為其分配線程。優(yōu)選的,上述方法中,所述當(dāng)前狀態(tài)信息包括可重構(gòu)資源所在科學(xué)計(jì)算組件標(biāo)識(shí),可重構(gòu)資源在所述科學(xué)計(jì)算組件中的序號(hào),設(shè)置表示不可用狀態(tài)的可用性字段,以及,記錄出錯(cuò)頻率的字段。本發(fā)明的另一方面,公開(kāi)一種實(shí)現(xiàn)上述方法的可重構(gòu)資源并行構(gòu)建系統(tǒng),包括:用于進(jìn)行人機(jī)交互的通信接口;多個(gè)可重構(gòu)資源,分配于多個(gè)科學(xué)計(jì)算組件中;選擇單元,用于在所述通信接口接收應(yīng)用需求信息時(shí),選擇滿足應(yīng)用需求的可重構(gòu)資源;用于對(duì)可重構(gòu)資源進(jìn)行重構(gòu)配置的配置單元;控制主機(jī),用于管理各個(gè)線程,包括為每個(gè)具有所述可重構(gòu)資源的科學(xué)計(jì)算組件分配一個(gè)獨(dú)立線程,不同的科學(xué)計(jì)算組件對(duì)應(yīng)不同的線程,以及,啟動(dòng)各個(gè)線程,控制所述配置單元通過(guò)各個(gè)線程配置對(duì)應(yīng)科學(xué)計(jì)算組件內(nèi)的可重構(gòu)資源。優(yōu)選的,上述系統(tǒng)中,所述科學(xué)計(jì)算組件包括多個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列FPGA和一個(gè)控制單元,所述控制單元通過(guò)一條聯(lián)合測(cè)試行動(dòng)小組Jtag鏈路與多個(gè)FPGA相連。優(yōu)選的,上述系統(tǒng)還包括監(jiān)測(cè)單元,用于監(jiān)測(cè)所述配置單元利用各個(gè)線程配置可重構(gòu)資源的過(guò)程,如果出錯(cuò)或出現(xiàn)異常,則記錄當(dāng)前狀態(tài)信息并上報(bào)所述控制主機(jī),由所述控制主機(jī)停止所述線程。優(yōu)選的,上述系統(tǒng)中,所述管理各個(gè)線程還包括:為代替出錯(cuò)或出現(xiàn)異常的可重構(gòu)資源的新可重構(gòu)資源分配線程。優(yōu)選的,上述系統(tǒng)中,所述當(dāng)前狀態(tài)信息包括可重構(gòu)資源所在科學(xué)計(jì)算組件標(biāo)識(shí),可重構(gòu)資源在所述科學(xué)計(jì)算組件中的序號(hào),設(shè)置表示不可用狀態(tài)的可用性字段,以及,記錄出錯(cuò)頻率的字段。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1示意性地示出了根據(jù)本發(fā)明實(shí)施方式在實(shí)際應(yīng)用中的一個(gè)應(yīng)用場(chǎng)景的框架示意圖;圖2示意性地示出了根據(jù)本發(fā)明方法一實(shí)施方式的流程圖;圖3示意性地示出了科學(xué)計(jì)算組件的一種可能結(jié)構(gòu);圖4示意性地示出了本發(fā)明方法一實(shí)施方式,針對(duì)多個(gè)可重構(gòu)資源分布于科學(xué)計(jì)算組件的一種可能結(jié)構(gòu);圖5示意性地示出了根據(jù)本發(fā)明方法另一實(shí)施方式中監(jiān)測(cè)過(guò)程的流程圖;圖6示意性地示出了本發(fā)明裝置一實(shí)施例方式的結(jié)構(gòu)示意圖;圖7示意性地示出了本發(fā)明裝置另一實(shí)施例方式的結(jié)構(gòu)示意圖。具體實(shí)施方式下面將參照本發(fā)明實(shí)施方式的方法的流程圖和設(shè)備(或系統(tǒng))的框圖描述本發(fā)明的實(shí)施方式。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令 可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,這些計(jì)算機(jī)程序指令通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能使得計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置的產(chǎn)品。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過(guò)程。根據(jù)本發(fā)明的實(shí)施方式,提出了一種可重構(gòu)系統(tǒng)的構(gòu)建方法和裝置。附圖中的任何元素?cái)?shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。為了方便技術(shù)人員理解,下面先對(duì)PRCA進(jìn)行簡(jiǎn)單介紹:2012年10月10日,一種新概念高效能計(jì)算機(jī)體系―基于認(rèn)知的主動(dòng)重構(gòu)計(jì)算體系(簡(jiǎn)稱為PRCA)被發(fā)布。PRCA與普通計(jì)算體系相比,以下方面存在較大區(qū)別:一、通信方式,PRCA的硬件程序運(yùn)行在專用的FPGA服務(wù)器上,軟件程序運(yùn)行在通用服務(wù)器上。發(fā)明人經(jīng)過(guò)研究發(fā)現(xiàn),在PRCA平臺(tái)中,兩類(lèi)服務(wù)器之間最方便的連接方式是千兆以太網(wǎng),即千兆以太網(wǎng)被選定作為軟硬件程序間的通信方式。這與采用PCI接口、PLB總線、InfiniBand作為通信方式的其他可重構(gòu)系統(tǒng)明顯不同。相應(yīng)的,通信方式不同,軟硬件程序就會(huì)有很大差異。二、硬件結(jié)構(gòu),F(xiàn)PGA與相關(guān)外設(shè)的連接方式在不同的計(jì)算平臺(tái)下總是存在一些差異。單就FPGA與內(nèi)存的連接而言,可能存在的差異包括:內(nèi)存的種 類(lèi)(DDR2或DDR3)、容量(2G或32G)、管腳接口類(lèi)型。具體例如:PRCA平臺(tái)為每個(gè)FPGA配備3條8GBDDR3內(nèi)存,接口為204針。作為對(duì)比,另一種BEE3型可重構(gòu)計(jì)算機(jī)為每個(gè)FPGA配備2條4GBDDR2內(nèi)存,接口也為204針。下面參考本發(fā)明的若干代表性實(shí)施方式,詳細(xì)闡釋本發(fā)明的原理和精神。發(fā)明概述發(fā)明人在研究過(guò)程中,提供了了管理可重構(gòu)資源的方案,該方案對(duì)可重構(gòu)系統(tǒng)中大量的可重構(gòu)資源進(jìn)行管理,避免出現(xiàn)錯(cuò)漏或不當(dāng)?shù)膯?wèn)題,從而保證可重構(gòu)系統(tǒng)的正常工作。在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實(shí)施方式。應(yīng)用場(chǎng)景總覽參考圖1,為本發(fā)明實(shí)施方式的一個(gè)示例性應(yīng)用場(chǎng)景的框架示意圖。其中,用戶通過(guò)輸入輸出設(shè)備11與計(jì)算機(jī)12交互。本領(lǐng)域技術(shù)人員可以理解,圖1所示的框架示意圖僅是本發(fā)明的實(shí)施方式可以在其中得以實(shí)現(xiàn)的一個(gè)示例。本發(fā)明實(shí)施方式的適用范圍不受到該框架任何方面的限制。所述輸入輸出設(shè)備11可以是鍵盤(pán)和顯示器的組合,也可以是觸摸屏或者其他具有輸入輸出功能的設(shè)備。在圖1所示的示例性應(yīng)用場(chǎng)景中,計(jì)算機(jī)12響應(yīng)于用戶輸入的數(shù)據(jù),進(jìn)行相應(yīng)操作,包括調(diào)用內(nèi)部計(jì)算或處理模塊對(duì)指定的程序或數(shù)據(jù)進(jìn)行處理。示例性方法下面結(jié)合圖1的應(yīng)用場(chǎng)景,參考圖2來(lái)描述根據(jù)本發(fā)明示例性實(shí)施方式的可重構(gòu)資源并行構(gòu)建方法。需要注意的是,上述應(yīng)用場(chǎng)景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實(shí)施方式在此方面不受任何限制。相反,本發(fā)明的實(shí)施方式可以應(yīng)用于適用的任何場(chǎng)景。參考圖2所示,為本發(fā)明提供的可重構(gòu)資源管理方法一實(shí)施方式的流程圖,本實(shí)施方式可以包括以下步驟:步驟S21、接收應(yīng)用需求信息。所述應(yīng)用需求信息也可稱為任務(wù)需求信息,具體可以由需求參數(shù)表征。所述應(yīng)用需求信息可以由操作者通過(guò)操作界面上的信息輸入欄,或者由操作者通過(guò)操作界面上的各種需求參數(shù)的勾選結(jié)果輸入。步驟S22、確定滿足所述應(yīng)用需求的可重構(gòu)資源。每個(gè)可重構(gòu)資源均具有一定的功能,根據(jù)應(yīng)用需求信息確定所需的功能后,即可依據(jù)功能選擇可重構(gòu)資源,將這些可重構(gòu)資源確定為候選資源。并且依據(jù)一定的策略從中選定目標(biāo)資源。所述預(yù)設(shè)策略包括節(jié)約能耗優(yōu)先的能耗節(jié)約策略,降低錯(cuò)誤概率優(yōu)先的規(guī)避錯(cuò)誤策略,或者,對(duì)所述能耗節(jié)約策略和錯(cuò)誤規(guī)避策略進(jìn)行加權(quán)平均處理的策略。所述能耗節(jié)約策略可以包括:處于可用狀態(tài)且所屬科學(xué)計(jì)算組件中處于不可用狀態(tài)的可重構(gòu)資源數(shù)量較少。所述規(guī)避錯(cuò)誤策略包括:處于可用狀態(tài)且出錯(cuò)頻率較小,或者,處于可用狀態(tài),且所屬科學(xué)計(jì)算組件所有處于可用狀態(tài)的可重構(gòu)資源的出錯(cuò)頻率和最小。具體如何確定滿足所述應(yīng)用需求的可重構(gòu)資源不是本文重點(diǎn),其可以采用現(xiàn)有技術(shù)進(jìn)行,本文對(duì)此不做詳細(xì)介紹。步驟S23、為每個(gè)具有所述可重構(gòu)資源的科學(xué)計(jì)算組件分配一個(gè)獨(dú)立線程。所述科學(xué)計(jì)算組件包括多個(gè)可重構(gòu)資源,其示意結(jié)構(gòu)如圖3所示,包括多片F(xiàn)PGA和一個(gè)控制單元,所述控制單元通過(guò)一條Jtag鏈路與多個(gè)FPGA相連。所述科學(xué)計(jì)算組件可能存在多個(gè),所述確定的滿足所述應(yīng)用需求的可重構(gòu)資源有可能分配在多個(gè)科學(xué)計(jì)算組件中,則可為每個(gè)具有所述可重構(gòu)資源的科學(xué)計(jì)算組件分配一個(gè)獨(dú)立線程,不同的科學(xué)計(jì)算組件對(duì)應(yīng)不同的線程,如圖4所示。而對(duì)于同一個(gè)科學(xué)計(jì)算組件中的多個(gè)可重構(gòu)資源,則由于Jtag鏈路的獨(dú)占性特點(diǎn),需要串行進(jìn)行配置。步驟S24、啟動(dòng)各個(gè)線程,配置各個(gè)線程各自對(duì)應(yīng)的科學(xué)計(jì)算組件中的可重構(gòu)資源。本發(fā)明上述實(shí)施例采用為每個(gè)科學(xué)計(jì)算組件分配獨(dú)立線程的方式,實(shí)現(xiàn) 了對(duì)不同的科學(xué)計(jì)算組件中的可重構(gòu)資源的并行配置,節(jié)約了系統(tǒng)重構(gòu)的時(shí)間,提高了重構(gòu)效率。本發(fā)明另外實(shí)施例還可以進(jìn)一步包括監(jiān)測(cè)過(guò)程,用于監(jiān)測(cè)各個(gè)線程配置對(duì)應(yīng)可重構(gòu)資源的情況,其針對(duì)某一線程的監(jiān)測(cè)過(guò)程可以如圖5所示,包括以下步驟:步驟51、判斷線程對(duì)可重構(gòu)資源配置是否出錯(cuò)或出現(xiàn)異常,若是,進(jìn)入步驟S52,否則,持續(xù)判斷。步驟S52、記錄當(dāng)前狀態(tài)信息并上報(bào)控制主機(jī)。所述控制主機(jī)接收到狀態(tài)信息后,了解到某線程針對(duì)某可重構(gòu)資源出現(xiàn)配置異常,則可停止所述線程,避免產(chǎn)生無(wú)謂的能耗。此外,在某些實(shí)施例中,控制主機(jī)可選擇新可重構(gòu)資源代替出錯(cuò)或出現(xiàn)異常的可重構(gòu)資源,并為其分配線程。所述當(dāng)前狀態(tài)信息包括可重構(gòu)資源所在科學(xué)計(jì)算組件標(biāo)識(shí),可重構(gòu)資源在所述科學(xué)計(jì)算組件中的序號(hào),設(shè)置表示不可用狀態(tài)的可用性字段,以及,記錄出錯(cuò)頻率的字段。其當(dāng)前狀態(tài)信息的格式可以如下表:表1IPIDUSABLEStyleErrorFreq其中:IP用于指示可重構(gòu)資源位于哪個(gè)科學(xué)計(jì)算組件中。ID用于指示可重構(gòu)資源的標(biāo)識(shí)。所述科學(xué)計(jì)算組件中各可重構(gòu)資源通過(guò)序號(hào)區(qū)分,具體來(lái)說(shuō),ID可以是在所在科學(xué)計(jì)算組件中的序號(hào)。USABLE用于標(biāo)示可重構(gòu)資源的可用性,若所述可重構(gòu)資源忙或者出現(xiàn)異常時(shí),則在USABLE字段處用特定標(biāo)記表示可重構(gòu)資源不可用,例如0表示可用,1表示不可用。Style字段表示可重構(gòu)資源的類(lèi)型。ErrorFreq用于記錄可重構(gòu)資源進(jìn)行重構(gòu)時(shí)的出錯(cuò)頻率。示例性設(shè)備在介紹了本發(fā)明示例性實(shí)施方式的方法之后,接下來(lái),參考圖6所示,為本發(fā)明示例性實(shí)施方式的可重構(gòu)資源并行構(gòu)建系統(tǒng)一實(shí)施方式,本實(shí)施方式例如可以包括通信接口61、選擇單元62、配置單元63、控制主機(jī)64以及多個(gè)可重構(gòu)資源(圖中簡(jiǎn)稱為資源)。所述通信接口61用于進(jìn)行人機(jī)交互。多個(gè)可重構(gòu)資源,分配于多個(gè)科學(xué)計(jì)算組件中,科學(xué)計(jì)算組件的結(jié)構(gòu)如圖3所示。所述選擇單元62用于在所述通信接口61接收應(yīng)用需求信息時(shí),選擇滿足應(yīng)用需求的可重構(gòu)資源。具體選擇方法或過(guò)程可參考前文方法部分的內(nèi)容。所述配置單元63用于對(duì)可重構(gòu)資源進(jìn)行重構(gòu)配置,具體如何配置屬于現(xiàn)有技術(shù),本文對(duì)此不做贅述。所述控制主機(jī)64,用于管理各個(gè)線程,包括為每個(gè)具有所述可重構(gòu)資源的科學(xué)計(jì)算組件分配一個(gè)獨(dú)立線程,不同的科學(xué)計(jì)算組件對(duì)應(yīng)不同的線程,以及,啟動(dòng)各個(gè)線程,控制所述配置單元63通過(guò)各個(gè)線程配置對(duì)應(yīng)科學(xué)計(jì)算組件內(nèi)的可重構(gòu)資源。圖7為構(gòu)建系統(tǒng)的另一個(gè)實(shí)施方式,在圖6的基礎(chǔ)上,還包括監(jiān)測(cè)單元65,用于監(jiān)測(cè)所述配置單元63利用各個(gè)線程配置可重構(gòu)資源的過(guò)程,如果出錯(cuò)或出現(xiàn)異常,則記錄當(dāng)前狀態(tài)信息并上報(bào)所述控制主機(jī)64,由所述控制主機(jī)64停止所述線程。在本實(shí)施例中,所述控制主機(jī)64還可以為代替出錯(cuò)或出現(xiàn)異常的可重構(gòu)資源的新可重構(gòu)資源分配線程。所述當(dāng)前狀態(tài)信息包括可重構(gòu)資源所在科學(xué)計(jì)算組件標(biāo)識(shí),可重構(gòu)資源在所述科學(xué)計(jì)算組件中的序號(hào),設(shè)置表示不可用狀態(tài)的可用性字段,以及,記錄出錯(cuò)頻率的字段。具體結(jié)構(gòu)可以參照前文方法部分的內(nèi)容。需要說(shuō)明的是,本說(shuō)明書(shū)中各個(gè)實(shí)施例可相互補(bǔ)充,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。還需要說(shuō)明的是,本說(shuō)明書(shū)中構(gòu)建系統(tǒng)與構(gòu)建方法是相對(duì)應(yīng)的,相互之間可以互相借鑒和補(bǔ)充。另外,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。當(dāng)前第1頁(yè)1 2 3