TW201911059A - 均衡裝置以及均衡方法 - Google Patents

均衡裝置以及均衡方法 Download PDF

Info

Publication number
TW201911059A
TW201911059A TW106134025A TW106134025A TW201911059A TW 201911059 A TW201911059 A TW 201911059A TW 106134025 A TW106134025 A TW 106134025A TW 106134025 A TW106134025 A TW 106134025A TW 201911059 A TW201911059 A TW 201911059A
Authority
TW
Taiwan
Prior art keywords
time
execution
hardware accelerator
busy
cycle
Prior art date
Application number
TW106134025A
Other languages
English (en)
Other versions
TWI641950B (zh
Inventor
齊宗普
韓雪花
胡迪
王崢
Original Assignee
上海兆芯集成電路有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海兆芯集成電路有限公司 filed Critical 上海兆芯集成電路有限公司
Application granted granted Critical
Publication of TWI641950B publication Critical patent/TWI641950B/zh
Publication of TW201911059A publication Critical patent/TW201911059A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Abstract

一種均衡裝置,用以均衡第一硬體加速器之第一工作週期以及第二硬體加速器之第二工作週期,包括:負載監控器以及負載平衡器。負載監控器用以監控第一硬體加速器之第一忙碌時間以及第二硬體加速器之第二忙碌時間。負載平衡器根據第一忙碌時間以及第二忙碌時間,計算第一工作週期以及第二工作週期,並且根據第一工作週期以及第二工作週期,遷移第一硬體加速器及/或第二硬體加速器之命令隊列,使得第一工作週期與第二工作週期相近。

Description

均衡裝置以及均衡方法
本發明係有關於一種用以均衡複數硬體加速器之均衡裝置及其方法。
硬體加速器,如加速功能單元(accelerator function unit,AFU),主要用於加速一些特定的計算任務,這些計算任務如果由中央處理器之軟體進行運算,將使得效率低下。而硬體加速器係透過分析計算過程,設計專門的硬件邏輯處理計算的任務,以達到加速效果。在當前多用戶多任務並行的作業系統平臺下,存在著多個應用程式或執行流皆有硬體加速的需求。
為了滿足多個應用程式或執行流共用硬體加速器的需求,往往在一顆晶片中放置多個相同功能的硬體加速器。然而若是多個硬體加速器之間沒有協同調度,將使得硬體加速器的負載不均衡,則多個硬體加速器的能力將無法充分發揮。因此,我們有需要針對多個硬體加速器之負載進行均衡,進而發揮多個硬體加速器之功效。
有鑑於此,一種均衡裝置用以均衡一第一硬體加 速器之一第一工作週期以及一第二硬體加速器之一第二工作週期,包括:一負載監控器以及一負載平衡器。上述負載監控器用以監控上述第一硬體加速器之一第一忙碌時間以及上述第二硬體加速器之一第二忙碌時間。上述負載平衡器根據上述第一忙碌時間以及上述第二忙碌時間,計算上述第一工作週期以及上述第二工作週期,並且根據上述第一工作週期以及上述第二工作週期,遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列,使得上述第一工作週期與上述第二工作週期相近。
根據本發明之一實施例,上述第一硬體加速器用以執行一第一命令隊列以及一第二命令隊列,上述第二硬體加速器用以執行一第三命令隊列以及一第四命令隊列,其中上述負載監控器包括:一時脈計數器、一第一開關、一第一忙碌計數器、一第一執行計數器、一第二開關、一第二忙碌計數器以及一第二執行計數器。上述時脈計數器根據一時脈計數一記定時間。當一第一忙碌位元係為一第一邏輯狀態時,上述第一開關將上述時脈提供至一第一執行時脈,其中當上述第一硬體加速器係為一忙碌狀態時,上述第一忙碌位元係為一第一邏輯狀態。上述第一忙碌計數器根據上述第一執行時脈,計數上述第一硬體加速器之一第一忙碌時間。上述第一執行計數器根據上述第一執行時脈,分別計數上述第一命令隊列之一第一執行時間以及上述第二命令隊列之一第二執行時間。當一第二忙碌位元係為上述第一邏輯狀態時,上述第二開關將上述時脈提供至一第二執行時脈,其中當上述第二硬體加速器係為上述忙碌狀 態時,上述第二忙碌位元係為上述第一邏輯狀態。上述第二忙碌計數器根據上述第二執行時脈,計數上述第二硬體加速器之一第二忙碌時間。上述第二執行計數器根據上述第二執行時脈,分別計數上述第三命令隊列之一第三執行時間以及上述第四命令隊列之一第四執行時間。
根據本發明之一實施例,上述負載監控器更包括一控制器。上述控制器將上述第一忙碌時間、上述第二忙碌時間、上述第一執行時間、上述第二執行時間、上述第三執行時間以及上述第四執行時間儲存於一記憶體,其中當上述時脈計數器計數至上述既定時間時,上述控制器將上述時脈計數器、上述第一忙碌計數器、上述第一工作計數器、上述第二忙碌計數器以及上述第二工作計數器歸零。
根據本發明之一實施例,上述第一工作週期係為上述第一執行時間與上述既定時間之商,上述第二工作週期係為上述第二執行時間與上述既定時間之商,一第一執行週期係為上述第一執行時間與上述既定時間之商,一第二執行週期係為上述第二執行時間與上述既定時間之商,一第三執行週期係為上述第三執行時間與上述既定時間之商,一第四執行週期係為上述第四執行時間與上述既定時間之商。
根據本發明之一實施例,上述第一忙碌時間係為在一既定時間內上述第一硬體加速器位於一忙碌狀態之時間,上述第二忙碌時間係為在上述既定時間內上述第二硬體加速器位於上述忙碌狀態之時間,上述第一工作週期等於上述第一忙碌時間與上述既定時間之商,上述第二忙碌週期等於上述 第二忙碌時間與上述既定時間之商。
根據本發明之一實施例,上述第一硬體加速器用以執行一第一指令隊列以及一第二指令隊列,上述第二硬體加速器用以執行一第三指令隊列以及一第四指令隊列,一第一執行時間係為在上述既定時間內上述第一硬體加速器執行上述第一指令隊列之指令的時間,一第二執行執行時間係為在上述既定時間內上述第一硬體加速器執行上述第二指令隊列之指令的時間,其中一第一執行週期等於上述第一執行時間與上述既定時間之商,一第二執行週期等於上述執行時間與上述既定時間之商。
根據本發明之一實施例,當上述負載平衡器判斷上述第一工作週期與上述第二工作週期之一差值超過一差異臨限值時,上述負載平衡器將上述第二命令隊列遷移至上述第二硬體加速器,其中上述第二執行週期不大於上述差值的一半加上一彈性區間。
根據本發明之另一實施例,當上述負載平衡器判斷上述第一工作週期與上述第二工作週期之一差值超過一差異臨限值時,上述負載平衡器將上述第二命令隊列遷移至上述第二硬體加速器,其中上述第二執行週期係小於上述第一執行週期。
根據本發明之另一實施例,當上述負載平衡器判斷上述第一工作週期與上述第二工作週期之一差值超過一差異臨限值時,上述負載平衡器將上述第一命令隊列以及上述第二命令隊列之一者遷移至上述第二硬體加速器,並且將上述第 三命令隊列以及上述第四命令隊列之一者遷移至上述第一硬體加速器。
根據本發明之一實施例,上述均衡裝置係耦接於一中央處理單元以及上述第一硬體加速器與上述第二硬體加速器之間。
本發明更提出一種均衡方法,用以均衡一第一硬體加速器之一第一工作週期以及一第二硬體加速器之一第二工作週期,上述均衡方法包括:監控上述第一硬體加速器之一第一忙碌時間以及上述第二硬體加速器之一第二忙碌時間;根據上述第一忙碌時間,計算上述第一工作週期;根據上述第二忙碌時間,計算上述第二工作週期;以及根據上述第一工作週期以及上述第二工作週期,遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列,使得上述第一工作週期與上述第二工作週期相近。
根據本發明之一實施例,上述第一硬體加速器用以執行一第一命令隊列以及一第二命令隊列,上述第二硬體加速器用以執行一第三命令隊列以及一第四命令隊列,其中上述監控上述第一忙碌時間以及上述第二忙碌時間之步驟包括:根據一時脈計數一記定時間;當上述第一硬體加速器係為一忙碌狀態時,上述第一開關將上述時脈提供至一第一執行時脈;根據上述第一執行時脈,計數上述第一硬體加速器之一第一忙碌時間;根據上述第一執行時脈,分別計數上述第一命令隊列之一第一執行時間以及上述第二命令隊列之一第二執行時間;當上述第二硬體加速器係為上述忙碌狀態時,上述第二開關將上 述時脈提供至一第二執行時脈;根據上述第二執行時脈,計數上述第二硬體加速器之一第二忙碌時間;以及根據上述第二執行時脈,分別計數上述第三命令隊列之一第三執行時間以及上述第四命令隊列之一第四執行時間。
根據本發明之一實施例,上述監控上述第一忙碌時間以及上述第二忙碌時間之步驟更包括:將上述第一忙碌時間、上述第二忙碌時間、上述第一執行時間、上述第二執行時間、上述第三執行時間以及上述第四執行時間儲存於一記憶體。
根據本發明之一實施例,上述第一工作週期係為上述第一執行時間與上述既定時間之商,上述第二工作週期係為上述第二執行時間與上述既定時間之商,一第一執行週期係為上述第一執行時間與上述既定時間之商,一第二執行週期係為上述第二執行時間與上述既定時間之商,一第三執行週期係為上述第三執行時間與上述既定時間之商,一第四執行週期係為上述第四執行時間與上述既定時間之商。
根據本發明之一實施例,上述第一忙碌時間係為在一既定時間內上述第一硬體加速器位於一忙碌狀態之時間,上述第二忙碌時間係為在上述既定時間內上述第二硬體加速器位於上述忙碌狀態之時間,上述第一工作週期等於上述第一忙碌時間與上述既定時間之商,上述第二忙碌週期等於上述第二忙碌時間與上述既定時間之商。
根據本發明之一實施例,上述第一硬體加速器用以執行一第一指令隊列以及一第二指令隊列,上述第二硬體加 速器用以執行一第三指令隊列以及一第四指令隊列,一第一執行時間係為在上述既定時間內上述第一硬體加速器執行上述第一指令隊列之指令的時間,一第二執行執行時間係為在上述既定時間內上述第一硬體加速器執行上述第二指令隊列之指令的時間,一第一執行週期等於上述第一執行時間與上述既定時間之商,一第二執行週期等於上述執行時間與上述既定時間之商。
根據本發明之一實施例,上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一工作週期與上述第二工作週期之一差值是否超過一差異臨限值;以及當上述差值超過上述差異臨限值時,將上述第二命令隊列遷移至上述第二硬體加速器,其中上述第二執行週期不大於上述差值的一半加上一彈性區間。
根據本發明之另一實施例,上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一工作週期與上述第二工作週期之一差值是否超過一差異臨限值;以及當上述差值超過上述差異臨限值時,將上述第二命令隊列遷移至上述第二硬體加速器,其中上述第二執行週期係小於上述第一執行週期。
根據本發明之另一實施例,上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一 工作週期與上述第二工作週期之一差值是否超過一差異臨限值;以及當上述差值超過上述差異臨限值時,將上述第一命令隊列以及上述第二命令隊列之一者遷移至上述第二硬體加速器,並且將上述第三命令隊列以及上述第四命令隊列之一者遷移至上述第一硬體加速器。
根據本發明之一實施例,上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一工作週期以及上述第二工作週期之一差值是否超過一差異臨限值;以及當上述差值超過上述差異臨限值時,執行上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟。
100、300‧‧‧均衡加速裝置
110、310‧‧‧第一硬體加速器
120、320‧‧‧第二硬體加速器
130、330‧‧‧均衡裝置
131、200、331‧‧‧負載監控器
132、332‧‧‧負載平衡器
210‧‧‧時脈計數器
220‧‧‧第一開關
230‧‧‧第一忙碌計數器
240‧‧‧第一命令計數器
250‧‧‧第二開關
260‧‧‧第二忙碌計數器
270‧‧‧第二命令隊列計數器
280‧‧‧控制器
BT1‧‧‧第一忙碌位元
BT2‧‧‧第二忙碌位元
CM1‧‧‧第一命令隊列
CM2‧‧‧第二命令隊列
CM3‧‧‧第三命令隊列
CM4‧‧‧第四命令隊列
CM5‧‧‧第五命令隊列
CM6‧‧‧第六命令隊列
CLK‧‧‧時脈
CLKe1‧‧‧第一執行時脈
CLKe2‧‧‧第二執行時脈
TB1‧‧‧第一忙碌時間
TB2‧‧‧第二忙碌時間
TD‧‧‧記定時間
TE1‧‧‧第一執行時間
TE2‧‧‧第二執行時間
TE3‧‧‧第三執行時間
TE4‧‧‧第四執行時間
S1~S4‧‧‧步驟流程
500‧‧‧系統
510‧‧‧第一核心
520‧‧‧第二核心
530‧‧‧命令解碼器
541‧‧‧權限表
542‧‧‧P位元映像
543‧‧‧Q位元映像
550‧‧‧微處理器
560‧‧‧第一硬體加速器
570‧‧‧第二硬體加速器
580‧‧‧存取單元
第1圖係顯示根據本發明之一實施例所述之均衡加速裝置之方塊圖;第2圖係顯示根據本發明之一實施例所述之負載監控器之方塊圖;第3圖係顯示根據本發明之一實施例所述之均衡加速裝置之示意圖;第4圖係顯示根據本發明之一實施例所述之均衡方法之流程圖;以及第5圖係顯示根據本發明之一實施例所述之系統之架構圖。
以下說明為本發明的實施例。其目的是要舉例說明本發明一般性的原則,不應視為本發明之限制,本發明之範圍當以申請專利範圍所界定者為準。
值得注意的是,以下所揭露的內容可提供多個用以實踐本發明之不同特點的實施例或範例。以下所述之特殊的元件範例與安排僅用以簡單扼要地闡述本發明之精神,並非用以限定本發明之範圍。此外,以下說明書可能在多個範例中重複使用相同的元件符號或文字。然而,重複使用的目的僅為了提供簡化並清楚的說明,並非用以限定多個以下所討論之實施例以及/或配置之間的關係。此外,以下說明書所述之一個特徵連接至、耦接至以及/或形成於另一特徵之上等的描述,實際可包含多個不同的實施例,包括該等特徵直接接觸,或者包含其它額外的特徵形成於該等特徵之間等等,使得該等特徵並非直接接觸。
第1圖係顯示根據本發明之一實施例所述之均衡加速裝置之方塊圖。如第1圖所示,均衡加速裝置100包括第一硬體加速器110、第二硬體加速器120以及均衡裝置130。第一硬體加速器110於第一忙碌時間內,執行第一命令隊列CM1以及第二命令隊列CM2。第二硬體加速器120於一第二忙碌時間內,執行第三命令隊列CM3以及第四命令隊列CM4。
此外,均衡裝置130包括負載監控器131以及負載平衡器132。負載監控器131用以監控第一硬體加速器110於第一忙碌時間內執行第一命令隊列CM1以及第二命令隊列CM2、第一命令隊列CM1之第一執行時間以及第二命令隊列 CM2之第二執行時間。並且,負載監控器131更用以監控第二硬體加速器120於第二忙碌時間內執行第三命令隊列CM3以及第四命令隊列CM4、第三命令隊列CM3之第三執行時間以及第四命令隊列CM4之第四執行時間。
根據本發明之一實施例,均衡裝置130可包括兩個負載監控器131,用以分別監控第一硬體加速器110以及第二硬體加速器120,在此僅以均衡裝置130包括一個負載監控器131作為說明解釋之用。負載監控器131如何監控第一忙碌時間、第二忙碌時間、第一執行時間、第二執行時間、第三執行時間以及第四執行時間,將於下文中詳細描述。
負載平衡器132根據第一忙碌時間以及第二忙碌時間,計算第一硬體加速器110之第一工作週期以及第二硬體加速器120之第二工作週期。並且,負載平衡器132根據第一工作週期以及第二工作週期,遷移第一硬體加速器110之第一命令隊列CM1或第二命令隊列CM2至第二硬體加速器120,或是遷移第二硬體加速器120之第三命令隊列CM3或第四命令隊列CM4至第一硬體加速器110。
第一硬體加速器110以及第二硬體加速器120、第一硬體加速器110執行第一命令隊列CM1以及第二命令隊列CM2以及第二硬體加速器120執行第三命令隊列CM3以及第四命令隊列CM4在此僅作為說明解釋之用,均衡加速裝置100可包括任意數量之硬體加速器,並且每一硬體加速器可用以執行任意數量之命令隊列。本發明並非以任何形式,限定於此。
第2圖係顯示根據本發明之一實施例所述之負載 監控器之方塊圖。如第2圖所示,負載監控器200包括時脈計數器210、第一開關220、第一忙碌計數器230、第一命令計數器240、第二開關250、第二忙碌計數器260、第二命令隊列計數器270以及控制器280,其中第2圖之負載監控器200對應至第1圖之負載監控器131。
根據本發明之一實施例,當第1圖之均衡裝置130包括二個負載監控器131用以分別監控第一硬體加速器110以及第二硬體加速器120時,負載監控器200包括時脈計數器210、第一開關220、第一忙碌計數器230、第一命令計數器240以及控制器280。
時脈計數器210根據時脈CLK,而計數記定時間TD。當第一忙碌位元BT1係為第一邏輯狀態時,第一開關220導通而將時脈CLK提供至第一執行時脈CLKe1;當第一忙碌位元BT1係為第二邏輯狀態時,第一開關220不導通而不將時脈CLK提供至第一執行時脈CLKe1。根據本發明之一實施例,當第1圖之第一硬體加速器110係為忙碌狀態時,第一忙碌位元BT1係為第一邏輯狀態;當第1圖之第一硬體加速器110係為待機狀態時,第一忙碌位元BT1係為第二邏輯狀態。
第一忙碌計數器230根據第一執行時脈CLKe1,計數第1圖之第一硬體加速器110之第一忙碌時間TB1。第一執行計數器240根據第一執行時脈CLKe1,分別計數第一命令隊列CM1之第一執行時間TE1以及第二執行時間TE2。根據本發明之一實施例,當第一硬體加速器110完成第一命令隊列CM1時,控制器280讀取第一執行時間TE1後將第一執行計數器240 重置,使得第一執行計數器240能夠繼續計數第二執行時間TE2。
當第二忙碌位元BT2係為第一邏輯狀態時,第二開關250將時脈CLK提供至第二執行時脈CLKe2;當第二忙碌位元BT2係為第二邏輯狀態時,第二開關250不導通而不將時脈CLK提供至第二執行時脈CLKe2。根據本發明之一實施例,當第1圖之第二硬體加速器120係為忙碌狀態時,第二忙碌位元BT2係為第一邏輯狀態;當第1圖之第二硬體加速器120係為待機狀態時,第二忙碌位元BT2係為第二邏輯狀態。
第二忙碌計數器260根據第二執行時脈CLKe2,計數第1圖之第二硬體加速器120之第二忙碌時間TB2。第二執行計數器270根據第二執行時脈CLKe2,分別計數第三命令隊列CM3之第三執行時間TE3以及第四命令隊列CM4之第四執行時間TE4。根據本發明之一實施例,當第二硬體加速器120完成第三命令隊列CM3時,控制器280讀取第三執行時間TE3後將第二執行計數器270重置,使得第二執行計數器270能夠繼續計數第四執行時間TE4。
根據本發明之一實施例,當第一硬體加速器110執行完成第一命令隊列CM1或第二硬體加速器120執行完成第三命令隊列CM3時,控制器280分別將第一執行時間TE1以及第三執行時間TE3儲存至記憶體。根據本發明之一實施例,當時脈計數器210計數至既定時間TD時,控制器280將既定時間TD、第一忙碌時間TB1以及第二忙碌時間TB2儲存至記憶體後,再將時脈計數器210、第一忙碌計數器230以及第二忙碌計數器 260歸零。
根據本發明之一實施例,第1圖之負載平衡器132根據既定時間TD、第一忙碌時間TB1、第二忙碌時間TB2、第一執行時間TE1、第二執行時間TE2、第三執行時間TE3以及第四執行時間TE4,計算第一工作週期、第二工作週期、第一執行週期、第二執行週期、第三執行週期以及第四執行週期,其中第一工作週期係為第一忙碌時間TB1與既定時間TD的商,第二工作週期係為第二忙碌時間TB2與既定時間TD的商,第一執行週期係為第一執行時間TE1與既定時間TD的商,第二執行週期係為第二執行時間TE2與既定時間TD的商,第三執行週期係為第三執行時間TE3與既定時間TD的商,第四執行週期係為第四執行時間TE4與既定時間TD的商。
為了詳細說明均衡裝置130如何均衡多個硬體加速器之工作週期之均衡方法,以下敘述係根據本發明之一些實施例進行描述,並未以任何形式限定於此。
第3圖係顯示根據本發明之一實施例所述之均衡加速裝置之示意圖。如第3圖所示,均衡加速裝置300包括第一硬體加速器310、第二硬體加速器320以及均衡裝置330,其中均衡裝置330包括負載監控器331以及負載平衡器332。
第一硬體加速器310用以執行第一命令隊列CM1、第二命令隊列CM2以及第三命令隊列CM3,第二硬體加速器320用以執行第四命令隊列CM4、第五命令隊列CM5以及第六命令隊列CM6。根據本發明之一實施例,第一硬體加速器310執行第一命令隊列CM1、第二命令隊列CM2以及第三命令隊列 CM3而第二硬體加速器320執行第四命令隊列CM4、第五命令隊列CM5以及第六命令隊列CM6,僅用以說明解釋之用,並非以任何形式限定於此。
要注意的是,根據本發明之一實施例,第一執行時間TE1、第二執行時間TE2以及第三執行時間TE3係為第一硬體加速器310在既定時間TD內分別執行第一命令隊列CM1、第二命令隊列CM2以及第三命令隊列CM3之指令的時間,第四執行時間TE4、第五執行時間TE5以及第六執行時間TE6係為第二硬體加速器320在既定時間TD內分別執行第四命令隊列CM4、第五命令隊列CM5以及第六命令隊列CM6之指令的時間。第一執行週期、第二執行週期、第三執行週期、第四執行週期、第五執行週期以及第六執行週期係分別等於第一執行時間TE1、第二執行時間TE2、第三執行時間TE3、第四執行時間TE4、第五執行時間TE5以及第六執行時間TE6與既定時間TD之商。
根據本發明之一實施例,第一命令隊列CM1之第一執行週期係為20%、第二命令隊列CM2之第二執行週期係為30%以及第三命令隊列CM3之第三執行週期係為40%,使得第一硬體加速器310之第一工作週期係為90%。根據本發明之一實施例,第四命令隊列CM4之第四執行週期係為10%、第五命令隊列CM5之第五執行週期係為30%以及第六命令隊列CM6之第六執行週期係為10%,使得第二硬體加速器320之第二工作週期係為50%。
根據本發明之一實施例,當負載平衡器332判斷第一工作週期與第二工作週期之差值超過差異臨限值時,負載平 衡器332則開始針對第一硬體加速器310以及第二硬體加速器320進行負載平衡。
舉例來說,差異臨限值係為30%,而第一工作週期(90%)與第二工作週期(50%)之差值係為40%,係超過差異臨限值(30%)。因此,負載平衡器332開始針對第一硬體加速器310以及第二硬體加速器320進行負載平衡。
根據本發明之一實施例,負載平衡器332可選擇第一硬體加速器310上執行週期等於第一工作週期與第二工作週期之差值的一半之命令隊列,遷移至第二硬體加速器320。由於第一工作週期與第二工作週期之差值的一半係為20%,因此負載平衡器332將第一命令隊列CM1(20%)遷移至第二硬體加速器320,使得第一工作週期以及第二工作週期皆為70%。
根據本發明之另一實施例,由於命令隊列之執行週期可能不會恰巧等於差值的一半,因此負載平衡器332選擇第一工作週期與第二工作週期之差值的一半加上彈性區間之執行週期。舉例來說,彈性區間假設為5%,代表負載平衡器332遷移執行週期為15%至25%之命令隊列。
根據本發明之另一實施例,當負載平衡器332判斷第一工作週期與第二工作週期之差值超過差異臨限值時,負載平衡器332可選擇第一硬體加速器310上執行週期最小之命令隊列,遷移至第二硬體加速器320。由於第一硬體加速器310之命令隊列中執行週期最小者係為第一命令隊列CM1,因此負載平衡器332遷移第一命令隊列CM1至第二硬體加速器320。
根據本發明之另一實施例,當負載平衡器332判斷 第一工作週期與第二工作週期之差值超過差異臨限值時,負載平衡器332可將第一硬體加速器310上之一命令隊列與第二硬體加速器320上之一命令隊列交換,藉以均衡第一工作週期與第二工作週期。
第4圖係顯示根據本發明之一實施例所述之均衡方法之流程圖。第4圖之流程圖將搭配第1圖,以利詳細說明。首先,利用負載監控器130監控第一硬體加速器110之第一忙碌時間以及第二硬體加速器120之第二忙碌時間(步驟S1)。根據本發明之一實施例,第一忙碌時間係為在既定時間內第一硬體加速器110位於忙碌狀態之時間,第二忙碌時間係為在既定時間內第二硬體加速器120位於忙碌狀態之時間。根據第一忙碌時間,計算第一硬體加速器110之第一工作週期(步驟S2)。根據本發明之一實施例,第一工作週期係為第一忙碌時間與既定時間之商。
根據第二忙碌時間,計算第二工作週期(步驟S3)。根據本發明之一實施例,第二工作週期係為第二忙碌時間與既定時間之商。根據第一工作週期以及第二工作週期,遷移第一硬體加速器以及第二硬體加速器之命令隊列(步驟S4),使得第一工作週期與第二工作週期相近。根據本發明之一實施例,在步驟S4中,負載平衡器132判斷第一工作週期以及第二工作週期之差值是否超過差異臨限值。當差值超過差異臨限值時,執行步驟S4。
第5圖係顯示根據本發明之一實施例所述之系統之架構圖。如第5圖所示,系統500包括第一核心510、第二核 心520、命令解碼器530、權限表541、P位元映像(P bitmap)542、Q位元映像(Q bitmap)543、微處理器550、第一硬體加速器560、第二硬體加速器570以及存取單元580。
第一核心510以及第二核心520係為中央處理器之核心,在此僅以第一核心510以及第二核心520作為說明解釋之目的。根據本發明之其他實施例,中央處理器可包括任意數量之核心。根據本發明之一實施例,當第一核心510或第二核心520存取主機記憶體(圖中並未顯示)儲存之指令封包時,會將所存取之指令封包送交至命令解碼器530。
命令解碼器530對指令封包進行解譯,且在權限表541中進行權限檢查。當命令解碼器530將指令封包解譯為多條微指令後,將解譯之多條微指令放置於各個命令隊列中,並同步修改P位元映像542以及Q位元映像543。微處理器550根據P位元映像542以及Q位元映像543,將對應的命令隊列分派給第一硬體加速器560或第二硬體加速器570。
根據本發明之其他實施例,第一硬體加速器560以及第二硬體加速器570係作為說明解釋之用,系統500可包括任意數量之硬體加速器。第一硬體加速器560以及第二硬體加速器570透過存取單元580,存取對應命令隊列之命令封包,其中命令封包係儲存於主機記憶體(圖中並未顯示)。
根據本發明之一實施例,當第1圖之負載平衡器132係為第5圖之微處理器550時,命令隊列係儲存於第5圖之微處理器550之靜態隨機存取記憶體中。根據本發明之另一實施例,當地1圖之負載平衡器132係為第5圖之第一核心510以及第 二核心520之一者時,命令隊列係儲存於主機記憶體中。
根據本發明之一實施例,第2圖之控制器280係將既聽時間TD、第一忙碌時間TB1、第二忙碌時間TB2、第一執行時間TE1、第二執行時間TE2、第三執行時間TE3以及第四執行時間TE4儲存至第5圖之主機記憶體。
由於本發明硬體加速器遷移的是命令隊列中的封包(packet)或酬載(payload),因此第1圖之負載平衡器132可利用硬體實現,並且作業系統將工作交給硬體加速氣候,具體如何實現並不會干擾到作業系統的運行。然而中央處理器進行同步多線程(Simultaneous multithreading,SMT)時,中央處理器遷移的是線程中的指令,若是使用純硬體進行遷移的話將會造成作業系統崩潰。
此外,硬體加速器利用交換命令隊列(例如,第3圖所示之實施例之一)而達到均衡負載的方式可能無法在複雜的作業系統中執行(例如,WINDOWS),因此本發明所述之均衡裝置與均衡方法皆與同步多線程有明顯的區隔。
以上所述為實施例的概述特徵。所屬技術領域中具有通常知識者應可以輕而易舉地利用本發明為基礎設計或調整以實行相同的目的和/或達成此處介紹的實施例的相同優點。所屬技術領域中具有通常知識者也應了解相同的配置不應背離本創作的精神與範圍,在不背離本創作的精神與範圍下他們可做出各種改變、取代和交替。說明性的方法僅表示示範性的步驟,但這些步驟並不一定要以所表示的順序執行。可另外加入、取代、改變順序和/或消除步驟以視情況而作調整,並 與所揭露的實施例精神和範圍一致。

Claims (20)

  1. 一種均衡裝置,用以均衡一第一硬體加速器之一第一工作週期以及一第二硬體加速器之一第二工作週期,包括:一負載監控器,用以監控上述第一硬體加速器之一第一忙碌時間以及上述第二硬體加速器之一第二忙碌時間;以及一負載平衡器,根據上述第一忙碌時間以及上述第二忙碌時間,計算上述第一工作週期以及上述第二工作週期,並且根據上述第一工作週期以及上述第二工作週期,遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列,使得上述第一工作週期與上述第二工作週期相近。
  2. 如申請專利範圍第1項所述之均衡裝置,其中上述第一硬體加速器用以執行一第一命令隊列以及一第二命令隊列,上述第二硬體加速器用以執行一第三命令隊列以及一第四命令隊列,其中上述負載監控器包括:一時脈計數器,根據一時脈計數一記定時間;一第一開關,其中當一第一忙碌位元係為一第一邏輯狀態時,上述第一開關將上述時脈提供至一第一執行時脈,其中當上述第一硬體加速器係為一忙碌狀態時,上述第一忙碌位元係為一第一邏輯狀態;一第一忙碌計數器,根據上述第一執行時脈,計數上述第一硬體加速器之一第一忙碌時間;一第一執行計數器,根據上述第一執行時脈,分別計數上述第一命令隊列之一第一執行時間以及上述第二命令隊列之一第二執行時間; 一第二開關,其中當一第二忙碌位元係為上述第一邏輯狀態時,上述第二開關將上述時脈提供至一第二執行時脈,其中當上述第二硬體加速器係為上述忙碌狀態時,上述第二忙碌位元係為上述第一邏輯狀態;一第二忙碌計數器,根據上述第二執行時脈,計數上述第二硬體加速器之一第二忙碌時間;以及一第二執行計數器,根據上述第二執行時脈,分別計數上述第三命令隊列之一第三執行時間以及上述第四命令隊列之一第四執行時間。
  3. 如申請專利範圍第2項所述之均衡裝置,其中上述負載監控器更包括:一控制器,將上述第一忙碌時間、上述第二忙碌時間、上述第一執行時間、上述第二執行時間、上述第三執行時間以及上述第四執行時間儲存於一記憶體,其中當上述時脈計數器計數至上述既定時間時,上述控制器將上述時脈計數器、上述第一忙碌計數器、上述第一工作計數器、上述第二忙碌計數器以及上述第二工作計數器歸零。
  4. 如申請專利範圍第2項所述之均衡裝置,其中上述第一工作週期係為上述第一忙碌時間與上述既定時間之商,上述第二工作週期係為上述第二忙碌時間與上述既定時間之商,一第一執行週期係為上述第一執行時間與上述既定時間之商,一第二執行週期係為上述第二執行時間與上述既定時間之商,一第三執行週期係為上述第三執行時間與上述既定時間之商,一第四執行週期係為上述第四執行時間與上述既定時 間之商。
  5. 如申請專利範圍第1項所述之均衡裝置,其中上述第一忙碌時間係為在一既定時間內上述第一硬體加速器位於一忙碌狀態之時間,上述第二忙碌時間係為在上述既定時間內上述第二硬體加速器位於上述忙碌狀態之時間,其中上述第一工作週期等於上述第一忙碌時間與上述既定時間之商,上述第二忙碌週期等於上述第二忙碌時間與上述既定時間之商。
  6. 如申請專利範圍第1項所述之均衡裝置,其中上述第一硬體加速器用以執行一第一指令隊列以及一第二指令隊列,上述第二硬體加速器用以執行一第三指令隊列以及一第四指令隊列,其中一第一執行時間係為在上述既定時間內上述第一硬體加速器執行上述第一指令隊列之指令的時間,一第二執行執行時間係為在上述既定時間內上述第一硬體加速器執行上述第二指令隊列之指令的時間,其中一第一執行週期等於上述第一執行時間與上述既定時間之商,一第二執行週期等於上述執行時間與上述既定時間之商。
  7. 如申請專利範圍第6項所述之均衡裝置,其中當上述負載平衡器判斷上述第一工作週期與上述第二工作週期之一差值超過一差異臨限值時,上述負載平衡器將上述第二命令隊列遷移至上述第二硬體加速器,其中上述第二執行週期不大於上述差值的一半加上一彈性區間。
  8. 如申請專利範圍第6項所述之均衡裝置,其中當上述負載平衡器判斷上述第一工作週期與上述第二工作週期之一差值超過一差異臨限值時,上述負載平衡器將上述第二命令隊列 遷移至上述第二硬體加速器,其中上述第二執行週期係小於上述第一執行週期。
  9. 如申請專利範圍第6項所述之均衡裝置,其中當上述負載平衡器判斷上述第一工作週期與上述第二工作週期之一差值超過一差異臨限值時,上述負載平衡器將上述第一命令隊列以及上述第二命令隊列之一者遷移至上述第二硬體加速器,並且將上述第三命令隊列以及上述第四命令隊列之一者遷移至上述第一硬體加速器。
  10. 如申請專利範圍第1項所述之均衡裝置,其中上述均衡裝置係耦接於一中央處理單元以及上述第一硬體加速器與上述第二硬體加速器之間。
  11. 一種均衡方法,用以均衡一第一硬體加速器之一第一工作週期以及一第二硬體加速器之一第二工作週期,包括:監控上述第一硬體加速器之一第一忙碌時間以及上述第二硬體加速器之一第二忙碌時間;根據上述第一忙碌時間,計算上述第一工作週期;根據上述第二忙碌時間,計算上述第二工作週期;以及根據上述第一工作週期以及上述第二工作週期,遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列,使得上述第一工作週期與上述第二工作週期相近。
  12. 如申請專利範圍第11項所述之均衡方法,其中上述第一硬體加速器用以執行一第一命令隊列以及一第二命令隊列,上述第二硬體加速器用以執行一第三命令隊列以及一第四命令隊列,其中上述監控上述第一忙碌時間以及上述第二忙碌 時間之步驟包括:根據一時脈計數一記定時間;當上述第一硬體加速器係為一忙碌狀態時,上述第一開關將上述時脈提供至一第一執行時脈;根據上述第一執行時脈,計數上述第一硬體加速器之一第一忙碌時間;根據上述第一執行時脈,分別計數上述第一命令隊列之一第一執行時間以及上述第二命令隊列之一第二執行時間;當上述第二硬體加速器係為上述忙碌狀態時,上述第二開關將上述時脈提供至一第二執行時脈;根據上述第二執行時脈,計數上述第二硬體加速器之一第二忙碌時間;以及根據上述第二執行時脈,分別計數上述第三命令隊列之一第三執行時間以及上述第四命令隊列之一第四執行時間。
  13. 如申請專利範圍第12項所述之均衡方法,其中上述監控上述第一忙碌時間以及上述第二忙碌時間之步驟更包括:將上述第一忙碌時間、上述第二忙碌時間、上述第一執行時間、上述第二執行時間、上述第三執行時間以及上述第四執行時間儲存於一記憶體。
  14. 如申請專利範圍第12項所述之均衡方法,其中上述第一工作週期係為上述第一執行時間與上述既定時間之商,上述第二工作週期係為上述第二執行時間與上述既定時間之商,一第一執行週期係為上述第一執行時間與上述既定時間之商,一第二執行週期係為上述第二執行時間與上述既定時間 之商,一第三執行週期係為上述第三執行時間與上述既定時間之商,一第四執行週期係為上述第四執行時間與上述既定時間之商。
  15. 如申請專利範圍第11項所述之均衡方法,其中上述第一忙碌時間係為在一既定時間內上述第一硬體加速器位於一忙碌狀態之時間,上述第二忙碌時間係為在上述既定時間內上述第二硬體加速器位於上述忙碌狀態之時間,其中上述第一工作週期等於上述第一忙碌時間與上述既定時間之商,上述第二忙碌週期等於上述第二忙碌時間與上述既定時間之商。
  16. 如申請專利範圍第11項所述之均衡方法,其中上述第一硬體加速器用以執行一第一指令隊列以及一第二指令隊列,上述第二硬體加速器用以執行一第三指令隊列以及一第四指令隊列,其中一第一執行時間係為在上述既定時間內上述第一硬體加速器執行上述第一指令隊列之指令的時間,一第二執行執行時間係為在上述既定時間內上述第一硬體加速器執行上述第二指令隊列之指令的時間,其中一第一執行週期等於上述第一執行時間與上述既定時間之商,一第二執行週期等於上述執行時間與上述既定時間之商。
  17. 如申請專利範圍第16項所述之均衡方法,其中上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一工作週期與上述第二工作週期之一差值是否超過一差異臨限值;以及 當上述差值超過上述差異臨限值時,將上述第二命令隊列遷移至上述第二硬體加速器,其中上述第二執行週期不大於上述差值的一半加上一彈性區間。
  18. 如申請專利範圍第16項所述之均衡方法,其中上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一工作週期與上述第二工作週期之一差值是否超過一差異臨限值;以及當上述差值超過上述差異臨限值時,將上述第二命令隊列遷移至上述第二硬體加速器,其中上述第二執行週期係小於上述第一執行週期。
  19. 如申請專利範圍第16項所述之均衡方法,其中上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一工作週期與上述第二工作週期之一差值是否超過一差異臨限值;以及當上述差值超過上述差異臨限值時,將上述第一命令隊列以及上述第二命令隊列之一者遷移至上述第二硬體加速器,並且將上述第三命令隊列以及上述第四命令隊列之一者遷移至上述第一硬體加速器。
  20. 如申請專利範圍第11項所述之均衡方法,其中上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體 加速器及/或上述第二硬體加速器之命令隊列之步驟更包括:判斷上述第一工作週期以及上述第二工作週期之一差值是否超過一差異臨限值;以及當上述差值超過上述差異臨限值時,執行上述根據上述第一工作週期以及上述第二工作週期遷移上述第一硬體加速器及/或上述第二硬體加速器之命令隊列之步驟。
TW106134025A 2017-08-07 2017-10-02 均衡裝置以及均衡方法 TWI641950B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??201710666890.3 2017-08-07
CN201710666890.3A CN107423135B (zh) 2017-08-07 2017-08-07 均衡装置以及均衡方法

Publications (2)

Publication Number Publication Date
TWI641950B TWI641950B (zh) 2018-11-21
TW201911059A true TW201911059A (zh) 2019-03-16

Family

ID=60437385

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106134025A TWI641950B (zh) 2017-08-07 2017-10-02 均衡裝置以及均衡方法

Country Status (3)

Country Link
US (1) US10331494B2 (zh)
CN (1) CN107423135B (zh)
TW (1) TWI641950B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102453689B1 (ko) * 2017-12-13 2022-10-11 삼성전자주식회사 주기적 프로세스 처리 시스템 및 시스템 온 칩
CN110083388B (zh) * 2019-04-19 2021-11-12 上海兆芯集成电路有限公司 用于调度的处理系统及其访存方法
CN110032452B (zh) 2019-04-19 2021-08-24 上海兆芯集成电路有限公司 处理系统与异构处理器加速方法
CN110058931B (zh) * 2019-04-19 2022-03-22 上海兆芯集成电路有限公司 用以任务调度的处理系统及其加速方法
CN110032453B (zh) 2019-04-19 2022-05-03 上海兆芯集成电路有限公司 用以任务调度与分配的处理系统及其加速方法
CN110083387B (zh) * 2019-04-19 2021-11-12 上海兆芯集成电路有限公司 使用轮询机制的处理系统及其访存方法
CN110046053B (zh) * 2019-04-19 2021-11-12 上海兆芯集成电路有限公司 用以分配任务的处理系统及其访存方法
US20230409239A1 (en) * 2022-06-21 2023-12-21 Micron Technology, Inc. Efficient command fetching in a memory sub-system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US8706914B2 (en) * 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
US8910153B2 (en) * 2009-07-13 2014-12-09 Hewlett-Packard Development Company, L. P. Managing virtualized accelerators using admission control, load balancing and scheduling
WO2013119226A1 (en) 2012-02-08 2013-08-15 Intel Corporation Dynamic cpu gpu load balancing using power
US20150236959A1 (en) * 2012-07-23 2015-08-20 F5 Networks, Inc. Autonomously adaptive flow acceleration based on load feedback
CN103049927B (zh) * 2013-01-17 2016-06-29 浙江大学 基于gpu集群的实时光线跟踪渲染方法
CN103970686A (zh) * 2013-02-05 2014-08-06 鸿富锦精密工业(深圳)有限公司 Gpu扩展卡及扩展方法
US10078613B1 (en) * 2014-03-05 2018-09-18 Mellanox Technologies, Ltd. Computing in parallel processing environments
KR102375925B1 (ko) * 2015-08-31 2022-03-17 삼성전자주식회사 Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법
WO2017049538A1 (en) * 2015-09-24 2017-03-30 Intel Corporation Apparatus and method for pattern driven self-adaptive virtual graphics processor units
US20170220499A1 (en) * 2016-01-04 2017-08-03 Gray Research LLC Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications
CN106572500B (zh) * 2016-10-21 2020-07-28 同济大学 一种c-ran中硬件加速器的调度方法
CN106959893B (zh) * 2017-03-31 2020-11-20 联想(北京)有限公司 加速器、用于加速器的内存管理方法以及数据处理系统

Also Published As

Publication number Publication date
CN107423135B (zh) 2020-05-12
US10331494B2 (en) 2019-06-25
TWI641950B (zh) 2018-11-21
US20190042327A1 (en) 2019-02-07
CN107423135A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
TWI641950B (zh) 均衡裝置以及均衡方法
EP4283526A2 (en) Dynamic task allocation for neural networks
US20180157304A1 (en) Processor management via thread status
WO2017080273A1 (zh) 任务管理方法和系统、计算机存储介质
WO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
TW201413594A (zh) 多核心裝置以及其多執行緒排程方法
KR101884579B1 (ko) 멀티스레드된 프로세서를 위한 효율적인 인터럽션 라우팅
US20140052966A1 (en) Mechanism for consistent core hang detection in a processor core
JP6537600B2 (ja) 複数のスレッドを実行する方法、システム、およびコンピュータ・プログラム製品、ならびに複数のスレッドの待ち状態を実現する方法、システム、およびコンピュータ・プログラム
US20210334228A1 (en) Managing network interface controller-generated interrupts
WO2018063668A1 (en) Techniques to determine and mitigate latency in virtual environments
TWI743399B (zh) 一種進行調度請求的方法和設備
WO2020086362A3 (en) Relativistic quantum computer / quantum gravity computer
CN105242954A (zh) 一种虚拟cpu与物理cpu之间的映射方法及电子设备
CN110837415B (zh) 一种基于risc-v多核处理器的线程调度方法和装置
Gaitan et al. Improving interrupt handling in the nMPRA
CN105260497A (zh) 基于线性链表的实时任务可调度性测试半直接模拟方法
KR102149171B1 (ko) 산업용 로봇 시스템의 실시간 스케줄링 방법 및 장치
KR101674324B1 (ko) 실시간 제어 응용에 적용되는 태스크 스케쥴링 장치 및 방법
CN110955616B (zh) 用于访问共享资源的系统和方法
Belagali et al. Implementation and validation of dynamic scheduler based on LST on FreeRTOS
Serino et al. Real-time operating systems for cyber-physical systems: Current status and future research
JP2016184315A (ja) 電子制御装置
KR101789288B1 (ko) 계층적 실시간 스케줄링 시스템의 정형 검증 장치 및 방법
WO2021217589A1 (zh) 安全数据处理方法及装置