TW202246977A - 一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品 - Google Patents

一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品 Download PDF

Info

Publication number
TW202246977A
TW202246977A TW110148512A TW110148512A TW202246977A TW 202246977 A TW202246977 A TW 202246977A TW 110148512 A TW110148512 A TW 110148512A TW 110148512 A TW110148512 A TW 110148512A TW 202246977 A TW202246977 A TW 202246977A
Authority
TW
Taiwan
Prior art keywords
task
node server
resource
target
type
Prior art date
Application number
TW110148512A
Other languages
English (en)
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 大陸商上海商湯科技開發有限公司
Publication of TW202246977A publication Critical patent/TW202246977A/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公開提供了一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品,其中,該任務調度方法包括:獲取待處理的任務的任務資訊;基於任務資訊,確定任務的任務類型;基於任務類型,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源;將目標節點伺服器以及目標節點伺服器上的目標資源配置用於執行任務。或者,該任務調度方法包括:確定待處理的任務的任務類型;基於任務的任務類型,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源;將目標節點伺服器的資訊以及目標資源的資訊發送給調度器,以使調度器將目標節點伺服器以及目標資源配置給待處理的任務。

Description

一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品
本公開涉及電腦技術領域,具體而言,涉及一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品。
為滿足不同的深度學習任務對應的不同資源需求,任務調度系統發揮著越來越重要的作用,現有技術中,應用於任務調度系統中的任務調度方法,大多基於深度學習任務的資源需求量,以分配儘量少的節點伺服器為目標為深度學習任務調度資源。
本公開實施例至少提供一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品。
第一方面,本公開實施例提供了一種任務調度方法,包括: 獲取待處理的任務的任務資訊; 基於所述任務資訊,確定所述任務的任務類型; 基於所述任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 將所述目標節點伺服器以及所述目標節點伺服器上的目標資源配置用於執行所述任務。
任務資訊能夠反映待處理的任務的資源需求量和通訊量需求資訊等資訊,從而,基於任務資訊,能夠確定與任務資訊匹配的任務類型。不同任務類型的任務對應的確定目標節點伺服器和目標資源的方式不同,基於確定的任務類型,能夠確定出與該任務類型相匹配的資源確定方式,進而, 利用確定的資源確定方式為待處理的任務分配目標資源,能夠提高分配的目標資源的合理性,進而,利用確定目標資源執行待處理的任務,能夠提高任務執行的速度和效率。
在一種可能的實施方式中,所述根據所述任務資訊,確定所述任務的任務類型,包括: 根據所述任務資訊,確定所述任務的資源需求量、所述任務的通訊量需求資訊; 確定節點伺服器中的資源數量; 基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型。
這樣,通訊量需求資訊能夠反映任務對於通信量和計算量的需求資訊,資源需求量能夠反映執行任務所需的空閒資源的數量,節點伺服器中的資源數量能夠反映出一個節點伺服器中的最大空閒資源數量。進而,基於資源需求量、任務的通訊量需求資訊、節點伺服器中的資源數量,能夠準確地確定出待處理任務的任務類型。
在一種可能的實施方式中,所述基於所述任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源,包括: 基於所述任務的任務類型、所述任務的資源需求量以及節點伺服器上的空閒資源,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
這樣,不同的任務類型的任務具有不同的資源配置優先順序,比如,對通信量要求較高的單節點多資源通訊類型的任務,資源配置優先順序較高,因此可以從空閒資源的數量大於資源需求量的節點伺服器中篩選目標節點伺服器,對於計算量較多的單節點多資源計算類型的任務,資源配置優先順序相對單節點多資源通訊類型的優先順序低,因此,可以從空閒資源的數量小於資源需求量的節點伺服器中篩選目標節點伺服器。這樣,根據不同的任務類型來為任務分配目標節點伺服器和目標節點伺服器中的目標資源,能夠實現將節點伺服器中的空閒資源合理地分配給不同的任務,從而,提高任務調度和執行的速度和效率。
在一種可能的實施方式中,所述基於所述任務的任務類型、所述任務的資源需求量以及節點伺服器上的空閒資源,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源,包括: 基於所述任務的任務類型,確定與所述任務類型相匹配的至少一個初始節點伺服器; 基於所述任務的資源需求量以及初始節點伺服器上的空閒資源,從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
這樣,基於任務類型,能夠先篩選出能夠執行待處理的任務的初始節點伺服器,再根據任務的資源需求量和初始節點伺服器上的空閒資源,篩選出最終的用於執行待處理的任務的目標節點伺服器和目標資源,從而,篩選出的目標節點伺服器和目標資源不僅能夠執行待處理的任務,還能夠具有較快的執行速度,從而,提高任務執行的速度和效率。
在一種可能的實施方式中,所述任務類型包括單節點多資源通訊類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量大於或等於所述資源需求量的初始節點伺服器作為第一節點伺服器; 基於所述第一節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器。
這樣,單節點多資源通訊類型對於通信量的需求較高,因此選取包括空閒資源的數量大於或等於資源需求量的第一節點伺服器,而不是等待空閒資源的數量小於資源需求量的其他節點伺服器釋放資源,實現將空閒資源的數量較多的初始節點伺服器優先分配給該類型的任務,以滿足該類型的任務的通信量需求,進而,從第一節點伺服器中選取執行任務的目標節點伺服器,能夠有效提高該類型的任務的調度和執行效率。
在一種可能的實施方式中,所述基於所述第一節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器,包括: 確定所述資源需求量對應的至少一個預設拓撲結構; 在所述第一節點伺服器中篩選具有任一個所述預設拓撲結構,並且空閒資源的數量最少的第一節點伺服器作為所述目標節點伺服器。
這樣,具有預設拓撲結構的資源之間具有較高的通信品質,利用具有預設拓撲結構的目標節點伺服器,能夠進一步提高執行單節點多資源通訊類型的任務的速度。另外,選取空閒資源的數量最少的第一節點伺服器,能夠減少對空閒資源的數量多的第一節點伺服器中的空閒資源的原有拓撲結構的拆分,實現對可選的拓撲結構的保護以及將其合理應用在單節點多資源通訊類型等其他任務上。
在一種可能的實施方式中,確定所述目標節點伺服器上的目標資源,包括: 將所述目標節點伺服器中的具有的預設拓撲結構作為目標拓撲結構; 將目標節點伺服器中構成所述目標拓撲結構的空閒資源作為所述目標資源。
這樣,能夠實現利用具有目標拓撲結構的目標資源執行單節點多資源通訊類型的任務,提高執行該類型的任務的調度和執行效率。
在一種可能的實施方式中,所述任務類型包括單節點多資源計算類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述資源需求量的第二節點伺服器; 基於所述第二節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器。
這樣,單節點多資源計算類型對於計算量的需求較高,對於通信量的需求較小,因此,選取包括空閒資源的數量小於資源需求量的第二節點伺服器,能夠滿足該類型的任務的通信量需求和計算量需求,在一定程度上提高該類型的任務的調度和執行效率。進一步地,該類型的任務不佔用空閒資源的數量大於資源需求量的初始節點伺服器,能夠將該類節點伺服器留給資源需求較高的單節點多資源通訊類型的任務,實現了在提高單節點多資源計算類型的任務的調度和執行效率的同時,提高了單節點多資源通訊類型的任務的調度和執行效率。進一步地,該實施方式能夠降低對空閒資源的數量多的初始節點伺服器中的空閒資源的原有拓撲結構的拆分概率,實現對可選的拓撲結構的保護以及將其合理應用在單節點多資源通訊類型等其他任務上。
在一種可能的實施方式中,所述基於所述第二節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器,包括: 確定所述資源需求量對應的至少一個預設拓撲結構; 在所述第二節點伺服器中篩選具有任一個所述預設拓撲結構的第二伺服器作為所述目標節點伺服器。
這樣,具有預設拓撲結構的資源之間具有較高的通信品質,利用具有預設拓撲結構的目標節點伺服器,能夠提高單節點多資源計算類型的任務的調度和執行效率。
在一種可能的實施方式中,所述基於所述第二節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器,還包括: 在從所述第二節點伺服器中未篩選出具有任一個所述預設拓撲結構的第二節點伺服器的情況下,經過預設時長或至少一個節點伺服器上的空閒資源發生變化,重新獲取節點伺服器上的空閒資源的數量,並返回基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述資源需求量的第二節點伺服器的步驟。
這樣,利用重新獲取節點伺服器上的空閒資源的數量的方法,能夠及時地為任務分配所需要的、且具有預設拓撲結構的空閒資源,進而,能夠及時地執行單節點多資源計算類型的任務。另外,還能夠降低對空閒資源的數量較多的初始節點伺服器中的空閒資源的原有拓撲結構的拆分概率,實現對可選的拓撲結構的保護以及將其合理應用在單節點多資源通信類型等其他任務上。
在一種可能的實施方式中,所述任務類型包括多節點類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述任務的資源需求量,從所述至少一個初始節點伺服器中,確定執行任務所需的第三節點伺服器的最大數量;其中,所述第三節點伺服器為空載的初始節點伺服器; 將所述最大數量的第三節點伺服器作為所述目標節點伺服器。
這樣,空載的第三節點伺服器中的空閒資源具有可選的拓撲結構,選取最大數量的第三節點伺服器作為目標節點伺服器,能夠保證用於執行多節點類型的任務的目標節點伺服器都具有可選的拓撲結構,從而能夠提高執行多節點類型的任務的效率。
在一種可能的實施方式中,所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,還包括: 在最大數量的第三節點伺服器上的資源總量小於所述資源需求量的情況下,確定所述資源總量與所述資源需求量的差值; 基於初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述差值的第四節點伺服器; 基於所述第四節點伺服器上的空閒資源和所述差值,確定執行所述任務的目標節點伺服器。
這樣,資源總量與資源需求量的差值能夠反映任務除需要空載的目標節點伺服器所包括的空閒資源之外,還需要在其他的初始節點伺服器上選取目標資源,進而,基於差值選取第四節點伺服器,能夠實現對任務所需要的空閒資源的合理分配,從而,能夠提高執行任務的速度。
在一種可能的實施方式中,所述任務類型包括單資源類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,將空閒資源的數量與所述資源需求量相等的初始節點伺服器作為所述目標節點伺服器。
這樣,單資源類型的任務只需要一個空閒資源即可以執行,因此,利用空閒資源的數量與資源需求量相等的目標節點伺服器,就能夠快速高效地執行任務。
在一種可能的實施方式中,還包括確定預設拓撲結構的步驟: 針對任一待匹配節點伺服器中的空閒資源,確定該待匹配節點伺服器中的任一數量的空閒資源對應的拓撲結構; 基於空閒資源之間的通信媒介,確定所述拓撲結構的通信等待時長; 基於所述通信等待時長,確定與該待匹配節點伺服器中任一數量的空閒資源對應的預設拓撲結構。
這樣,拓撲結構的通信等待時長能夠表徵利用該拓撲結構執行任務所需要的等待時間,利用通信等待時長,能夠篩選出任務執行效率高的預設拓撲結構,從而,利用具有預設拓撲結構的空閒資源執行任務,能夠提高任務執行效率。
在一種可能的實施方式中,所述基於所述通信等待時長,確定與該待匹配節點伺服器中任一數量的空閒資源對應的預設拓撲結構,包括: 按照所述通信等待時長從低到高的順序,將所述拓撲結構進行排序; 將排序次序小於預設次序的拓撲結構,作為與該待匹配節點伺服器對應的預設拓撲結構。
這樣,利用預設次序篩選預設拓撲結構,能夠保證篩選出的預設拓撲結構的通信等待時長相對較短,進而,利用該預設拓撲結構執行任務,能夠實現以較快的速度執行任務。
在一種可能的實施方式中,所述基於所述通信等待時長,確定與該待匹配節點伺服器中任一數量的空閒資源對應的預設拓撲結構,包括: 針對任一數量的空閒資源,將所述通信等待時長小於預設等待閾值的拓撲結構,作為與該待匹配節點伺服器中的該數量的空閒資源對應的預設拓撲結構。
這樣,利用預設等待閾值篩選預設拓撲結構,能夠保證篩選出的預設拓撲結構的通信等待時長小於預設等待閾值,進而,利用該預設拓撲結構執行任務,能夠合理地降低執行任務需要的通信等待時長。
在一種可能的實施方式中,所述根據所述任務資訊,確定所述任務的任務類型,包括: 獲取節點伺服器上的空閒資源; 根據所述任務資訊,確定所述任務的資源需求量、所述任務的通訊量需求資訊; 基於所述節點伺服器上的空閒資源、所述任務的資源需求量、所述任務的通訊量需求資訊,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 基於執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源,確定所述任務的任務類型。
這樣,在確定任務類型的同時確定目標節點伺服器和目標資源,進而,可以直接根據將任務類型對應的目標節點伺服器和目標資源配置給待處理的任務,省略了選取初始節點伺服器的時間,提高了資源調度的速度和效率,從而,提高了任務執行的速度和效率。
在一種可能的實施方式中,所述任務調度方法還包括: 在獲取的待處理的任務包括多個的情況下,基於每一個所述任務的任務類型,確定每個任務的資源配置優先順序; 基於每一個所述任務的資源配置優先順序,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
這樣,基於資源配置優先順序為不同的任務分配資源,能夠實現將節點伺服器中的空閒資源合理地分配給不同的任務。
在一種可能的實施方式中,所述任務類型包括單節點多資源通訊類型、單節點多資源計算類型、多節點類型、單資源類型; 所述基於每一個所述任務的任務類型,確定每個任務的資源配置優先順序,包括: 將所述單節點多資源通訊類型的任務的資源配置優先順序設置為第一優先順序; 將所述單節點多資源計算類型的任務的資源配置優先順序設置為第二優先順序; 將所述多節點類型的任務的資源配置優先順序設置為第三優先順序; 將所述單資源類型的任務的資源配置優先順序設置為第四優先順序。
這樣,單節點多資源通訊類型的任務對於通信量的需求較高,將該任務類型的任務設置為第一優先順序,能夠滿足其所需要的通信量,提高執行該任務類型的任務的速度,單節點多資源計算類型的任務對於計算量的需求較高,對於通信量的需求較小,將該任務類型的任務設置為第二優先順序,能夠滿足其所需要的計算量,並能夠降低對空閒資源的數量多的節點伺服器中的空閒資源的原有拓撲結構的拆分概率,多節點類型的任務需要空載的節點伺服器且該任務類型的任務相對較少,將其設置為第三優先順序,能夠保證及時地為單節點多資源通訊類型的任務和單節點多資源計算類型的任務分配資源,單資源類型的任務只需要一個資源即可以執行,因此設置為第四優先順序能夠保證在及時地為單節點多資源通訊類型的任務和單節點多資源計算類型的任務分配資源的基礎上,不影響該任務類型的任務的執行速度。
在一種可能的實施方式中,所述任務資訊包括所述資源需求量,所述任務調度方法還包括獲取所述資源需求量的步驟: 獲取所述待處理的任務的設定檔; 從所述設定檔中獲取所述待處理的任務的資源需求量。
這樣,直接從設定檔獲取資源需求量,提高了確定資源需求量的速度。
在一種可能的實施方式中,所述任務資訊包括所述通訊量需求資訊,所述任務調度方法還包括獲取所述通訊量需求資訊的步驟: 獲取所述待處理的任務的計算量資訊和通信量資訊; 基於所述計算量資訊和通信量資訊,確定所述通訊量需求資訊。
這樣,基於獲取的計算量資訊和通信量資訊確定通訊量需求資訊,能夠保證確定的通訊量需求資訊的準確性。
在一種可能的實施方式中,所述獲取所述待處理的任務的計算量資訊和通信量資訊,包括: 基於獲取的所述待處理的任務的設定檔或獲取的所述待處理的任務請求,確定所述待處理的任務的計算量資訊和通信量資訊;其中,所述任務請求中包括所述計算量資訊和通信量資訊。
這樣,基於對設定檔或任務請求的解析,確定計算量資訊和通信量資訊,能夠提高確定的計算量資訊和通信量資訊的準確性。
在一種可能的實施方式中,所述任務資訊包括所述通訊量需求資訊,所述任務調度方法還包括獲取所述通訊量需求資訊的步驟: 獲取所述待處理的任務的設定檔; 從所述設定檔中獲取所述待處理的任務的通訊量需求資訊。
這樣,直接從設定檔中獲取通訊量需求資訊,省略了計算該資訊的步驟,提高了確定通訊量需求資訊的速度。
在一種可能的實施方式中,所述基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型,包括: 基於所述資源需求量和所述節點伺服器中的資源數量,確定所述待處理的任務對應的目標節點伺服器的數量; 基於所述待處理的任務對應的目標節點伺服器的數量和所述通訊量需求資訊,確定所述待處理的任務的任務類型。
這樣,基於節點伺服器中的資源數量和節點伺服器中的資源數量,能夠準確地確定出任務的任務類型。
在一種可能的實施方式中,所述任務類型包括單節點多資源通訊類型、單節點多資源計算類型、多節點類型、單資源類型; 所述基於所述待處理的任務對應的目標節點伺服器的數量和所述通訊量需求資訊,確定所述待處理的任務的任務類型,包括: 在所述待處理的任務對應的目標節點伺服器的數量等於1、所述待處理的任務對應的目標資源的數量大於1、並且所述通訊量需求資訊指示所述待處理的任務的通信量需求高於計算量需求的情況下,確定所述待處理的任務的任務類型為單節點多資源通訊類型; 在所述待處理的任務對應的目標節點伺服器的數量等於1、所述待處理的任務對應的目標資源的數量大於1、並且所述通訊量需求資訊指示所述待處理的任務的計算量需求高於通信量需求的情況下,確定所述待處理的任務的任務類型為單節點多資源計算類型; 在所述待處理的任務對應的目標節點伺服器的數量大於1的情況下,確定所述待處理的任務的任務類型為多節點類型; 在所述待處理的任務對應的目標資源的數量等於1的情況下,確定所述待處理的任務的任務類型為單資源類型。
這樣,能夠準確地確定出任務的任務類型。
第二方面,本公開實施例還提供一種任務調度方法,應用於用戶端,包括: 確定待處理的任務的任務類型; 基於所述任務的任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 將所述目標節點伺服器的資訊以及所述目標資源的資訊發送給調度器,以使所述調度器將所述目標節點伺服器以及所述目標資源配置給所述待處理的任務。
這樣,用戶端基於確定的任務類型先確定目標節點伺服器和目標資源,然後將其發送給調度器的方式,調度器省略了確定目標節點伺服器和目標資源的步驟,可以直接將目標節點伺服器和目標資源配置給任務,從而,能夠提高資源調度的速度以及任務的執行速度和效率。
在一種可能的實施方式中,所述確定待處理的任務的任務類型,包括: 確定所述任務的資源需求量、所述任務的通訊量需求資訊以及所述節點伺服器中的資源數量; 基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型。
這樣,通訊量需求資訊能夠反映任務對於通信量和計算量的需求資訊,資源需求量能夠反映執行任務所需的空閒資源的數量,節點伺服器中的資源數量能夠反映出一個節點伺服器中的最大空閒資源數量。進而,基於資源需求量、任務的通訊量需求資訊、節點伺服器中的資源數量,能夠準確地確定出待處理任務的任務類型。
在一種可能的實施方式中,所述確定待處理的任務的任務類型,包括: 獲取節點伺服器上的空閒資源; 基於所述節點伺服器上的空閒資源、所述任務的資源需求量、所述任務的通訊量需求資訊,確定執行所述任務的至少一個目標節點伺服器以及所述目標節點伺服器上的目標資源; 基於所述至少一個目標節點伺服器以及所述目標節點伺服器上的目標資源,確定所述任務的任務類型。
這樣,基於空閒資源確定任務類型,能夠保證當前確定的目標節點伺服器和目標資源能夠直接用於執行任務。
第三方面,本公開實施例還提供一種任務調度裝置,應用於調度器端,包括: 獲取模組,用於獲取待處理的任務的任務資訊; 第一確定模組,用於基於所述任務資訊,確定所述任務的任務類型; 第二確定模組,用於基於所述任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 分配模組,用於將所述目標節點伺服器以及所述目標節點伺服器上的目標資源配置用於執行所述任務。
第四方面,本公開實例還包括一種任務調度裝置,應用於用戶端,包括: 第三確定模組,用於確定待處理的任務的任務類型; 第四確定模組,用於基於所述任務的任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 發送模組,用於將所述目標節點伺服器的資訊以及所述目標資源的資訊發送給調度器,以使所述調度器將所述目標節點伺服器以及所述目標資源配置給所述待處理的任務
第五方面,本公開可選實現方式還提供一種電腦設備,處理器、記憶體,所述記憶體儲存有所述處理器可執行的機器可讀指令,所述處理器用於執行所述記憶體中儲存的機器可讀指令,所述機器可讀指令被所述處理器執行時,所述機器可讀指令被所述處理器執行時執行上述第一方面,或第一方面中任一種可能的實施方式中的步驟,或者,執行上述第二方面,或第二方面中任一種可能的實施方式中的步驟。
第六方面,本公開可選實現方式還提供一種電腦可讀儲存媒介,該電腦可讀儲存媒介上儲存有電腦程式,該電腦程式被運行時執行上述第一方面,或第一方面中任一種可能的實施方式中的步驟,或者,執行上述第二方面,或第二方面中任一種可能的實施方式中的步驟。
第七方面,本公開可選實現方式還提供一種電腦程式產品,包括電腦可讀代碼,或者承載有電腦可讀代碼的非易失性電腦可讀儲存媒介,當所述電腦可讀代碼在電子設備的處理器中運行時,所述電子設備中的處理器執行上述第一方面,或第一方面中任一種可能的實施方式中的步驟,或者,執行上述第二方面,或第二方面中任一種可能的實施方式中的步驟。
為使本公開的上述目的、特徵和優點能更明顯易懂,下文特舉可選實施例,並配合所附圖式,作詳細說明如下。
為使本公開實施例的目的、技術方案和優點更加清楚,下面將結合本公開實施例中圖式,對本公開實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本公開一部分實施例,而不是全部的實施例。通常在此處描述和示出的本公開實施例的組件可以以不同的配置來佈置和設計。因此,以下對本公開的實施例的詳細描述並非旨在限制要求保護的本公開的範圍,而是表示本公開的選定實施例。基於本公開的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的其他實施例,都屬於本公開保護的範圍。
另外,本公開實施例中的說明書和請求項書及上述圖式中的用語「第一」、「第二」等是用於區別類似的物件,而不必用於描述特定的順序或先後次序。應該理解這樣使用的資料在適當情況下可以互換,以便這裡描述的實施例能夠以除了在這裡圖示或描述的內容以外的順序實施。
在本文中提及的「多個或者若干個」是指兩個或兩個以上。「和/或」,描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。字元「/」一般表示前後關聯物件是一種「或」的關係。
經研究發現,為滿足不同的深度學習任務對應的不同資源需求,任務調度系統發揮著越來越重要的作用,現有技術中,應用於任務調度系統中的任務調度方法,大多基於深度學習任務的資源需求量,以分配儘量少的節點伺服器為目標為深度學習任務調度資源。但是,在利用上述方法調度的資源執行深度學習任務時,存在執行速度慢、效率低的問題。
基於上述研究,本公開提供了一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品,任務資訊能夠反映待處理的任務的資源需求量和通訊量需求資訊等資訊,從而,基於任務資訊,能夠確定與任務資訊匹配的任務類型。不同任務類型的任務對應的確定目標節點伺服器和目標資源的方式不同,基於確定的任務類型,能夠確定出與該任務類型相匹配的資源確定方式,進而,利用確定的資源確定方式為待處理的任務分配目標資源,能夠提高分配的目標資源的合理性,進而,利用確定目標資源執行待處理的任務,能夠提高任務執行的速度和效率。
針對以上方案所存在的缺陷,均是發明人在經過實踐並仔細研究後得出的結果,因此,上述問題的發現過程以及下文中本公開針對上述問題所提出的解決方案,都應該是發明人在本公開過程中對本公開做出的貢獻。
應注意到:相似的標號和字母在下面的圖式中表示類似項,因此,一旦某一項在一個圖式中被定義,則在隨後的圖式中不需要對其進行進一步定義和解釋。
需要說明的是,本公開實施例中所提到的特定名詞包括:
GPU:Graphics Processing Unit,圖形處理器,又稱顯示核心、視覺處理器、顯示晶片,是一種專門在個人電腦、工作站、遊戲機和一些行動設備(如平板電腦、智慧手機等)上做圖像和圖形相關運算工作的微處理器;
CPU: Central Processing Unit,中央處理器,作為電腦系統的運算和控制核心,是資訊處理、程式運行的最終執行單元;
NIC:Network Interface Controller,網路介面控制器,又稱網路介面卡、網卡、或區域網路接收器,是一塊被設計用來允許電腦在電腦網路上進行通訊的電腦硬體;
PCIe: peripheral component interconnect express,是一種高速串列電腦擴展匯流排標準;
QPI : Quick Path Interconnect,又名CSI(Common System Interface)公共系統介面,是一種可以實現晶片間直接互聯的架構;
NVLink,是輝達開發並推出的一種匯流排及其通信協定。
為便於對本實施例進行理解,首先對本公開實施例所公開的一種任務調度方法進行詳細介紹,本公開實施例所提供的任務調度方法的執行主體一般為具有一定計算能力的電腦設備,在一些可能的實現方式中,該任務調度方法可以通過處理器調用記憶體中儲存的電腦可讀指令的方式來實現。
下面以執行主體為電腦設備為例對本公開實施例提供的任務調度方法加以說明。
如圖1所示,為本公開實施例提供的一種應用於調度器端的任務調度方法的流程圖,可以包括以下步驟:
S101:獲取待處理的任務的任務資訊。
這裡,待處理的任務可以是深度學習任務,是任務調度系統基於使用者在用戶端提交的預定義的設定檔獲取的任務,任務調度系統的本質可以是進行資源調度的調度器。任務調度系統中可以包括若干個節點伺服器,節點伺服器上包括一定數量的計算資源和一定數量的CPU,其中,節點伺服器可以為GPU節點伺服器,計算資源可以是GPU節點伺服器中的GPU,CPU之間可以利用QPI連接進行通信,一個節點伺服器中的GPU和CPU可以利用PCIe 進行通信,一個節點伺服器中的CPU可以利用NIC和其他節點伺服器中的CPU進行通信,一個節點伺服器中的GPU可以利用NVLink連接進行通信。
如圖2所示,為本公開實施例所提供的一種節點伺服器的結構示意圖,其中,節點伺服器中可以包括2個CPU伺服器(CPU0和CPU1)和8個GPU(V100GPU0, V100GPU1,V100GPU2, V100GPU3,V100GPU4,V100GPU5,V100GPU6,V100GPU7),PCIe Switches表示利用PCIe進行通信。
任務調度系統在獲取任務的同時,還可以獲取到該任務的任務資訊。其中,任務資訊為一種用於表徵待處理的任務的資源需求量、通訊量需求資訊的資訊。
S102:基於任務資訊,確定任務的任務類型。
這裡,任務類型能夠反映任務所需要的節點伺服器的數量、GPU資源的數量和通訊量需求,執行不同任務類型的任務選取的節點伺服器的數量不同。不同的任務可以具有不同的任務類型,針對同一任務,在選取的節點伺服器的數量不同的情況下,該任務的任務類型也不同。
因此,具體實施時,可以基於獲取的任務資訊所表徵的資源需求量、通訊量需求資訊等資訊,確定任務的任務類型。
S103:基於任務類型,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源。
這裡,針對不同任務類型的任務,確定目標節點伺服器和目標資源的方式不同。
在確定任務類型之後,可以根據節點伺服器上的空閒資源以及該任務的任務類型,確定可以用於執行任務的目標節點伺服器以及目標節點伺服器上的目標資源。其中,目標資源為空閒資源。
S104:將目標節點伺服器以及目標節點伺服器上的目標資源配置用於執行任務。
這裡,在確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源之後,任務調度系統可以將目標節點伺服器以及目標節點伺服器上的目標資源配置給任務以執行該任務。
這樣,任務資訊能夠反映待處理的任務的資源需求量和通訊量需求資訊等資訊,從而,基於任務資訊,能夠確定與任務資訊匹配的任務類型。不同任務類型的任務對應的確定目標節點伺服器和目標資源的方式不同,基於確定的任務類型,能夠確定出與該任務類型相匹配的資源確定方式,進而, 利用確定的資源確定方式為待處理的任務分配目標資源,能夠提高分配的目標資源的合理性,進而,利用確定目標資源執行待處理的任務,能夠提高任務執行的速度和效率。
在一種實施例中,可以按照以下步驟確定任務的任務類型:
步驟一、根據任務資訊,確定任務的資源需求量、任務的通訊量需求資訊。
這裡,不同的任務,需要不同數量的空閒GPU執行,任務的資源需求量可以是執行任務所需要的GPU的數量。通訊量需求資訊用於表徵該任務所對應的計算量和通信量之間的比值。一個任務在被確定之後,其所需要的GPU的數量也將被確定,即可以確定任務的資源需求量,同時,一個任務在被確定之後,其所對應的通訊量需求資訊也將被確定。因此,一個任務在被確定之後,用於表徵資源需求量和通訊量需求資訊的任務資訊也被確定。
進而,任務調度系統可以根據獲取的任務的任務資訊,確定其所表徵的該任務的資源需求量和通訊量需求資訊。
步驟二、確定節點伺服器中的資源數量。
這裡,資源數量即GPU數量。節點伺服器中的資源數量等同於節點伺服器中的資源的數量。
具體實施時,任務調度系統中節點伺服器上包括的GPU數量可以不相同,例如,任務調度系統中的節點伺服器可以包括8GPU的節點伺服器和4GPU的節點伺服器,這裡不進行限定。
步驟三、基於確定的資源需求量、任務的通訊量需求資訊、節點伺服器中的資源數量,確定任務的任務類型。
具體實施時,可以基於資源需求量和節點伺服器中的資源數量,確定執行該待處理的任務所需要的節點伺服器的數量,即確定該待處理的任務對應的目標節點伺服器的數量。其中,目標節點伺服器的數量=⌈资源需求量/资源数量⌉,其中,⌈ ⌉表示向上取整。
進而,可以基於待處理的任務對應的目標節點伺服器的數量和確定的該任務的通訊量需求資訊,確定該待處理的任務的任務類型。
在一種實施例中,任務類型可以包括單節點多資源通訊類型、單節點多資源計算類型、多節點類型和單資源類型。
這裡,基於任務的資源需求量,可以將任務劃分為單節點類型任務和多節點類型任務,其中,單節點類型任務利用一個目標節點伺服器中的資源即可完成,多節點類型任務需要至少兩個目標節點伺服器中的資源才可以完成;對於單節點任務,基於任務的資源需求量,又可以劃分為單節點多資源類型任務和單資源類型任務,其中,單資源類型任務表示該任務只需要一個目標節點伺服器中的一個空閒資源即可以完成,單節點多資源類型任務需要一個目標節點伺服器中的多個空閒資源才可以完成;另外,根據任務的通訊量需求資訊,又可以將單節點多資源類型任務劃分為單節點多資源通訊類型任務、單節點多資源計算類型任務,其中,單節點多資源通訊類型任務表示該任務對於通信量的需求較高,單節點多資源計算類型任務表示該任務對於計算量的需求較高。
具體實施時,在確定待處理的任務對應的目標節點伺服器的數量等於1、待處理的任務對應的目標資源的數量大於1、並且通訊量需求資訊指示待處理的任務的通信量需求高於計算量需求的情況下,確定待處理的任務的任務類型為單節點多資源通訊類型。
在確定待處理的任務對應的目標節點伺服器的數量等於1、待處理的任務對應的目標資源的數量大於1、並且通訊量需求資訊指示待處理的任務的計算量需求高於通信量需求的情況下,確定待處理的任務的任務類型為單節點多資源計算類型。
在確定待處理的任務對應的目標節點伺服器的數量大於1的情況下,確定待處理的任務的任務類型為多節點類型;
在確定待處理的任務對應的目標資源的數量等於1的情況下,確定待處理的任務的任務類型為單資源類型。
例如,任務的資源需求量為7,節點伺服器上資源的數量為8,計算量和通信量之間的比值大於1,則可以確定該任務所需要的目標節點伺服器的數量為1,進而,基於比值大於1和目標節點伺服器的數量1,可以確定該任務的任務類型為單節點多資源計算類型。
在一種實施例中,針對S103,可以按照以下步驟實施:
基於任務的任務類型、任務的資源需求量以及節點伺服器上的空閒資源,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源。
這裡,節點伺服器上的GPU可以單獨使用,節點伺服器上的空閒GPU為當前未使用的GPU。
具體實施時,可以根據節點伺服器上的空閒GPU的數量,將節點伺服器劃分到不同的空閒資源鏈表中,其中,空閒資源鏈表僅由包括一種空閒GPU的數量的節點伺服器組成。例如,空閒資源鏈表可以為1空閒GPU鏈表,2空閒GPU鏈表等,其中,1空閒GPU鏈表表示鏈表中的節點伺服器均為只有一個GUP空閒的節點伺服器。
在確定任務的任務類型之後,可以根據先基於任務的任務類型,確定與任務類型相匹配的至少一個初始節點伺服器。
這裡,初始節點伺服器可以為從空閒鏈表中選出來的節點伺服器,可以為一組能夠用於執行待處理的任務的多個節點伺服器或單個節點伺服器。例如,某一任務為單節點多資源通訊類型的任務,資源需求量為3,則可以從空閒鏈表中選取多個資源數量大於或等於3的多個節點伺服器作為初始節點伺服器,以及多組節點伺服器,其中,一組節點伺服器中的資源數量大於或等於3。
進而,可以基於任務的資源需求量以及初始節點伺服器上的空閒資源,從至少一個初始節點伺服器中,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源。
具體實施時,基於任務的資源需求量以及初始節點伺服器上的空閒資源,可以至少一個初始節點伺服器中,選取目標數量的目標節點伺服器,並可以基於任務的資源需求量,確定在目標節點伺服器上選取的用於執行任務的目標資源。其中,目標數量為上述實施例中確定的目標伺服器的數量。
例如,在確定任務的任務類型為多節點類型,資源需求量為13,節點伺服器上資源數量為8的情況下,可以在任務調度系統中的節點伺服器中選取兩個目標節點伺服器,其中一個目標節點伺服器為空載的節點伺服器,一個目標節點伺服器中包括的空閒資源的數量為5。
在一種實施例中,在任務類型包括單節點多資源通訊類型的情況下,可以按照以下步驟從至少一個初始節點伺服器中,確定執行任務的目標節點伺服器:
步驟一、基於至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量大於或等於資源需求量的初始節點伺服器作為第一節點伺服器;
步驟二、基於第一節點伺服器上的空閒資源和任務的資源需求量,確定執行任務的目標節點伺服器。
這裡,由於單節點多資源通訊類型任務對於通信量的需求較高,所以可以基於初始節點伺服器上的空閒資源的數量,篩選出空閒資源的數量大於或等於任務的資源需求量的第一節點伺服器,這樣,能夠保證第一節點伺服器中存在足夠數量的空閒資源用於滿足任務的通信量需求。具體實施時,篩選出的第一節點伺服器可以包括一個或多個。
進而,可以根據資源需求量,從篩選出的第一節點伺服器中選取用於執行任務的目標節點伺服器。
具體實施時,在篩選出第一節點伺服器之後,可以根據任務的資源需求量,確定資源需求量對應的至少一個預設拓撲結構,其中,預設拓撲結構是執行任務所需要的空閒資源之間的較優的拓撲結構,將空閒資源利用預設拓撲結構進行連接以執行任務,可以減少通信等待時長,提高執行任務的速度。
在一種實施例中,可以按照如圖3所示的方法確定任一空閒資源對應的預設拓撲結構,如圖3所示,為本公開實施例所提供的一種確定預設拓撲結構的方法的流程圖,可以包括以下步驟:
S301:針對任一待匹配節點伺服器中的空閒資源,確定該待匹配節點伺服器中的任一數量的空閒資源對應的拓撲結構。
S302:基於空閒資源之間的通信媒介,確定拓撲結構的通信等待時長。
S303:基於通信等待時長,確定與該待匹配節點伺服器中任一數量的空閒資源對應的預設拓撲結構。
這裡,待匹配節點伺服器中包括任一數量的空閒資源,待匹配節點伺服器可以為任一節點伺服器。資源需求量和空閒資源相對應,具體的,一種資源需求量可以與至少一個待匹配節點伺服器中的空閒資源相對應。例如,資源需求量為7,待匹配節點伺服器可以為一個空閒資源數量為7 的節點伺服器,或者,待匹配節點伺服器可以為一組包括的空閒資源的數量為7的多個節點伺服器,比如,可以為由一個包括3空閒資源的節點伺服器和一個包括4空閒資源的節點伺服器組成的一組節點伺服器。因此,該方法也為確定任一資源需求量對應的預設拓撲結構的方法。
任務調度系統中所包括的不同節點伺服器以及同一節點伺服器中的GPU和CPU之間通信品質是不同的,常見的通信方式如上述實施例所提及的QPI、PCIe、NIC和NVLink 4種,其中,NVLink的通信速率大於QPI的通信速率,QPI的通信速率待大於利用PCIe 、NIC和網路的通信速率。通信媒介可以為根據通信方式對應的媒介確定。
針對任一待匹配節點伺服器中的空閒資源,可以先確定該空閒資源對應的拓撲結構,然後基於待匹配節點伺服器中的空閒資源之間的通信媒介,確定拓撲結構的通信等待時長。
這裡,在待匹配節點伺服器為一組節點伺服器的情況下,可以確定該一組節點伺服器中的空閒資源可以組成的拓撲結構,然後,可以基於節點伺服器之間的通信媒介和空閒資源之間的通信媒介,確定拓撲結構的通信等待時長。
進一步的,可以根據拓撲結構的通信等待時長,對拓撲結構進行篩選,篩選出符合預設條件的拓撲結構作為預設拓撲結構。
具體實施時,可以利用先驗的方式,確定一種數量的空閒資源在不同的拓撲結構下對應的通信等待時長,其中,一種數量的空閒資源可以對應於多種拓撲結構,如圖4所示,為本公開實施例所提供的一種節點伺服器之間的拓撲關係示意圖,其中,NVLINK/NVSWITCH用於GPU之間的通信,Network(網路)和NIC用於不同的節點伺服器之間的通信。
針對拓撲結構,利用具有該拓撲結構的GPU,基於ring allreduce模型執行該數量的空閒資源對應的資源需求量的任務,其中,在基於ring allreduce模型執行任務的過程中,需要GPU依次進行通信,因此,總的通信等待時長將受到拓撲結構中GPU之間的最小的通信頻寬的限制。
具體實施時,針對單一節點伺服器內的allreduce通信等待時長,可以按照公式一確定:
Figure 02_image001
公式一
其中,T表示通信等待時長,n表示需要的GPU的數量,
Figure 02_image003
表示恒定的建立通信的時延,s表示ring allreduce模型的大小(即通信規模大小),BW表示拓撲結構下的GPU之間通信頻寬的集合,
Figure 02_image005
表示拓撲結構中GPU之間的最小的通信頻寬。
在一種實施例中,針對空閒資源對應的任務為多節點類型任務的情況,執行任務所需要的一次allreduce的通信等待時長,可以包括單一節點伺服器內的allreduce通信等待時長和節點伺服器之間的allreduce通信等待時長,其中,單一節點伺服器內的allreduce通信等待時長可以包括節點伺服器內一次reduce操作和節點伺服器內一次broadcast操作。
如圖5所示,為本公開實施例所提供的一種多節點類型任務的拓撲結構示意圖,其中,
Figure 02_image007
表示GPU之間的通信頻寬,
Figure 02_image009
表示不同節點伺服器之間的最小通信頻寬。其中,圖5右下角的所示的4個深顏色的GPU可以表示正在被使用的GPU。
具體實施時,節點伺服器內一次reduce操作和節點伺服器內一次broadcast操作的通信等待時長可以根據公式二確定:
Figure 02_image011
公式二
節點伺服器之間的allreduce通信等待時長可以根據公式三確定:
Figure 02_image013
公式三
其中,m表示使用的節點伺服器的數量。
另外,針對ring allreduce模型,在利用節點伺服器和節點伺服器內的GPU執行任務時,通常採用雙層通信方式,因此,可以確定執行任務所需要的一次雙層allreduce的通信等待時長可以如公式四所示:
Figure 02_image015
+
Figure 02_image017
公式四
其中,
Figure 02_image015
表示執行多節點類型任務時,多個節點伺服器下通信耗時最高的節點的通信等待時長。
進而,根據上述公式一~公式四,可以確定如公式五所示的任一數量的空閒資源對應的任務
Figure 02_image019
的通信等待時長
Figure 02_image021
Figure 02_image021
=
Figure 02_image023
T(
Figure 02_image025
Figure 02_image027
)+F(
Figure 02_image029
Figure 02_image031
Figure 02_image023
T(
Figure 02_image025
Figure 02_image027
)+T(
Figure 02_image033
))  公式五
其中,
Figure 02_image025
表示任務
Figure 02_image019
在第j個節點伺服器上所需要的GPU的數量,
Figure 02_image035
表示執行任務
Figure 02_image019
所需要的節點伺服器的數量,F是可以根據
Figure 02_image035
確定的函數,如果
Figure 02_image029
>=2,F(
Figure 02_image029
)=1,如果
Figure 02_image029
為其他數值,F(
Figure 02_image029
)=0,
Figure 02_image037
表示任務
Figure 02_image019
在第j個節點伺服器上與其他節點伺服器的通信頻寬,
Figure 02_image039
表示任務
Figure 02_image019
在第j個節點伺服器上與其他節點伺服器的最小通信頻寬,
Figure 02_image007
表示任務
Figure 02_image019
在第j個節點伺服器內的通信頻寬,
Figure 02_image041
表示任務
Figure 02_image019
的通信量和計算量之間的比值資訊。
對於任務
Figure 02_image019
,一共需要
Figure 02_image043
個GPU,在執行任務
Figure 02_image019
時,一個GPU需要花費
Figure 02_image021
的通信等待時長,進而,可以確定該拓撲結構下執行該資源需求量對應的任務的總的通信等待時長,進而,可以確定資源需求量對應的拓撲關係下的總的通信等待時長,然後,為了滿足提高執行任務的速度的需求,可以按照公式六選取預設拓撲結構:
min
Figure 02_image045
公式六
其中,min
Figure 02_image045
表示選取通信等待時長最小的拓撲結構作為預設拓撲結構。
在一種實施例中,基於公式五,可以確定一種數量的空閒資源下的拓撲關係的總的通信等待時長,進而,可以將拓撲關係的總的通信等待時長按照從低到高的順序進行排序,然後,利用預設次序,將排序次序小於預設次序的拓撲結構,作為該數量的空閒資源對應的預設拓撲結構,即,作為與該待匹配節點伺服器對應的預設拓撲結構。其中,預設次序可以根據實際需要設置,這裡不進行限定。
這樣,利用預設次序對拓撲結構進行篩選,得到的預設拓撲結構對應的通信等待時長在能夠滿足執行空閒資源對應的資源需求量的任務的時間要求的基礎上,還能夠實現儘量降低執行該資源需求量的任務的時間的目的。
在另一個實施例中,在基於公式五,確定一種資源需求量下的拓撲關係的通信等待時長之後,可以將通信等待時長小於預設等待閾值的拓撲結構,作為與該資源需求量對應的預設拓撲結構,即,可以作為與該待匹配節點伺服器對應的預設拓撲結構。這樣,利用該預設拓撲結構執行任務,能夠合理地降低執行任務需要的通信等待時長,其中,預設等待閾值可以根據實際需要設置,這裡不進行限定。
另外,由於NVLink的通信速率高,所以可選的拓撲結構中的資源之間的通信方式應該均為NVLink。
具體實施時,針對節點伺服器上資源數量為8的情況下,可以確定以下不同資源需求量下任務的預設拓撲結構,其中,不同資源需求量下的任務的預設拓撲結構是指單個節點伺服器上不同資源需求量對應的預設拓撲結構,如圖6a所示,為本公開實施例所提供的8資源對應的預設拓撲結構示意圖,如圖6b所示,為本公開實施例所提供的7資源對應的預設拓撲結構示意圖,如圖6c所示,為本公開實施例所提供的6資源對應的預設拓撲結構示意圖,如圖6d所示,為本公開實施例所提供的5資源對應的預設拓撲結構示意圖,如圖6e所示,為本公開實施例所提供的4資源對應的預設拓撲結構示意圖,如圖6f所示,為本公開實施例所提供的3資源對應的預設拓撲結構示意圖,如圖6g所示,為本公開實施例所提供的2資源對應的預設拓撲結構示意圖。
進一步的,在基於上述方式確定資源需求量對應的至少一個預設拓撲結構以及第一節點伺服器之後,可以從第一節點伺服器中篩選具有任一個預設拓撲結構第一節點伺服器,這樣,利用篩選出的具有任一個預設拓撲結構的第一節點伺服器執行該任務,能夠減少通信等待時長,進而,在從篩選出的具有任一個預設拓撲結構的第一節點伺服器中,選取空閒資源的數量最少的第一節點伺服器作為目標節點伺服器,這樣,利用空閒資源數量最小的第一節點伺服器作為目標節點伺服器,能夠減少對具有任一個預設拓撲結構且空閒資源數量較多的第一節點伺服器的原有拓撲結構的拆分,實現對可選的拓撲結構的保護以及將其合理應用在單節點多資源通信類型等其他任務上。
具體實施時,在篩選目標節點伺服器的過程中,如果存在空閒資源數量等於資源需求量且具有任一個預設拓撲結構的第一節點伺服器,則可以直接將該第一節點伺服器作為目標節點伺服器。
如果只存在空閒資源數量大於資源需求量且具有任一個預設拓撲結構的第一節點伺服器,則選取空閒資源數量最小的第一節點伺服器作為目標節點伺服器,然後將該目標節點伺服器中的空閒資源進行拆分,拆分出具有預設拓撲結構的資源用於執行任務,如圖7所示,為本公開實施例所提供的一種包括不同空閒資源的初始節點伺服器的拆分示意圖,其中,Slot可以表示初始節點伺服器,並且由圖7可知,在一個初始節點伺服器中包括的資源數量數為8時,6空閒資源拆分得到的可選的拓撲結構是4空閒資源加2空閒資源模式,5空閒資源拆分得到的可選的拓撲結構是3空閒資源加2空閒資源模式,job可以表示任務,8GPU jobs可以表示需要8空閒GPU可以完成的任務,Empty 7 GPU Slot表示7空閒GPU的節點伺服器。
這裡,如果篩選出的具有任一個預設拓撲結構且空閒資源數量最小的第一節點伺服器包括多個,則可以隨機選取任一個第一節點伺服器作為目標節點伺服器。
另外,在確定目標節點伺服器之後,可以將目標節點伺服器具有的預設拓撲結構作為目標拓撲結構,然後,可以將目標節點伺服器中構成目標拓撲結構的空閒資源作為目標資源。具體實施時,在確定目標節點伺服器中的空閒資源數量等於資源需求量情況下,可以將其中的空閒資源作為目標資源;在確定目標節點伺服器中的空閒資源數量大於資源需求量且空閒資源數量最小的情況下,可以將拆分出的具有目標拓撲結構的資源作為目標資源用於執行任務。
在另一種實施例中,如果未能篩選出可以滿足資源需求量的第一節點伺服器,則需要暫緩執行該任務,直至確定存在滿足資源需求量且具有至少一個預設拓撲結構的第一節點伺服器時,再執行該任務。
在一種實施例中,在任務類型包括單節點多資源計算類型的情況下,可以按照以下步驟從至少一個初始節點伺服器中,確定執行任務的目標節點伺服器:
步驟一、基於至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於資源需求量的第二節點伺服器;
步驟二、基於第二節點伺服器上的空閒資源和任務的資源需求量,確定執行任務的目標節點伺服器。
這裡,由於單節點多資源通訊類型任務對於計算量的需求高於對於通信量的需求,所說可以基於至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選出空閒資源的數量小於或等於資源需求量的第二節點伺服器。然後可以確定資源需求量對應的至少一個預設拓撲結構,在第二節點伺服器中篩選是否存在具有任一個預設拓撲結構的第二節點伺服器,如果是,則將該第二節點伺服器作為目標節點伺服器,並將該目標節點伺服器中的空閒資源作為目標資源,這裡,由於篩選的第二節點伺服器的空閒資源的數量是小於或等於資源需求量的,所以篩選出的具有任一個預設拓撲結構的第二節點伺服器中所包括的空閒資源的數量一定是等於資源需求量的。
如果在從第二節點伺服器中未篩選出具有任一個預設拓撲結構的第二節點伺服器的情況下,則等待執行該任務,然後經過預設時長重新獲取節點伺服器上的空閒資源,進而,重新篩選出空閒資源的數量小於或等於資源需求量的第二節點伺服器,直至可以從第二節點伺服器中篩選出能夠執行該任務的目標節點伺服器時,為該任務分配資源。
或者,在具體實施時,任務調度系統中,單資源類型的任務的數量較多,所以節點伺服器中的資源經常會被單獨使用,而單資源類型的任務執行速度較快,所以節點伺服器中會經常存在剛剛釋放的單個資源,所以可以在確定至少一個節點伺服器上的空閒資源的數量發生變化時,確定該節點伺服器上已有的空閒資源和剛剛釋放的單個資源是否可以組成資源需求量對應的任一個預設拓撲結構,如果是,則將該節點伺服器作為目標節點伺服器,將該目標節點伺服器中的資源作為目標資源,進而可以將該目標節點伺服器中的目標資源配置給該任務。
在一種實施例中,在任務類型包括多節點類型的情況下,需要選取多個節點伺服器用於執行該任務類型的任務,另外,根據公式一~公式六可以得出結論,對於多節點類型的任務,可以根據其對應的資源需求量以及節點伺服器上包括的空閒資源的最大數量(即節點伺服器上包括的資源數量),先從初始節點伺服器中為其分配最大數量的空載的第三節點伺服器,並將空載的第三節點伺服器作為目標伺服器。例如,資源需求量為35,節點伺服器上包括的資源數量為8,則先為其分配4個空載的第三節點伺服器。
進一步的,在最大數量的第三節點伺服器上所包括的資源總量小於資源需求量的情況下,則說明使用最大數量的第三節點伺服器還不能夠完成任務,還需要再使用一個初始節點伺服器上的部分空閒資源以執行該任務,因此,需要先確定資源總量與資源需求量的差值,其中,該差值為另外需要使用的一個初始節點伺服器上包括的空閒資源的數量。
在確定差值之後,可以按照為單節點多資源計算類型的任務分配資源的方法,為該多節點類型的任務選取目標節點伺服器。具體實施時,可以基於初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於差值的第四節點伺服器,然後基於上述實施例中確定單節點多資源計算類型的任務的目標節點伺服器的方法,從第四節點伺服器中篩選出目標節點伺服器,進而,可以將選取的空載的目標節點伺服器和該目標節點伺服器一起分配給該多節點類型的任務。
另外,如果在為多節點類型的任務選取空載的目標節點伺服器的過程中,不存在足夠數量空載的節點伺服器時,則等待執行該任務,直至存在足夠數量空載的節點伺服器時,為其分配節點伺服器和資源。
在一種實施例中,在任務類型包括單資源類型的情況下,該任務類型的任務的資源需求量為1,只需要單資源即可完成,因此可以直接基於初始節點伺服器上的空閒資源的數量,將空閒資源的數量與資源需求量相等的初始節點伺服器作為目標節點伺服器,如果空閒資源的數量與資源需求量相等的初始節點伺服器包括多個,則可以隨機選取任一個初始節點伺服器作為目標伺服器。
另外,在不存在空閒資源的數量與資源需求量相等的初始節點伺服器的情況下,則等待執行該任務,直至存在空閒資源的數量與資源需求量相等的節點伺服器時,為其分配資源並執行。
在一種實施例中,針對S102,還可以按照以下步驟確定任務的任務類型:
步驟一、獲取節點伺服器上的空閒資源。
這裡,在獲取到待處理的任務的任務資訊之後,可以同時獲取節點伺服器上的空閒資源。
步驟二、根據任務資訊,確定任務的資源需求量、任務的通訊量需求資訊。
本步驟的具體實施過程可以參照上述實施例中確定資源需求量和通訊量需求資訊的步驟,這裡不再贅述。
步驟三、基於節點伺服器上的空閒資源、任務的資源需求量、任務的通訊量需求資訊,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源。
這裡,任務調度系統可以直接基於該待處理的任務所需要的資源需求量和節點伺服器上的空閒資源以及通訊量需求資訊,確定能夠滿足資源需求量和通訊需求量資訊對應的通訊量需求的目標節點伺服器和目標資源。其中,目標節點伺服器中的目標資源具有可選的預設拓撲結構。
步驟四、基於執行任務的目標節點伺服器以及目標節點伺服器上的目標資源,確定任務的任務類型。
這裡,可以基於確定的目標節點伺服器的數量、目標節點伺服器上的目標資源的數量和通訊量需求資訊,確定該任務的任務類型。
這樣,在確定任務類型的同時確定目標節點伺服器和目標資源,進而,可以直接根據將任務類型對應的目標節點伺服器和目標資源配置給待處理的任務,省略了選取初始節點伺服器的時間,提高了資源調度的速度和效率,從而,提高了任務執行的速度和效率。
在另一種實施方式中,使用者還可以在提交的設定檔中直接標注待處理的任務的任務類型,進而,任務調度系統可以直接從獲取的設定檔中確定該任務的任務類型,並將其作為獲取的該任務的任務資訊。
在一種實施例中,不同任務類型的任務具有不同的資源配置優先順序,在獲取的待處理的任務包括多個的情況下,可以先確定每一個任務的任務類型,然後基於每一個任務的任務類型,確定每個任務的資源配置優先順序。
進而,可以基於任務的資源配置優先順序,確定執行該任務的目標節點伺服器以及目標節點伺服器上的目標資源,從而實現合理地為任務分配資源。
具體實施時,可以將單節點多資源通訊類型的任務的資源配置優先順序設置為第一優先順序;將單節點多資源計算類型的任務的資源配置優先順序設置為第二優先順序;將多節點類型的任務的資源配置優先順序設置為第三優先順序;將單資源類型的任務的資源配置優先順序設置為第四優先順序。
這樣,單節點多資源通訊類型的任務對於通信量的需求較高,將該任務類型的任務設置為第一優先順序,能夠滿足其所需要的通信量,提高執行該任務類型的任務的速度,單節點多資源計算類型的任務對於計算量的需求較高,對於通信量的需求較小,將該任務類型的任務設置為第二優先順序,能夠滿足其所需要的計算量,並能夠降低對空閒資源的數量多的節點伺服器中的空閒資源的原有拓撲結構的拆分概率,多節點類型的任務需要空載的節點伺服器且該任務類型的任務相對較少,將其設置為第三優先順序,能夠保證及時地為單節點多資源通訊類型的任務和單節點多資源計算類型的任務分配資源,單資源類型的任務只需要一個資源即可以執行,因此設置為第四優先順序能夠保證在及時地為單節點多資源通訊類型的任務和單節點多資源計算類型的任務分配資源的基礎上,不影響該任務類型的任務的執行速度。
在一種實施例中,任務資訊可以包括資源需求量,因此,可以按照以下步驟獲取資源需求量:
步驟一、獲取待處理的任務的設定檔。
步驟二、從設定檔中獲取待處理的任務的資源需求量。
具體實施時,用戶在用戶端提交與待處理的任務相關的預定義的設定檔的時候,可以直接在設定檔中確定該待處理的任務的資源需求量資訊。進而,任務調度系統可以直接從獲取的設定檔中獲取待處理的任務的資源需求量,並將其作為獲取的該任務的任務資訊。
這樣,不需要對設定檔進行解析就能夠獲取資源需求量,提高了確定資源需求量的速度。
在一種實施例中,任務資訊可以包括通訊量需求資訊,因此,可以按照以下步驟獲取通訊量需求資訊:
步驟一、獲取待處理的任務的計算量資訊和通信量資訊。
具體實施時,可以基於對獲取的待處理的任務的設定檔的解析,或基於對獲取的待處理的任務請求的解析,確定待處理的任務的計算量資訊和通信量資訊;其中,任務請求中包括計算量資訊和通信量資訊,任務請求可以為用戶在用戶端提交的為任務分配資源的請求。
步驟二、基於計算量資訊和通信量資訊,確定通訊量需求資訊。
這裡,可以確定計算量資訊對應的計算量和通信量資訊對應的計算量之間的比值,並基於確定的比值,確定通訊量需求資訊。
在另一種實施例中,在任務資訊可以包括通訊量需求資訊的情況下,還可以按照以下步驟獲取通訊量需求資訊:
步驟一、獲取待處理的任務的設定檔;
步驟二、從設定檔中獲取待處理的任務的通訊量需求資訊。
這裡,用戶提交的設定檔中可以直接包括該待處理的任務的通訊量需求資訊。進而,任務調度系統可以直接從獲取的設定檔中獲取待處理的任務的通訊量需求資訊,並將其作為獲取的該任務的任務資訊。
這樣,不需要對設定檔進行解析以獲取通訊量需求資訊,省略了計算該資訊的步驟,提高了確定通訊量需求資訊的速度。
另外,本公開實施例化提供了一種應用於用戶端的任務調度方法,如圖8所示,為本公開實施例所提供的一種應用於用戶端的任務調度方法的流程圖,可以包括以下步驟:
S801:確定待處理的任務的任務類型。
這裡,用戶在用戶端提交與待處理的任務相關的預定義的設定檔之後,用戶端可以基於該設定檔,直接確定該任務的任務類型。
S802:基於任務的任務類型,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源。
這裡,針對不同任務類型的任務,確定目標節點伺服器和目標資源的方式不同。
用戶端在確定任務的任務類型之後,可以根據節點伺服器上的空閒資源以及該任務的任務類型,確定可以用於執行任務的目標節點伺服器以及目標節點伺服器上的目標資源。其中,目標資源為空閒資源。
關於S802的具體實施過程,可以參照應用於調度器端的任務調度方法中,基於任務類型確定目標節點伺服器和目標資源的步驟,只是執行主體由調度器變為該調度器對應的用戶端,因此,這裡不再贅述。
S803:將目標節點伺服器的資訊以及目標資源的資訊發送給調度器,以使調度器將目標節點伺服器以及目標資源配置給待處理的任務。
這裡,用戶端可以直接將確定的目標節點伺服器的資訊以及目標資源的資訊發送給調度器,即,發送給任務調度系統。之後,調度器可以直接基於目標節點伺服器的資訊和目標資源的資訊,確定用於執行該待處理的任務的目標節點伺服器以及目標節點伺服器上的目標資源,進而,可以將目標節點伺服器以及目標資源配置給待處理的任務。
這樣,用戶端基於確定的任務類型先確定目標節點伺服器和目標資源,然後將其發送給調度器的方式,調度器省略了確定目標節點伺服器和目標資源的步驟,可以直接將目標節點伺服器和目標資源配置給任務,從而,能夠提高資源調度的速度以及任務的執行速度和效率。
在一種實施例中,針對S801,可以按照以下步驟確定任務類型:
步驟一、確定任務的資源需求量、任務的通訊量需求資訊以及節點伺服器中的資源數量。
這裡,用戶端可以基於對設定檔的解析,確定任務的資源需求量和任務的通訊量需求資訊。
或者,可以直接從設定檔中獲取任務的資源需求量和任務的通訊量需求資訊,這裡不進行限定。
並且,用戶端可以確定任務調度系統中節點伺服器中的資源數量。這裡,資源數量即GPU數量。
步驟二、基於確定的資源需求量、任務的通訊量需求資訊、節點伺服器中的資源數量,確定任務的任務類型。
具體實施時,可以基於資源需求量和節點伺服器中的資源數量,確定執行該待處理的任務所需要的節點伺服器的數量,即確定該待處理的任務對應的目標節點伺服器的數量。其中,目標節點伺服器的數量=
Figure 02_image047
,其中,
Figure 02_image049
表示向上取整。
進而,可以基於待處理的任務對應的目標節點伺服器的數量和確定的該任務的通訊量需求資訊,確定該待處理的任務的任務類型。
在另一種實施例中,針對S801,還可以按照以下步驟確定任務類型:
步驟一、獲取節點伺服器上的空閒資源。
這裡,用戶端在獲取到用戶提交的設定檔之後,可以同時獲取節點伺服器上的空閒資源。
步驟二、基於節點伺服器上的空閒資源、任務的資源需求量、任務的通訊量需求資訊,確定執行任務的至少一個目標節點伺服器以及目標節點伺服器上的目標資源。
這裡,用戶端可以直接基於該待處理的任務所需要的資源需求量和節點伺服器上的空閒資源以及通訊量需求資訊,確定能夠滿足資源需求量和通訊需求量資訊對應的通訊量需求的目標節點伺服器和目標資源。其中,目標節點伺服器中的目標資源具有可選的預設拓撲結構。
步驟三、基於至少一個目標節點伺服器以及目標節點伺服器上的目標資源,確定任務的任務類型。
這裡,可以基於確定的目標節點伺服器的數量、目標節點伺服器上的目標資源的數量和通訊量需求資訊,確定該任務的任務類型。
具體實施時,關於上述實施例中提及的確定任務類型的步驟的具體實施過程,可以參照應用於調度器端的任務調度方法中確定任務類型的步驟,只是執行主體由調度器變為該調度器對應的用戶端,因此,這裡不再贅述。
本領域技術人員可以理解,在具體實施方式的上述方法中,各步驟的撰寫順序並不意味著嚴格的執行順序而對實施過程構成任何限定,各步驟的具體執行順序應當以其功能和可能的內在邏輯確定。
基於同一發明構思,本公開實施例中還提供了與應用於調度器端的任務調度方法對應的任務調度裝置,由於本公開實施例中的任務調度裝置解決問題的原理與本公開實施例上述任務調度方法相似,因此任務調度裝置的實施可以參見任務調度方法的實施,重複之處不再贅述。
如圖9所示,為本公開實施例提供的一種應用於調度器端的任務調度裝置的示意圖,包括:
獲取模組901,用於獲取待處理的任務的任務資訊;
第一確定模組902,用於基於所述任務資訊,確定所述任務的任務類型;
第二確定模組903,用於基於所述任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源;
分配模組904,用於將所述目標節點伺服器以及所述目標節點伺服器上的目標資源配置用於執行所述任務。
在一種可能的實施方式中,所述第一確定模組902,用於根據所述任務資訊,確定所述任務的資源需求量、所述任務的通訊量需求資訊; 確定節點伺服器中的資源數量; 基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型。
在一種可能的實施方式中,所述第二確定模組903,用於基於所述任務的任務類型、所述任務的資源需求量以及節點伺服器上的空閒資源,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
在一種可能的實施方式中,所述第二確定模組903,用於基於所述任務的任務類型,確定與所述任務類型相匹配的至少一個初始節點伺服器; 基於所述任務的資源需求量以及初始節點伺服器上的空閒資源,從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
在一種可能的實施方式中,所述任務類型包括單節點多資源通訊類型; 所述第二確定模組903,用於基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量大於或等於所述資源需求量的初始節點伺服器作為第一節點伺服器; 基於所述第一節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器。
在一種可能的實施方式中,所述第二確定模組903,用於確定所述資源需求量對應的至少一個預設拓撲結構; 在所述第一節點伺服器中篩選具有任一個所述預設拓撲結構,並且空閒資源的數量最少的第一節點伺服器作為所述目標節點伺服器。
在一種可能的實施方式中,所述第二確定模組903,用於將所述目標節點伺服器中的具有的預設拓撲結構作為目標拓撲結構; 將目標節點伺服器中構成所述目標拓撲結構的空閒資源作為所述目標資源。
在一種可能的實施方式中,所述任務類型包括單節點多資源計算類型; 所述第二確定模組903,用於基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述資源需求量的第二節點伺服器; 基於所述第二節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器。
在一種可能的實施方式中,所述第二確定模組903,用於確定所述資源需求量對應的至少一個預設拓撲結構; 在所述第二節點伺服器中篩選具有任一個所述預設拓撲結構的第二伺服器作為所述目標節點伺服器。
在一種可能的實施方式中,所述第二確定模組903,還用於在從所述第二節點伺服器中未篩選出具有任一個所述預設拓撲結構的第二節點伺服器的情況下,經過預設時長或至少一個節點伺服器上的空閒資源發生變化,重新獲取節點伺服器上的空閒資源的數量,並返回基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述資源需求量的第二節點伺服器的步驟。
在一種可能的實施方式中,所述任務類型包括多節點類型; 所述第二確定模組903,用於基於所述任務的資源需求量,從所述至少一個初始節點伺服器中,確定執行任務所需的第三節點伺服器的最大數量;其中,所述第三節點伺服器為空載的初始節點伺服器; 將所述最大數量的第三節點伺服器作為所述目標節點伺服器。
在一種可能的實施方式中,所述第二確定模組903,還用於在最大數量的第三節點伺服器上的資源總量小於所述資源需求量的情況下,確定所述資源總量與所述資源需求量的差值; 基於初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述差值的第四節點伺服器; 基於所述第四節點伺服器上的空閒資源和所述差值,確定執行所述任務的目標節點伺服器。
在一種可能的實施方式中,所述任務類型包括單資源類型; 所述第二確定模組903,用於基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,將空閒資源的數量與所述資源需求量相等的初始節點伺服器作為所述目標節點伺服器。
在一種可能的實施方式中,所述第二確定模組903,還用於按照以下步驟確定預設拓撲結構: 針對任一待匹配節點伺服器中的空閒資源,確定該待匹配節點伺服器中的任一數量的空閒資源對應的拓撲結構; 基於空閒資源之間的通信媒介,確定所述拓撲結構的通信等待時長; 基於所述通信等待時長,確定與該待匹配節點伺服器中任一數量的空閒資源對應的預設拓撲結構。
在一種可能的實施方式中,所述第二確定模組903,用於按照所述通信等待時長從低到高的順序,將所述拓撲結構進行排序; 將排序次序小於預設次序的拓撲結構,作為與該待匹配節點伺服器對應的預設拓撲結構。
在一種可能的實施方式中,所述第二確定模組903,用於針對任一數量的空閒資源,將所述通信等待時長小於預設等待閾值的拓撲結構,作為與該待匹配節點伺服器中的該數量的空閒資源對應的預設拓撲結構。
在一種可能的實施方式中,所述第一確定模組902,用於獲取節點伺服器上的空閒資源; 根據所述任務資訊,確定所述任務的資源需求量、所述任務的通訊量需求資訊; 基於所述節點伺服器上的空閒資源、所述任務的資源需求量、所述任務的通訊量需求資訊,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 基於執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源,確定所述任務的任務類型。
在一種可能的實施方式中,所述第二確定模組903,還用於在獲取的待處理的任務包括多個的情況下,基於每一個所述任務的任務類型,確定每個任務的資源配置優先順序; 基於每一個所述任務的資源配置優先順序,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
在一種可能的實施方式中,所述任務類型包括單節點多資源通訊類型、單節點多資源計算類型、多節點類型、單資源類型; 所述第二確定模組903,用於將所述單節點多資源通訊類型的任務的資源配置優先順序設置為第一優先順序; 將所述單節點多資源計算類型的任務的資源配置優先順序設置為第二優先順序; 將所述多節點類型的任務的資源配置優先順序設置為第三優先順序; 將所述單資源類型的任務的資源配置優先順序設置為第四優先順序。
在一種可能的實施方式中,所述任務資訊包括所述資源需求量,所述第一確定模組902,還用於按照以下步驟獲取所述資源需求量: 獲取所述待處理的任務的設定檔; 從所述設定檔中獲取所述待處理的任務的資源需求量。
在一種可能的實施方式中,所述任務資訊包括所述通訊量需求資訊,所述第一確定模組902,還用於按照以下步驟獲取所述通訊量需求資訊: 獲取所述待處理的任務的計算量資訊和通信量資訊; 基於所述計算量資訊和通信量資訊,確定所述通訊量需求資訊。
在一種可能的實施方式中,所述第一確定模組902,用於基於獲取的所述待處理的任務的設定檔或獲取的所述待處理的任務請求,確定所述待處理的任務的計算量資訊和通信量資訊;其中,所述任務請求中包括所述計算量資訊和通信量資訊。
在一種可能的實施方式中,所述任務資訊包括所述通訊量需求資訊,所述第一確定模組902,還用於按照以下步驟獲取所述通訊量需求資訊: 獲取所述待處理的任務的設定檔; 從所述設定檔中獲取所述待處理的任務的通訊量需求資訊。
在一種可能的實施方式中,所述第一確定模組902,用於基於所述資源需求量和所述節點伺服器中的資源數量,確定所述待處理的任務對應的目標節點伺服器的數量; 基於所述待處理的任務對應的目標節點伺服器的數量和所述通訊量需求資訊,確定所述待處理的任務的任務類型。
在一種可能的實施方式中,所述任務類型包括單節點多資源通訊類型、單節點多資源計算類型、多節點類型、單資源類型; 所述第一確定模組902,用於在所述待處理的任務對應的目標節點伺服器的數量等於1、所述待處理的任務對應的目標資源的數量大於1、並且所述通訊量需求資訊指示所述待處理的任務的通信量需求高於計算量需求的情況下,確定所述待處理的任務的任務類型為單節點多資源通訊類型; 在所述待處理的任務對應的目標節點伺服器的數量等於1、所述待處理的任務對應的目標資源的數量大於1、並且所述通訊量需求資訊指示所述待處理的任務的計算量需求高於通信量需求的情況下,確定所述待處理的任務的任務類型為單節點多資源計算類型; 在所述待處理的任務對應的目標節點伺服器的數量大於1的情況下,確定所述待處理的任務的任務類型為多節點類型; 在所述待處理的任務對應的目標資源的數量等於1的情況下,確定所述待處理的任務的任務類型為單資源類型。
基於同一發明構思,本公開實施例中還提供了與應用於用戶端的任務調度方法對應的任務調度裝置,由於本公開實施例中的任務調度裝置解決問題的原理與本公開實施例上述任務調度方法相似,因此任務調度裝置的實施可以參見任務調度方法的實施,重複之處不再贅述。
如圖10所示,為本公開實施例提供的一種應用於用戶端的任務調度裝置的示意圖,包括:
第三確定模組1001,用於確定待處理的任務的任務類型;
第四確定模組1002,用於基於所述任務的任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源;
發送模組1003,用於將所述目標節點伺服器的資訊以及所述目標資源的資訊發送給調度器,以使所述調度器將所述目標節點伺服器以及所述目標資源配置給所述待處理的任務。
在一種可能的實施方式中,所述第三確定模組1001,用於確定所述任務的資源需求量、所述任務的通訊量需求資訊以及所述節點伺服器中的資源數量; 基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型。
在一種可能的實施方式中,所述第三確定模組1001,用於獲取節點伺服器上的空閒資源; 基於所述節點伺服器上的空閒資源、所述任務的資源需求量、所述任務的通訊量需求資訊,確定執行所述任務的至少一個目標節點伺服器以及所述目標節點伺服器上的目標資源; 基於所述至少一個目標節點伺服器以及所述目標節點伺服器上的目標資源,確定所述任務的任務類型。
關於任務調度裝置中的各模組的處理流程、以及各模組之間的交互流程的描述可以參照上述方法實施例中的相關說明,這裡不再詳述。
本公開實施例還提供了一種電腦設備,如圖11所示,為本公開實施例提供的一種電腦設備結構示意圖,包括:
處理器1101和記憶體1102;所述記憶體1102儲存有處理器1101可執行的機器可讀指令,處理器1101用於執行記憶體1102中儲存的機器可讀指令,所述機器可讀指令被處理器1101執行時,處理器1101執行下述步驟:S101:獲取待處理的任務的任務資訊;S102:基於任務資訊,確定任務的任務類型;S103:基於任務類型,確定執行任務的目標節點伺服器以及目標節點伺服器上的目標資源以及S104:將目標節點伺服器以及目標節點伺服器上的目標資源配置用於執行任務。
上述記憶體1102包括內存1121和外部記憶體1122;這裡的內存1121也稱內記憶體,用於暫時存放處理器1101中的運算資料,以及與硬碟等外部記憶體1122交換的資料,處理器1101通過記憶體1121與外部記憶體1122進行資料交換。
上述指令的具體執行過程可以參考本公開實施例中所述的任務調度方法的步驟,此處不再贅述。
本公開實施例還提供一種電腦可讀儲存媒介,該電腦可讀儲存媒介上儲存有電腦程式,該電腦程式被處理器運行時執行上述方法實施例中所述的任務調度方法的步驟。其中,該儲存媒介可以是易失性或非易失的電腦可讀取儲存媒介。
本公開實施例所提供的任務調度方法的電腦程式產品,包括儲存了程式碼的電腦可讀儲存媒介,所述程式碼包括的指令可用於執行上述方法實施例中所述的任務調度方法的步驟,具體可參見上述方法實施例,在此不再贅述。
該電腦程式產品可以具體通過硬體、軟體或其結合的方式實現。在一個可選實施例中,所述電腦程式產品具體體現為電腦儲存媒介,在另一個可選實施例中,電腦程式產品具體體現為軟體產品,例如軟體發展包(Software Development Kit,SDK)等等。
所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,上述描述裝置的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本公開所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。以上所描述的裝置實施例是示意性的,例如,所述單元的劃分,為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,又例如,多個單元或組件可以結合,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本公開各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個處理器可執行的非易失的電腦可讀取儲存媒介中。基於這樣的理解,本公開的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存媒介中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本公開各個實施例所述方法的全部或部分步驟。而前述的儲存媒介包括:USB隨身碟、行動硬碟、唯讀記憶體(Read-Only Memory,ROM)、隨機存取記憶體(Random Access Memory,RAM)、磁碟或者光碟等各種可以儲存程式碼的媒介。
最後應說明的是:以上所述實施例,僅為本公開的具體實施方式,用以說明本公開的技術方案,而非對其限制,本公開的保護範圍並不局限於此,儘管參照前述實施例對本公開進行了詳細的說明,本領域的普通技術人員應當理解:任何熟悉本技術領域的技術人員在本公開揭露的技術範圍內,其依然可以對前述實施例所記載的技術方案進行修改或可輕易想到變化,或者對其中部分技術特徵進行等同替換;而這些修改、變化或者替換,並不使相應技術方案的本質脫離本公開實施例技術方案的精神和範圍,都應涵蓋在本公開的保護範圍之內。因此,本公開的保護範圍應所述以請求項的保護範圍為准。
S101~S104:流程步驟 S301~S303:流程步驟 S801~S803:流程步驟 901:獲取模組 902:第一確定模組 903:第二確定模組 904:分配模組 1001:第三確定模組 1002:第四確定模組 1003:發送模組 1101:處理器 1102:記憶體 1121:內存 1122:外部記憶體
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1示出了本公開實施例所提供的一種應用於調度器端的任務調度方法的流程圖; 圖2示出了本公開實施例所提供的一種節點伺服器的結構示意圖; 圖3示出了本公開實施例所提供的一種確定預設拓撲結構的方法的流程圖; 圖4示出了本公開實施例所提供的一種節點伺服器之間的拓撲關係示意圖; 圖5示出了本公開實施例所提供的一種多節點類型任務的拓撲結構示意圖; 圖6a示出了本公開實施例所提供的8資源對應的預設拓撲結構示意圖; 圖6b示出了本公開實施例所提供的7資源對應的預設拓撲結構示意圖; 圖6c示出了本公開實施例所提供的6資源對應的預設拓撲結構示意圖; 圖6d示出了本公開實施例所提供的5資源對應的預設拓撲結構示意圖; 圖6e示出了本公開實施例所提供的4資源對應的預設拓撲結構示意圖; 圖6f示出了本公開實施例所提供的3資源對應的預設拓撲結構示意圖; 圖6g示出了本公開實施例所提供的2資源對應的預設拓撲結構示意圖; 圖7示出了本公開實施例所提供的一種包括不同空閒資源的初始節點伺服器的拆分示意圖; 圖8示出了本公開實施例所提供的一種應用於用戶端的任務調度方法的流程圖; 圖9示出了本公開實施例所提供的一種應用於調度器端的任務調度裝置的示意圖; 圖10示出了本公開實施例所提供的一種應用於用戶端的任務調度裝置的示意圖; 圖11示出了本公開實施例所提供的一種電腦設備結構示意圖。
S101~S104:流程步驟

