TWI819480B - 加速系統及其動態配置方法 - Google Patents
加速系統及其動態配置方法 Download PDFInfo
- Publication number
- TWI819480B TWI819480B TW111103657A TW111103657A TWI819480B TW I819480 B TWI819480 B TW I819480B TW 111103657 A TW111103657 A TW 111103657A TW 111103657 A TW111103657 A TW 111103657A TW I819480 B TWI819480 B TW I819480B
- Authority
- TW
- Taiwan
- Prior art keywords
- input data
- modules
- acceleration system
- time point
- module
- Prior art date
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims description 38
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000001364 causal effect Effects 0.000 claims description 74
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 19
- 238000005457 optimization Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 241000219470 Mirabilis Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F2015/761—Indexing scheme relating to architectures of general purpose stored programme computers
- G06F2015/763—ASIC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F2015/761—Indexing scheme relating to architectures of general purpose stored programme computers
- G06F2015/768—Gate array
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
- Vehicle Body Suspensions (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Image Processing (AREA)
Abstract
本發明提供一種加速系統,其包含有複數個模組。複數個模組中的每一者包含至少一中央處理器、至少一圖形處理器、至少一現場可程式化邏輯閘陣列或至少一特定應用積體電路。複數個模組中的至少一者包含複數個模組中的至少另一者,使得加速系統是結構化而層層套疊。
Description
本發明係指一種加速系統及其動態配置方法,尤指可降低硬體加速成本並提高效能的一種加速系統及其動態配置方法。
根據習知網路裝置的運作,網路裝置可區分為無線電單元(Radio Unit,RU)、分布單元(Distributed Unit,DU)、中央單元(Central Unit,CU)或核心網服務器(Core Network server),但不限於此。
第五代行動通訊技術(5th generation mobile networks,5G)在不同網路裝置上採用不同的硬體加速類型。例如,無線電單元及分布單元需要基帶處理卡(baseband processing card)(例如前向錯誤更正(forward error correction,FEC)加速器(Accelerator))及安全卡(security card)(例如TLS/IPSec);中央單元需要安全卡;核心網服務器需要安全卡(例如TLS Accelerator)及下一代防火牆卡(Next Gen Firewall card)(例如第五層(Layer 5)以上的掃描加速卡)。
然而,就降低硬體加速成本並提高效能而言,現有的網路裝置的硬體加速有改進的必要。
因此,本發明主要提供一種加速系統及其動態配置方法,以降低硬體加速成本並提高效能。
本發明另揭露一種加速系統,包含有複數個模組,其中,該複數個模組中的每一者包含至少一中央處理器、至少一圖形處理器、至少一現場可程式化邏輯閘陣列或至少一特定應用積體電路,其中,該複數個模組中的至少一
者包含該複數個模組中的至少另一者,使得該加速系統是結構化而層層套疊。
本發明另揭露一種,用於一加速系統,包含有一循環結構因果模型根據一第一序列資料提供一第一資訊,該第一序列資料包含一第一時點的一第一輸入資料;以及根據該第一資訊,配置該加速系統的複數個模組的數目、層次結構或類型,以加速一第二時點的一第二輸入資料的處理。
10:加速系統
110~140:模組
110b~130b:匯流排
110CPUhw:中央處理器
120GPU:圖形處理器
130FPGA:現場可程式化邏輯閘陣列
140ASIC:特定應用積體電路
210Pt+2:標籤
210Pt-n~210Pt+1:輸入
220SCM1~220SCM3,320SCM2-n~320SCM2:結構因果層
220X2-n~220X3:輸入層
220Y2-n~220Y3:輸出層
230M1,230M2,330M2-n~330M2:參數
40:優化方法
50:動態配置方法
60:實行方法
602:固態硬碟
604:被映射的主儲存器
606:硬體描述語言
608:硬體加速模擬層
CU:中央單元
DU:分布單元
RU:無線電單元
S400~S410,S500~S510:步驟
第1圖為本發明實施例一加速系統的示意圖。
第2圖及第3圖分別為本發明實施例一循環結構因果模型的示意圖。
第4圖為本發明實施例一優化方法之流程圖。
第5圖為本發明實施例一動態配置方法的示意圖。
第6圖為本發明實施例一實行方法的示意圖。
第7圖為本發明實施例一通訊系統的示意圖。
在通篇說明書及後續的請求項當中所提及的「第一」、「第二」等敘述,僅用以區別不同的元件,並不對其產生順序的限制。所述實施例在不抵觸的情況下可以以各種方式組合。
第1圖為本發明實施例一加速系統10的示意圖。加速系統10可根據輸入資料而動態調整硬體加速類型及層次結構,以降低硬體加速成本並提高效能。
一個裝置(例如先前技術提到的網路裝置,但不限於此)可對應本發明的一個加速系統10。裝置的軟硬體可根據加速系統10的加速類型及層次結構而配置(即如何將輸入資料分由裝置的軟硬體進行處理)。
加速系統10可為結構化的。如第1圖所示,一個加速系統10可包含多個模組110~140,而形成一個層次結構(hierarchy)或序列(sequence)。例如,
加速系統10可分成至少一個模組110,一個模組110~130可分別包含至少一個模組120~140,換言之,加速系統10是結構化的而層層套疊。
一個模組可包含(或對應)至少一個中央處理器(Central Processing Unit,CPU)110CPUhw、至少一個圖形處理器(Graphics Processing Unit,GPU)120GPU、至少一個現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)130FPGA、或至少一個特定應用積體電路(Application Specific Integrated Circuit,ASIC)140ASIC。
因此,在另一面向,在同一層級,一些模組(例如一模組110)使用當前層級的較慢的硬體(例如中央處理器110CPUhw)加速,而另一些模組(例如另一模組110)使用下一層級的較快的硬體(例如圖形處理器120GPU)加速。換言之,一個模組可進行的處理可分成至少兩種不同硬體可進行的處理。例如,用模組110可進行的處理可分成用中央處理器110CPUhw可進行的處理及用圖形處理器120GPU可進行的處理。
裝置接收輸入資料,加速系統10可加速輸入資料的處理。例如,加速系統10可對輸入資料進行純軟體的處理(例如利用加速系統10的純軟體指令110CPUsw來進行純軟體的處理)或進行硬體的處理(例如利用中央處理器110CPUhw的硬體加速的指令來進行硬體的處理)。
輸入資料可為結構化的。在本發明,可使用聚類演算法(clustering algorithm),以將結構化的輸入資料分至不同群組。聚類演算法例如可為K平均演算法(K-MEANS),但不限於此。群組的數目可與中央處理器110CPUhw、圖形處理器120GPU、現場可程式化邏輯閘陣列130FPGA及特定應用積體電路140ASIC的總數目有關。例如,群組的數目可小於等於中央處理器110CPUhw、圖形處理器120GPU、現場可程式化邏輯閘陣列130FPGA及特定應用積體電路140ASIC的總數目,但不限於此。
每個群組可分別對應到加速系統10的一個模組,因此,輸入資料可分別由不同模組來進行處理。例如,部分的輸入資料可利用加速系統10的純軟體指令110CPUsw來處理,部分的輸入資料可對應到模組110(即分至模組110)而由中央處理器110CPUhw來處理,部分的輸入資料可對應到模組120(即分至模組120)而由圖形處理器120GPU來處理,部分的輸入資料可對應到模組130(即分至模組130)而由現場可程式化邏輯閘陣列130FPGA來處理,部分的輸入資料可對應到模組140(即分至模組140)而由特定應用積體電路140ASIC來處理。由於不同硬體的處理速度不同,例如圖形處理器120GPU有利於處理圖像領域的運算加速,因此可根據輸入資料的類型而決定由哪個模組及哪個硬體來實現加速。由此可知,加速系統10的模組的結構可對應至輸入資料的結構化資訊。
為了對應結構化的輸入資料而動態調整加速類型及層次結構,加速系統10可根據循環神經網路(Recurrent neural network,RNN)結合結構因果模型(Structural Causal Model,SCM)的循環結構因果模型(Recurrent Structural Causal Model)來動態配置加速系統10的加速類型及層次結構,從而利用加速系統10的不同模組分別進行分至不同群組的輸入資料的處理。
循環結構因果模型是基於因果關係而不是僅基於統計關聯的。由於循環結構因果模型可找到輸入資料的結構化因果關係,因此可更準確地判斷出更佳的加速類型及層次結構,使得加速系統10的加速類型及層次結構可確保較低的加速成本及較高的效能。
循環結構因果模型分析不同時點的輸入資料,而不是僅處理當前的輸入資料,因此可提供更準確的預測,使得加速系統10的加速類型及層次結構可在不同時點確保較低的加速成本及較高的效能。
例如,第2圖為本發明實施例一循環結構因果模型20的示意圖。循環結構因果模型20可提供結構化資訊來描述加速系統10。循環結構因果模型20可
包含輸入層220X1~220X3、結構因果層220SCM1~220SCM3及輸出層220Y1~220Y3。輸入層220X1可接收輸入210Pt-1,輸入210Pt-1可相關於裝置在時點t-1的輸入資料。輸入層220X2可接收輸出層220Y1輸出的輸入210Pt,輸入210Pt可相關於裝置在時點t的輸入資料。輸入層220X3可接收輸出層220Y2輸出的輸入210Pt+1,並輸出標籤(label)210Pt+2。標籤210Pt+2可包含加速系統10在時點t+1的加速類型及層次結構的資訊,因此循環結構因果模型20可動態配置加速系統10的加速類型及層次結構,從而利用加速系統10的不同模組分別進行不同群組的輸入資料的處理。
在一實施例,時點t為當前的時點,輸入210Pt-1、210Pt分別相關於裝置在前一個時點的輸入資料及在當前的時點的輸入資料,標籤210Pt+2可包含加速系統10在下一個時點(即時點t+1)的加速類型及層次結構的資訊,但不限於此。換言之,循環結構因果模型20可預測加速系統10在下一個時點(即時點t+1)的加速類型及層次結構,以預先配置加速系統10的加速類型及層次結構。在下一個時點(即時點t+1)的輸入資料輸入至裝置前,裝置的軟硬體可根據加速系統10對應下一個時點(即時點t+1)的加速類型及層次結構而被預先配置。在下一個時點(即時點t+1)的輸入資料輸入至裝置後,裝置的軟硬體可根據加速系統10對應下一個時點(即時點t+1)的加速類型及層次結構而稍微地調整或因沒有變動而不須被重新配置。
在另一實施例中,時點t+1也可以是當前的時點,輸入210Pt-1、210Pt、210Pt+1分別相關於裝置在前前一個時點的輸入資料、在前一個時點的輸入資料及在當前的時點的輸入資料,標籤210Pt+2可包含加速系統10在當前時點的加速類型及層次結構的資訊。
第3圖為本發明實施例一循環結構因果模型30的示意圖。循環結構因果模型30可包含輸入層220X2-n~220X3、結構因果層320SCM2-n~320SCM3及
輸出層220Y2-n~220Y3,其中n為正整數。
在第3圖,輸入210Pt-n~210Pt可分別相關於裝置在時點t-n~時點t的輸入資料。在一實施例,輸入210Pt-n~210Pt中的一者可為裝置在時點t-n~時點t中的一者的輸入資料。在一實施例,輸入210Pt-n~210Pt中的一者可為時點t-n~時點t中的一者的輸入資料分至不同群組的相關結構圖。
輸入210Pt-1、210Pt分別相關於裝置在時點t-1的輸入資料及在時點t的輸入資料,因此輸入210Pt-n至少相關於裝置在時點t-1及時點t的輸入資料。換言之,循環結構因果模型30可接收時間序列資料(time series data),即接收多個時點的輸入資料。
結構因果層320SCM2-n~320SCM2可涉及因果關係。在第3圖,結構因果層320SCM2-n~320SCM2分別將參數330M2-n~330M2傳遞至相鄰的結構因果層320SCM3-n~320SCM3,換言之,某個時點的參數可傳遞至下一個時點。在一實施例,參數330M2-n~330M2可以是機率(probability),而不是權重(weight),但不限於此。
在第3圖,標籤210Pt+2可包含加速系統10在時點t+1的加速類型及層次結構的資訊。在一實施例,標籤210Pt+2可為一圖(graph)。在一實施例,標籤210Pt+2可包含加速系統10的結構圖。例如,標籤210Pt+2可包含每一個模組分別對應什麼的資訊、對應的中央處理器110CPUhw的數目的資訊、對應的圖形處理器120GPU的數目的資訊、對應的現場可程式化邏輯閘陣列130FPGA的數目的資訊、對應的特定應用積體電路140ASIC的數目的資訊或模組110~140之間的連接方式或套疊方式的資訊。標籤210Pt+2可為加速成本較低且效能較高的結構化資訊。
進一步地,請參考第4圖。第4圖為本發明實施例一優化方法40之流程圖。優化方法40可被編譯成一程式碼而由一處理電路執行,並儲存於一儲存
電路中。優化方法40可包含以下步驟:
步驟S400:開始。
步驟S402:利用因果發現演算法(causal discovery algorithm)來產生一因果圖(causal graph)。
步驟S404:驗證因果圖。
步驟S406:使用驗證後的因果圖來訓練(train)循環結構因果模型20或30。
步驟S408:利用訓練後的循環結構因果模型20或30進行預測。
步驟S410:結束。
詳細來說,因果發現演算法可萃取出輸入資料的因果關係。在步驟S402,可利用因果發現演算法自輸入至裝置的輸入資料產生一個因果圖。因果發現演算法例如可為快速因果推理(Fast Causal Inference,FCI)或快速貪婪等價搜索(Fast Greedy Equivalence Search,FGES),但不限於此。
步驟S402產生的因果圖可為假設的(hypothesized)因果關係,因此可在步驟S404驗證因果圖。在一實施例,可利用結構因果模型來驗證因果圖,從而只留下真正的因果。在另一實施例,可利用第一數目(例如20個)的樣本驗證第一變量是否是第二變量的因,且可利用第二數目(例如400個)的樣本驗證第二變量是否是第一變量的因,若第二數目遠大於第一數目,則代表第一變量應是第二變量的因,第二變量應不是第一變量的因。也就是說,若所需的樣本的數目較少,則可判斷因果圖的方向是正確的。在另一實施例,若具有因果圖的基底資料(ground-truth),可利用基底資料來判斷步驟S402產生的因果圖是否正確。
在步驟S406,可輸入驗證後的因果圖至未經訓練的循環結構因果模型20或30,並將循環結構因果模型20或30的輸出與已知的基底資料進行比較。
例如,可最小化循環結構因果模型20或30的輸出與已知的基底資料之間的誤差(例如最小化均方差),使循環結構因果模型20或30的輸出逐漸接近已知的基底資料,以最佳化參數而完成訓練。其中,已知的基底資料可能對應至成本較低且效能較高的目標(target)輸出。
在步驟S408,可利用訓練後的循環結構因果模型20或30進行預測。基於循環結構因果模型20或30輸出的預測(prediction)(即標籤210Pt+2)可包含加速系統10的加速類型及層次結構的資訊,循環結構因果模型20或30可動態配置加速系統10的加速類型及層次結構,從而利用加速系統10的不同模組分別進行不同群組的輸入資料的處理。
在一實施例,步驟S402~步驟S408中的一者可選擇性省略。
進一步地,請參考第5圖。第5圖為本發明實施例一動態配置方法50之流程圖。動態配置方法50可被編譯成一程式碼而由一處理電路執行,並儲存於一儲存電路中。動態配置方法50可包含以下步驟:
步驟S500:開始。
步驟S502:循環結構因果模型20或30根據一第一序列資料提供一第一資訊,其中,第一序列資料包含一第一時點的一第一輸入資料。
步驟S504:根據第一資訊,配置加速系統10的模組110~140的數目、層次結構或類型,以加速一第二時點的一第二輸入資料的處理。
步驟S506:循環結構因果模型20或30根據一第二序列資料提供一第二資訊,其中,第二序列資料包含第二時點的第二輸入資料。
步驟S508:根據第二資訊,配置加速系統10的模組110~140的數目、層次結構或類型,以加速一第三時點的一第三輸入資料的處理。
步驟S510:結束。
由動態配置方法50可知,加速系統10用來加速第一輸入資料、第二
輸入資料或第三輸入資料的處理,而加速系統10的模組110~140的數目、層次結構或類型可根據循環結構因果模型20或30而被動態地配置。
詳細而言,在步驟S502及S506,如上所述,循環結構因果模型20或30的輸入可為多個時點的時間序列資料。例如,第一序列資料包含第一時點的第一輸入資料及一第三時點的一第三輸入資料,第三時點早於第一時點;類似地,第二序列資料包含第一時點的第一輸入資料及第二時點的第二輸入資料,第一時點早於第二時點。
循環結構因果模型20或30輸出的第一資訊可對應第二時點,第一資訊可包含模組110~140對應於第二時點的數目、層次結構或類型。類似地,循環結構因果模型20或30輸出的第二資訊可對應第四時點,第二資訊可包含模組110~140對應於第四時點的數目、層次結構或類型,第二時點早於第四時點。因此,加速系統10可根據第一資訊或第二資訊而被動態地配置。在一實施例,層次結構可關於模組110~140的連接關係、層次關係或套疊關係。在一實施例,類型可關於電路的種類,例如中央處理器或圖形處理器。
在步驟S504及S508,如上所述,第一輸入資料、第二輸入資料或第三輸入資料可分至複數個群組,這些群組分別對應到加速系統10的模組110~140,加速系統10的模組110~140分別對相對應的群組進行處理。例如,請參考回第1圖,模組110包含模組120,因此,模組110可進行不同的處理,其中,用模組110可進行的處理可分成用中央處理器110CPUhw可進行的處理及用圖形處理器120GPU可進行的處理。這些群組中的一第一群組可例如對應到模組110,輸入資料(例如第二輸入資料)中的一第一群組輸入資料可例如分至第一群組,第一群組輸入資料的一部份可由模組110進行處理,第一群組輸入資料的另一部份可由模組120進行處理。模組110的處理速度可比模組120的處理速度快。
在一實施例,步驟S502~步驟S508中的一者可選擇性省略。
第6圖為本發明實施例一實行方法60的示意圖。
在一實施例,模組110~140中的每一者可由硬體描述語言(hardware description language,HDL)606來進行描述。在利用硬體描述語言606執行硬體設計後,可據以製造或編程集成電路。硬體描述語言606例如可為VHDL、Verilog,但不限於此。
固態硬碟(Solid-state disk,SSD)602內的檔案的硬體描述語言606可映射至主儲存器(main memory)604,並由硬體加速模擬層(hardware acceleration simulation layer)608讀取以實現加速系統10。
由此可知,加速系統10可對應至設有中央處理器110CPUhw、圖形處理器120GPU、現場可程式化邏輯閘陣列130FPGA及特定應用積體電路140ASIC的電路板,其中,中央處理器110CPUhw可支援純軟體指令110CPUsw及硬體加速指令。中央處理器110CPUhw、圖形處理器120GPU、現場可程式化邏輯閘陣列130FPGA及特定應用積體電路140ASIC如何設置在電路板雖不可隨時間作調整,然而,中央處理器110CPUhw、圖形處理器120GPU、現場可程式化邏輯閘陣列130FPGA及特定應用積體電路140ASIC如何結構化而成為加速系統10可隨時間作調整,使得加速系統10的加速類型及層次結構可隨時間而動態配置,以在降低加速成本並提高效能的前提下,將輸入資料分由裝置的軟硬體進行處理。
本發明的加速系統10為本發明之實施例,本領域具通常知識者當可據以做不同的變化及修飾。例如,第1圖及第6圖所示,中央處理器110CPUhw與圖形處理器120GPU之間可用匯流排(Bus)110b來連接,匯流排110b可為記憶體(memory)匯流排,圖形處理器120GPU與現場可程式化邏輯閘陣列130FPGA之間可用匯流排120b來連接,現場可程式化邏輯閘陣列130FPGA與特定應用積體電路140ASIC之間可用匯流排130b來連接,匯流排120b、130b可分別為PCI Express(PCIe)匯流排,但不限於此。
第7圖為本發明實施例一通訊系統70的示意圖。
本發明的裝置可為網路裝置(network device),例如第7圖所示的無線電單元(Radio Unit)RU、分布單元(Distributed Unit)DU、中央單元(Central Unit)CU或核心網服務器(Core Network server),但不限於此。
在第五代行動通訊技術(5th generation mobile networks,5G),不同網路裝置的輸入資料的類型可不同。以上行鏈路(uplink)為例,無線電單元RU的輸入資料是單獨加密且解調的;分布單元DU的輸入資料是雙重加密且調製的;中央單元CU的輸入資料是雙重加密且解調的;核心網服務器的輸入資料是單獨加密且解調的。由於不同的網路裝置的輸入資料的類型可不同,因此不同的網路裝置可能需要不同的加速類型及層次結構而分別對應至不同的加速系統10。循環結構因果模型20或30可確保每個網路裝置具有適合的加速類型及層次結構。
在另一面向,不同網路裝置的輸入資料的類型可不同,然而,一個網路裝置在不同時點的輸入資料的類型可能相同。一個網路裝置的輸入資料的類型可與輸入資料的源裝置(source device)有關。例如,在第7圖,輸入資料的源裝置是相機,然而,若源裝置改成穿戴式設備,則輸入資料的類型可能改變,使得輸入資料對應的加速系統10的加速類型及層次結構因而改變。
綜上所述,本發明的加速系統可根據用戶場景而動態提供硬體加速類型及層次結構,以降低硬體加速成本並提高效能。本發明的循環結構因果模型的預測可包括加速系統在具有最佳成本及效能下的加速類型及層次結構。本發明的循環結構因果模型可利用時間序列資料來進行訓練,以預測在某個時點怎樣的加速系統的加速類型及層次結構最適合輸入資料,以降低成本且最佳化效能。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變
化與修飾,皆應屬本發明之涵蓋範圍。
10:加速系統
110~140:模組
110b:記憶體匯流排
110CPUhw:中央處理器
120b,130b:PCIe匯流排
120GPU:圖形處理器
130FPGA:現場可程式化邏輯閘陣列
140ASIC:特定應用積體電路
Claims (19)
- 一種加速系統,包含有:複數個模組,其中,該複數個模組中的每一者包含至少一中央處理器、至少一圖形處理器、至少一現場可程式化邏輯閘陣列或至少一特定應用積體電路,其中,該複數個模組中的一第一模組包含該複數個模組中的一第二模組,該第二模組包含該複數個模組中的至少一第三模組,使得該加速系統是結構化而層層套疊,該加速系統的該複數個模組的數目、層次結構或類型是根據一循環結構因果模型而被動態地配置,該循環結構因果模型用來判斷一輸入資料的結構化因果關係。
- 如請求項1所述之加速系統,其中,該輸入資料分至複數個群組,該複數個群組對應到該加速系統的該複數個模組,該加速系統的該複數個模組分別對相對應的該複數個群組進行處理。
- 如請求項2所述之加速系統,其中,該輸入資料根據聚類演算法分至該複數個群組。
- 如請求項2所述之加速系統,其中,該複數個群組中的一第一群組對應到該第一模組,該輸入資料中的一第一群組輸入資料分至該第一群組,該第一群組輸入資料的一部份由該第一模組進行處理,該第一群組輸入資料的另一部份由該第二模組進行處理。
- 如請求項1所述之加速系統,其中,該第一模組的處理速度比該第二模組的處理速度快。
- 如請求項1所述之加速系統,其中,該加速系統用來加速該輸入資料的處理,該循環結構因果模型的輸入與一第一時點的該輸入資料相 關,該循環結構因果模型輸出對應一第二時點的一資訊,該資訊包含該複數個模組的數目、層次結構或類型,該加速系統是根據該資訊而被動態地配置。
- 如請求項6所述之加速系統,其中,該循環結構因果模型的輸入是一時間序列資料,該時間序列資料包含該第一時點的該輸入資料及一第三時點的一第二輸入資料,該第三時點早於該第一時點。
- 如請求項7所述之加速系統,其中,該第二時點晚於該第一時點。
- 如請求項1所述之加速系統,其中,一因果圖是利用一因果發現演算法來產生並被驗證,驗證後的該因果圖用來訓練該循環結構因果模型。
- 一種動態配置方法,用於一加速系統,包含有:一循環結構因果模型根據一第一序列資料提供一第一資訊,該第一序列資料包含一第一時點的一第一輸入資料;以及根據該第一資訊,配置該加速系統的複數個模組的數目、層次結構或類型,以加速一第二時點的一第二輸入資料的處理,其中,該循環結構因果模型用來判斷該第二輸入資料的結構化因果關係。
- 如請求項10所述之動態配置方法,其中,該加速系統的該複數個模組中的每一者包含至少一中央處理器、至少一圖形處理器、至少一現場可程式化邏輯閘陣列或至少一特定應用積體電路,該複數個模組中的至少一者包含該複數個模組中的至少另一者,使得該加速系統是結構化而層層套疊。
- 如請求項10所述之動態配置方法,其中,該第二輸入資料分至複數個群組,該複數個群組對應到該加速系統的該複數個模組,該加速系統的該複數個模組分別對相對應的該複數個群組進行處理。
- 如請求項12所述之動態配置方法,其中,該第二輸入資料根據聚 類演算法分至該複數個群組。
- 如請求項12所述之動態配置方法,其中,該複數個模組中的一第一模組包含該複數個模組中的一第二模組,該複數個群組中的一第一群組對應到該第一模組,該第二輸入資料中的一第一群組輸入資料分至該第一群組,該第一群組輸入資料的一部份由該第一模組進行處理,該第一群組輸入資料的另一部份由該第二模組進行處理。
- 如請求項14所述之動態配置方法,其中,該第一模組的處理速度比該第二模組的處理速度快。
- 如請求項10所述之動態配置方法,另包含有:該循環結構因果模型根據一第二序列資料提供一第二資訊,該第二序列資料包含該第二時點的該第二輸入資料;以及根據該第二資訊,配置該加速系統的該複數個模組的數目、層次結構或類型,以加速一第三時點的一第三輸入資料的處理。
- 如請求項16所述之動態配置方法,其中,該第一序列資料包含該第一時點的該第一輸入資料及一第四時點的一第四輸入資料,該第二序列資料包含該第一時點的該第一輸入資料及該第二時點的該第二輸入資料,該第四時點早於該第一時點。
- 如請求項16所述之動態配置方法,其中,該第一資訊包含該複數個模組對應於該第二時點的數目、層次結構或類型,該第二資訊包含該複數個模組對應於該第三時點的數目、層次結構或類型。
- 如請求項10所述之動態配置方法,其中,一因果圖是利用一因果發現演算法來產生並被驗證,驗證後的該因果圖用來訓練該循環結構因果模型。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111103657A TWI819480B (zh) | 2022-01-27 | 2022-01-27 | 加速系統及其動態配置方法 |
CN202210243430.0A CN116560725A (zh) | 2022-01-27 | 2022-03-11 | 加速系统及其动态配置方法 |
US17/720,322 US11789894B2 (en) | 2022-01-27 | 2022-04-14 | Acceleration system and dynamic configuration method thereof |
JP2022099225A JP7389176B2 (ja) | 2022-01-27 | 2022-06-20 | 加速システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111103657A TWI819480B (zh) | 2022-01-27 | 2022-01-27 | 加速系統及其動態配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202331532A TW202331532A (zh) | 2023-08-01 |
TWI819480B true TWI819480B (zh) | 2023-10-21 |
Family
ID=87314021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111103657A TWI819480B (zh) | 2022-01-27 | 2022-01-27 | 加速系統及其動態配置方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11789894B2 (zh) |
JP (1) | JP7389176B2 (zh) |
CN (1) | CN116560725A (zh) |
TW (1) | TWI819480B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170277550A1 (en) * | 2016-03-22 | 2017-09-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Best performance delivery in heterogeneous computing unit environment |
CN109923519A (zh) * | 2016-08-05 | 2019-06-21 | 英特尔Ip公司 | 用于加速多核计算架构中的图形工作负荷的机制 |
US20190392002A1 (en) * | 2018-06-25 | 2019-12-26 | BigStream Solutions, Inc. | Systems and methods for accelerating data operations by utilizing dataflow subgraph templates |
CN110941494A (zh) * | 2019-12-02 | 2020-03-31 | 哈尔滨工程大学 | 一种面向深度学习的gpu并行计算的数据处理方法 |
CN112259168A (zh) * | 2020-10-22 | 2021-01-22 | 深圳华大基因科技服务有限公司 | 基因测序数据处理方法和基因测序数据处理装置 |
CN109937410B (zh) * | 2017-10-25 | 2021-02-23 | 华为技术有限公司 | 核心调度方法和终端 |
TW202117551A (zh) * | 2019-09-17 | 2021-05-01 | 美商美光科技公司 | 連接單晶片系統與加速器晶片之記憶體晶片 |
TW202122993A (zh) * | 2019-08-13 | 2021-06-16 | 埃利亞德 希勒爾 | 記憶體式處理器 |
CN113887710A (zh) * | 2020-07-03 | 2022-01-04 | 想象技术有限公司 | 循环神经网络中的数字格式选择 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8131659B2 (en) * | 2008-09-25 | 2012-03-06 | Microsoft Corporation | Field-programmable gate array based accelerator system |
EP3607503B1 (en) * | 2017-04-17 | 2022-03-09 | Cerebras Systems Inc. | Task activating for accelerated deep learning |
US10186011B2 (en) * | 2017-04-28 | 2019-01-22 | Intel Corporation | Programmable coarse grained and sparse matrix compute hardware with advanced scheduling |
US11651216B2 (en) * | 2021-06-09 | 2023-05-16 | UMNAI Limited | Automatic XAI (autoXAI) with evolutionary NAS techniques and model discovery and refinement |
-
2022
- 2022-01-27 TW TW111103657A patent/TWI819480B/zh active
- 2022-03-11 CN CN202210243430.0A patent/CN116560725A/zh active Pending
- 2022-04-14 US US17/720,322 patent/US11789894B2/en active Active
- 2022-06-20 JP JP2022099225A patent/JP7389176B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170277550A1 (en) * | 2016-03-22 | 2017-09-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Best performance delivery in heterogeneous computing unit environment |
CN109923519A (zh) * | 2016-08-05 | 2019-06-21 | 英特尔Ip公司 | 用于加速多核计算架构中的图形工作负荷的机制 |
CN109937410B (zh) * | 2017-10-25 | 2021-02-23 | 华为技术有限公司 | 核心调度方法和终端 |
US20190392002A1 (en) * | 2018-06-25 | 2019-12-26 | BigStream Solutions, Inc. | Systems and methods for accelerating data operations by utilizing dataflow subgraph templates |
TW202122993A (zh) * | 2019-08-13 | 2021-06-16 | 埃利亞德 希勒爾 | 記憶體式處理器 |
TW202117551A (zh) * | 2019-09-17 | 2021-05-01 | 美商美光科技公司 | 連接單晶片系統與加速器晶片之記憶體晶片 |
CN110941494A (zh) * | 2019-12-02 | 2020-03-31 | 哈尔滨工程大学 | 一种面向深度学习的gpu并行计算的数据处理方法 |
CN113887710A (zh) * | 2020-07-03 | 2022-01-04 | 想象技术有限公司 | 循环神经网络中的数字格式选择 |
CN112259168A (zh) * | 2020-10-22 | 2021-01-22 | 深圳华大基因科技服务有限公司 | 基因测序数据处理方法和基因测序数据处理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7389176B2 (ja) | 2023-11-29 |
US11789894B2 (en) | 2023-10-17 |
TW202331532A (zh) | 2023-08-01 |
JP2023109670A (ja) | 2023-08-08 |
US20230237008A1 (en) | 2023-07-27 |
CN116560725A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960566B1 (en) | Reducing computations for data including padding | |
CN108256628B (zh) | 基于多播片上网络的卷积神经网络硬件加速器及其工作方法 | |
US20210295168A1 (en) | Gradient compression for distributed training | |
JP2019036298A (ja) | 知能型高帯域幅メモリシステム及びそのための論理ダイ | |
US20220092408A1 (en) | Neural network weight distribution using a tree direct-memory access (dma) bus | |
CN113469355B (zh) | 分布式系统中的多模型训练管道 | |
CN113642734A (zh) | 一种深度学习模型的分布式训练方法、装置以及计算设备 | |
WO2023130656A1 (zh) | 一种异构多节点互联拓扑生成方法和存储介质 | |
US11467992B1 (en) | Memory access operation in distributed computing system | |
CN112235344A (zh) | 一种面向分布式机器学习的稀疏通信模型的实现方法 | |
WO2023207035A1 (zh) | 一种数据同步方法、装置、设备及存储介质 | |
Musha et al. | Deep learning on high performance FPGA switching boards: Flow-in-cloud | |
TWI819480B (zh) | 加速系統及其動態配置方法 | |
US11709783B1 (en) | Tensor data distribution using grid direct-memory access (DMA) controller | |
Khalil et al. | N 2 OC: Neural-network-on-chip architecture | |
Ueno et al. | VCSN: Virtual circuit-switching network for flexible and simple-to-operate communication in HPC FPGA cluster | |
US10997277B1 (en) | Multinomial distribution on an integrated circuit | |
US20240005127A1 (en) | Smart memory extension to processors | |
CN112995245A (zh) | 一种基于fpga的可配置负载均衡系统与方法 | |
US12001893B1 (en) | Distributed synchronization scheme | |
Nie et al. | A deep reinforcement learning assisted task offloading and resource allocation approach towards self-driving object detection | |
CN116996516B (zh) | 一种集群通信方法及装置、电子设备及可读存储介质 | |
CN113485805B (zh) | 基于异构加速平台的分布式计算调整方法、装置及设备 | |
US20230327996A1 (en) | In-network message aggregation for efficient small message transport | |
US20240143525A1 (en) | Transferring non-contiguous blocks of data using instruction-based direct-memory access (dma) |