TWI821038B - 運算工作分派方法及應用其之終端電子裝置與運算系統 - Google Patents
運算工作分派方法及應用其之終端電子裝置與運算系統 Download PDFInfo
- Publication number
- TWI821038B TWI821038B TW111144584A TW111144584A TWI821038B TW I821038 B TWI821038 B TW I821038B TW 111144584 A TW111144584 A TW 111144584A TW 111144584 A TW111144584 A TW 111144584A TW I821038 B TWI821038 B TW I821038B
- Authority
- TW
- Taiwan
- Prior art keywords
- terminal
- decision
- electronic device
- sub
- work allocation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012544 monitoring process Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 21
- 102100023927 Asparagine synthetase [glutamine-hydrolyzing] Human genes 0.000 description 8
- 101100380329 Homo sapiens ASNS gene Proteins 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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/505—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 the load
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
- Hardware Redundancy (AREA)
- Telephonic Communication Services (AREA)
Abstract
一種運算工作分派方法及應用其之終端電子裝置與運算系統。運算工作分派方法包括以下步驟。於至少一終端電子裝置監測數個子工作之一終端硬體資源使用資訊。依據終端硬體資源使用資訊,決定一工作分派決策,以將這些子工作分派於終端電子裝置或一邊緣伺服器。工作分派決策用以提高或最大化終端電子裝置之硬體使用率。執行工作分派決策。
Description
本揭露是有關於一種運算工作分派方法及應用其之終端電子裝置與運算系統。
邊緣運算架構是一種分佈式運算樣式,其在更接近用戶終端位置的邊緣雲上建置邊緣伺服器,提供運算和數據儲存能力,能達到運算能力強、低延遲等特性。在嵌入式智慧聯網技術的突破進步下,終端設備結合邊緣運算來解決智慧辨識運算也是常見的技術手段之一。
在邊緣運算架構結合這些多元的異質終端設備,以往過多依賴以邊緣伺服器為運算中心的分佈式運算策略,較不能充分發揮終端設備的效能。此外,因為終端設備多元的樣式,應用開發商等廠商在佈署應用至邊緣運算系統時大多花費時間與人力在嵌入式設備與邊緣伺服器之間的最佳運算分派做調校。為解
決以上異質終端設備差異變化造成較多的人力成本來調校工作運算分派與終端設備效能無法充分發揮的問題,研究人員正致力提出一種新的邊緣運算之運算工作分派技術。
本揭露係有關於一種運算工作分派方法及應用其之終端電子裝置與運算系統,其透過硬體資源的監測手段來自動生成工作分派決策,以分派子工作至終端電子裝置或中邊緣伺服器,使得每一終端電子裝置的硬體資源能夠獲得較高或最大化的利用。此外,在運作過程中,分派子工作可以因應運作情況的變化進行更新,讓每一終端電子裝置的硬體資源能夠維持在較高或最大化的利用。
根據本揭露之一方面,提出一種運算工作分派方法。運算工作分派方法包括以下步驟。於至少一終端電子裝置監測數個子工作之一終端硬體資源使用資訊。依據終端硬體資源使用資訊,決定一工作分派決策,以將這些子工作分派於終端電子裝置或一邊緣伺服器。工作分派決策用以提高或最大化終端電子裝置之硬體使用率。執行工作分派決策。
根據本揭露之另一方面,提出一種終端電子裝置。終端電子裝置包括一終端資源監測單元、一終端決策單元及一終端決策執行單元。終端資源監測單元用以監測數個子工作之數個終端硬體資源使用資訊。終端決策單元用以依據這些終端硬體資源使用資訊,決定一工作分派決策,以將這些子工作分派於終端
電子裝置或一邊緣伺服器。工作分派決策用以提高或最大化終端電子裝置之硬體使用率。終端決策執行單元用以執行工作分派決策。
根據本揭露之再一方面,提出一種運算系統。運算系統包括一邊緣伺服器及至少一終端電子裝置。終端電子裝置連線於邊緣伺服器。終端電子裝置包括一終端資源監測單元、一終端決策單元及一終端決策執行單元。終端資源監測單元用以監測數個子工作之一終端硬體資源使用資訊。終端決策單元用以依據終端硬體資源使用資訊,決定一工作分派決策,以將這些子工作分派於終端電子裝置或邊緣伺服器。工作分派決策用以提高或最大化終端電子裝置之硬體使用率。終端決策執行單元用以執行工作分派決策。
為了對本揭露之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
100_i,100_7:終端電子裝置
110:終端資源監測單元
120:終端資訊接收單元
140:終端決策單元
150:終端決策發送單元
160:終端決策接收單元
170:終端決策執行單元
900:邊緣伺服器
910:伺服器端資源監測單元
930:伺服器端資訊發送單元
960:伺服器端決策接收單元
970:伺服器端決策執行單元
1000:運算系統
ASi,AS1:應用服務
C124,C134,C234:候選組合
DCi:工作分派決策
P1:離線程序
P2:線上程序
R_GPU:圖形處理器使用率
R_CPU:中央處理器使用率
R_RAM:隨機存取記憶體使用率
R_vRAM:圖形處理器記憶體使用率
S101,S102,S103,S1031,S1032,S1033,S1034,S1035,S1036,S1037,S1038,S104,S105,S106,S107,S108,S109,S110,S111,S112,S113:步驟
TSij,TS11,TS12,TS13,TS14:子工作
TS71:人臉辨識子工作
US0:伺服器硬體資源使用資訊
USi:終端硬體資源使用資訊
第1圖繪示根據一實施例之運算系統之示意圖。
第2圖繪示根據一實施例之運算系統之方塊圖。
第3圖繪示根據一實施例之運算工作分派方法的流程圖。
第4圖繪示根據一實施例之終端硬體資源使用資訊。
第5圖繪示根據一實施例之步驟S103的細部流程圖。
第6A~6C圖示例說明步驟S103之運作。
第7A、7B圖繪示線上程序之一示例。
請參照第1圖,其繪示根據一實施例之運算系統1000之示意圖。運算系統1000包括複數個終端電子裝置100_i及一邊緣伺服器900。各個終端電子裝置100_i用以執行單一應用服務ASi。這些應用服務ASi例如為相同的應用服務,例如是顯示應用(也可以是路徑規劃應用、自駕應用等)。單一應用服務ASi包含多個子工作TSij,如人物辨識、商品辨識、觸控辨識等等。
邊緣伺服器900可用以執行應用服務ASi。各個終端電子裝置100_i所執行之應用服務ASi中,部分的子工作TSij可以分派給邊緣伺服器900執行,部分的子工作TSij可以留在終端電子裝置100_i執行。在一實施例中,任一終端電子裝置100_i之子工作TSij不會分派給其他終端電子裝置100_i,而只會分派給邊緣伺服器900。邊緣伺服器900具有強大的硬體資源,能夠協助每一終端電子裝置100_i執行一部份的子工作TSij。
科技日新月異,各種不同的終端電子裝置100_i不斷推陳出新,運算系統1000之各個終端電子裝置100_i的硬體資源可能不完全相同。倘若對這些異質終端電子裝置100_i採用固定的分派策略,不一定可以充分發揮終端電子裝置100_i的效能。運算能力強的終端電子裝置100_i可能閒置運算資源。
在一實施例中,可以透過硬體資源的監測手段來自動分派子工作TSij,使得終端電子裝置100_i的硬體資源能夠獲得最大化或較大的利用。
請參照第2圖,其繪示根據一實施例之運算系統1000之方塊圖。終端電子裝置100_i包括一終端資源監測單元110、一終端資訊接收單元120、一終端決策單元140、一終端決策發送單元150、一終端決策接收單元160及/或一終端決策執行單元170。在一實施例中,終端電子裝置100_i例如包括電路、晶片、電路板、微控制器(microcontroller)、微處理器(microprocessor)、處理器(processor)、中央處理器(central processing unit,CPU)、數位訊號處理器(digital signal processor,DSP)、特殊應用積體電路(application specific integrated circuit,ASIC)、數位邏輯電路、現場可程式邏輯閘陣列(field programmable gate array,FPGA)及/或其它具有運算及/或處理功能的硬體元件及/或軟體,用以執行各單元。在一實施例中,終端電子裝置100_i之終端資源監測單元110、終端資訊接收單元120、終端決策單元140、終端決策發送單元150、終端決策接收單元160及終端決策執行單元170。例如利用硬體及/或軟體執行各種資訊收發程序、資訊處理程序及/或控制程序。在一實施例中,硬體例如是電路、晶片、電路板、微控制器、微處理器、處理器、中央處理器、數位訊號處理器、特殊應用積體電路、數位邏輯電路、現場可程式邏輯閘陣列及/或其它具有運算及/或處理功能的硬體元件。軟體例
如是一電腦程式產品或儲存程式碼之儲存裝置,儲存程式碼之儲存裝置例如可儲存軟體程式於非暫態電腦可讀取儲存媒體(non-transitory computer readable storage medium),例如硬碟、固態硬碟、光碟、隨身碟、記憶體。當處理器從非暫態電腦可讀取儲存媒體載入軟體程式時,可執行本發明之方法。
邊緣伺服器900包括一伺服器端資源監測單元910、一伺服器端資訊發送單元930、一伺服器端決策接收單元960及一伺服器端決策執行單元970。在一實施例中,邊緣伺服器900例如包括電路、晶片、電路板、微控制器、微處理器、處理器、中央處理器、數位訊號處理器、特殊應用積體電路、數位邏輯電路、現場可程式邏輯閘陣列及/或其它具有運算及/或處理功能的硬體元件及/或軟體,用以執行各單元。在一實施例中,邊緣伺服器900之伺服器端資源監測單元910、伺服器端資訊發送單元930、伺服器端決策接收單元960及伺服器端決策執行單元970例如利用硬體及/或軟體執行各種資訊收發程序、資訊處理程序及/或控制程序。在一實施例中,硬體例如是電路、晶片、電路板、微控制器、微處理器、處理器、中央處理器、數位訊號處理器、特殊應用積體電路、數位邏輯電路、現場可程式邏輯閘陣列及/或其它具有運算及/或處理功能的硬體元件。軟體例如是一電腦程式產品或儲存程式碼之儲存裝置,儲存程式碼之儲存裝置例如可儲存軟體程式於非暫態電腦可讀取儲存媒體,例如硬碟、固態硬碟、光碟、
隨身碟、記憶體。當處理器從非暫態電腦可讀取儲存媒體載入軟體程式時,可執行本發明之方法。
終端電子裝置100_i與邊緣伺服器900未連線之狀態稱為離線狀態;終端電子裝置100_i與邊緣伺服器900連線及/或共同執行應用服務ASi之狀態稱為線上狀態。
在本實施例中,某一終端電子裝置100_i新加入運算系統1000時,可於離線狀態下由終端電子裝置100_i決定初始之一工作分派決策DCi,以將這些子工作TSij分派於終端電子裝置100_i或邊緣伺服器900,使得終端電子裝置100_i之硬體使用率提高或最大化。
進入線上狀態時,則會由終端電子裝置100_i依據運作情況更新工作分派決策DCi。以下搭配流程圖說明離線狀態與線上狀態之運作。
請參照第3圖,其繪示根據一實施例之運算工作分派方法的流程圖。運算工作分派方法包括執行於離線狀態的離線程序P1與執行於線上狀態的線上程序P2。離線程序P1包括步驟S101~S103。在步驟S101中,終端資源監測單元110於終端電子裝置100_i部署應用服務ASi。在此步驟中,終端資源監測單元110例如是將應用服務ASi所有可能的子工作TSij安排於執行佇列上。
接著,在步驟S102中,終端資源監測單元110於終端電子裝置100_i監測子工作TSij之一終端硬體資源使用資訊
USi。在此步驟中,各個子工作TSij例如是依序獨立執行,以得知每一子工作TSij執行時需要佔用多少終端硬體資源。
請參照第4圖,其繪示根據一實施例之終端硬體資源使用資訊USi。終端硬體資源使用資訊USi例如是包括圖形處理器使用率R_GPU、中央處理器使用率R_CPU、圖形處理器記憶體使用率R_vRAM及/或隨機存取記憶體使用率R_RAM。應用服務AS1例如是包括子工作TS11~TS14。子工作TS11在終端電子裝置100_i獨立執行時,對圖形處理器使用率R_GPU佔用10%、對中央處理器使用率R_CPU佔用20%、對隨機存取記憶體使用率R_RAM佔用10%、對圖形處理器記憶體使用率R_vRAM佔用20%。子工作TS12在終端電子裝置100_i獨立執行時,對圖形處理器使用率R_GPU佔用30%、對中央處理器使用率R_CPU佔用45%、對隨機存取記憶體使用率R_RAM佔用20%、對圖形處理器記憶體使用率R_vRAM佔用10%。子工作TS13、TS14依此類推。
在一實施例中,倘若四個子工作TS11~TS14同時執行,圖形處理器使用率R_GPU將會超過終端電子裝置100_i的負載。因此,需要進行分析以決定終端電子裝置100_i能夠執行哪些子工作TS11~TS14。
然後,在步驟S103中,終端決策單元140依據終端硬體資源使用資訊USi,決定工作分派決策DCi,以將這些子工作TSij分派於終端電子裝置100_i或邊緣伺服器900。工作分派決策DCi用以提高或最大化終端電子裝置100_i之硬體使用率。如第2圖所示,終端資訊接收單元120從終端資源監測單元110接收終端硬體資源使用資訊USi,並轉送至終端決策單元140。
在一實施例中,圖形處理器的價值高於中央處理器,故需要優先考慮圖形處理器使用率R_GPU,再考慮中央處理器使用率R_CPU,隨後則是考慮圖形處理器記憶體使用率R_vRAM及隨機存取記憶體使用率R_RAM,以使終端電子裝置100_i能夠做最有效或較有效的利用。
請參照第5圖及第6A~6C圖,第5圖繪示根據一實施例之步驟S103的細部流程圖,第6A~6C圖示例說明步驟S103之運作。步驟S103包括步驟S1031~S1038。在步驟S1031中,終端決策單元140判斷應用服務ASi中是否含有需要圖形處理器的子工作TSij。若含有需要圖形處理器的子工作TSij,則進入步驟S1032;若沒有需要圖形處理器的子工作TSij,則進入步驟S1036。以第6A圖為例,應用服務AS1含有需要圖形處理器的子工作TS11~TS14,故流程進入步驟S1032。
在步驟S1032中,終端決策單元140篩選子工作TSij之候選組合,以提高或最大化圖形處理器使用率R_GPU。以第6A圖及下表一為例,四個子工作TSij總共會有16種組合。排除掉四個子工作TSij全選(圖形處理器使用率R_GPU為110%),從剩餘的15種組合中挑選最大化圖形處理器使用率R_GPU優先判斷。在提高或最大化圖形處理器使用率R_GPU但又不超過負載的情況下,終端決策單元140可以篩選出子工作TS12、TS13、TS14這個候選組合C234。
接著,在步驟S1033中,終端決策單元140判斷候選組合之中央處理器使用率R_CPU是否超過負載。若候選組合之中央處理器使用率R_CPU超過負載,則回至步驟S1032;若候選組合之中央處理器使用率R_CPU未超過負載,則進入步驟S1034。以第6A圖為例,候選組合C234之中央處理器使用率R_CPU已達到105%,超過負載,故回至步驟S1032。
重回至步驟S1032時,排除掉中央處理器使用率R_CPU超過負載之組合後,終端決策單元140會從剩餘的組合進行篩選,以提高或最大化圖形處理器使用率R_GPU。以第6B圖及表一為例,排除掉候選組合C234之後,終端決策單元140可以取得子工作TS11、TS13、TS14這個候選組合C134。
在步驟S1034中,終端決策單元140判斷候選組合之圖形處理器記憶體使用率R_vRAM或隨機存取記憶體使用率R_RAM是否超過負載。若候選組合之圖形處理器記憶體使用率R_vRAM或隨機存取記憶體使用率R_RAM超過負載,則回至步
驟S1032;若候選組合之圖形處理器記憶體使用率R_vRAM或隨機存取記憶體使用率R_RAM未超過負載,則進入步驟S1035。以第6B圖為例,候選組合C134之隨機存取記憶體使用率R_RAM已達到105%,超過負載,故回至步驟S1032。
重回至步驟S1032時,排除掉中央處理器使用率R_CPU超過負載之組合後,終端決策單元140會從剩餘的組合進行篩選,以提高或最大化圖形處理器使用率R_GPU。以第6C圖為例,排除掉候選組合C234、C134之後,終端決策單元140可以取得子工作TS11、TS12、TS14這個候選組合C124。
在步驟S1035中,終端決策單元140判斷候選組合之中央處理器使用率R_CPU是否低於一預定位準。若候選組合之中央處理器使用率R_CPU低於預定位準,則進入步驟S1036;若候選組合之中央處理器使用率R_CPU未低於預定位準,則進入步驟S1038。預定位準例如是50%。以第6C圖為例,候選組合C124之中央處理器使用率R_CPU為80%,其未低於預定位準,故進入步驟S1038。
在步驟S1036中,終端決策單元140篩選子工作TSij之候選組合,以提高或最大化中央處理器使用率R_CPU。
接著,在步驟S1037中,終端決策單元140判斷候選組合之圖形處理器記憶體使用率R_vRAM或隨機存取記憶體使用率R_RAM是否超過負載。若候選組合之圖形處理器記憶體使用率R_vRAM或隨機存取記憶體使用率R_RAM超過負載,則回至步驟S1036;若候選組合之圖形處理器記憶體使用率R_vRAM或隨機存取記憶體使用率R_RAM未超過負載,則進入步驟S1038。
然後,在步驟S1038中,終端決策單元140依據已選定的候選組合決定工作分派決策DCi。已選定之候選組合中的子工作TSij將分派給終端電子裝置100_i執行,其餘的子工作TSij則分派給邊緣伺服器900執行。
透過上述步驟S1031~S1038即可決定工作分派決策DCi。
在一實施例中,針對每一終端電子裝置100_i均會決定一個工作分派決策DCi。每一終端電子裝置100_i均會執行上述的離線程序P1。
上述步驟S101~S103係為離線程序P1。決定工作分派決策DCi後,則進入線上程序P2之步驟S104~S113。
接著,在第3圖之步驟S104中,終端電子裝置100_i及邊緣伺服器900執行工作分派決策DCi。詳細來說,請參照第2圖,終端決策發送單元150自終端決策單元140取得工作分派決策DCi後,將工作分派決策DCi發送至終端決策接收單元160及伺服器端決策接收單元960。終端決策執行單元170自終端決策接收單元160取得工作分派決策DCi後,按照工作分派決策DCi執行部份之子工作TSij。伺服器端決策執行單元970自伺服器端決策接收單元960取得工作分派決策DCi後,按照工作分派決策DCi執行一部份之子工作TSij。
請參照第7A、7B圖,其繪示線上程序P2之一示例。在線上程序P2運作過程中,實際運作情況可能會不斷改變。舉例來說,如第7A圖所示,當商店內的顧客增加時,人臉辨識子工作TS71對終端電子裝置100_7可能會造成過度負載,故需要移至邊
緣伺服器900執行。如第7B圖所示,當商店內的顧客減少時,人臉辨識子工作TS71不會對終端電子裝置100_7造成過度負載,故可以移回終端電子裝置100_7執行。
在第3圖之步驟S105中,於終端電子裝置100_i,終端資源監測單元110更新子工作TSij之終端硬體資源使用資訊USi。在此步驟中,終端資源監測單元110係週期性更新子工作TSij之終端硬體資源使用資訊USi,並將更新後的終端硬體資源使用資訊USi傳送至終端資訊接收單元120。
接著,在步驟S106中,於邊緣伺服器900,伺服器端資源監測單元910獲得子工作TSij之一伺服器硬體資源使用資訊US0。在此步驟中,伺服器端資源監測單元910係週期性更新子工作TSij之伺服器硬體資源使用資訊US0,並將更新後的伺服器硬體資源使用資訊US0傳送至伺服器端資訊發送單元930。
然後,在步驟S107中,伺服器端資訊發送單元930向終端電子裝置100_i發送伺服器硬體資源使用資訊US0。
接著,在步驟S108中,終端電子裝置100_i之終端資訊接收單元120接收伺服器硬體資源使用資訊US0。如第2圖所示,終端資訊接收單元120會接收終端硬體資源使用資訊USi及伺服器硬體資源使用資訊US0,並將其轉送至終端決策單元140。
然後,在步驟S109中,終端決策單元140依據終端硬體資源使用資訊USi及伺服器硬體資源使用資訊US0,決定工作分派決策DCi。新決定的工作分派決策DCi與原本的工作分派決策DCi可以一樣,也可能不一樣。在一實施例中,步驟S109與步驟S103相同或相似。
在本實施例中,更新工作分派決策DCi之步驟S109係由終端電子裝置100_i執行,而不是由邊緣伺服器900執行。每一終端電子裝置100_i可以按照本身的情況產生最佳的工作分派決策DCi。
接著,在步驟S110中,終端決策單元140判斷工作分派決策DCi是否需要更新。若工作分派決策DCi需要更新,則進入步驟S111;若工作分派決策DCi不需要更新,則進入步驟S104。
在步驟S111中,終端決策發送單元150發送更新後之工作分派決策DCi。
接著,在步驟S112中,終端決策接收單元160接收更新後之工作分派決策DCi。
然後,在步驟S113中,伺服器端決策接收單元960接收更新後之工作分派決策DCi。
接著,回至步驟S104,終端電子裝置100_i及邊緣伺服器900執行工作分派決策DCi。詳細來說,請參照第2圖,終端決策執行單元170自終端決策接收單元160取得工作分派決策DCi後,按照工作分派決策DCi執行一部份之子工作TSij。伺服器端決策執行單元970自伺服器端決策接收單元960取得工作分派決策DCi後,按照工作分派決策DCi執行一部份之子工作TSij。
上述步驟S104~S113係為線上程序P2。線上程序P2週期性重複執行,以因應運作情況的變化,讓每一終端電子裝置100_i的硬體資源能夠維持在較大或最大化的利用。
根據上述實施例,透過硬體資源的監測手段來自動生成工作分派決策DCi,以分派子工作TSij至終端電子裝置100_i或邊緣伺服器900,使得每一終端電子裝置100_i的硬體資源能夠獲得較大或最大化的利用。此外,在運作過程中,分派子工作TSij可以因應運作情況的變化進行更新,讓每一終端電子裝置100_i的硬體資源能夠維持在較大或最大化的利用。
綜上所述,雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露。本揭露所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作各種之更動與潤飾。因此,本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
100_i:終端電子裝置
900:邊緣伺服器
S101,S102,S103,S104,S105,S106,S107,S108,S109,S110,S111,S112,S113:步驟
P1:離線程序
P2:線上程序
Claims (20)
- 一種運算工作分派方法,包括:於至少一終端電子裝置監測複數個子工作之一終端硬體資源使用資訊;依據該終端硬體資源使用資訊,決定一工作分派決策,以將該些子工作分派於該終端電子裝置或一邊緣伺服器,該工作分派決策用以提高或最大化該終端電子裝置之硬體使用率;以及執行該工作分派決策。
- 如請求項1所述之運算工作分派方法,其中該終端硬體資源使用資訊包括對應於該些子工作之複數個圖形處理器使用率及複數個中央處理器使用率,在決定該工作分派決策之步驟中,提高或最大化該些圖形處理器使用率之組合優先於提高或最大化該些中央處理器使用率之組合。
- 如請求項2所述之運算工作分派方法,其中該終端硬體資源使用資訊更包括對應於該些子工作之複數個圖形處理器記憶體使用率及複數個隨機存取記憶體使用率,在決定該工作分派決策之步驟中,提高或最大化該些中央處理器使用率之組合優先於提高或最大化該些圖形處理器記憶體使用率之組合及提高或最大化該些隨機存取記憶體使用率之組合。
- 如請求項1所述之運算工作分派方法,更包括: 於該終端電子裝置,更新該些子工作之該終端硬體資源使用資訊;於該邊緣伺服器,決定該些子工作之一伺服器硬體資源使用資訊;依據該終端硬體資源使用資訊及該伺服器硬體資源使用資訊,更新該工作分派決策;以及執行更新後之該工作分派決策。
- 如請求項4所述之運算工作分派方法,其中更新該工作分派決策之步驟係由該終端電子裝置執行。
- 如請求項4所述之運算工作分派方法,其中在更新該工作分派決策之步驟中,部分之該些子工作自該邊緣伺服器移動至該終端電子裝置,以提高或最大化該終端電子裝置之硬體使用率。
- 如請求項4所述之運算工作分派方法,其中在更新該工作分派決策之步驟中,部分之該些子工作自該終端電子裝置移動至該邊緣伺服器,以避免該終端電子裝置之硬體使用率超出負載。
- 一種終端電子裝置,包括:一終端資源監測單元,用以監測複數個子工作之複數個終端硬體資源使用資訊; 一終端決策單元,用以依據該些終端硬體資源使用資訊,決定一工作分派決策,以將該些子工作分派於該終端電子裝置或一邊緣伺服器,該工作分派決策用以提高或最大化該終端電子裝置之硬體使用率;以及一終端決策執行單元,用以執行該工作分派決策。
- 如請求項8所述之終端電子裝置,其中該終端硬體資源使用資訊包括對應於該些子工作之複數個圖形處理器使用率及複數個中央處理器使用率,該終端決策單元優先提高或最大化該些圖形處理器使用率之組合,再提高或最大化該些中央處理器使用率之組合,以決定該工作分派決策。
- 如請求項9所述之終端電子裝置,其中該終端硬體資源使用資訊更包括對應於該些子工作之複數個圖形處理器記憶體使用率及複數個隨機存取記憶體使用率,該終端決策單元優先提高或最大化該些中央處理器使用率之組合,再提高或最大化該些圖形處理器記憶體使用率之組合與提高或最大化該些隨機存取記憶體使用率之組合,以決定該工作分派決策。
- 如請求項8所述之終端電子裝置,更包括:一終端資訊接收單元,用以自該邊緣伺服器,獲得該些子工作之一伺服器硬體資源使用資訊,該終端資源監測單元更新該些子工作之該終端硬體資源使用資訊,且該終端決策單元依據該終 端硬體資源使用資訊及該伺服器硬體資源使用資訊,更新該工作分派決策;以及一終端決策發送單元,用以發送該工作分派決策至該終端決策執行單元及該邊緣伺服器,以執行更新後之該工作分派決策。
- 如請求項11所述之終端電子裝置,其中在更新後之該工作分派決策中,部分之該些子工作自該邊緣伺服器移動至該終端電子裝置,以提高或最大化該終端電子裝置之硬體使用率。
- 如請求項11所述之終端電子裝置,其中在更新後之該工作分派決策中,部分之該些子工作自該終端電子裝置移動至該邊緣伺服器,以避免該終端電子裝置之硬體使用率超出負載。
- 一種運算系統,包括:一邊緣伺服器;以及至少一終端電子裝置,連線於該邊緣伺服器,該終端電子裝置包括:一終端資源監測單元,用以監測複數個子工作之一終端硬體資源使用資訊;一終端決策單元,用以依據該終端硬體資源使用資訊,決定一工作分派決策,以將該些子工作分派於該終端電子裝置或該 邊緣伺服器,該工作分派決策用以提高或最大化該終端電子裝置之硬體使用率;及一終端決策執行單元,用以執行該工作分派決策。
- 如請求項14所述之運算系統,其中該終端硬體資源使用資訊包括對應於該些子工作之複數個圖形處理器使用率及複數個中央處理器使用率,該終端決策單元優先提高或最大化該些圖形處理器使用率之組合,再提高或最大化該些中央處理器使用率之組合,以決定該工作分派決策。
- 如請求項14所述之運算系統,其中該終端硬體資源使用資訊更包括對應於該些子工作之複數個圖形處理器記憶體使用率及複數個隨機存取記憶體使用率,該終端決策單元優先提高或最大化該些中央處理器使用率之組合,再提高或最大化該些圖形處理器記憶體使用率之組合與提高或最大化該些隨機存取記憶體使用率之組合,以決定該工作分派決策。
- 如請求項14所述之運算系統,其中該終端電子裝置更包括:一終端資訊接收單元,用以自該邊緣伺服器,獲得該些子工作之一伺服器硬體資源使用資訊,該終端資源監測單元更新該些子工作之該終端硬體資源使用資訊,且該終端決策單元依據該終端硬體資源使用資訊及該伺服器硬體資源使用資訊,更新該工作分派決策;以及 一終端決策發送單元,用以發送該工作分派決策至該終端決策執行單元及該邊緣伺服器,以執行更新後之該工作分派決策。
- 如請求項17所述之運算系統,其中該邊緣伺服器包括:一伺服器端資訊發送單元,用以發送該些子工作之該伺服器硬體資源使用資訊。
- 如請求項17所述之運算系統,其中在更新後之該工作分派決策中,部分之該些子工作自該邊緣伺服器移動至該終端電子裝置,以提高或最大化該終端電子裝置之硬體使用率。
- 如請求項17所述之運算系統,其中在更新後之該工作分派決策中,部分之該些子工作自該終端電子裝置移動至該邊緣伺服器,以避免該終端電子裝置之硬體使用率超出負載。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111144584A TWI821038B (zh) | 2022-11-22 | 2022-11-22 | 運算工作分派方法及應用其之終端電子裝置與運算系統 |
CN202211556776.2A CN118069343A (zh) | 2022-11-22 | 2022-12-06 | 运算工作分派方法及应用其的终端电子装置与运算系统 |
US18/085,899 US20240168818A1 (en) | 2022-11-22 | 2022-12-21 | Computing task dispatching method, terminal electronic device and computing system using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111144584A TWI821038B (zh) | 2022-11-22 | 2022-11-22 | 運算工作分派方法及應用其之終端電子裝置與運算系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI821038B true TWI821038B (zh) | 2023-11-01 |
TW202422333A TW202422333A (zh) | 2024-06-01 |
Family
ID=89722446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111144584A TWI821038B (zh) | 2022-11-22 | 2022-11-22 | 運算工作分派方法及應用其之終端電子裝置與運算系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240168818A1 (zh) |
CN (1) | CN118069343A (zh) |
TW (1) | TWI821038B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201931145A (zh) * | 2018-01-04 | 2019-08-01 | 財團法人工業技術研究院 | 動態工作移轉方法及伺服器 |
CN110287035A (zh) * | 2019-08-20 | 2019-09-27 | 中国人民解放军国防科技大学 | 混合边缘计算的请求调度方法、装置、设备及存储介质 |
TW202037132A (zh) * | 2018-12-04 | 2020-10-01 | 日商日本電信電話股份有限公司 | Ict資源管理裝置、ict資源管理方法以及ict資源管理程式 |
TW202123731A (zh) * | 2019-12-13 | 2021-06-16 | 財團法人工業技術研究院 | 多邊緣雲之網路通訊控制方法及邊緣運算裝置與系統 |
TW202123003A (zh) * | 2019-12-05 | 2021-06-16 | 財團法人資訊工業策進會 | 用於一邊緣運算網路的負載平衡裝置及方法 |
CN113132497A (zh) * | 2021-06-18 | 2021-07-16 | 杭州天舰信息技术股份有限公司 | 一种移动边缘运算的负载平衡和调度方法 |
TW202215262A (zh) * | 2020-10-07 | 2022-04-16 | 智捷科技股份有限公司 | 一種具延遲感知負載平衡的反向代理方法和存儲裝置 |
TW202220469A (zh) * | 2020-11-03 | 2022-05-16 | 啟碁科技股份有限公司 | 資源管理系統及資源管理方法 |
CN114518949A (zh) * | 2020-11-18 | 2022-05-20 | 启碁科技股份有限公司 | 资源管理系统及资源管理方法 |
TW202234236A (zh) * | 2020-12-24 | 2022-09-01 | 美商英特爾公司 | 用以最佳化邊緣網路中的資源之方法、系統、製品及設備 |
-
2022
- 2022-11-22 TW TW111144584A patent/TWI821038B/zh active
- 2022-12-06 CN CN202211556776.2A patent/CN118069343A/zh active Pending
- 2022-12-21 US US18/085,899 patent/US20240168818A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201931145A (zh) * | 2018-01-04 | 2019-08-01 | 財團法人工業技術研究院 | 動態工作移轉方法及伺服器 |
TW202037132A (zh) * | 2018-12-04 | 2020-10-01 | 日商日本電信電話股份有限公司 | Ict資源管理裝置、ict資源管理方法以及ict資源管理程式 |
CN110287035A (zh) * | 2019-08-20 | 2019-09-27 | 中国人民解放军国防科技大学 | 混合边缘计算的请求调度方法、装置、设备及存储介质 |
TW202123003A (zh) * | 2019-12-05 | 2021-06-16 | 財團法人資訊工業策進會 | 用於一邊緣運算網路的負載平衡裝置及方法 |
TW202123731A (zh) * | 2019-12-13 | 2021-06-16 | 財團法人工業技術研究院 | 多邊緣雲之網路通訊控制方法及邊緣運算裝置與系統 |
TW202215262A (zh) * | 2020-10-07 | 2022-04-16 | 智捷科技股份有限公司 | 一種具延遲感知負載平衡的反向代理方法和存儲裝置 |
TW202220469A (zh) * | 2020-11-03 | 2022-05-16 | 啟碁科技股份有限公司 | 資源管理系統及資源管理方法 |
CN114518949A (zh) * | 2020-11-18 | 2022-05-20 | 启碁科技股份有限公司 | 资源管理系统及资源管理方法 |
TW202234236A (zh) * | 2020-12-24 | 2022-09-01 | 美商英特爾公司 | 用以最佳化邊緣網路中的資源之方法、系統、製品及設備 |
CN113132497A (zh) * | 2021-06-18 | 2021-07-16 | 杭州天舰信息技术股份有限公司 | 一种移动边缘运算的负载平衡和调度方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202422333A (zh) | 2024-06-01 |
CN118069343A (zh) | 2024-05-24 |
US20240168818A1 (en) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733026B2 (en) | Automated workflow selection | |
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
WO2020211579A1 (zh) | 一种基于分布式批量处理系统的处理方法、装置及系统 | |
US6587938B1 (en) | Method, system and program products for managing central processing unit resources of a computing environment | |
US6519660B1 (en) | Method, system and program products for determining I/O configuration entropy | |
US8458714B2 (en) | Method, system and program products for managing logical processors of a computing environment | |
JP5770721B2 (ja) | 情報処理システム | |
JP6241300B2 (ja) | ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム | |
US7673305B2 (en) | System and method of expediting certain jobs in a computer processing system | |
CN112181613B (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
CN113342477A (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
CN106897132A (zh) | 一种服务器任务调度的方法以及装置 | |
CN111464659A (zh) | 节点的调度、节点的预选处理方法、装置、设备及介质 | |
JPH09167141A (ja) | 負荷分散制御方法 | |
JP2013515991A (ja) | アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム | |
WO2022111453A1 (zh) | 任务处理方法及装置、任务分配方法、电子设备、介质 | |
CN113467933B (zh) | 分布式文件系统线程池优化方法、系统、终端及存储介质 | |
CN112817728A (zh) | 任务调度方法、网络设备和存储介质 | |
US7007150B2 (en) | Memory balancing and optimization services | |
CN115048216B (zh) | 一种人工智能集群的资源管理调度方法、装置和设备 | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
CN115237586A (zh) | 深度学习推理性能干扰感知的gpu资源配置方法 | |
CN115639762A (zh) | 机器人智能调度方法、装置、计算设备及计算机存储介质 | |
TWI821038B (zh) | 運算工作分派方法及應用其之終端電子裝置與運算系統 | |
US20230418667A1 (en) | Computing device for handling tasks in a multi-core processor, and method for operating computing device |