Claims (25)

  1. 一種任務調度方法,應用於調度器端,包括: 獲取待處理的任務的任務資訊; 基於所述任務資訊,確定所述任務的任務類型; 基於所述任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 將所述目標節點伺服器以及所述目標節點伺服器上的目標資源配置用於執行所述任務。
  2. 根據請求項1所述的任務調度方法,其中,所述根據所述任務資訊,確定所述任務的任務類型,包括: 根據所述任務資訊,確定所述任務的資源需求量、所述任務的通訊量需求資訊; 確定節點伺服器中的資源數量; 基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型;或, 獲取節點伺服器上的空閒資源; 根據所述任務資訊,確定所述任務的資源需求量、所述任務的通訊量需求資訊; 基於所述節點伺服器上的空閒資源、所述任務的資源需求量、所述任務的通訊量需求資訊,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 基於執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源,確定所述任務的任務類型。
  3. 根據請求項1所述的任務調度方法,其中,所述基於所述任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源,包括: 基於所述任務的任務類型、所述任務的資源需求量以及節點伺服器上的空閒資源,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
  4. 根據請求項3所述的任務調度方法,其中,所述基於所述任務的任務類型、所述任務的資源需求量以及節點伺服器上的空閒資源,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源,包括: 基於所述任務的任務類型,確定與所述任務類型相匹配的至少一個初始節點伺服器; 基於所述任務的資源需求量以及初始節點伺服器上的空閒資源,從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
  5. 根據請求項4所述的任務調度方法,其中,所述任務類型包括單節點多資源通訊類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量大於或等於所述資源需求量的初始節點伺服器作為第一節點伺服器; 基於所述第一節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器;或, 所述任務類型包括單節點多資源計算類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述資源需求量的第二節點伺服器; 基於所述第二節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器;或, 所述任務類型包括多節點類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述任務的資源需求量,從所述至少一個初始節點伺服器中,確定執行任務所需的第三節點伺服器的最大數量;其中,所述第三節點伺服器為空載的初始節點伺服器; 將所述最大數量的第三節點伺服器作為所述目標節點伺服器;或, 所述任務類型包括單資源類型; 所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,包括: 基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,將空閒資源的數量與所述資源需求量相等的初始節點伺服器作為所述目標節點伺服器。
  6. 根據請求項5所述的任務調度方法,其中,所述基於所述第一節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器,包括: 確定所述資源需求量對應的至少一個預設拓撲結構; 在所述第一節點伺服器中篩選具有任一個所述預設拓撲結構,並且空閒資源的數量最少的第一節點伺服器作為所述目標節點伺服器。
  7. 根據請求項6所述的任務調度方法,其中,確定所述目標節點伺服器上的目標資源,包括: 將所述目標節點伺服器中的具有的預設拓撲結構作為目標拓撲結構; 將目標節點伺服器中構成所述目標拓撲結構的空閒資源作為所述目標資源。
  8. 根據請求項5所述的任務調度方法,其中,所述基於所述第二節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器,包括: 確定所述資源需求量對應的至少一個預設拓撲結構; 在所述第二節點伺服器中篩選具有任一個所述預設拓撲結構的第二伺服器作為所述目標節點伺服器。
  9. 根據請求項8所述的任務調度方法,其中,所述基於所述第二節點伺服器上的空閒資源和所述任務的資源需求量,確定執行所述任務的目標節點伺服器,還包括: 在從所述第二節點伺服器中未篩選出具有任一個所述預設拓撲結構的第二節點伺服器的情況下,經過預設時長或至少一個節點伺服器上的空閒資源發生變化,重新獲取節點伺服器上的空閒資源的數量,並返回基於所述至少一個初始節點伺服器中的初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述資源需求量的第二節點伺服器的步驟。
  10. 根據請求項5所述的任務調度方法,其中,所述從所述至少一個初始節點伺服器中,確定執行所述任務的目標節點伺服器,還包括: 在最大數量的第三節點伺服器上的資源總量小於所述資源需求量的情況下,確定所述資源總量與所述資源需求量的差值; 基於初始節點伺服器上的空閒資源的數量,篩選空閒資源的數量小於或等於所述差值的第四節點伺服器; 基於所述第四節點伺服器上的空閒資源和所述差值,確定執行所述任務的目標節點伺服器。
  11. 根據請求項1所述的任務調度方法,其中,還包括確定預設拓撲結構的步驟: 針對任一待匹配節點伺服器中的空閒資源,確定該待匹配節點伺服器中的任一數量的空閒資源對應的拓撲結構; 基於空閒資源之間的通信媒介,確定所述拓撲結構的通信等待時長; 基於所述通信等待時長,確定與該待匹配節點伺服器中任一數量的空閒資源對應的預設拓撲結構。
  12. 根據請求項11所述的任務調度方法,其中,所述基於所述通信等待時長,確定與該待匹配節點伺服器中任一數量的空閒資源對應的預設拓撲結構,包括: 按照所述通信等待時長從低到高的順序,將所述拓撲結構進行排序; 將排序次序小於預設次序的拓撲結構,作為與該待匹配節點伺服器對應的預設拓撲結構;或, 針對任一數量的空閒資源,將所述通信等待時長小於預設等待閾值的拓撲結構,作為與該待匹配節點伺服器中的該數量的空閒資源對應的預設拓撲結構。
  13. 根據請求項1至12任一項所述的任務調度方法,其中,所述任務調度方法還包括: 在獲取的待處理的任務包括多個的情況下,基於每一個所述任務的任務類型,確定每個任務的資源配置優先順序; 基於每一個所述任務的資源配置優先順序,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源。
  14. 根據請求項13所述的任務調度方法,其中,所述任務類型包括單節點多資源通訊類型、單節點多資源計算類型、多節點類型、單資源類型; 所述基於每一個所述任務的任務類型,確定每個任務的資源配置優先順序,包括: 將所述單節點多資源通訊類型的任務的資源配置優先順序設置為第一優先順序; 將所述單節點多資源計算類型的任務的資源配置優先順序設置為第二優先順序; 將所述多節點類型的任務的資源配置優先順序設置為第三優先順序; 將所述單資源類型的任務的資源配置優先順序設置為第四優先順序。
  15. 根據請求項2所述的任務調度方法,其中,所述任務資訊包括所述資源需求量,所述任務調度方法還包括獲取所述資源需求量的步驟: 獲取所述待處理的任務的設定檔; 從所述設定檔中獲取所述待處理的任務的資源需求量;或, 所述任務資訊包括所述通訊量需求資訊,所述任務調度方法還包括獲取所述通訊量需求資訊的步驟: 獲取所述待處理的任務的計算量資訊和通信量資訊; 基於所述計算量資訊和通信量資訊,確定所述通訊量需求資訊;或, 所述任務資訊包括所述通訊量需求資訊,所述任務調度方法還包括獲取所述通訊量需求資訊的步驟: 獲取所述待處理的任務的設定檔; 從所述設定檔中獲取所述待處理的任務的通訊量需求資訊。
  16. 根據請求項15所述的任務調度方法,其中,所述獲取所述待處理的任務的計算量資訊和通信量資訊,包括: 基於獲取的所述待處理的任務的設定檔或獲取的所述待處理的任務請求,確定所述待處理的任務的計算量資訊和通信量資訊;其中,所述任務請求中包括所述計算量資訊和通信量資訊。
  17. 根據請求項2所述的任務調度方法,其中,所述基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型,包括: 基於所述資源需求量和所述節點伺服器中的資源數量,確定所述待處理的任務對應的目標節點伺服器的數量; 基於所述待處理的任務對應的目標節點伺服器的數量和所述通訊量需求資訊,確定所述待處理的任務的任務類型。
  18. 根據請求項17所述的任務調度方法,其中,所述任務類型包括單節點多資源通訊類型、單節點多資源計算類型、多節點類型、單資源類型; 所述基於所述待處理的任務對應的目標節點伺服器的數量和所述通訊量需求資訊,確定所述待處理的任務的任務類型,包括: 在所述待處理的任務對應的目標節點伺服器的數量等於1、所述待處理的任務對應的目標資源的數量大於1、並且所述通訊量需求資訊指示所述待處理的任務的通信量需求高於計算量需求的情況下,確定所述待處理的任務的任務類型為單節點多資源通訊類型; 在所述待處理的任務對應的目標節點伺服器的數量等於1、所述待處理的任務對應的目標資源的數量大於1、並且所述通訊量需求資訊指示所述待處理的任務的計算量需求高於通信量需求的情況下,確定所述待處理的任務的任務類型為單節點多資源計算類型; 在所述待處理的任務對應的目標節點伺服器的數量大於1的情況下,確定所述待處理的任務的任務類型為多節點類型; 在所述待處理的任務對應的目標資源的數量等於1的情況下,確定所述待處理的任務的任務類型為單資源類型。
  19. 一種任務調度方法,應用於用戶端,包括: 確定待處理的任務的任務類型; 基於所述任務的任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 將所述目標節點伺服器的資訊以及所述目標資源的資訊發送給調度器,以使所述調度器將所述目標節點伺服器以及所述目標資源配置給所述待處理的任務。
  20. 根據請求項19所述的任務調度方法,其中,所述確定待處理的任務的任務類型,包括: 確定所述任務的資源需求量、所述任務的通訊量需求資訊以及所述節點伺服器中的資源數量; 基於確定的所述資源需求量、任務的通訊量需求資訊、所述節點伺服器中的資源數量,確定所述任務的任務類型;或, 獲取節點伺服器上的空閒資源; 基於所述節點伺服器上的空閒資源、所述任務的資源需求量、所述任務的通訊量需求資訊,確定執行所述任務的至少一個目標節點伺服器以及所述目標節點伺服器上的目標資源; 基於所述至少一個目標節點伺服器以及所述目標節點伺服器上的目標資源,確定所述任務的任務類型。
  21. 一種任務調度裝置,包括: 獲取模組,用於獲取待處理的任務的任務資訊; 第一確定模組,用於基於所述任務資訊,確定所述任務的任務類型; 第二確定模組,用於基於所述任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 分配模組,用於將所述目標節點伺服器以及所述目標節點伺服器上的目標資源配置用於執行所述任務。
  22. 一種任務調度裝置,應用於用戶端,包括: 第三確定模組,用於確定待處理的任務的任務類型; 第四確定模組,用於基於所述任務的任務類型,確定執行所述任務的目標節點伺服器以及所述目標節點伺服器上的目標資源; 發送模組,用於將所述目標節點伺服器的資訊以及所述目標資源的資訊發送給調度器,以使所述調度器將所述目標節點伺服器以及所述目標資源配置給所述待處理的任務。
  23. 一種電腦設備,包括:處理器、記憶體,所述記憶體儲存有所述處理器可執行的機器可讀指令,所述處理器用於執行所述記憶體中儲存的機器可讀指令,所述機器可讀指令被所述處理器執行時,所述處理器執行如請求項1至18任意一項所述的任務調度方法的步驟,或者,所述處理器執行如請求項19至20任意一項所述的任務調度方法的步驟。
  24. 一種電腦可讀儲存媒介,所述電腦可讀儲存媒介上儲存有電腦程式,所述電腦程式被電腦設備運行時,所述電腦設備執行如請求項1至18任意一項所述的任務調度方法的步驟,或者,所述電腦設備執行如請求項19至20任意一項所述的任務調度方法的步驟。
  25. 一種電腦程式產品,包括電腦可讀代碼,或者承載有電腦可讀代碼的非易失性電腦可讀儲存媒介,當所述電腦可讀代碼在電子設備的處理器中運行時,所述電子設備中的處理器執行用於實現請求項1至18任意一項所述的任務調度方法的步驟,或者,執行如請求項19至20任意一項所述的任務調度方法的步驟。
