TW202123003A - 用於一邊緣運算網路的負載平衡裝置及方法 - Google Patents

用於一邊緣運算網路的負載平衡裝置及方法 Download PDF

Info

Publication number
TW202123003A
TW202123003A TW108144534A TW108144534A TW202123003A TW 202123003 A TW202123003 A TW 202123003A TW 108144534 A TW108144534 A TW 108144534A TW 108144534 A TW108144534 A TW 108144534A TW 202123003 A TW202123003 A TW 202123003A
Authority
TW
Taiwan
Prior art keywords
edge node
node device
computing
load balancing
time
Prior art date
Application number
TW108144534A
Other languages
English (en)
Other versions
TWI729606B (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 財團法人資訊工業策進會
Priority to TW108144534A priority Critical patent/TWI729606B/zh
Priority to US16/708,106 priority patent/US20210176174A1/en
Priority to CN201911249992.0A priority patent/CN112925637A/zh
Application granted granted Critical
Publication of TWI729606B publication Critical patent/TWI729606B/zh
Publication of TW202123003A publication Critical patent/TW202123003A/zh

Links

Images

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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種用於一邊緣運算網路的負載平衡裝置及方法。該裝置執行以下運作:(a)計算各邊緣節點裝置之運算時間及整體的平均運算時間,(b)從該等邊緣節點裝置中決定第一邊緣節點裝置,其運算時間大於該平均運算時間,(c)從該等邊緣節點裝置中決定第二邊緣節點裝置,其運算時間小於該平均運算時間,且其目前儲存資料量低於其最大儲存資料量,(d)指示該第一邊緣節點裝置將其訓練資料集之一部分搬移至該第二邊緣節點裝置,以及(e)更新該第一邊緣節點裝置及該第二邊緣節點裝置各自之目前儲存資料量。

Description

用於一邊緣運算網路的負載平衡裝置及方法
本發明係關於一種負載平衡裝置及方法。具體而言,本發明係關於一種用於一邊緣運算網路的負載平衡裝置及方法。
隨著深度學習技術的快速發展,各種經訓練的深度學習模型已被廣泛地應用於不同的領域。舉例而言,影像處理裝置(例如:自動商店攝影機)已採用由深度學習技術所建立的物件偵測模型來偵測影像或影像序列中的物件,以準確地判斷客戶所拿取的商品。
不論採用哪一種深度學習模型,皆需要以大量的資料集來訓練才能作為實際要使用的模型。現今深度學習模型,大部分是利用雲端系統及集中式的架構來進行訓練。然而,利用雲端系統及集中式的架構具有以下缺點:(1)由於許多深度學習模型的訓練資料集包含商業機密、個人資訊等等,因此將訓練資料集皆傳送至雲端會有隱私外洩的疑慮,(2)上傳訓練資料集至雲端系統會有時間延遲,且效能會受到網路傳輸頻寬的影響,(3)由於深度學習模型的訓練由雲端系統進行,邊緣端(例如:具有運算能力的邊緣節點)的計算資源被閒置而未能被有效發揮,造成運算資源的浪費,以及(4)由於訓練深度學習模型需要大量的資料傳輸及計算,提升了使用雲端系統的成本。
因此,近年來已有一些技術將邊緣運算應用於訓練深度學習模型。具體而言,邊緣運算是一種分散式運算的架構,將數據資料的運算,由網路中心節點移往邊緣節點來處理。邊緣運算將原本完全由中心節點處理大型服務加以分解,切割成更小與更容易管理的部份,以分散到邊緣節點去處理。相較於雲端系統,邊緣節點更接近於終端裝置,因此可以加快資料的處理與傳送速度,且可以減少延遲。在這種架構下,訓練資料集的分析與知識的產生,更接近於數據資料的來源,因此更適合處理大數據。
然而,利用邊緣運算及分散式架構來訓練深度學習模型仍有一些問題需要解決。具體而言,邊緣運算網路下的各個邊緣節點裝置的硬體規格不一,使得各個邊緣節點裝置所具有的運算能力及儲存空間不同。因此,由各個邊緣節點裝置擔任「運算者」進行運算時,各個邊緣節點裝置所需要的運算時間不一致。在資料平行(Data Parallelism)運算的架構下,整體深度學習模型的訓練將受制於處理效率較低的邊緣節點裝置,而導致深度學習模型的整體訓練時間的延遲。
有鑑於此,如何提供一種用於一邊緣運算網路的負載平衡技術,以減少深度學習模型的訓練時間,乃業界亟需努力之目標。
本發明之一目的在於提供一種用於一邊緣運算網路的負載平衡裝置。該邊緣運算網路包含複數個邊緣節點裝置,且該等邊緣節點裝置各自儲存一訓練資料集。該負載平衡裝置包含一儲存器及一處理器,且該處理器電性連接至該儲存器。該儲存器儲存一效能資訊,其中該效能資訊包含各該邊緣節點裝置之一運算能力、一目前儲存資料量及一最大儲存資料量。 該處理器執行以下運作:(a)計算各該邊緣節點裝置之一運算時間及該等邊緣節點裝置之一平均運算時間,(b)從該等邊緣節點裝置中決定一第一邊緣節點裝置,其中該第一邊緣節點裝置之該運算時間大於該平均運算時間,(c)從該等邊緣節點裝置中決定一第二邊緣節點裝置,其中該第二邊緣節點裝置之該運算時間小於該平均運算時間,且該第二邊緣節點裝置之該目前儲存資料量低於該第二邊緣節點裝置之該最大儲存資料量,(d)指示該第一邊緣節點裝置根據一搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置,以及(e)更新該效能資訊中該第一邊緣節點裝置之該目前儲存資料量及該第二邊緣節點裝置之該目前儲存資料量。
本發明之另一目的在於提供一種用於一邊緣運算網路的負載平衡方法,其適用於一電子裝置。該邊緣運算網路包含複數個邊緣節點裝置,且該等邊緣節點裝置各自儲存一訓練資料集。該電子裝置儲存一效能資訊,其中該效能資訊包含各該邊緣節點裝置之一運算能力、一目前儲存資料量及一最大儲存資料量。該負載平衡方法包含下列步驟:(a)計算各該邊緣節點裝置之一運算時間及該等邊緣節點裝置之一平均運算時間,(b)從該等邊緣節點裝置中決定一第一邊緣節點裝置,其中該第一邊緣節點裝置之該運算時間大於該平均運算時間,(c)從該等邊緣節點裝置中決定一第二邊緣節點裝置,其中該第二邊緣節點裝置之該運算時間小於該平均運算時間,且該第二邊緣節點裝置之該目前儲存資料量低於該第二邊緣節點裝置之該最大儲存資料量,(d)指示該第一邊緣節點裝置根據一搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置,以及(e)更新該效能資訊中該第一邊緣節點裝置之該目前儲存資料量及該第二邊緣節點裝置之該目前儲存 資料量。
本發明所提供之用於一邊緣運算網路的負載平衡技術(至少包含裝置及方法)根據效能資訊(即,各該邊緣節點裝置之一運算能力、一目前儲存資料量及一最大儲存資料量),計算各該邊緣節點裝置之運算時間及該等邊緣節點裝置之平均運算時間,從該等邊緣節點裝置中決定需搬走部分訓練資料集的邊緣節點裝置(即,第一邊緣節點裝置)及需接手訓練資料集的邊緣節點裝置(即,第二邊緣節點裝置),指示該第一邊緣節點裝置根據搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置,再更新該效能資訊。
本發明所提供之負載平衡技術還可重新計算各該邊緣節點裝置之該運算時間。當重新計算後之該等運算時間仍未達到某一評估條件時(例如:該等運算時間仍不全小於一預設值時),本發明所提供之負載平衡技術還會重複地執行前述運作。因此,本發明所提供之負載平衡技術有效的在邊緣運算網路架構下,降低深度學習模型訓練的整體時間,並解決習知技術運算資源浪費的問題。
以下結合圖式闡述本發明之詳細技術及實施方式,俾使本發明所屬技術領域中具有通常知識者能理解所請求保護之發明之技術特徵。
1、3、5、7‧‧‧邊緣節點裝置
1A、3A、3B、5A、7A‧‧‧感測裝置
2‧‧‧負載平衡裝置
21‧‧‧儲存器
23‧‧‧處理器
S401-S409‧‧‧步驟
S501-S503‧‧‧步驟
S601-S603‧‧‧步驟
第1圖係描繪第一實施方式之應用環境之架構示意圖;
第2圖係描繪第一實施方式之負載平衡裝置2之架構示意圖;
第3A圖係描繪第一實施方式之效能資訊之一具體範例;
第3B圖係描繪第一實施方式之運算結果之一具體範例;
第4圖係描繪第二實施方式之負載平衡方法之部分流程圖;
第5圖係描繪某些實施方式所會執行之方法之部分流程圖;以及
第6圖係描繪某些實施方式所會執行之方法之部分流程圖。
以下將透過實施方式來解釋本發明所提供之一種用於一邊緣運算網路的負載平衡裝置及方法。然而,該等實施方式並非用以限制本發明需在如該等實施方式所述之任何環境、應用或方式方能實施。因此,關於實施方式之說明僅為闡釋本發明之目的,而非用以限制本發明之範圍。應理解,在以下實施方式及圖式中,與本發明非直接相關之元件已省略而未繪示,且各元件之尺寸以及元件間之尺寸比例僅為例示而已,而非用以限制本發明之範圍。
首先,先簡單說明本發明適用的對象及優點。一般而言,在雲霧佈建的網路架構下,會透過階層式的運算能力及儲存能力將裝置分類(即,越接近雲端的裝置運算能力及儲存能力越強,反之越接近霧端的裝置的運算能力及儲存能力越簡單)。本發明主要針對在霧端的邊緣運算裝置上進行深度學習模型的訓練工作,提供負載平衡技術以降低深度學習模型訓練的整體時間。因此,本發明能提供如以下優點:(1)訓練資料集保留在邊緣節點裝置,因而保證資料隱私不外洩,(2)利用邊緣節點裝置的剩餘計算資源,減少計算成本,(3)減少將訓練資料集搬移至雲端系統的成本,(3)利用分散式架構計算,故可減少深度學習模型的訓練時間。
請參第1圖,其係描繪本發明的應用環境的架構示意圖。於 第1圖中,邊緣運算網路ECN包含4個邊緣節點裝置1、3、5、7,且邊緣節點裝置1、3、5、7可彼此連線,但本發明未限制邊緣節點裝置1、3、5、7彼此連線的方式。邊緣節點裝置1、3、5、7各自可從對應的感測裝置收集訓練資料集。以第1圖所示的範例為例,邊緣節點裝置1自感測裝置1A接收訓練資料集,邊緣節點裝置3自感測裝置3A及感測裝置3B接收訓練資料集,邊緣節點裝置5自感測裝置5A接收訓練資料集,且邊緣節點裝置7自感測裝置7A接收訓練資料集。於本實施方式中,邊緣節點裝置1、3、5、7已儲存對應之感測裝置1A、3A、3B、5A、7A所傳輸之訓練資料集,並準備進行進一步的深度學習模型的訓練工作。
須說明者,邊緣節點裝置可為任何具有基本計算能力及儲存空間之裝置,而感測裝置可為任何可產生訓練資料集的物聯網(IoT)裝置(例如:影像擷取裝置)。本發明並未限制邊緣運算網路可包含之邊緣節點裝置數目及各邊緣節點裝置所能涵蓋之感測裝置之數目,其係視邊緣運算網路之規模、邊緣節點裝置之規模及實際需求而定。應理解,深度學習模型的訓練尚包含其他運作,惟本發明之重點在於負載平衡之運算及分析,故以下段落將僅詳細說明與本發明相關之實施細節。
本發明之第一實施方式為一種用於邊緣運算網路的負載平衡裝置2,其架構示意圖係描繪於第2圖。須說明者,負載平衡裝置2可由第1圖中的任一邊緣節點裝置1、3、5、7擔任,亦可由其他在邊緣運算網路中更上層的邊緣節點裝置(例如:未與感測裝置連線的邊緣節點裝置)擔任。負載平衡裝置2用以將該等邊緣節點裝置要用來運算的訓練資料集進行負載平衡以降低整體深度學習模型的訓練時間。因此,在某些實施方式中,負 載平衡裝置2可由邊緣運算網路中運算能力最強的邊緣節點裝置擔任。於某些實施方式中,負載平衡裝置2亦可由一與邊緣運算網路連線且具有控制權限的外部裝置擔任,本發明並未限制其內容。
於本實施方式中,負載平衡裝置2包含一儲存器21及一處理器23,且二者彼此電性連接。儲存器21可為一記憶體、一通用串列匯流排(Universal Scrial Bus;USB)碟、一硬碟、一光碟、一隨身碟或本發明所屬技術領域中具有通常知識者所知且具有相同功能之任何其他儲存媒體或電路。處理器23可為各種處理器、中央處理單元、微處理器、數位訊號處理器或本發明所屬技術領域中具有通常知識者所知之其他計算裝置。
先簡單說明本發明的運作概念。由於不同的邊緣節點裝置硬體規格不同,各個邊緣節點裝置以其所收集到的訓練資料集來訓練一深度學習模型所需的運算時間不同。然而,在平行處理的架構下,若有邊緣節點裝置的運算時間明顯超過其他邊緣節點裝置的運算時間,將導致深度學習模型訓練的整體訓練時間延遲。因此,在平行處理的架構下,負載平衡裝置2將分析邊緣運算網路下的邊緣節點裝置,以指示某一(或某些)邊緣節點裝置搬移其部分的訓練資料集,來平衡各個邊緣節點裝置的運算時間,以達到縮短深度學習模型的整體訓練時間。
具體而言,前述縮短深度學習模型的整體訓練時間T,可由以下的公式(1)來表示:
MIN(T)=MIN(α×T trans +β×T comp +γ×T comm ) (1)
上述公式(1)中,變數α、變數β及變數γ為正整數,參數T trans 為資料傳輸時間、參數T comp 為運算時間、參數T comm 為負載平衡裝置2與邊 緣節點裝置合作所需要的通訊時間。
另外,代表資料傳輸時間的參數T trans 的計算方式可由以下公式(2)來表示:
Figure 108144534-A0101-12-0008-1
上述公式(2)中,M[i,j]為訓練資料集由第i個邊緣節點裝置搬移到第j個邊緣節點裝置的量,B ij 為第i個邊緣節點裝置至第j個邊緣節點裝置間之傳輸頻寬。
另外,代表運算時間的參數T comp 的計算方式可由以下公式(3)來表示:
Figure 108144534-A0101-12-0008-2
上述公式(3)中,D i 為第i個邊緣節點裝置的目前儲存資料量,M[i,j]為訓練資料集由第i個邊緣節點裝置搬移到第j個邊緣節點裝置的量,M[j,i]為訓練資料集由第j個邊緣節點裝置搬移到第i個邊緣節點裝置的量,C i 為第i個邊緣節點裝置之計算能力。
須說明者,本發明的目的在縮短深度學習模型的整體訓練時間,而在一般的情形下,運算時間(即,上述公式中的參數T comp )是最為關鍵的參數。具體而言,因為在深度學習模型的訓練過程,相較於資料傳輸時間(即,上述公式中的參數T trans )及通訊時間(即,上述公式中的參數T comm ,通常為定值),運算時間往往遠高於其它二者。因此,若能有效地降低運算時間,將能大幅地改善縮短深度學習模型的整體訓練時間。因此,降低運算時間是本發明著重的主要目標,而由於不同的邊緣節點裝置的運算能力不一致,藉由調整運算能力較差的邊緣節點裝置所負責的訓練資料集 的量,將能有效地降低平均運算時間。本發明將基於前述的公式,提供一負載平衡機制,以下段落將詳細說明與本發明相關之實施細節。
於本實施方式中,負載平衡裝置2的儲存器21預先儲存邊緣運算網路中各邊緣節點裝置的相關資料,並且在每次負載平衡運作完成後即時地進行更新。因此,負載平衡裝置2可透過該等相關資料進行分析,以找出在邊緣運算網路中造成整體運算延遲(即,使得運算時間提高)的邊緣節點裝置,再對該邊緣節點裝置採取負載平衡的運作。具體而言,負載平衡裝置2的儲存器21儲存一效能資訊,其中該效能資訊包含各該邊緣節點裝置之一運算能力、一目前儲存資料量(即,邊緣節點裝置所儲存之訓練資料集之資料量)及一最大儲存資料量。
須說明者,儲存器21所儲存的效能資訊可由負載平衡裝置2主動地向各邊緣節點裝置索取,或是由其他外部裝置整合後輸入,本發明並未限制其來源。應理解,邊緣節點裝置之運算能力可為以訓練資料集訓練深度學習模型的能力。由於訓練資料集中的每一筆資料具有類似的格式,負載平衡裝置2可透過統一標準來量化各該邊緣節點裝置的運算能力,例如:每秒處理幾筆訓練資料。
第3A圖描繪儲存器21所儲存的效能資訊的一具體範例,但該具體範例並非用以限制本發明的範圍。如第3A圖所例示,邊緣節點裝置1的運算能力為10(筆/秒)、目前儲存資料量為150筆(即,訓練資料集中有150筆訓練資料)、最大儲存資料量為300筆。邊緣節點裝置3的運算能力為20(筆/秒)、目前儲存資料量為200筆、最大儲存資料量為400筆。邊緣節點裝置5的運算能力為50(筆/秒)、目前儲存資料量為300筆、最大儲存資料 量為500筆。邊緣節點裝置7的運算能力為100(筆/秒)、目前儲存資料量為500筆、最大儲存資料量為500筆。
於本實施方式中,處理器23先計算各該邊緣節點裝置之一運算時間及該等邊緣節點裝置之一平均運算時間。具體而言,處理器23先根據每個邊緣節點裝置之運算能力及每個邊緣節點裝置的目前儲存資料量,計算每個邊緣節點裝置之運算時間。接著,處理器23根據該等運算時間,計算該等邊緣節點裝置之該平均運算時間。舉例而言,邊緣節點裝置1的運算能力為10(筆/秒)、目前儲存資料為150筆,因此邊緣節點裝置1的運算時間即為15秒。
之後,由於處理器23已計算出每個邊緣節點裝置之運算時間及平均運算時間,處理器23將從該等邊緣節點裝置中,選擇一運算時間較長的邊緣節點裝置進行訓練資料的轉移,以降低該邊緣節點裝置的運算時間,達到縮短深度學習模型的整體訓練時間的目的。具體而言,處理器23從該等邊緣節點裝置中決定一第一邊緣節點裝置,其中該第一邊緣節點裝置之該運算時間大於該平均運算時間。於某些實施方式中,處理器23係從該等邊緣節點裝置中選取具有最大之該運算時間者作為該第一邊緣節點裝置。
接著,處理器23將從該等邊緣節點裝置中選擇運算時間低於平均運算時間且仍有儲存空間可以接收訓練資料的邊緣節點裝置,以進行後續的訓練資料的轉移。具體而言,處理器23從該等邊緣節點裝置中決定一第二邊緣節點裝置,其中該第二邊緣節點裝置之該運算時間小於該平均運算時間,且該第二邊緣節點裝置之該目前儲存資料量低於該第二邊緣節點裝置之該最大儲存資料量。
於某些實施方式中,為了降低訓練資料轉移時的資料傳輸時間(即,上述公式中的參數T trans ),儲存器21儲存的效能資訊更包含各該邊緣節點裝置所具有之一傳輸頻寬。在這些實施方式中,在決定該第二邊緣節點裝置(即,接收訓練資料的邊緣節點裝置)時,處理器23將選取具有最大之該傳輸頻寬者作為該第二邊緣節點裝置,以使第一邊緣節點裝置搬移訓練資料至第二邊緣節點裝置時衍生較少的資料傳輸時間。
於本實施方式中,處理器23已決定需搬走部分的訓練資料集的邊緣節點裝置(即,第一邊緣節點裝置)及需接收部分的訓練資料集的邊緣節點裝置(即,第二邊緣節點裝置)。隨後,處理器23指示該第一邊緣節點裝置根據一搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置。應理解,搬移資料量是由處理器23計算,由處理器23判斷第一邊緣節點裝置需要且合理的搬移資料量,而搬移資料量亦需要在第二邊緣節點裝置容許的範圍內(即,仍有儲存空間可以接收)。
舉例而言,處理器23可根據該第一邊緣節點裝置之該運算時間與該平均運算時間之一差值及該第一邊緣節點裝置之一運算能力,計算一預估搬移資料量。接著,處理器23根據該預估搬移資料量、該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量,計算該搬移資料量。
須說明者,由於處理器23計算的搬移資料量需要合理且可實現,除了要判斷該第一邊緣節點裝置需要搬移的訓練資料量,亦要判斷第二邊緣節點裝置的空間是否可接受。因此,於某些實施方式中,處理器23可根據該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量計算該第二邊緣節點裝置之一剩餘儲存空間,再選取該剩餘儲存空間及該預估搬移 資料量中較小者作為該搬移資料量。
最後,處理器23更新該效能資訊中該第一邊緣節點裝置之該目前儲存資料量及該第二邊緣節點裝置之該目前儲存資料量,以使得效能資訊能即時地反應目前該等於邊緣節點裝置的狀況。
茲以一具體範例說明,請同時參考第3A及第3B圖。首先,處理器23先將邊緣節點裝置1、3、5、7之目前儲存資料量除以運算能力,計算出邊緣節點裝置1、3、5、7之運算時間分別為15、10、6、5(秒),且邊緣節點裝置1、3、5、7的平均運算時間為9(秒)。接著,處理器23選擇運算時間最大的邊緣節點裝置1作為欲搬移部分訓練資料集的邊緣節點裝置(即,前述第一邊緣節點裝置)。隨後,處理器23將決定接收部分訓練資料集的邊緣節點裝置(即,前述第二邊緣節點裝置)。由於處理器23判斷運算時間小於平均運算時間9秒的有邊緣節點裝置5及7,且僅有邊緣節點裝置5的目前儲存資料量低於最大儲存資料量(即,剩餘儲存空間大於0),因此處理器23決定以邊緣節點裝置5作為接收部分訓練資料集的邊緣節點裝置。
接著,處理器23根據先前的計算結果,計算邊緣節點裝置1的運算時間與平均運算時間相差6秒(即,邊緣節點裝置1的運算時間為15秒、平均運算時間9秒)。接著,處理器23計算欲讓邊緣節點裝置1的運算時間接近平均運算時間所需要搬移的訓練資料的量。具體而言,處理器23將時間差值6秒與邊緣節點裝置1的運算能力10(筆/每秒)相乘,計算出邊緣節點裝置1的預估搬移資料量為60筆訓練資料。接著,處理器23知悉邊緣節點裝置5的剩餘空間有200筆,而預估搬移資料量為60筆,因此選擇其中較小者(即,預估搬移資料量60筆)作為該搬移資料量。因此,處理器23指示邊緣 節點裝置1將其訓練資料集中的60筆訓練資料搬移至邊緣節點裝置5。最後,在負載平衡運作完成後,處理器23將邊緣節點裝置1的目前儲存資料量(即,90筆)及邊緣節點裝置5的目前儲存資料(即,360筆)更新至儲存器21儲存的效能資訊。
於某些實施方式中,處理器23可進行多次的負載平衡運作,直到該等邊緣節點裝置的運算時間均小於一預設值。具體而言,處理完第一次負載平衡運作後,處理器23將重新計算各該邊緣節點裝置之該運算時間。接著,若處理器23判斷邊緣節點裝置的該等運算時間不全小於一預設值,處理器23將重複地執行前述的負載平衡運作,直到該等邊緣節點裝置的運算時間均小於一預設值。於某些實施方式中,處理器23亦可進行多次的負載平衡運作,直到該等邊緣節點裝置的運算時間彼此間之差值皆小於另一預設值,例如:該等邊緣節點裝置的運算時間彼此間之差值皆小於5個百分比、一個標準差等等。
由上述說明可知,負載平衡裝置2藉由分析效能資訊(亦即,各該邊緣節點裝置之一運算能力、一目前儲存資料量及一最大儲存資料量),計算各該邊緣節點裝置之運算時間及該等邊緣節點裝置之平均運算時間,從該等邊緣節點裝置中決定需搬走部分訓練資料集的邊緣節點裝置(即,第一邊緣節點裝置)及需接手部分訓練資料集的邊緣節點裝置(即,第二邊緣節點裝置),指示該第一邊緣節點裝置根據搬移資料量將其訓練資料之一部分搬移至該第二邊緣節點裝置,再更新該效能資訊。負載平衡裝置2還可重新計算各該邊緣節點裝置之該運算時間。若重新計算後之該等運算時間仍未達到某一評估條件時(例如:該等運算時間仍不全小於一預設值 時),負載平衡裝置2還會重複地執行前述運作。因此,負載平衡裝置2有效的在邊緣運算網路架構下,降低深度學習模型訓練的整體時間,並解決習知技術運算資源浪費的問題。
本發明之第二實施方式為一用於一邊緣運算網路的負載平衡方法,其流程圖係描繪於第4圖。負載平衡方法適用於一電子裝置,例如:第一實施方式所述之負載平衡裝置2。該邊緣運算網路包含複數個邊緣節點裝置,且該等邊緣節點裝置各自儲存一訓練資料集。該電子裝置儲存一效能資訊,其中該效能資訊包含各該邊緣節點裝置之一運算能力、一目前儲存資料量及一最大儲存資料量。負載平衡方法透過步驟S401至步驟S409執行負載平衡。
於步驟S401,由該電子裝置計算各該邊緣節點裝置之一運算時間及該等邊緣節點裝置之一平均運算時間。接著,於步驟S403,由該電子裝置從該等邊緣節點裝置中決定一第一邊緣節點裝置,其中該第一邊緣節點裝置之該運算時間大於該平均運算時間。
隨後,於步驟S405,由該電子裝置從該等邊緣節點裝置中決定一第二邊緣節點裝置,其中該第二邊緣節點裝置之該運算時間小於該平均運算時間,且該第二邊緣節點裝置之該目前儲存資料量低於該第二邊緣節點裝置之該最大儲存資料量。接著,於步驟S407,由該電子裝置指示該第一邊緣節點裝置根據一搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置。最後,於步驟S409,由該電子裝置更新該效能資訊中該第一邊緣節點裝置之該目前儲存資料量及該第二邊緣節點裝置之該目前儲存資料量。
於某些實施方式中,其中該步驟S401包含以下步驟:根據各該邊緣節點裝置之該運算能力及該目前儲存資料量,計算各該邊緣節點裝置之該運算時間;以及根據該等運算時間,計算該等邊緣節點裝置之該平均運算時間。於某些實施方式中,其中該步驟S403係從該等邊緣節點裝置中選取具有最大之該運算時間者作為該第一邊緣節點裝置。
於某些實施方式中,其中該效能資訊更包含各該邊緣節點裝置所具有之一傳輸頻寬。在這些實施方式中,該步驟S405係從該等邊緣節點裝置中選取具有最大之該傳輸頻寬者作為該第二邊緣節點裝置。
於某些實施方式中,該步驟S407可包含步驟S501至步驟S503,如第5圖所示。於該步驟S501,由該電子裝置根據該第一邊緣節點裝置之該運算時間與該平均運算時間之一差值及該第一邊緣節點裝置之一運算能力,計算一預估搬移資料量。接著,於該步驟S503,由該電子裝置根據該預估搬移資料量、該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量,計算該搬移資料量。於某些實施方式中,該步驟S503可根據該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量計算該第二邊緣節點裝置之一剩餘儲存空間,再選取該剩餘儲存空間及該預估搬移資料量中較小者作為該搬移資料量。
於某些實施方式中,其中該負載平衡方法更包含步驟S601至步驟S603,其流程圖係描繪於第6圖。於該步驟S601,由該電子裝置重新計算各該邊緣節點裝置之該運算時間。當該電子裝置判斷當該等運算時間不全小於一預設值時,該負載平衡方法於該步驟S603重複地執行步驟S401、步驟S403、步驟S405、步驟S407、步驟S409及步驟S601。
除了上述步驟,第二實施方式亦能執行第一實施方式所描述之負載平衡裝置2之所有運作及步驟,具有同樣之功能,且達到同樣之技術效果。本發明所屬技術領域中具有通常知識者可直接瞭解第二實施方式如何基於上述第一實施方式以執行此等運作及步驟,具有同樣之功能,並達到同樣之技術效果,故不贅述。
需說明者,於本發明專利說明書及申請專利範圍中,某些用語(包含:邊緣節點裝置)前被冠以「第一」或「第二」,該等「第一」及「第二」僅用來區分不同之用語。例如:第一邊緣節點裝置及第二邊緣節點裝置中之「第一」及「第二」僅用來表示不同的邊緣節點裝置。
綜上所述,本發明所提供之用於一邊緣運算網路的負載平衡技術(至少包含裝置及方法)藉由分析效能資訊,計算各該邊緣節點裝置之運算時間及該等邊緣節點裝置之平均運算時間,從該等邊緣節點裝置中決定需搬走部分訓練資料集的邊緣節點裝置(即,第一邊緣節點裝置)及接手部分訓練資料集的邊緣節點裝置(即,第二邊緣節點裝置),指示該第一邊緣節點裝置根據搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置,再更新該效能資訊。
本發明所提供之負載平衡技術還可重新計算各該邊緣節點裝置之該運算時間。當重新計算後之該等運算時間仍未達到某一評估條件時(例如:該等運算時間仍不全小於一預設值時),本發明所提供之負載平衡技術還會重複地執行前述運作。因此,本發明所提供之負載平衡技術有效的在邊緣運算網路架構下,降低深度學習模型訓練的整體時間,並解決習知技術運算資源浪費的問題。
上述實施方式僅用來例舉本發明之部分實施態樣,以及闡釋本發明之技術特徵,而非用來限制本發明之保護範疇及範圍。任何本發明所屬技術領域中具有通常知識者可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,而本發明之權利保護範圍以申請專利範圍為準。
S401~S409‧‧‧步驟

Claims (14)

  1. 一種用於一邊緣運算網路的負載平衡裝置,該邊緣運算網路包含複數個邊緣節點裝置,該等邊緣節點裝置各自儲存一訓練資料集,該負載平衡裝置包含:
    一儲存器,儲存一效能資訊,其中該效能資訊包含各該邊緣節點裝置之一運算能力、一目前儲存資料量及一最大儲存資料量;以及
    一處理器,電性連接至該儲存器,且執行以下運作:
    (a)計算各該邊緣節點裝置之一運算時間及該等邊緣節點裝置之一平均運算時間;
    (b)從該等邊緣節點裝置中決定一第一邊緣節點裝置,其中該第一邊緣節點裝置之該運算時間大於該平均運算時間;
    (c)從該等邊緣節點裝置中決定一第二邊緣節點裝置,其中該第二邊緣節點裝置之該運算時間小於該平均運算時間,且該第二邊緣節點裝置之該目前儲存資料量低於該第二邊緣節點裝置之該最大儲存資料量;
    (d)指示該第一邊緣節點裝置根據一搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置;以及
    (e)更新該效能資訊中該第一邊緣節點裝置之該目前儲存資料量及該第二邊緣節點裝置之該目前儲存資料量。
  2. 如請求項1所述之負載平衡裝置,其中該運作(a)包含以下運作:
    根據各該邊緣節點裝置之該運算能力及該目前儲存資料量,計算各該邊緣節點裝置之該運算時間;以及
    根據該等運算時間,計算該等邊緣節點裝置之該平均運算時間。
  3. 如請求項1所述之負載平衡裝置,其中該運作(b)係從該等邊緣節點裝置中選取具有最大之該運算時間者作為該第一邊緣節點裝置。
  4. 如請求項1所述之負載平衡裝置,其中該效能資訊更包含各該邊緣節點裝置所具有之一傳輸頻寬,該運作(c)係從該等邊緣節點裝置中選取具有最大之該傳輸頻寬者作為該第二邊緣節點裝置。
  5. 如請求項1所述之負載平衡裝置,其中該運作(d)中的該搬移資料量係由以下運作決定:
    (d1)根據該第一邊緣節點裝置之該運算時間與該平均運算時間之一差值及該第一邊緣節點裝置之一運算能力,計算一預估搬移資料量;以及
    (d2)根據該預估搬移資料量、該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量,計算該搬移資料量。
  6. 如請求項5所述之負載平衡裝置,其中該運作(d2)還根據該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量計算該第二邊緣節點裝置之一剩餘儲存空間,再選取該剩餘儲存空間及該預估搬移資料量中較小者作為該搬移資料量。
  7. 如請求項1所述之負載平衡裝置,其中該處理器更執行以下運作:
    (f)重新計算各該邊緣節點裝置之該運算時間;以及
    (g)當該等運算時間不全小於一預設值時,重複地執行運作(a)、運作(b)、運作(c)、運作(d)、運作(e)及運作(f)。
  8. 一種用於一邊緣運算網路的負載平衡方法,該負載平衡方法適用於一電 子裝置,該邊緣運算網路包含複數個邊緣節點裝置,該等邊緣節點裝置各自儲存一訓練資料集,該電子裝置儲存一效能資訊,該效能資訊包含各該邊緣節點裝置之一運算能力、一目前儲存資料量及一最大儲存資料量,該負載平衡方法包含下列步驟:
    (a)計算各該邊緣節點裝置之一運算時間及該等邊緣節點裝置之一平均運算時間;
    (b)從該等邊緣節點裝置中決定一第一邊緣節點裝置,其中該第一邊緣節點裝置之該運算時間大於該平均運算時間;
    (c)從該等邊緣節點裝置中決定一第二邊緣節點裝置,其中該第二邊緣節點裝置之該運算時間小於該平均運算時間,且該第二邊緣節點裝置之該目前儲存資料量低於該第二邊緣節點裝置之該最大儲存資料量;
    (d)指示該第一邊緣節點裝置根據一搬移資料量將該訓練資料集之一部分搬移至該第二邊緣節點裝置;以及
    (e)更新該效能資訊中該第一邊緣節點裝置之該目前儲存資料量及該第二邊緣節點裝置之該目前儲存資料量。
  9. 如請求項8所述之負載平衡方法,其中該步驟(a)包含以下步驟:
    根據各該邊緣節點裝置之該運算能力及該目前儲存資料量,計算各該邊緣節點裝置之該運算時間;以及
    根據該等運算時間,計算該等邊緣節點裝置之該平均運算時間。
  10. 如請求項8所述之負載平衡方法,其中該步驟(b)係從該等邊緣節點裝置中選取具有最大之該運算時間者作為該第一邊緣節點裝置。
  11. 如請求項8所述之負載平衡方法,其中該效能資訊更包含各該邊緣節點裝置所具有之一傳輸頻寬,該步驟(c)係從該等邊緣節點裝置中選取具有最大之該傳輸頻寬者作為該第二邊緣節點裝置。
  12. 如請求項8所述之負載平衡方法,其中該步驟(d)中的該搬移資料量係由以下步驟決定:
    (d1)根據該第一邊緣節點裝置之該運算時間與該平均運算時間之一差值及該第一邊緣節點裝置之一運算能力,計算一預估搬移資料量;以及
    (d2)根據該預估搬移資料量、該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量,計算該搬移資料量。
  13. 如請求項12所述之負載平衡方法,其中該步驟(d2)還根據該第二邊緣節點裝置之該目前儲存資料量及該最大儲存資料量計算該第二邊緣節點裝置之一剩餘儲存空間,再選取該剩餘儲存空間及該預估搬移資料量中較小者作為該搬移資料量。
  14. 如請求項8所述之負載平衡方法,其中該負載平衡方法更包含以下步驟:
    (f)重新計算各該邊緣節點裝置之該運算時間;以及
    (g)當該等運算時間不全小於一預設值時,重複地執行步驟(a)、步驟(b)、步驟(c)、步驟(d)、步驟(e)及步驟(f)。
TW108144534A 2019-12-05 2019-12-05 用於一邊緣運算網路的負載平衡裝置及方法 TWI729606B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW108144534A TWI729606B (zh) 2019-12-05 2019-12-05 用於一邊緣運算網路的負載平衡裝置及方法
US16/708,106 US20210176174A1 (en) 2019-12-05 2019-12-09 Load balancing device and method for an edge computing network
CN201911249992.0A CN112925637A (zh) 2019-12-05 2019-12-09 用于一边缘运算网络的负载平衡装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108144534A TWI729606B (zh) 2019-12-05 2019-12-05 用於一邊緣運算網路的負載平衡裝置及方法

Publications (2)

Publication Number Publication Date
TWI729606B TWI729606B (zh) 2021-06-01
TW202123003A true TW202123003A (zh) 2021-06-16

Family

ID=76162161

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108144534A TWI729606B (zh) 2019-12-05 2019-12-05 用於一邊緣運算網路的負載平衡裝置及方法

Country Status (3)

Country Link
US (1) US20210176174A1 (zh)
CN (1) CN112925637A (zh)
TW (1) TWI729606B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821038B (zh) * 2022-11-22 2023-11-01 財團法人工業技術研究院 運算工作分派方法及應用其之終端電子裝置與運算系統

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875256B2 (en) 2020-07-09 2024-01-16 International Business Machines Corporation Dynamic computation in decentralized distributed deep learning training
US11886969B2 (en) 2020-07-09 2024-01-30 International Business Machines Corporation Dynamic network bandwidth in distributed deep learning training
US11977986B2 (en) * 2020-07-09 2024-05-07 International Business Machines Corporation Dynamic computation rates for distributed deep learning
CN114500551B (zh) * 2021-12-31 2024-04-05 杭州未名信科科技有限公司 边缘计算传输负载均衡方法、装置、设备及存储介质
US11916810B1 (en) * 2023-03-23 2024-02-27 Honda Motor Co., Ltd. Resource management
CN117318796A (zh) * 2023-11-10 2023-12-29 速度科技股份有限公司 一种基于卫星通信的边缘数据计算评测系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218196B2 (en) * 2012-05-17 2015-12-22 International Business Machines Corporation Performing pre-stage replication of data associated with virtual machines prior to migration of virtual machines based on resource usage
US20140067758A1 (en) * 2012-08-28 2014-03-06 Nokia Corporation Method and apparatus for providing edge-based interoperability for data and computations
CN109314715B (zh) * 2016-07-02 2022-03-29 英特尔公司 用于物联网的资源编排代理
CN106844051A (zh) * 2017-01-19 2017-06-13 河海大学 一种边缘计算环境中功耗优化的负载任务迁移算法
US11210133B1 (en) * 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
CN108089918B (zh) * 2017-12-06 2020-07-14 华中科技大学 一种面向异构服务器结构的图计算负载均衡方法
TWI689823B (zh) * 2018-01-04 2020-04-01 財團法人工業技術研究院 動態工作移轉方法及伺服器
JP7035606B2 (ja) * 2018-02-21 2022-03-15 日本電気株式会社 エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム
US11005925B2 (en) * 2018-02-28 2021-05-11 International Business Machines Corporation Load balancing with power of random choices
CN109617989B (zh) * 2018-12-28 2021-11-26 浙江省公众信息产业有限公司 用于负载分配的方法、装置、系统和计算机可读介质
US11829849B2 (en) * 2019-01-09 2023-11-28 Cisco Technology, Inc. Dynamic orchestration of machine learning functions on a distributed network
EP3881245A1 (en) * 2019-01-14 2021-09-22 Siemens Aktiengesellschaft Hardware accelerator extension to transfer learning - extending/finishing training to the edge
CN109885397B (zh) * 2019-01-15 2023-04-07 长安大学 一种边缘计算环境中时延优化的负载任务迁移算法
US20200272896A1 (en) * 2019-02-25 2020-08-27 Alibaba Group Holding Limited System for deep learning training using edge devices
US11423254B2 (en) * 2019-03-28 2022-08-23 Intel Corporation Technologies for distributing iterative computations in heterogeneous computing environments
US11132608B2 (en) * 2019-04-04 2021-09-28 Cisco Technology, Inc. Learning-based service migration in mobile edge computing
CN110008015B (zh) * 2019-04-09 2022-09-30 中国科学技术大学 边缘计算系统中有带宽限制的在线任务分派调度方法
CN110046048B (zh) * 2019-04-18 2021-09-28 杭州电子科技大学 一种基于工作量自适应快速重分配的负载均衡方法
CN110351376A (zh) * 2019-07-17 2019-10-18 国网四川省电力公司电力科学研究院 一种基于负反馈机制的边缘计算节点选择方法
US11172035B2 (en) * 2019-07-17 2021-11-09 EMC IP Holding Company LLC Data management for edge computing environment
CN112887345A (zh) * 2019-11-29 2021-06-01 上海交通大学 边缘计算环境的节点负载均衡调度方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821038B (zh) * 2022-11-22 2023-11-01 財團法人工業技術研究院 運算工作分派方法及應用其之終端電子裝置與運算系統

Also Published As

Publication number Publication date
US20210176174A1 (en) 2021-06-10
CN112925637A (zh) 2021-06-08
TWI729606B (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
TWI729606B (zh) 用於一邊緣運算網路的負載平衡裝置及方法
WO2021057848A1 (zh) 网络的训练方法、图像处理方法、网络、终端设备及介质
RU2722473C1 (ru) Быстрое вычисление сверточной нейронной сети
CN107545889B (zh) 适用于模式识别的模型的优化方法、装置及终端设备
WO2017124713A1 (zh) 一种数据模型的确定方法及装置
WO2018099084A1 (zh) 一种神经网络模型训练方法、装置、芯片和系统
US9176805B2 (en) Memory dump optimization in a system
CN112286644B (zh) Gpu虚拟化算力的弹性调度方法、系统、设备和存储介质
WO2021089013A1 (zh) 空间图卷积网络的训练方法、电子设备及存储介质
WO2019184640A1 (zh) 一种指标确定方法及其相关设备
CN112506619B (zh) 作业处理方法、装置、电子设备和存储介质
WO2020124374A1 (zh) 图像处理方法、终端设备及存储介质
CN111355814B (zh) 一种负载均衡方法、装置及存储介质
CN112085175B (zh) 基于神经网络计算的数据处理方法和装置
JP2022512211A (ja) 画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム
EP3890312A1 (en) Distributed image analysis method and system, and storage medium
US11423313B1 (en) Configurable function approximation based on switching mapping table content
WO2020107264A1 (zh) 神经网络架构搜索的方法与装置
CN114998679A (zh) 深度学习模型的在线训练方法、装置、设备及存储介质
WO2021073638A1 (zh) 运行神经网络模型的方法、装置和计算机设备
CN116668351A (zh) 服务质量预测方法、装置、计算机设备及存储介质
US20220366262A1 (en) Method and apparatus for training neural network model
US20210319058A1 (en) Location-based alarm notification application
TWI724531B (zh) 服務調派設備及方法
TWI841901B (zh) 影像處理方法、處理器以及非暫態電腦可讀取紀錄媒體