本發(fā)明屬于計(jì)算機(jī)體系片上互連領(lǐng)域,具體涉及一種基于q-learning強(qiáng)化學(xué)習(xí)的自適應(yīng)片上網(wǎng)絡(luò)方案。
背景技術(shù):
1、現(xiàn)代的處理器通常具有多個(gè)核心,片上網(wǎng)絡(luò)在芯片多處理器和多處理器片上系統(tǒng)中起到重要作用,它解決了多核處理器中處理核心之間通信的問題,提供了低延遲、高帶寬、可擴(kuò)展的通信通道。在當(dāng)前的研究中,片上網(wǎng)絡(luò)的資源通常沒有得到充分的利用,存在資源利用率低的問題。在任務(wù)映射過程中,需要考慮不同核心資源之間的負(fù)載均衡,以避免某些核心資源空閑而導(dǎo)致性能損失。同時(shí),在處理不同任務(wù)時(shí),片上網(wǎng)絡(luò)缺乏針對(duì)性的特定任務(wù)拓?fù)浣Y(jié)構(gòu)選擇方案,片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定了網(wǎng)絡(luò)中路由器節(jié)點(diǎn)和傳輸通道之間的物理布局和連接,直接影響到消息的路由選擇,會(huì)直接影響網(wǎng)絡(luò)延遲。路由器中虛擬通道的數(shù)量對(duì)延遲和功耗也有著顯著影響。
2、片上網(wǎng)絡(luò)由路由器節(jié)點(diǎn)和傳輸通道組成,拓?fù)浣Y(jié)構(gòu)的選擇對(duì)片上網(wǎng)絡(luò)的傳輸性能和功耗有著重要的影響。拓?fù)錄Q定了一條消息的跳數(shù)或經(jīng)過的路由器個(gè)數(shù),因此會(huì)對(duì)網(wǎng)絡(luò)延遲產(chǎn)生影響。而消息經(jīng)過路由器和鏈路需要消耗能量,所以拓?fù)浣Y(jié)構(gòu)對(duì)跳數(shù)的影響會(huì)直接影響系統(tǒng)的功耗。拓?fù)浣Y(jié)構(gòu)是片上網(wǎng)絡(luò)設(shè)計(jì)中十分重要的部分,它對(duì)片上網(wǎng)絡(luò)的整體性能和開銷都有著非常大的影響。拓?fù)浣Y(jié)構(gòu)決定了片上網(wǎng)絡(luò)節(jié)點(diǎn)和鏈路的物理分布以及它們的連接關(guān)系,同時(shí),也決定了消息的傳輸跳數(shù),因此拓?fù)浣Y(jié)構(gòu)的設(shè)計(jì)對(duì)傳輸?shù)难舆t和功耗影響非常大。目前,片上網(wǎng)絡(luò)中的直連拓?fù)溆协h(huán)網(wǎng),二維網(wǎng)格網(wǎng)絡(luò)和二維torus網(wǎng)絡(luò)三種結(jié)構(gòu)。非直連拓?fù)溆械巍湫谓Y(jié)構(gòu)等。不同的拓?fù)浣Y(jié)構(gòu)適合不同類型的任務(wù)用來傳輸數(shù)據(jù),在以往的片上網(wǎng)絡(luò)互連結(jié)構(gòu)研究中,經(jīng)常有所有的任務(wù)采用單一的拓?fù)浣Y(jié)構(gòu)連接方式,這使得對(duì)于一部分任務(wù)而言,由于不需要如此復(fù)雜的布線而額外產(chǎn)生了部分開銷,浪費(fèi)了功耗,對(duì)于另一部分任務(wù)而言,消息傳輸?shù)奶鴶?shù)過多導(dǎo)致時(shí)延增加,降低了性能。
3、片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)直接影響到路由算法的選擇,片上網(wǎng)絡(luò)中的路由算法一般分為三類:確定性路由(deterministicrouting)、無關(guān)路由(obliviousrouting)、自適應(yīng)路由(adaptiverouting)。確定性路由是一種基本的路由方法,對(duì)于給定的源和目標(biāo),路由路徑是固定的,例如xy路由。無關(guān)路由中的路徑是由源和目標(biāo)節(jié)點(diǎn)決定的,但不考慮網(wǎng)絡(luò)的實(shí)時(shí)或歷史擁塞信息。因此,即使某些路徑出現(xiàn)擁塞,路由選擇也不會(huì)改變。自適應(yīng)路由是一種更復(fù)雜的路由策略,可以在運(yùn)行時(shí)根據(jù)網(wǎng)絡(luò)條件動(dòng)態(tài)改變路由路徑?;跈?quán)重的路由中,每條路徑或鏈接都有一個(gè)權(quán)重,路由選擇依賴于這些權(quán)重。權(quán)重可以根據(jù)多種因素設(shè)置,如路徑長(zhǎng)度、擁塞程度、能耗等。通過動(dòng)態(tài)選擇路由路徑,適應(yīng)網(wǎng)絡(luò)狀態(tài)變化,可以減少擁塞和提高數(shù)據(jù)傳輸效率,降低延遲。復(fù)雜的路由算法需要更多的控制邏輯,這可能增加靜態(tài)功耗。簡(jiǎn)單的路由算法通常能降低這一開銷。在設(shè)計(jì)片上網(wǎng)絡(luò)時(shí),需要在性能和功耗之間找到平衡。選擇合適的路由算法不僅能提高數(shù)據(jù)傳輸效率,還能有效管理功耗。
4、在路由器的設(shè)計(jì)中,虛擬通道的數(shù)量對(duì)延遲和功耗有顯著影響。更多的虛擬通道可以有效減少網(wǎng)絡(luò)擁塞,降低數(shù)據(jù)包等待時(shí)間,從而降低延遲。然而,更多的虛擬通道意味著需要更多的控制信號(hào)和狀態(tài)管理,這可能會(huì)增加靜態(tài)功耗。切換和管理這些通道也會(huì)導(dǎo)致動(dòng)態(tài)功耗上升。選擇虛擬通道數(shù)量時(shí),需要在延遲和功耗之間找到一個(gè)平衡點(diǎn)。過多的虛擬通道可能導(dǎo)致管理開銷過大,而過少則可能導(dǎo)致網(wǎng)絡(luò)擁塞和延遲增加。使用動(dòng)態(tài)調(diào)整虛擬通道數(shù)量的策略,根據(jù)實(shí)際負(fù)載情況靈活調(diào)整,可以優(yōu)化延遲和功耗。
5、本發(fā)明將強(qiáng)化學(xué)習(xí)的思想應(yīng)用到片上網(wǎng)絡(luò)的設(shè)計(jì)上,強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)領(lǐng)域,主要研究智能主體在環(huán)境中應(yīng)該怎樣采取行動(dòng)以最大化所獲得的累積獎(jiǎng)勵(lì)。也會(huì)根據(jù)環(huán)境對(duì)行為的反饋,即獎(jiǎng)勵(lì)或懲罰,來不斷調(diào)整自己的行為,從而適應(yīng)環(huán)境,以獲得最大價(jià)值。將強(qiáng)化學(xué)習(xí)用到為任務(wù)分配一塊合適大小的子片上網(wǎng)絡(luò)區(qū)域并選擇一個(gè)合適的拓?fù)浣Y(jié)構(gòu)上,設(shè)計(jì)出高能效的片上網(wǎng)絡(luò)。
6、本發(fā)明采用自適應(yīng)拓?fù)浣Y(jié)構(gòu)來映射任務(wù),并根據(jù)任務(wù)的特征不同劃分出不同的區(qū)域進(jìn)行任務(wù)處理。這種方法可以為每個(gè)任務(wù)分配特定的片上資源和拓?fù)浣Y(jié)構(gòu)類型,從而節(jié)省片上資源消耗。通過自適應(yīng)拓?fù)浣Y(jié)構(gòu),系統(tǒng)可以根據(jù)任務(wù)的需求和特性,在片上網(wǎng)絡(luò)中靈活地調(diào)整連接關(guān)系和路由方式。同時(shí),通過劃分不同的區(qū)域,可以將不同任務(wù)的處理過程隔離開來,最大程度減少干擾和沖突的發(fā)生。使用q-learning強(qiáng)化學(xué)習(xí)算法在任務(wù)運(yùn)行時(shí)以低延遲和低功耗為目標(biāo)動(dòng)態(tài)改變路由算法的傳輸方向和虛擬通道的數(shù)量可以有效實(shí)現(xiàn)片上網(wǎng)絡(luò)中性能和功耗的平衡。
技術(shù)實(shí)現(xiàn)思路
1、為解決目前片上網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中很難實(shí)現(xiàn)性能和能耗平衡的問題,本發(fā)明提出一種基于強(qiáng)化學(xué)習(xí)的高能效片上網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)選擇方法,此拓?fù)浣Y(jié)構(gòu)選擇方法由四個(gè)模塊組成,分別為片上資源分配、拓?fù)溥x擇、路由選擇、虛擬通道分配。首先需要將片上網(wǎng)絡(luò)分成不同的子片上網(wǎng)絡(luò)區(qū)域,在子片上網(wǎng)絡(luò)區(qū)域進(jìn)行物理布線,以便能滿足為不同的任務(wù)分配合適的片上資源和拓?fù)浣Y(jié)構(gòu);其次,對(duì)任務(wù)根據(jù)特征不同進(jìn)行片上資源分配并分配適合的拓?fù)浣Y(jié)構(gòu);最后,使用q-learning強(qiáng)化學(xué)習(xí)算法在任務(wù)運(yùn)行時(shí)選擇合適的路由算法和分配合適數(shù)量的虛擬通道數(shù)量達(dá)到性能和功耗的平衡。
2、基于強(qiáng)化學(xué)習(xí)的高能效片上網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)選擇方法包括以下步驟:
3、步驟1,將16×16的片上網(wǎng)絡(luò)劃分為四個(gè)8×8的子片上網(wǎng)絡(luò)區(qū)域。這些子網(wǎng)絡(luò)分別采用不同的拓?fù)浣Y(jié)構(gòu)進(jìn)行布線,具體包括torus拓?fù)浣Y(jié)構(gòu)、mesh拓?fù)浣Y(jié)構(gòu)、tree拓?fù)浣Y(jié)構(gòu)和flattened?butterfly拓?fù)浣Y(jié)構(gòu)。這種劃分提高了網(wǎng)絡(luò)的靈活性和可擴(kuò)展性,也為后續(xù)的任務(wù)映射和資源分配奠定了基礎(chǔ)。
4、不同的片上網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)適用于不同類型的任務(wù),torus提供高帶寬和低延遲,適合數(shù)據(jù)密集型任務(wù)。mesh提供簡(jiǎn)單的結(jié)構(gòu)和合理的性能,適合計(jì)算密集型任務(wù)。tree便于管理和資源調(diào)配,適合分層任務(wù)和數(shù)據(jù)聚合。flattened?butterfly具備良好的擴(kuò)展性和負(fù)載均衡能力,適合動(dòng)態(tài)負(fù)載和高并發(fā)任務(wù)。選擇適合的拓?fù)浣Y(jié)構(gòu)有助于提升任務(wù)執(zhí)行效率和資源利用率。
5、步驟2,根據(jù)任務(wù)的不同特性和需求,將其智能地映射到最合適的子片上網(wǎng)絡(luò)中進(jìn)行處理。這一策略能夠有效避免將整個(gè)片上網(wǎng)絡(luò)架構(gòu)用于單一簡(jiǎn)單任務(wù),從而導(dǎo)致片上資源的浪費(fèi)。這種選擇性映射的方法旨在在高性能和低功耗之間實(shí)現(xiàn)平衡,最終提升片上網(wǎng)絡(luò)的整體能效。
6、步驟3,在任務(wù)運(yùn)行時(shí),依據(jù)其所在子片上網(wǎng)絡(luò)的規(guī)模和特征,應(yīng)用q-learning強(qiáng)化學(xué)習(xí)算法為其分配最適合的拓?fù)浣Y(jié)構(gòu)。通過學(xué)習(xí)歷史任務(wù)的性能數(shù)據(jù),q-learning能夠動(dòng)態(tài)調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),以更好地適應(yīng)當(dāng)前任務(wù)的需求,從而提升處理效率。
7、以cpu基準(zhǔn)測(cè)試套spec2006為例,不同類型的任務(wù)通常對(duì)拓?fù)浣Y(jié)構(gòu)有不同的需求。
8、數(shù)據(jù)密集型任務(wù)通常需要高帶寬和低延遲的通信。這類任務(wù)適合使用torus或flattened?butterfly拓?fù)洌驗(yàn)樗鼈兲峁┝烁玫牟⑿型ㄐ拍芰透咝У穆窂嚼谩?/p>
9、計(jì)算密集型任務(wù)對(duì)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)要求相對(duì)較低。mesh拓?fù)浣Y(jié)構(gòu)較為簡(jiǎn)單,能夠有效支持這類任務(wù)的需求,提供合理的性能和功耗平衡。
10、分層任務(wù)通常更適合使用tree拓?fù)?。這種結(jié)構(gòu)有利于實(shí)現(xiàn)分層管理和資源調(diào)配,可以有效減少通信延遲。
11、動(dòng)態(tài)負(fù)載任務(wù)常需要靈活的拓?fù)湟赃m應(yīng)變化的任務(wù)負(fù)載。在這種情況下,flattened?butterfly拓?fù)涮峁┝肆己玫臄U(kuò)展性和負(fù)載均衡能力,能夠根據(jù)實(shí)時(shí)需求進(jìn)行調(diào)整。
12、步驟4,使用q-learning強(qiáng)化學(xué)習(xí)算法,根據(jù)任務(wù)的性能要求和功耗限制,為任務(wù)選擇最合適的路由算法和虛擬通道數(shù)量。此過程不僅能優(yōu)化任務(wù)的執(zhí)行效率,還能確保在滿足性能需求的同時(shí),有效控制功耗,從而實(shí)現(xiàn)更好的資源管理和系統(tǒng)性能。通過這種綜合的方法,可以有效提升片上網(wǎng)絡(luò)的能效,促進(jìn)更高效的計(jì)算和數(shù)據(jù)傳輸。q-learning是一種無模型、基于價(jià)值的強(qiáng)化學(xué)習(xí)方法,適用于離散狀態(tài)和動(dòng)作空間的問題。將系統(tǒng)狀態(tài)和可能的路由算法和虛擬通道數(shù)量抽象為離散的狀態(tài)和動(dòng)作,初始化q表后,根據(jù)當(dāng)前狀態(tài)和q表,使用ε-greedy策略選擇動(dòng)作。根據(jù)選擇的動(dòng)作,改變路由算法和虛擬通道的數(shù)量。根據(jù)環(huán)境的反饋和q-learning的更新規(guī)則,更新q表中對(duì)應(yīng)狀態(tài)和動(dòng)作的q值,直到收斂或達(dá)到預(yù)定的迭代次數(shù),本設(shè)計(jì)中,將最大迭代次數(shù)設(shè)置為20000次。通過反復(fù)的訓(xùn)練和更新,q-learning算法能夠逐漸學(xué)習(xí)到最優(yōu)的路由傳輸路線和虛擬通道數(shù)量,以最大化系統(tǒng)的性能指標(biāo)。通過不斷的交互和學(xué)習(xí),強(qiáng)化學(xué)習(xí)代理可以逐步優(yōu)化路由算法和虛擬通道數(shù)量,從而滿足性能和功耗的平衡。
13、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
14、當(dāng)前的片上網(wǎng)絡(luò)的資源沒有得到充分的利用,存在資源利用率低等問題。同時(shí),在處理不同任務(wù)時(shí),片上網(wǎng)絡(luò)缺乏針對(duì)性的特定任務(wù)映射方案和拓?fù)浣Y(jié)構(gòu)選擇方案,會(huì)影響片上網(wǎng)絡(luò)的能效。本發(fā)明提出一種基于任務(wù)驅(qū)動(dòng)的片上資源分配和拓?fù)浣Y(jié)構(gòu)選擇方案,采用q-learning強(qiáng)化學(xué)習(xí)算法,根據(jù)任務(wù)的特征不同,為其分配合適大小的子片上網(wǎng)絡(luò),并根據(jù)子片上網(wǎng)絡(luò)的大小和任務(wù)的特征為其選擇合適的拓?fù)浣Y(jié)構(gòu)。
15、片上通信的過程中可能會(huì)出現(xiàn)負(fù)載不均衡的問題,不同任務(wù)采用統(tǒng)一的虛擬通道數(shù)量可能導(dǎo)致資源的浪費(fèi)和靈活性不足,因?yàn)椴煌蝿?wù)的需求各異,固定的通道數(shù)量可能無法適應(yīng)各種任務(wù)的峰值需求。此外,這可能增加延遲,降低系統(tǒng)的整體效率。為此,引入基于q-learning強(qiáng)化學(xué)習(xí)的動(dòng)態(tài)路由算法和虛擬通道數(shù)量設(shè)計(jì)方案。在片上資源傳輸和計(jì)算的過程中,根據(jù)實(shí)時(shí)的延遲和功耗,動(dòng)態(tài)改變路由算法和虛擬通道數(shù)量,使之能得到功耗和延遲的平衡。