TW110148512A 2021-05-27 2021-12-23 一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品 TW202246977A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110586526.2A CN113238848A (zh) 2021-05-27 2021-05-27 一种任务调度方法、装置、计算机设备和存储介质
CN202110586526.2 2021-05-27

Publications (1)

Publication Number Publication Date
TW202246977A true TW202246977A (zh) 2022-12-01

Family

ID=77139282

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110148512A TW202246977A (zh) 2021-05-27 2021-12-23 一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品

Country Status (3)

Country Link
CN (1) CN113238848A (zh)
TW (1) TW202246977A (zh)
WO (1) WO2022247105A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238848A (zh) * 2021-05-27 2021-08-10 上海商汤科技开发有限公司 一种任务调度方法、装置、计算机设备和存储介质
CN113742068A (zh) * 2021-08-27 2021-12-03 深圳市商汤科技有限公司 任务调度方法、装置、设备、存储介质及计算机程序产品
CN113590301A (zh) * 2021-09-30 2021-11-02 苏州浪潮智能科技有限公司 一种深度学习业务的任务调度方法及相关装置
CN114138500B (zh) * 2022-01-29 2022-07-08 阿里云计算有限公司 资源调度***及方法
CN116302404B (zh) * 2023-02-16 2023-10-03 北京大学 面向资源解耦合数据中心的服务器无感知计算调度方法
CN116756282A (zh) * 2023-06-16 2023-09-15 北京百度网讯科技有限公司 任务处理方法、服务器、语言预测***和人机交互***
CN117151433B (zh) * 2023-10-30 2024-01-30 浙江大学高端装备研究院 一种基于云的智能制造服务供需匹配评估方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107045456B (zh) * 2016-02-05 2020-03-10 华为技术有限公司 一种资源分配方法及资源管理器
CN109254842B (zh) * 2017-07-12 2023-06-16 腾讯科技(深圳)有限公司 分布式流式***的资源管理方法、装置及可读存储介质
CN109729106B (zh) * 2017-10-27 2021-07-16 伊姆西Ip控股有限责任公司 处理计算任务的方法、***和计算机程序产品
CN110389824A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 处理计算任务的方法、设备和计算机程序产品
US10877801B2 (en) * 2018-09-28 2020-12-29 Atlassian Pty Ltd. Systems and methods for scheduling tasks
CN112148468B (zh) * 2019-06-28 2023-10-10 杭州海康威视数字技术股份有限公司 一种资源调度方法、装置、电子设备及存储介质
US11086742B2 (en) * 2019-08-28 2021-08-10 The Toronto-Dominion Bank Task based service management platform
CN111190712A (zh) * 2019-12-25 2020-05-22 北京推想科技有限公司 一种任务调度方法、装置、设备及介质
CN111190739B (zh) * 2019-12-31 2023-09-01 西安翔腾微电子科技有限公司 一种资源分配方法、装置、电子设备及存储介质
CN111694649B (zh) * 2020-06-12 2023-07-18 北京火山引擎科技有限公司 资源调度方法、装置、计算机设备和存储介质
CN112486648A (zh) * 2020-11-30 2021-03-12 北京百度网讯科技有限公司 任务调度方法、装置、***、电子设备和存储介质
CN112667376A (zh) * 2020-12-23 2021-04-16 数字广东网络建设有限公司 任务调度处理方法、装置、计算机设备及存储介质
CN112667379B (zh) * 2020-12-29 2024-06-07 深圳Tcl新技术有限公司 任务调度方法及服务器
CN113238848A (zh) * 2021-05-27 2021-08-10 上海商汤科技开发有限公司 一种任务调度方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN113238848A (zh) 2021-08-10
WO2022247105A1 (zh) 2022-12-01

