TWI620075B - 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 - Google Patents
用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 Download PDFInfo
- Publication number
- TWI620075B TWI620075B TW105138406A TW105138406A TWI620075B TW I620075 B TWI620075 B TW I620075B TW 105138406 A TW105138406 A TW 105138406A TW 105138406 A TW105138406 A TW 105138406A TW I620075 B TWI620075 B TW I620075B
- Authority
- TW
- Taiwan
- Prior art keywords
- task
- executed
- data
- file
- computing
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一種用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法。伺服器運行一動態擴增系統,以執行下列操作:接收一任務訊息;基於任務訊息所記載之一待執行任務,執行一輪廓程序以產生一輪廓檔案;執行一分類程序,以判斷待執行任務之一任務類別;執行一預測程序,以得到待執行任務之相對於複數運算節點數量之複數預測執行時間、運算節點類型及系統參數;執行一最佳化程序,以決定待執行任務之實際運算節點數量;以及,傳送一最佳化輸出訊息至一管理伺服器,以使管理伺服器分配至少一資料運算系統來執行待執行任務之一程式碼檔案。
Description
本發明係關於一種用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法。具體而言,本發明之伺服器運行一動態擴增系統以執行一輪廓程序、一分類程序、一預測程序以及一最佳化程序來決定待執行任務之實際運算節點數量、運算節點類型及系統參數。
隨著科技的發展,許多雲端服務提供商(例如:Amazon、Google、VMware、Microsoft等)皆提供雲端運算服務,並根據使用者的需求配置虛擬主機供使用者進行資料的處理。雲端運算服務可採用Hadoop運算框架、Spark運算框架或其他多種雲端運算框架,來提供處理巨量資料運算的平台。在這種公有雲服務的架構下,雲端服務提供商大多具有足夠的硬體資源,以提供看似無限的運算資源,故當使用者欲執行的程式複雜度及欲處理的資料量增加時,使用者可直接自行調整或透過設定所需之虛擬主機的數量及其系統參數(即硬體與軟體的配置)來滿足自身的需求。
然而,虛擬主機的數量及其系統參數之調整或設定皆是靠使用者個人的經驗所決定的,並非經由有效的分析欲執行的程式複雜度及欲
處理的資料量所決定的,特別是目前的雲端服務提供商為提供此分析服務。此外,若進一步考量運算資源有限的情況(即虛擬主機的數量及其系統參數的設定有所限制的情況),則使用者自行所調整或設定之虛擬主機的數量及其系統參數將會造成有限資源分配不公,並且使得有限資源無法達到最佳化的利用,而使得運算系統整體效益低落。
有鑑於此,本領域亟需一種雲端運算資源最佳化機制,在運算資源有限的情況下,可自動配置運算資源以及進行虛擬主機的擴增或刪減,而使得有限資源達到最佳化的利用。
本發明之目的在於提供一種雲端運算資源最佳化機制,其係在雲端巨量資料運算架構中運行一動態擴增系統,以對一任務訊息所記載之一待執行任務,進行輪廓分析。接著,動態擴增系統基於輪廓分析的結果,對待執行任務進行分類,並基於分類結果,指定該待執行任務之運算節點類型及系統參數,以及預測待執行任務之相對於複數運算節點數量之複數預測執行時間。隨後,動態擴增系統根據待執行任務之一使用者定義屬性與該等預測執行時間、至少一其他任務每一者之一其他使用者定義屬性及複數其他預測執行時間以及雲端巨量資料運算架構之最大運算資源,決定待執行任務之一實際運算節點數量,並將待執行任務之實際運算節點數量、運算節點類型及系統參數提供至雲端巨量資料運算架構之管理伺服器,以使其得以分配適當的運算資源給待執行任務。
據此,本發明雲端運算資源最佳化機制可套用於採用各種雲端運算框架(例如:Hadoop運算框架及Spark運算框架)的雲端巨量資料運
算架構中,以在運算資源有限的情況下,自動配置運算資源以及進行虛擬主機的擴增或刪減,而使得有限資源達到最佳化的利用,進而避免因使用者自行調整或設定之虛擬主機的數量及其系統參數所造成的有限資源分配不公或運算系統整體效益低落。
為達上述目的,本發明揭露一種用於一雲端巨量資料(Big Data)運算架構之伺服器,其包含一收發器及一處理器。該收發器連接至一網路。該處理器電性連接至該收發器,用以運行一動態擴增系統(Dynamic Scaling System),以透過該收發器接收一任務訊息。該任務訊息記載一待執行任務之一使用者定義屬性、一程式碼檔案及複數資料檔案。該程式碼檔案及該等資料檔案儲存於一資料儲存系統,其運行於該雲端巨量資料運算架構中之一資料儲存伺服器總成中。動態擴增系統更被運行以執行一輪廓程序,包含下列步驟:對該任務訊息中所記載之該等資料檔案進行取樣,以決定複數取樣資料檔案以及產生一預先執行訊息,該預先執行訊息記載該等取樣資料檔案及該待執行任務之該程式碼檔案;透過該收發器傳送該預先執行訊息至該雲端巨量資料運算架構之一巨量資料運算伺服器總成,以使該巨量資料運算伺服器總成中所運行之一取樣資料運算系統針對該等取樣資料檔案,執行該程式碼檔案,並根據該程式碼檔案之一執行結果,產生一輪廓檔案;以及透過該收發器,自該巨量資料運算伺服器總成,接收該輪廓檔案。接著,動態擴增系統更被運行以執行一分類程序,包含下列步驟:基於一分類模型,將該輪廓檔案與該分類模型進行比對,以判斷該待執行任務之一任務類別。隨後,動態擴增系統更被運行以執行一預測程序,包含下列步驟:基於一預測模型中對應該任務類別之一子預測模型
所記載之一運算節點類型及一系統參數,指定該運算節點類型及該系統參數予該待執行任務;以及基於該子預測模型,根據該任務類別及該輪廓檔案,產生該待執行任務之一執行時間預測曲線,得到該待執行任務之相對於複數運算節點數量之複數預測執行時間,該等運算節點數量係一對一地對應至該等預測執行時間。此外,動態擴增系統更被運行以執行一最佳化程序,包含下列步驟:判斷是否存在至少一其他任務;當存在該至少一其他任務時,根據該待執行任務之該使用者定義屬性與該等預測執行時間、各該至少一其他任務之一其他使用者定義屬性及複數其他預測執行時間以及該巨量資料運算伺服器總成之一最大運算資源,決定該待執行任務之一實際運算節點數量;產生一最佳化輸出訊息,該最佳化輸出訊息記載該待執行任務之該程式碼檔案、該等資料檔案、該實際運算節點數量、該運算節點類型及該系統參數。另外,動態擴增系統更被運行以透過該收發器,傳送該最佳化輸出訊息至該雲端巨量資料運算架構之一管理伺服器,以使該管理伺服器所運行之一管理系統根據該最佳化輸出訊息,分配該巨量資料運算伺服器總成中所運行之至少一資料運算系統來針對該待執行任務之該等資料檔案,執行該程式碼檔案,其中該至少一資料運算系統之一數目等於該實際運算節點數量。
此外,本發明更揭露一種用於一雲端巨量資料(Big Data)運算架構之一伺服器之雲端運算資源最佳化方法。該伺服器包含一收發器及一處理器。該收發器連接至一網路。該處理器電性連接至該收發器,用以運行一動態擴增系統(Dynamic Scaling System)以執行該雲端運算資源最佳化方法。該雲端運算資源最佳化方法包含步驟:透過該收發器接收一
任務訊息。該任務訊息記載一待執行任務之一使用者定義屬性、一程式碼檔案及複數資料檔案。該程式碼檔案及該等資料檔案儲存於一資料儲存系統,其運行於該雲端巨量資料運算架構中之一資料儲存伺服器總成中。該雲端運算資源最佳化方法包含步驟:執行一輪廓程序,其包含下列步驟:對該任務訊息中所記載之該等資料檔案進行取樣,以決定複數取樣資料檔案以及產生一預先執行訊息,該預先執行訊息記載該等取樣資料檔案及該待執行任務之該程式碼檔案;透過該收發器傳送該預先執行訊息至該雲端巨量資料運算架構之一巨量資料運算伺服器總成,以使該巨量資料運算伺服器總成中所運行之一取樣資料運算系統針對該等取樣資料檔案,執行該程式碼檔案,並根據該程式碼檔案之一執行結果,產生一輪廓檔案;以及透過該收發器,自該巨量資料運算伺服器總成,接收該輪廓檔案。該雲端運算資源最佳化方法更包含步驟:執行一分類程序,其包含步驟:基於一分類模型,將該輪廓檔案與該分類模型進行比對,以判斷該待執行任務之一任務類別。該雲端運算資源最佳化方法更包含步驟:執行一預測程序,其包含步驟:基於一預測模型中對應該任務類別之一子預測模型所記載之一運算節點類型及一系統參數,指定該運算節點類型及該系統參數予該待執行任務;以及基於該子預測模型,根據該任務類別及該輪廓檔案,產生該待執行任務之一執行時間預測曲線,得到該待執行任務之相對於複數運算節點數量之複數預測執行時間,該等運算節點數量係一對一地對應至該等預測執行時間。該雲端運算資源最佳化方法更包含步驟:執行一最佳化程序,其包含步驟:判斷是否存在至少一其他任務;當存在該至少一其他任務時,根據該待執行任務之該使用者定義屬性與該等預測執行時間、各
該至少一其他任務之一其他使用者定義屬性及複數其他預測執行時間以及該巨量資料運算伺服器總成之一最大運算資源,決定該待執行任務之一實際運算節點數量;產生一最佳化輸出訊息,該最佳化輸出訊息記載該待執行任務之該程式碼檔案、該等資料檔案、該實際運算節點數量、該運算節點類型及該系統參數。此外,該雲端運算資源最佳化方法更包含步驟:透過該收發器,傳送該最佳化輸出訊息至該雲端巨量資料運算架構之一管理伺服器,以使該管理伺服器所運行之一管理系統根據該最佳化輸出訊息,分配該巨量資料運算伺服器總成中所運行之至少一資料運算系統來針對該待執行任務之該等資料檔案,執行該程式碼檔案,其中該至少一資料運算系統之一數目等於該實際運算節點數量。
在參閱圖式及隨後描述之實施方式後,此技術領域具有通常知識者便可瞭解本發明之其他目的,以及本發明之技術手段及實施態樣。
1‧‧‧伺服器
2‧‧‧巨量資料運算伺服器總成
3‧‧‧資料管理伺服器
4‧‧‧資料儲存伺服器總成
11‧‧‧收發器
13‧‧‧處理器
21‧‧‧取樣資料運算系統
23‧‧‧資料運算系統
31‧‧‧管理系統
41‧‧‧資料儲存系統
43‧‧‧動態擴增資料儲存系統
130‧‧‧動態擴增系統
131‧‧‧輪廓程序
133‧‧‧分類程序
135‧‧‧預測程序
137‧‧‧最佳化程序
139‧‧‧監控程序
P1‧‧‧執行時間預測曲線
P1’‧‧‧更新後之執行時間預測曲線
N‧‧‧運算節點數量
Vi、V1、V2、V3‧‧‧任務權重值
T‧‧‧預測執行時間
S701-S1107‧‧‧步驟
第1圖係本發明之伺服器1之示意圖;第2圖係描繪本發明之雲端巨量資料運算架構之一實施情境;第3圖係描繪本發明之一任務之執行時間預測曲線;第4圖係本發明之最佳化程序中比值計算之示意圖;第5圖係描繪本發明之雲端巨量資料運算架構之另一實施情境;第6圖係描繪本發明之監控程序更新一任務之執行時間預測曲線;以及第7圖至第11圖係本發明之雲端運算資源最佳化方法流程圖。
以下將透過實施例來解釋本發明內容,本發明的實施例並非用以限制本發明須在如實施例所述之任何特定的環境、應用或特殊方式方能實施。因此,關於實施例之說明僅為闡釋本發明之目的,而非用以限制本發明。需說明者,以下實施例及圖式中,與本發明非直接相關之元件已省略而未繪示,且圖式中各元件間之尺寸關係僅為求容易瞭解,並非用以限制實際比例。
本發明第一實施例如第1圖至第4圖所示。第1圖係本發明之伺服器1之示意圖。伺服器1包含一收發器11及一處理器13。收發器11連接至一網路,例如:一網際網路、一區域網路、一電信網路或其任意組合之網路。處理器13電性連接至收發器11,用以運行一動態擴增系統130,以透過收發器11接收一任務訊息。任務訊息記載一待執行任務之一使用者定義屬性、一程式碼檔案及複數資料檔案。程式碼檔案及該等資料檔案儲存於一資料儲存系統41,其運行於一雲端巨量資料運算架構中之一資料儲存伺服器總成4中,如第2圖所示。
此外,如第2圖所示,動態擴增系統130更被運行以執行一輪廓程序131。於輪廓程序131中,動態擴增系統130先對任務訊息中所記載之該等資料檔案進行取樣,以決定複數取樣資料檔案以及產生一預先執行訊息。預先執行訊息記載該等取樣資料檔案及待執行任務之程式碼檔案。取樣資料檔案係用於評估待執行任務所需運算的資源及時間。
接著,動態擴增系統130被運行以透過收發器11傳送預先執行訊息至雲端巨量資料運算架構之一巨量資料運算伺服器總成2,以使巨量資料運算伺服器總成2中所運行之一取樣資料運算系統21針對該等取樣資
料檔案,執行程式碼檔案,並根據程式碼檔案之一執行結果,產生一輪廓檔案。接著,動態擴增系統130被運行以透過收發器11,自巨量資料運算伺服器總成2,接收輪廓檔案。待執行任務之輪廓檔案包含一程式碼檔案剖析資料、一取樣任務日誌檔及一系統資源使用紀錄。
須說明者,於本實施例中,各取樣資料運算系統(運算節點)21係巨量資料運算伺服器總成2中的虛擬主機。各運算節點被配置共享實體硬體資源,例如:記憶體容量、處理器核心數量、硬碟容量及圖形處理器數量等。然而,於其他實施例中,各取樣資料運算系統(運算節點)21亦可為巨量資料運算伺服器總成2中的實體主機。
舉例而言,當巨量資料運算伺服器總成2接收預先執行訊息後,透過Hadoop、Spark等運算框架的運算節點(即取樣資料運算系統21),針對取樣資料檔案執行程式碼檔案,並記錄執行程式碼檔案過程中呼叫的應用程式介面、輸入各取樣資料檔案所產生的結果、執行各取樣資料檔案的時間、所使用的系統資源種類及各個目錄(例如:app目錄、framework目錄及logs目錄)儲存的內容等,作為程式碼檔案之執行結果,再將執行結果之一部分組織為輪廓檔案。據此,待執行任務之輪廓檔案包含程式碼檔案剖析資料(例如:程式碼檔案執行過程中呼叫的應用程式介面)、取樣任務日誌檔(例如:執行各取樣資料檔案的時間)及系統資源使用紀錄(例如:所使用的系統資源量)。
須說明者,於其他實施例中,本發明可更進一步地考量待執行任務所需處理的資料量。在此情況下,動態擴增系統130於執行輪廓程序131前,會先判斷待執行任務之該等資料檔案之一檔案大小,以及當該等資
料檔案之檔案大小大於一臨界值時,才執行輪廓程序131。反之,當該等資料檔案之檔案大小等於小於臨界值時,則動態擴增系統130直接基於系統預設規則,指定待執行任務之運算節點數量、運算節點類型及系統參數,並將任務資訊傳送至雲端巨量資料運算架構之管理伺服器3。換言之,當待執行任務之該等資料檔案之檔案大小相當小時,此任務所需的執行時間應亦相當短,故可直接進入排程而等待被執行。
接著,動態擴增系統130更被運行以執行一分類程序133。分類程序133基於一分類模型,將輪廓檔案與分類模型進行比對,以判斷待執行任務之一任務類別。須說明者,分類模型具有複數標準任務類別,其可透過使用者自行設定,或者事先使用大量已知任務作為訓練資料,經由機器學習演算法(例如:量化共軛梯度演算法)訓練後而產生(即動態擴增系統130上線前經由機器學習演算法所產生)。此外,於動態擴增系統130執行一段時間後,動態擴增系統130可更基於過去已執行任務之輪廓檔案,使用一分群演算法(例如:K-means分群法)修改該等標準任務類別,以使得標準任務類別的數量得以增減以及使得標準任務類別可更精準地區分後續所處理的任務特徵。
隨後,動態擴增系統130更被運行以執行一預測程序135。於判斷待執行任務所屬之任務類別後,預測程序135基於預測模型中對應此任務類別之一子預測模型所記載之一運算節點類型及一系統參數,指定運算節點類型及系統參數予待執行任務,以及基於子預測模型,根據任務類別及輪廓檔案,產生待執行任務之執行時間預測曲線(例如:第3圖所示之執行時間預測曲線P1),得到待執行任務之相對於複數運算節點數量之複數預
測執行時間。該等運算節點數量係一對一地對應至該等預測執行時間。
詳言之,預測模型中之各子預測模型係記載分類模型中各標準任務類別所對應之運算節點類型及系統參數。據此,當得知待執行任務之任務類別後,預測程序135即可根據待執行任務之任務類別及輪廓檔案,指定所屬任務類別之運算節點類型及系統參數予待執行任務,並產生待執行任務之執行時間預測曲線,以評估待執行任務在各個運算節點數量被執行時所需的執行時間。
須說明者,於本實施例中,各資料運算系統(運算節點)23係巨量資料運算伺服器總成2中的虛擬主機。各運算節點被配置以使用不同的硬體資源,例如:記憶體容量、處理器核心數量、硬碟容量及圖形處理器數量等。不同的運算節類型係代表具有不同的硬體資源,例如:區分為S大小的節點、M大小的節點、L大小的節點、XL大小的節點等。管理伺服器3可根據不同待執行任務所需之運算節點類型,產生符合其需求之運算節點。此外,各運算節點之系統參數可包含「number of reducer」、「memory buffer size」等(即Hadoop和Spark系統中可設定及可調整的參數)。在待執行任務被執行後,待執行任務所被指定之運算節點類型及系統參數則不再改變。由於所屬技術領域中具有通常知識者可基於本發明實施例之說明瞭解運算節點類型及系統參數的設定,故在此不再加以贅述。
此外,於其他實施例中,各資料運算系統(運算節點)23亦可為巨量資料運算伺服器總成2中的實體主機。然而,由於所屬技術領域中具有通常知識者可基於本發明實施例之說明瞭解如何將本發明雲端運算資源最佳化機制套用至各運算節點為實體主機的態樣中,故亦不在此加以
贅述。
以待執行任務之執行時間預測曲線P1作為說明,請參考第3圖所示,橫軸係代表運算節點數量N,縱軸係代表預測執行時間T。於預測程序135中,動態擴增系統130將待執行任務之輪廓檔案輸入至其任務類別對應之子預測模型中,並透過線性回歸分析得到待執行任務之執行時間預測曲線P1,得到待執行任務於不同運算節點數量下被執行所對應之預測執行時間。舉例而言,由第3圖可知,假設運算節點數量為1時,待執行任務之預測執行時間為4小時;運算節點數量為2時,待執行任務之預測執行時間為2小時;運算節點數量為3時,待執行任務之預測執行時間為1小時;以及運算節點數量為4時,待執行任務之預測執行時間為0.5小時。
須說明者,預測模型中的子預測模型之建立方式可透過機器學習演算法(例如:多層感知器回歸演算法)達成,將大量已知任務類別及輪廓檔案之任務作為訓練資料,以分別使用不同數量的運算節點(即依據任務類別所決定之運算節點類型的運算節點)執行任務而獲得實際執行時間,以建立子預測模型。此外,於動態擴增系統130執行一段時間後,動態擴增系統130可更基於過去已執行任務之輪廓檔案及該等標準任務類別之更變,而重新建立預測模型中的各子預測模型。
此外,於本實施例中,前述之待執行任務之該等取樣資料檔案、輪廓檔案、分類模型及預測模型可儲存於資料儲存伺服器總成4中。資料儲存伺服器總成4可更運行一動態擴增資料儲存系統43,用以管理並儲存動態擴增系統130運行時所需使用及產生的各種資料。然而,於其他實施例中,伺服器1可配置其儲存器的特定儲存資源,以供動態擴增系統130儲存
分類模型及預測模型。
另外,動態擴增系統130更被運行以執行一最佳化程序137。基於管理系統31所提供之運算資源資訊(巨量資料運算伺服器總成2之一最大運算資源)及排程中或執行中的任務,最佳化程序137判斷是否存在至少一其他任務。當存在至少一其他任務時,最佳化程序137被執行以根據待執行任務之使用者定義屬性與該等預測執行時間、各至少一其他任務之其他使用者定義屬性及複數其他預測執行時間以及巨量資料運算伺服器總成2之最大運算資源,決定待執行任務之一實際運算節點數量,並產生一最佳化輸出訊息。最佳化輸出訊息記載待執行任務之程式碼檔案、該等資料檔案、實際運算節點數量、運算節點類型及系統參數。
舉例而言,使用者定義屬性包含一任務執行優先權值、一任務截止時間、一最小運算節點數量以及一最大運算節點數量。最佳化程序137根據下列公式計算待執行任務之一任務權重值(即任務價值):
其中,V係任務權重值,EP係任務執行優先權值且為一正整數,D係待執行任務之任務截止時間,以及WT係一執行等待時間。
須說明者,任務執行優先權值可由使用者自行設定,或由系統管理者基於企業管理的各種需求而設定。舉例而言,系統管理者可基於員工的職位高低而進行設定,例如:助理的權限為1,課長的權限為2,部長的權限為3。此外,最小運算節點數量以及最大運算節點數量亦可由使用者自行決定,或由系統管理者基於企業管理的各種需求而設定。舉例而言,職位越高的員工可使用較多的節點數量。
此外,最佳化程序137中,動態擴增系統130根據待執行任務之任務權重值與該等預測執行時間、各至少一其他任務之一其他任務權重值及該等其他預測執行時間以及巨量資料運算伺服器總成2之最大運算資源,決定待執行任務之實際運算節點數量。舉例而言,如第4圖所示,最佳化程序137計算待執行任務之任務權重值與該等預測執行時間每一者間之複數比值。
於第4圖之表格中,假設待執行任務為任務1,其任務權重值V1為2,故在運算節點數量N為1及預測執行時間為4小時的情況下,其比值(即每單位時間內任務之價值)為2/4;在運算節點數量N為2及預測執行時間為2小時的情況下,故其比值為2/2;以及在運算節點數量N為3及預測執行時間為1小時的情況下,故其比值為2/1。
此外,類似地,最佳化程序137中,動態擴增系統130更針對各至少一其他任務(例如:第4圖所示之任務2及任務3,任務2具有任務權重值V2為1,且任務3具有任務權重值V3為4),計算其他任務權重值與該等其他預測執行時間每一者間之複數其他比值。接著,最佳化程序137計算任一之該等比值與至少一其他任務每一者之任一之該等其它比值間之複數總和值,挑選該等總和值中之一最大總和值,將最大總和值所對應之比值之預測執行時間所對應之運算節點數量作為實際運算節點數量。
最佳化程序137係根據下列公式計算該等比值之該等總和值中之最大總和值:
其中,Vi係第i個任務之任務權重值,Ti(ni)係第i個任務於運算節點數量為ni
時的預測執行時間,以及第i個任務之ni為一正整數且係介於其使用者定義屬性中最小運算節點數量與最大運算節點數量間。
於其他實施例中,在至少一其他任務的其他實際運算節點數量有更新的時候,最佳化輸出訊息可更記載各至少一其他任務之一其他實際運算節點數量。換言之,於最佳化程序137中,動態擴增系統130更針對各至少一其他任務,將最大總和值所對應之其他比值之其它預測執行時間所對應之其他運算節點數量作為其他實際運算節點數量,而將其記載於最佳化輸出訊息中。然而,於其他實施例中,最佳化輸出訊息可更記載各至少一其他任務之一其他實際運算節點數量,不論至少一其他任務的其他實際運算節點數量是否有更新(即記載所有待執行任務以及正在執行的任務的實際運算節點數量)。
舉例而言,請再次參考第4圖,假設巨量資料運算伺服器總成2之最大運算資源為5個運算節點。須說明者,為了簡化說明,此範例係假設任務1、任務2及任務3具有相同的任務類別,故運算節點類型係相同而使得管理伺服器3會配置相同類型的運算節點以執行任務1、任務2及任務3。在此情況下,巨量資料運算伺服器總成2之最大運算資源可簡化而以運算節點數量作為單位。然而,所屬技術領域中具有通常知識者可瞭解,巨量資料運算伺服器總成2之最大運算資源實際上應以其可使用的硬體資源作為單位。
在任務1之運算節點數量為1,任務2之運算節點數量為1,以及任務3之運算節點數量為3的情況下,任務1、任務2及任務3的比值之總和值為4.75。在任務1之運算節點數量為2,任務2之運算節點數量為0(即任務
2暫時不執行),以及任務3之運算節點數量為3的情況下,任務1、任務2及任務3的比值之總和值為5。為使得總任務價值最大,最佳化模組137挑選最大總和值為5來進行運算資源的分配,並將任務1之比值2/2之預測執行時間2小時所對應之運算節點數量為2作為任務1之實際運算節點數量,以及將任務3之比值4/1之預測執行時間1小時所對應之運算節點數量為3作為任務3之實際運算節點數量。
此外,動態擴增系統130更被運行以透過收發器11,傳送最佳化輸出訊息至雲端巨量資料運算架構之一管理伺服器3。隨後,管理伺服器3所運行之一管理系統31根據最佳化輸出訊息,分配巨量資料運算伺服器總成2中所運行之至少一資料運算系統(運算節點)23來針對待執行任務之該等資料檔案,執行程式碼檔案,其中至少一資料運算系統(運算節點)23之一數目等於實際運算節點數量。如上述範例,管理伺服器3將分配2個運算節點執行任務1,以及分配3個運算節點執行任務2。
須說明者,管理系統31可符合任一種雲端運算框架的規範,其可包含擴展模組/應用程式介面、資源管理模組/應用程式介面等。然而,各種雲端運算框架的管理系統31已為本領域的習知技術,故在此不在加以贅述。
本發明第二實施例請參考第5圖及第6圖。第二實施例係第一實施例之延伸。於本實施例中,動態擴增系統130被運行以執行一監控程序139。監控程序139於至少一資料運算系統(運算節點)23執行待執行任務之程式碼檔案時,更新待執行任務之執行時間預測曲線。
詳言之,於至少一資料運算系統23執行待執行任務之程式碼
檔案時,監控程序139被執行以自管理系統31得知待執行任務之實際執行進度,並比較待執行任務之實際執行進度與先前基於子預測模型所得到待執行任務之預測執行進度間的誤差值,並根據誤差值修正執行時間預測曲線。
舉例而言,請參考第6圖,如先前所述,於執行時間預測曲線P1中,待執行任務之運算節點數量為1時,待執行任務之預測執行時間為4小時;運算節點數量為2時,待執行任務之預測執行時間為2小時;運算節點數量為3時,待執行任務之預測執行時間為1小時;以及運算節點數量為4時,待執行任務之預測執行時間為0.5小時。假設待執行任務之實際運算節點數量為2,若依據執行時間預測曲線P1,待執行任務之預測執行時間應為2小時。然而,監控程序139於待執行任務執行一半時,判斷其實際執行時間僅需1小時,即只需原本預測執行時間的50%,因此監控程序139更新將執行時間預測曲線P1修正為更新後之執行時間預測曲線P1’,以使執行時間預測曲線更接近實際狀況。
此外,執行時間預測曲線被更新後,動態擴增系統130可立即再次執行最佳化程序137,以使得各任務之實際運算節點數量得以更新,特別是當正被執行的任務所需的執行時間比預期慢的時候,最佳化程序137可判斷是否增加運算節點數供此任務被執行。換言之,本發明之動態擴增系統130可於接獲新的待執行任務或任一個執行時間預測曲線被更新時執行最佳化程序137,以不斷地循環重新調整任務之實際運算節點數量。
然而,於另一實施例中,在考量動態擴增系統130的整體系統負荷,本發明之動態擴增系統130亦可定時地執行最佳化程序137(例如:半小時、一小時執行一次),或者當所接獲之新的待執行任務的數量達到一
預設值時才執行最佳化程序137。換言之,最佳化程序137被執行的條件可由系統管理者依據實際系統運作情況決定或調整,且該些條件皆屬於本發明保護的範疇。
本發明第三實施例係一雲端運算資源最佳化方法,其流程圖如第7圖所示。雲端運算資源最佳化方法適用於一雲端巨量資料運算架構之一伺服器(例如:前述實施例之伺服器1)。伺服器包含一收發器及一處理器。收發器連接至一網路。處理器電性連接至收發器,用以運行一動態擴增系統以執行雲端運算資源最佳化方法。
首先,於步驟S701中,透過收發器接收一任務訊息。任務訊息記載一待執行任務之一使用者定義屬性、一程式碼檔案及複數資料檔案。程式碼檔案及該等資料檔案儲存於一資料儲存系統,其運行於雲端巨量資料運算架構中之一資料儲存伺服器總成中。
於步驟S703中,執行一輪廓程序。輪廓程序包含如第8圖所示之步驟。於步驟S801中,對任務訊息中所記載之該等資料檔案進行取樣,以決定複數取樣資料檔案以及產生一預先執行訊息。預先執行訊息記載該等取樣資料檔案及待執行任務之程式碼檔案。隨後,步驟S803中,透過收發器傳送預先執行訊息至雲端巨量資料運算架構之一巨量資料運算伺服器總成,以使巨量資料運算伺服器總成中所運行之一取樣資料運算系統針對該等取樣資料檔案,執行程式碼檔案,並根據程式碼檔案之一執行結果,產生一輪廓檔案。於步驟S805中,透過收發器,自巨量資料運算伺服器總成,接收輪廓檔案。
接著,於步驟S705中,執行一分類程序。分類程序包含如
第9圖所示之步驟。於步驟S901中,基於一分類模型,將輪廓檔案與分類模型進行比對,以判斷待執行任務之一任務類別。然後,於步驟S707中,執行一預測程序。預測程序包含如第10圖所示之步驟。於步驟S1001中,基於一預測模型中對應任務類別之一子預測模型所記載之一運算節點類型及一系統參數,指定運算節點類型及系統參數予待執行任務。隨後,於步驟S1003中,基於子預測模型,根據任務類別及輪廓檔案,產生待執行任務之一執行時間預測曲線,得到待執行任務之相對於複數運算節點數量之複數預測執行時間。該等運算節點數量係一對一地對應至該等預測執行時間。
然後,於步驟S709中,執行一最佳化程序。最佳化程序包含如第11圖所示之步驟。於步驟S1101中,判斷是否存在至少一其他任務。接著,當存在至少一其他任務時,執行步驟S1103,以根據待執行任務之使用者定義屬性與該等預測執行時間、各至少一其他任務之一其他使用者定義屬性及複數其他預測執行時間以及巨量資料運算伺服器總成之一最大運算資源,決定待執行任務之一實際運算節點數量。之後,於步驟S1105中,產生一最佳化輸出訊息。最佳化輸出訊息記載待執行任務之程式碼檔案、該等資料檔案、實際運算節點數量、運算節點類型及系統參數。
隨後,於步驟S1107中,透過收發器,傳送最佳化輸出訊息至雲端巨量資料運算架構之一管理伺服器,以使管理伺服器所運行之一管理系統根據最佳化輸出訊息,分配巨量資料運算伺服器總成中所運行之至少一資料運算系統來針對待執行任務之該等資料檔案,執行程式碼檔案。至少一資料運算系統之一數目等於該實際運算節點數量。此外,當於步驟S1101中判斷不存在其他任務時,則執行步驟S1102,產生並傳送一輸出訊
息至雲端巨量資料運算架構之管理伺服器。輸出訊息記載待執行任務之程式碼檔案、該等資料檔案、實際運算節點數量、運算節點類型及系統參數。在此情況下,實際運算節點數量可被設定為使用者定義屬性中所記載之最大運算節點數量,或者基於系統預設規範,被設定為巨量資料運算伺服器總成2之最大運算資源所能提供的最大運算節點數量。
於其他實施例中,雲端運算資源最佳化方法更包含步驟:於執行輪廓程序前,判斷待執行任務之該等資料檔案之一檔案大小,當該等資料檔案之檔案大小大於一臨界值時,執行輪廓程序。此外,其他實施例中,雲端運算資源最佳化方法更包含步驟:執行一監控程序,其包含步驟:於至少一資料運算系統執行待執行任務之程式碼檔案時,更新待執行任務之執行時間預測曲線。
另外,於一實施例中,使用者定義屬性包含一任務執行優先權值、一任務截止時間、一最小運算節點數量以及一最大運算節點數量,最佳化程序更包含步驟:根據下列公式計算待執行任務之一任務權重值:
其中,V係該任務權重值,EP係該任務執行優先權值,D係該待執行任務之該任務截止時間,以及WT係一執行等待時間。
再者,最佳化程序可更包含步驟:根據待執行任務之任務權重值與該等預測執行時間、各至少一其他任務之一其他任務權重值及該等其他預測執行時間以及巨量資料運算伺服器總成之最大運算資源,決定待執行任務之實際運算節點數量;計算待執行任務之任務權重值與該等預測執行時間每一者間之複數比值;針對各至少一其他任務,計算其他任務權
重值與該等其他預測執行時間每一者間之複數其他比值;計算任一之該等比值與至少一其他任務每一者之任一之該等其它比值間之複數總和值;挑選該等總和值中之一最大總和值;以及將最大總和值所對應之比值之預測執行時間所對應之運算節點數量作為實際運算節點數量。
此外,於一實施例中,最佳化輸出訊息更記載各至少一其他任務之一其他實際運算節點數量。最佳化程序更包含步驟:針對各至少一其他任務,將最大總和值所對應之其他比值之其它預測執行時間所對應之其他運算節點數量作為其他實際運算節點數量。
另外,於一實施例中,雲端巨量資料運算架構更包含一動態擴增資料儲存系統。動態擴增資料儲存系統用以儲存待執行任務之該等取樣資料檔案、輪廓檔案、分類模型及預測模型。待執行任務之輪廓檔案包含一程式碼檔案剖析資料、一取樣任務日誌檔及一系統資源使用紀錄。
此外,於一實施例中,分類模型具有複數標準任務類別。分類程序更包含步驟:基於複數已執行任務之複數歷史輪廓檔案,使用一分群演算法修改該等標準任務類別。另外,於一實施例中,伺服器更包含一儲存器,用以儲存分類模型及預測模型。
除了上述步驟,本發明之雲端運算資源最佳化方法亦能執行在所有前述實施例中所闡述之所有操作並具有所有對應之功能,所屬技術領域具有通常知識者可直接瞭解此實施例如何基於所有前述實施例執行此等操作及具有該等功能,故不贅述。
綜上所述,本發明之雲端運算資源最佳化方法基於在雲端巨量資料運算架構中運行一動態擴增系統,以對一待執行任務,進行輪廓分
析,並基於輪廓分析的結果,對待執行任務進行分類。接著,本發明之雲端運算資源最佳化方法基於輪廓分析及分類結果,指定待執行任務之運算節點類型及系統參數,以及預測待執行任務之相對於複數運算節點數量之複數預測執行時間。隨後,動態擴增系統根據待執行任務之一使用者定義屬性與該等預測執行時間、至少一其他任務每一者之一其他使用者定義屬性及複數其他預測執行時間以及雲端巨量資料運算架構之最大運算資源,決定待執行任務之一實際運算節點數量,並將待執行任務之實際運算節點數量、運算節點類型及系統參數提供至雲端巨量資料運算架構之管理伺服器,以使其得以分配適當的運算資源給待執行任務。據此,本發明在運算資源有限的情況下,可自動配置運算資源以及進行虛擬主機的擴增或刪減,而使得有限資源達到最佳化的利用,而避免因使用者自行調整或設定之虛擬主機的數量及其系統參數所造成的有限資源分配不公或運算系統整體效益低落。
上述之實施例僅用來例舉本發明之實施態樣,以及闡釋本發明之技術特徵,並非用來限制本發明之保護範疇。任何熟悉此技術者可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,本發明之權利保護範圍應以申請專利範圍為準。
Claims (22)
- 一種用於一雲端巨量資料(Big Data)運算架構之伺服器,包含:一收發器,連接至一網路;以及一處理器,電性連接至該收發器,用以運行一動態擴增系統(Dynamic Scaling System)以執行下列操作:透過該收發器接收一任務訊息,該任務訊息記載一待執行任務之一使用者定義屬性、一程式碼檔案及複數資料檔案,該程式碼檔案及該等資料檔案儲存於一資料儲存系統,其運行於該雲端巨量資料運算架構中之一資料儲存伺服器總成中;執行一輪廓程序,包含下列步驟:對該任務訊息中所記載之該等資料檔案進行取樣,以決定複數取樣資料檔案以及產生一預先執行訊息,該預先執行訊息記載該等取樣資料檔案及該待執行任務之該程式碼檔案;透過該收發器傳送該預先執行訊息至該雲端巨量資料運算架構之一巨量資料運算伺服器總成,以使該巨量資料運算伺服器總成中所運行之一取樣資料運算系統針對該等取樣資料檔案,執行該程式碼檔案,並根據該程式碼檔案之一執行結果,產生一輪廓檔案;以及透過該收發器,自該巨量資料運算伺服器總成,接收該輪廓檔案,執行一分類程序,包含下列步驟:基於一分類模型,將該輪廓檔案與該分類模型進行比對,以判斷該待執行任務之一任務類別, 執行一預測程序,包含下列步驟:基於一預測模型中對應該任務類別之一子預測模型所記載之一運算節點類型及一系統參數,指定該運算節點類型及該系統參數予該待執行任務;以及基於該子預測模型,根據該任務類別及該輪廓檔案,產生該待執行任務之一執行時間預測曲線,得到該待執行任務之相對於複數運算節點數量之複數預測執行時間,該等運算節點數量係一對一地對應至該等預測執行時間;執行一最佳化程序,包含下列步驟:判斷是否存在至少一其他任務;當存在該至少一其他任務時,根據該待執行任務之該使用者定義屬性與該等預測執行時間、各該至少一其他任務之一其他使用者定義屬性及複數其他預測執行時間以及該巨量資料運算伺服器總成之一最大運算資源,決定該待執行任務之一實際運算節點數量;產生一最佳化輸出訊息,該最佳化輸出訊息記載該待執行任務之該程式碼檔案、該等資料檔案、該實際運算節點數量、該運算節點類型及該系統參數;以及透過該收發器,傳送該最佳化輸出訊息至該雲端巨量資料運算架構之一管理伺服器,以使該管理伺服器所運行之一管理系統根據該最佳化輸出訊息,分配該巨量資料運算伺服器總成中所運行之至少一資料運算系統來針對該待執行任務之該等資料檔案,執行該程式碼檔案,其中該至少一資料運算系統之一數目等於該實際運算節點數量。
- 如請求項1所述之伺服器,其中該處理器更執行一監控程序,包含下列步驟:於該至少一資料運算系統執行該待執行任務之該程式碼檔案時,更新該待執行任務之該執行時間預測曲線。
- 如請求項1所述之伺服器,其中該處理器於執行該輪廓程序前,更判斷該待執行任務之該等資料檔案之一檔案大小,以及當該等資料檔案之該檔案大小大於一臨界值時,執行該輪廓程序。
- 如請求項1所述之伺服器,其中該使用者定義屬性包含一任務執行優先權值、一任務截止時間、一最小運算節點數量以及一最大運算節點數量,該最佳化程序更包含下列步驟:根據下列公式計算該待執行任務之一任務權重值:
- 如請求項4所述之伺服器,其中該最佳化程序中,該處理器係根據該待執行任務之該任務權重值與該等預測執行時間、各該至少一其他任務之一其他任務權重值及該等其他預測執行時間以及該巨量資料運算伺服器總成之該最大運算資源,決定該待執行任務之該實際運算節點數量。
- 如請求項5所述之伺服器,其中該最佳化程序更包含下列步驟:計算該待執行任務之該任務權重值與該等預測執行時間每一者間之複數比值;針對各該至少一其他任務,計算該其他任務權重值與該等其他預測 執行時間每一者間之複數其他比值;計算任一之該等比值與該至少一其他任務每一者之任一之該等其它比值間之複數總和值;挑選該等總和值中之一最大總和值;以及將該最大總和值所對應之該比值之該預測執行時間所對應之該運算節點數量作為該實際運算節點數量。
- 如請求項6所述之伺服器,其中該最佳化輸出訊息更記載各該至少一其他任務之一其他實際運算節點數量,以及該最佳化程序更包含下列步驟:針對各該至少一其他任務,將該最大總和值所對應之該其他比值之該其它預測執行時間所對應之該其他運算節點數量作為該其他實際運算節點數量。
- 如請求項1所述之伺服器,其中該資料儲存伺服器總成更運行一動態擴增資料儲存系統,以及該動態擴增資料儲存系統用以儲存該待執行任務之該等取樣資料檔案、該輪廓檔案、該分類模型及該預測模型。
- 如請求項1所述之伺服器,其中該待執行任務之該輪廓檔案包含一程式碼檔案剖析資料、一取樣任務日誌檔及一系統資源使用紀錄。
- 如請求項1所述之伺服器,其中該分類模型具有複數標準任務類別,以及該處理器更基於複數已執行任務之複數歷史輪廓檔案,使用一分群演算法修改該等標準任務類別。
- 如請求項1所述之伺服器,更包含一儲存器,用以儲存該分類模型及該預測模型。
- 一種用於一雲端巨量資料(Big Data)運算架構之一伺服器之雲端運算資 源最佳化方法,該伺服器包含一收發器及一處理器,該收發器連接至一網路,該處理器電性連接至該收發器,用以運行一動態擴增系統(Dynamic Scaling System)以執行該雲端運算資源最佳化方法,該雲端運算資源最佳化方法包含下列步驟:透過該收發器接收一任務訊息,該任務訊息記載一待執行任務之一使用者定義屬性、一程式碼檔案及複數資料檔案,該程式碼檔案及該等資料檔案儲存於該雲端巨量資料運算架構中之一資料儲存伺服器總成中;執行一輪廓程序,包含下列步驟:對該任務訊息中所記載之該等資料檔案進行取樣,以決定複數取樣資料檔案以及產生一預先執行訊息,該預先執行訊息記載該等取樣資料檔案及該待執行任務之該程式碼檔案;透過該收發器傳送該預先執行訊息至該雲端巨量資料運算架構之一巨量資料運算伺服器總成,以使該巨量資料運算伺服器總成中所運行之一取樣資料運算系統針對該等取樣資料檔案,執行該程式碼檔案,並根據該程式碼檔案之一執行結果,產生一輪廓檔案;以及透過該收發器,自該巨量資料運算伺服器總成,接收該輪廓檔案,執行一分類程序,包含下列步驟:基於一分類模型,將該輪廓檔案與該分類模型進行比對,以判斷該待執行任務之一任務類別,執行一預測程序,包含下列步驟: 基於一預測模型中對應該任務類別之一子預測模型所記載之一運算節點類型及一系統參數,指定該運算節點類型及該系統參數予該待執行任務;以及基於該子預測模型,根據該任務類別及該輪廓檔案,產生該待執行任務之一執行時間預測曲線,得到該待執行任務之相對於複數運算節點數量之複數預測執行時間,該等運算節點數量係一對一地對應至該等預測執行時間;執行一最佳化程序,包含下列步驟:判斷是否存在至少一其他任務;當存在該至少一其他任務時,根據該待執行任務之該使用者定義屬性與該等預測執行時間、各該至少一其他任務之一其他使用者定義屬性及複數其他預測執行時間以及該巨量資料運算伺服器總成之一最大運算資源,決定該待執行任務之一實際運算節點數量;產生一最佳化輸出訊息,該最佳化輸出訊息記載該待執行任務之該程式碼檔案、該等資料檔案、該實際運算節點數量、該運算節點類型及該系統參數;以及透過該收發器,傳送該最佳化輸出訊息至該雲端巨量資料運算架構之一管理伺服器,以使該管理伺服器所運行之一管理系統根據該最佳化輸出訊息,分配該巨量資料運算伺服器總成中所運行之至少一資料運算系統來針對該待執行任務之該等資料檔案,執行該程式碼檔案,其中該至少一資料運算系統之一數目等於該實際運算節點數量。
- 如請求項12所述之雲端運算資源最佳化方法,更包含: 執行一監控程序,包含下列步驟:於該至少一資料運算系統執行該待執行任務之該程式碼檔案時,更新該待執行任務之該執行時間預測曲線。
- 如請求項12所述之雲端運算資源最佳化方法,其中於執行該輪廓程序前,更包含下列步驟:判斷該待執行任務之該等資料檔案之一檔案大小;以及當該等資料檔案之該檔案大小大於一臨界值時,執行該輪廓程序。
- 如請求項12所述之雲端運算資源最佳化方法,其中該使用者定義屬性包含一任務執行優先權值、一任務截止時間、一最小運算節點數量以及一最大運算節點數量,該最佳化程序更包含下列步驟:根據下列公式計算該待執行任務之一任務權重值:
- 如請求項15所述之雲端運算資源最佳化方法,其中該最佳化程序更包含下列步驟:根據該待執行任務之該任務權重值與該等預測執行時間、各該至少一其他任務之一其他任務權重值及該等其他預測執行時間以及該巨量資料運算伺服器總成之該最大運算資源,決定該待執行任務之該實際運算節點數量。
- 如請求項16所述之雲端運算資源最佳化方法,其中該最佳化程序更包含下列步驟: 計算該待執行任務之該任務權重值與該等預測執行時間每一者間之複數比值;針對各該至少一其他任務,計算該其他任務權重值與該等其他預測執行時間每一者間之複數其他比值;計算任一之該等比值與該至少一其他任務每一者之任一之該等其它比值間之複數總和值;挑選該等總和值中之一最大總和值;以及將該最大總和值所對應之該比值之該預測執行時間所對應之該運算節點數量作為該實際運算節點數量。
- 如請求項17所述之雲端運算資源最佳化方法,其中該最佳化輸出訊息更記載各該至少一其他任務之一其他實際運算節點數量,以及該最佳化程序更包含下列步驟:針對各該至少一其他任務,將該最大總和值所對應之該其他比值之該其它預測執行時間所對應之該其他運算節點數量作為該其他實際運算節點數量。
- 如請求項12所述之雲端運算資源最佳化方法,其中該雲端巨量資料運算架構更包含一動態擴增資料儲存系統,以及該動態擴增資料儲存系統用以儲存該待執行任務之該等取樣資料檔案、該輪廓檔案、該分類模型及該預測模型。
- 如請求項12所述之雲端運算資源最佳化方法,其中該待執行任務之該輪廓檔案包含一程式碼檔案剖析資料、一取樣任務日誌檔及一系統資源使用紀錄。
- 如請求項12所述之雲端運算資源最佳化方法,其中該分類模型具有複數標準任務類別,以及該分類程序包含下列步驟:基於複數已執行任務之複數歷史輪廓檔案,使用一分群演算法修改該等標準任務類別。
- 如請求項12所述之雲端運算資源最佳化方法,其中該伺服器更包含一儲存器,用以儲存該分類模型及該預測模型。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105138406A TWI620075B (zh) | 2016-11-23 | 2016-11-23 | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 |
CN201611095718.9A CN108089921B (zh) | 2016-11-23 | 2016-12-02 | 用于云端大数据运算架构的服务器及其运算资源最佳化方法 |
US15/372,348 US10460241B2 (en) | 2016-11-23 | 2016-12-07 | Server and cloud computing resource optimization method thereof for cloud big data computing architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105138406A TWI620075B (zh) | 2016-11-23 | 2016-11-23 | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI620075B true TWI620075B (zh) | 2018-04-01 |
TW201820165A TW201820165A (zh) | 2018-06-01 |
Family
ID=62147675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105138406A TWI620075B (zh) | 2016-11-23 | 2016-11-23 | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10460241B2 (zh) |
CN (1) | CN108089921B (zh) |
TW (1) | TWI620075B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11200512B2 (en) * | 2018-02-21 | 2021-12-14 | International Business Machines Corporation | Runtime estimation for machine learning tasks |
TWI676940B (zh) * | 2018-08-29 | 2019-11-11 | 國立交通大學 | 以機械學習為基礎之最佳化預測模型的建立與預測結果的取得系統及方法 |
US10831633B2 (en) * | 2018-09-28 | 2020-11-10 | Optum Technology, Inc. | Methods, apparatuses, and systems for workflow run-time prediction in a distributed computing system |
CN109284871A (zh) * | 2018-09-30 | 2019-01-29 | 北京金山云网络技术有限公司 | 资源调整方法、装置和云平台 |
CN109376012A (zh) * | 2018-10-10 | 2019-02-22 | 电子科技大学 | 一种针对异构环境的基于Spark的自适应任务调度方法 |
WO2020087239A1 (zh) * | 2018-10-30 | 2020-05-07 | 北京比特大陆科技有限公司 | 大数据运算加速系统 |
CN111258748B (zh) * | 2018-12-03 | 2023-09-05 | 中国移动通信集团上海有限公司 | 分布式文件系统及控制方法 |
CA3130468A1 (en) * | 2019-03-14 | 2020-09-17 | Yadong Li | Distributed system generating rule compiler engine apparatuses, methods, systems and media |
US11561836B2 (en) * | 2019-12-11 | 2023-01-24 | Sap Se | Optimizing distribution of heterogeneous software process workloads |
CN112988372B (zh) * | 2019-12-16 | 2023-10-24 | 杭州海康威视数字技术股份有限公司 | 确定硬件运算平台分配方式的方法和装置 |
US11409642B2 (en) * | 2020-01-13 | 2022-08-09 | Fujitsu Limited | Automatic parameter value resolution for API evaluation |
US20210342290A1 (en) * | 2020-04-30 | 2021-11-04 | International Business Machines Corporation | Technique selection for file system utilization prediction |
CN112256695B (zh) * | 2020-09-18 | 2023-07-28 | 银联商务股份有限公司 | 可视化的图计算方法及其系统、存储介质以及电子设备 |
TWI777262B (zh) * | 2020-09-30 | 2022-09-11 | 財團法人資訊工業策進會 | 機器學習系統及機器學習方法 |
CN112543420B (zh) * | 2020-11-03 | 2024-04-16 | 深圳前海微众银行股份有限公司 | 任务处理方法、装置及服务器 |
CN112486658B (zh) * | 2020-12-17 | 2024-07-19 | 华控清交信息科技(北京)有限公司 | 一种任务调度方法、装置和用于任务调度的装置 |
CN112995287B (zh) * | 2021-02-04 | 2022-09-13 | 中国科学院计算技术研究所 | 一种面向边缘计算的关键词检测任务调度方法 |
CN113239243A (zh) * | 2021-07-08 | 2021-08-10 | 湖南星汉数智科技有限公司 | 基于多计算平台的图数据分析方法、装置和计算机设备 |
CN113626167A (zh) * | 2021-08-11 | 2021-11-09 | 京东科技控股股份有限公司 | 线程控制方法、装置、设备及计算机存储介质 |
CN113673857B (zh) * | 2021-08-13 | 2024-07-12 | 南京理工大学 | 一种面向数据中台的服务感知与资源调度系统及方法 |
CN114401262A (zh) * | 2022-01-17 | 2022-04-26 | 东云睿连(武汉)计算技术有限公司 | 基于rdma的大数据传输系统、方法、装置、设备及存储介质 |
CN116032757B (zh) * | 2022-12-16 | 2024-05-10 | 派欧云计算(上海)有限公司 | 边缘云混跑场景的网络资源优化方法及装置 |
CN116302457A (zh) * | 2023-05-25 | 2023-06-23 | 之江实验室 | 一种云原生工作流引擎实现方法、系统、介质及电子设备 |
CN117194053B (zh) * | 2023-11-06 | 2024-08-09 | 北京宏数科技有限公司 | 一种基于大数据的云管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111035A1 (en) * | 2011-10-28 | 2013-05-02 | Sangram Alapati | Cloud optimization using workload analysis |
US20140201371A1 (en) * | 2013-01-15 | 2014-07-17 | Hewlett-Packard Development Company, L.P. | Balancing the allocation of virtual machines in cloud systems |
TWI460660B (zh) * | 2009-08-28 | 2014-11-11 | Advanced Green Computing Machines | 具有整合共享資源的電腦系統及其節點 |
TW201525706A (zh) * | 2013-12-17 | 2015-07-01 | Inventec Corp | 雲端系統 |
US20150242234A1 (en) * | 2012-09-28 | 2015-08-27 | Cycle Computing, Llc | Realtime Optimization Of Compute Infrastructure In A Virtualized Environment |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062557B1 (en) * | 2000-07-10 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | Web server request classification system that classifies requests based on user's behaviors and expectations |
CN102339233A (zh) * | 2010-07-15 | 2012-02-01 | 戴元顺 | 云计算集中管理平台 |
US8997107B2 (en) | 2011-06-28 | 2015-03-31 | Microsoft Technology Licensing, Llc | Elastic scaling for cloud-hosted batch applications |
US9367601B2 (en) | 2012-03-26 | 2016-06-14 | Duke University | Cost-based optimization of configuration parameters and cluster sizing for hadoop |
CN103440167B (zh) * | 2013-09-04 | 2016-06-29 | 福州大学 | Hadoop多作业环境下自学习反馈的任务调度方法 |
JP2016042284A (ja) * | 2014-08-18 | 2016-03-31 | 富士通株式会社 | 並列計算機システム、管理装置、並列計算機システムの制御方法及び管理装置の制御プログラム |
US10346206B2 (en) * | 2016-08-27 | 2019-07-09 | International Business Machines Corporation | System, method and computer program product for resource management in a distributed computation system |
-
2016
- 2016-11-23 TW TW105138406A patent/TWI620075B/zh active
- 2016-12-02 CN CN201611095718.9A patent/CN108089921B/zh active Active
- 2016-12-07 US US15/372,348 patent/US10460241B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI460660B (zh) * | 2009-08-28 | 2014-11-11 | Advanced Green Computing Machines | 具有整合共享資源的電腦系統及其節點 |
US20130111035A1 (en) * | 2011-10-28 | 2013-05-02 | Sangram Alapati | Cloud optimization using workload analysis |
US20150242234A1 (en) * | 2012-09-28 | 2015-08-27 | Cycle Computing, Llc | Realtime Optimization Of Compute Infrastructure In A Virtualized Environment |
US20140201371A1 (en) * | 2013-01-15 | 2014-07-17 | Hewlett-Packard Development Company, L.P. | Balancing the allocation of virtual machines in cloud systems |
TW201525706A (zh) * | 2013-12-17 | 2015-07-01 | Inventec Corp | 雲端系統 |
Also Published As
Publication number | Publication date |
---|---|
US10460241B2 (en) | 2019-10-29 |
CN108089921B (zh) | 2022-01-21 |
TW201820165A (zh) | 2018-06-01 |
US20180144251A1 (en) | 2018-05-24 |
CN108089921A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI620075B (zh) | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 | |
WO2022111156A1 (en) | Automated orchestration of containers by assessing microservices | |
US9679029B2 (en) | Optimizing storage cloud environments through adaptive statistical modeling | |
US20160142338A1 (en) | Application placement through multiple allocation domain agents and flexible cloud scheduler framework | |
Ali et al. | Optimizing inference serving on serverless platforms | |
US20130311988A1 (en) | Migrating virtual machines between networked computing environments based on resource utilization | |
JP2014532247A (ja) | 容易にクラウド化可能なアプリケーションの発見型の識別および移行 | |
US11429434B2 (en) | Elastic execution of machine learning workloads using application based profiling | |
US10956214B2 (en) | Time frame bounded execution of computational algorithms | |
US11340924B2 (en) | Machine-learning based heap memory tuning | |
US11144500B2 (en) | Assignment of data within file systems | |
US11755926B2 (en) | Prioritization and prediction of jobs using cognitive rules engine | |
US11829496B2 (en) | Workflow for evaluating quality of artificial intelligence (AI) services using held-out data | |
US20200225989A1 (en) | Multiple metric based load prediction and resource allocation in an active stream processing job | |
CN116057518A (zh) | 使用机器学习模型的自动查询谓词选择性预测 | |
US20200150957A1 (en) | Dynamic scheduling for a scan | |
Ciavotta et al. | Architectural design of cloud applications: A performance-aware cost minimization approach | |
US20220100558A1 (en) | Machine learning based runtime optimization | |
Li et al. | The extreme counts: modeling the performance uncertainty of cloud resources with extreme value theory | |
US20230325256A1 (en) | Deep neural network management of overbooking in a multi-tenant computing environment | |
Zohrati et al. | Flexible approach to schedule tasks in cloud‐computing environments | |
US20220272136A1 (en) | Context based content positioning in content delivery networks | |
JP2022067642A (ja) | マイクロサービス識別を向上させるためにリファクタリングを識別および優先順位付するためのコンピュータシステム、コンピュータプログラムおよび方法(マイクロサービス識別を向上させるためにリファクタリングを識別および優先順位付するための方法およびシステム) | |
Al‐Najjar et al. | Scheduling of workflow jobs based on twostep clustering and lowest job weight | |
US12026540B2 (en) | Working memory management |