Similar Documents

Publication Publication Date Title
TW202246977A (zh) 一種任務調度方法、任務調度裝置、電腦設備、電腦可讀儲存媒介和電腦程式產品
EP3425502B1 (en) Task scheduling method and device
US8893148B2 (en) Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks
US8312464B2 (en) Hardware based dynamic load balancing of message passing interface tasks by modifying tasks
WO2020001320A1 (zh) 一种资源分配方法、装置及设备
US8108876B2 (en) Modifying an operation of one or more processors executing message passing interface tasks
US8127300B2 (en) Hardware based dynamic load balancing of message passing interface tasks
JP2020537784A (ja) ニューラルネットワークアクセラレーションのための機械学習ランタイムライブラリ
CN110489213B (zh) 一种任务处理方法及处理装置、计算机***
RU2571366C2 (ru) Виртуальная архитектура неоднородного доступа к памяти для виртуальных машин
CN109144710B (zh) 资源调度方法、装置及计算机可读存储介质
CN109564528B (zh) 分布式计算中计算资源分配的***和方法
US9563474B2 (en) Methods for managing threads within an application and devices thereof
US8516487B2 (en) Dynamic job relocation in a high performance computing system
US20090064166A1 (en) System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks
WO2017185285A1 (zh) 图形处理器任务的分配方法和装置
WO2021180092A1 (zh) 任务调度方法和装置
CN109840149B (zh) 任务调度方法、装置、设备及存储介质
JP2023511467A (ja) 機械学習ワークロードのためのタスクスケジューリング
CN112181613A (zh) 异构资源分布式计算平台批量任务调度方法及存储介质
JP2008226023A (ja) ジョブ割当装置、及びジョブ割当方法
KR101694302B1 (ko) 이기종 멀티코어 프로세서 시스템의 관리 장치 및 방법
CN114968567A (zh) 用于分配计算节点的计算资源的方法、装置和介质
CN114579323A (zh) 一种线程处理方法、装置、设备及介质
US20100269119A1 (en) Event-based dynamic resource provisioning