(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-03-14
(54)【発明の名称】リソーススケジューリング方法及び装置、電子デバイス並びに記録媒体
(51)【国際特許分類】
G06F 9/50 20060101AFI20220307BHJP
【FI】
G06F9/50 150D
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021538194
(86)(22)【出願日】2020-06-03
(85)【翻訳文提出日】2021-06-29
(86)【国際出願番号】 CN2020094181
(87)【国際公開番号】W WO2021128737
(87)【国際公開日】2021-07-01
(31)【優先権主張番号】201911357908.7
(32)【優先日】2019-12-25
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520180323
【氏名又は名称】上▲海▼商▲湯▼智能科技有限公司
【氏名又は名称原語表記】SHANGHAI SENSETIME INTELLIGENT TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 1605A, Building 3, 391 Guiping Road, Xuhui District, Shanghai 200233 China
(74)【代理人】
【識別番号】110000729
【氏名又は名称】特許業務法人 ユニアス国際特許事務所
(72)【発明者】
【氏名】夏 磊
(57)【要約】
本発明は、リソーススケジューリング方法及び装置、電子デバイス並びに記録媒体に関し、前記方法は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、各リソースノードの第1スケジューリングスコアを決定することと、各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、目標リソースノードを決定することと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
リソーススケジューリング方法であって、
目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することと、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することと、を含み、
前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む
ことを特徴とするリソーススケジューリング方法。
【請求項2】
前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、
前記目標タスクのリソース需要量、前記複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することは、
前記目標タスクの前記第1リソース需要量と前記第1リソースの前記現在リソース残り量とに基づいて第1スコアを得ることと、
前記目標タスクの前記第2リソース需要量と前記第2リソースの前記使用可能なリソース総量とに基づいて第2スコアを決定することと、
前記第1スコアおよび前記第2スコアに基づいて加重和を実行して前記第1スケジューリングスコアを得ることと、を含む
ことを特徴とする請求項1に記載のリソーススケジューリング方法。
【請求項3】
前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定することをさらに含み、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することは、
各リソースノードの前記第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定することと、
前記複数のリソースノードの中の各リソースノードの前記合計スケジューリングスコアに基づいて、前記目標リソースノードを決定することと、を含む
ことを特徴とする請求項1または2に記載のリソーススケジューリング方法。
【請求項4】
第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、
前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである
ことを特徴とする請求項3に記載のリソーススケジューリング方法。
【請求項5】
複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることと、
前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することと、をさらに含み、
前記複数のタスクは、前記目標タスクを含む
ことを特徴とする請求項1に記載のリソーススケジューリング方法。
【請求項6】
前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、
前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定することと、
前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定することと、を含む
ことを特徴とする請求項5に記載のリソーススケジューリング方法。
【請求項7】
前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、
前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして前記第1タスクキューを得ることを含む
ことを特徴とする請求項5または6に記載のリソーススケジューリング方法。
【請求項8】
リソーススケジューリング装置であって、
目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定するための第1決定モジュールと、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定するための第2決定モジュールと、を備え、
前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む
ことを特徴とするリソーススケジューリング装置。
【請求項9】
前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、
前記第1決定モジュールは、さらに、
前記目標タスクの前記第1リソース需要量と前記第1リソースの前記現在リソース残り量とに基づいて第1スコアを得、
前記目標タスクの前記第2リソース需要量と前記第2リソースの前記使用可能なリソース総量とに基づいて第2スコアを決定し、
前記第1スコアおよび前記第2スコアに基づいて加重和を実行して前記第1スケジューリングスコアを得る
ことを特徴とする請求項8に記載のリソーススケジューリング装置。
【請求項10】
前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定するための第3決定モジュールをさらに備え、
前記第2決定モジュールは、さらに、
各リソースノードの前記第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定し、
前記複数のリソースノードの中の各リソースノードの前記合計スケジューリングスコアに基づいて、前記目標リソースノードを決定する
ことを特徴とする請求項8または9に記載のリソーススケジューリング装置。
【請求項11】
第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである
ことを特徴とする請求項10に記載のリソーススケジューリング装置。
【請求項12】
複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得るための第1取得モジュールと、
前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行するためのスケジューリングモジュールと、をさらに備え、
前記複数のタスクは、前記目標タスクを含む
ことを特徴とする請求項8に記載のリソーススケジューリング装置。
【請求項13】
前記第1取得モジュールは、さらに、
前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定し、
前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定する
ことを特徴とする請求項12に記載のリソーススケジューリング装置。
【請求項14】
前記第1取得モジュールは、さらに、
前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして前記第1タスクキューを得る
ことを特徴とする請求項12または13に記載のリソーススケジューリング装置。
【請求項15】
電子デバイスであって、
プロセッサと、
前記プロセッサによって実行可能な命令を記憶するためのメモリと、を備え、
前記プロセッサは、請求項1~7のいずれか1項に記載の方法を実行するように構成される
ことを特徴とする電子デバイス。
【請求項16】
コンピュータプログラム命令が記憶されているコンピュータ可読記録媒体であって、
前記コンピュータプログラム命令がプロセッサによって実行されると、前記プロセッサが、請求項1~7のいずれか1項に記載の方法を実装するようにする
ことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術分野に関し、特にリソーススケジューリング方法及び装置、電子デバイス並びに記録媒体に関する。
【背景技術】
【0002】
アプリケーション規模の急速な成長に伴い、処理リソースのスケジューリングの重要性はますます高くなっており、良好なスケジューリングはシステムの安定的かつ効率的な運行をサポートできる。関連技術では、リソースをスケジューリングするときに、リソースの断片化が発生しやすく、その結果、リソース利用率がより低くなる。
【発明の概要】
【0003】
本発明は、リソーススケジューリング方法及び装置、電子デバイス並びに記録媒体を提案する。
【0004】
本発明の第1態様によると、リソーススケジューリング方法を提供し、当該方法は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することと、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することと、を含み、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。
【0005】
本発明の実施例のリソーススケジューリング方法によると、処理リソースをスケジューリングするときに、第1リソースの現在リソース残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、第1スケジューリングスコアを決定することができ、リソースの断片化の削減に有利であり、リソースの利用率を向上させる。
【0006】
可能な1実現形態において、前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、前記目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することは、前記目標タスクの前記第1リソース需要量と前記第1リソースの前記現在リソース残り量とに基づいて第1スコアを得ることと、前記目標タスクの前記第2リソース需要量と前記第2リソースの前記使用可能なリソース総量とに基づいて第2スコアを決定することと、前記第1スコアおよび前記第2スコアに基づいて加重和を実行して前記第1スケジューリングスコアを得ることと、を含む。
【0007】
このような方式によって、第1リソースの残り量および第2リソース総量を総合的に考慮して、各リソースノードの第1スケジューリングスコアを決定することができ、目標タスクの各タスクユニットを同じリソースノードに集中して割り当てて処理を実行することができ、断片化されるリソースを減少し、リソースの利用効率を向上させ、後続のタスクの待機時間を短縮する。
【0008】
可能な1実現形態において、前記方法は、前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定することをさらに含み、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することは、各リソースノードの前記第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定することと、前記複数のリソースノードの中の各リソースノードの前記合計スケジューリングスコアに基づいて、前記目標リソースノードを決定することと、を含む。
【0009】
可能な1実現形態において、第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである。
【0010】
可能な1実現形態において、前記方法は、複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることと、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することと、をさらに含み、前記複数のタスクは、前記目標タスクを含む。
【0011】
このような方式によって、タスクユニット平均リソース需要量をソート基準にすることによって、処理リソースを十分に利用し、リソースの利用率を向上させ、リソースの浪費を削減する。
【0012】
可能な1実現形態において、前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定することと、前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定することと、を含む。
【0013】
可能な1実現形態において、前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および、前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして前記第1タスクキューを得ることを含む。
【0014】
本発明の第2態様によると、リソーススケジューリング装置を提供し、当該装置は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定するための第1決定モジュールと、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定するための第2決定モジュールと、を備え、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。
【0015】
本発明の第3態様によると、電子デバイスを提供し、当該電子デバイスは、プロセッサと、前記プロセッサによって実行可能な命令を記憶するためのメモリと、を備え、前記プロセッサは、上述した第1態様のリソーススケジューリング方法を実行するように構成される。
【0016】
本発明の第4態様によると、コンピュータプログラム命令が記憶されているコンピュータ可読記録媒体を提供し、前記コンピュータプログラム命令がプロセッサによって実行されると、前記プロセッサが、上述した第1態様のリソーススケジューリング方法を実装するようにする。
【0017】
本発明の第5態様によると、コンピュータ可読コードを含むコンピュータプログラム製品を提供し、コンピュータ可読コードがデバイス上で運行されると、前記デバイス中のプロセッサが、上述した第1態様のリソーススケジューリング方法を実装するための命令を実行するようにする。
【0018】
上述した一般的な記述と後文の詳細記述が単に例示的なものと解釈的なものであり、本発明を制限するためのものではないことは、理解されるべきである。
【0019】
以下では、図面を参照しながら例示的な実施例を詳細に説明するとともに、本発明の他の特徴及び態様は、明瞭になる。
【図面の簡単な説明】
【0020】
ここでの図面は、明細書に組み込まれて明細書の一部を構成し、本発明に合致する実施例を示しつつ、明細書の記載とともに本発明の技術案を説明するために用いられる。
【
図1】本発明の実施例に係るリソーススケジューリング方法を示すフローチャートである。
【
図2】本発明の実施例に係る目標ノード選択を示す模式図である。
【
図3】本発明の実施例に係るリソーススケジューリング方法を示す適用模式図である。
【
図4】本発明の実施例に係るリソーススケジューリング装置を示すブロック図である。
【
図5】本発明の実施例に係る電子デバイスを示すブロック図である。
【
図6】本発明の別の実施例に係る電子デバイスを示すブロック図である。
【発明を実施するための形態】
【0021】
以下では、図面を参照して本発明の各種の例示的な実施例、特徴及び態様を詳細に説明する。図面における同じ符号は、機能が同じ又は類似する素子を示す。図面に実施例の各種の態様が示されたが、専ら示さない限り、縮尺通りに図面を描く必要がない。
【0022】
ここでの用語「例示的な」は、「例示、実施例としてのもの、又は説明的なもの」を意味する。ここで「例示的な」で説明される如何なる実施例も、他の実施例よりも優れるや良くなると解釈されるとは限らない。
【0023】
本文における用語「及び/又は」は、単に関連対象の関連関係を記述するものであり、3種の関係が存在可能であることを示す。例えば、A及び/又はBは、Aが単独に存在することと、A及びBが同時に存在することと、Bが単独に存在することという3種の場合を表せる。また、本文における用語「少なくとも1種」は、複数種のうちの何れか1種又は複数種のうちの少なくとも2種の任意の組み合わせを示す。例えば、A、B、Cのうちの少なくとも1種を含むことは、A、B及びCによって構成された集合から、何れか1つ又は複数の要素を選択することを示してもよい。
【0024】
また、本発明がより良く説明されるように、下文の具体的な実施形態において大量の具体的な詳細が与えられている。当業者であれば理解できるように、幾つかの具体的詳細がなくても、本発明は同様に実施可能である。幾つかの実施例では、本発明の要旨がより目立つように、当業者でよく知られる方法、手段、素子及び回路について詳細に記述されていない。
【0025】
図1は、本発明の実施例に係るリソーススケジューリング方法を示すフローチャートであり、
図1に示すように、前記方法は、以下のステップを含む。
【0026】
ステップS11において、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定し、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。
【0027】
ステップS12において、前記複数のリソースノードの中の各リソースノードの第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定する。
【0028】
本発明の実施例のリソーススケジューリング方法によると、リソースをスケジューリングするときに、第1リソースの現在リソース残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、第1スケジューリングスコアを決定することができる。このように、リソースの断片化の削減に有利であり、リソースの利用率を向上させる。
【0029】
可能な1実現形態において、前記リソーススケジューリング方法は、端末デバイスまたは他の処理デバイスによって実行され得、端末デバイスは、ユーザデバイス(User Equipment、UE)、モバイルデバイス、ユーザ端末、端末、携帯電話、コードレス電話、パーソナルデジタルアシスタント(Personal Digital Assistant、PDA)、ハンドヘルドデバイス、コンピューティングデバイス、車載デバイス、ウェアラブルデバイスなどであり得る。他の処理デバイスは、デスクトップ、サーバ、またはクラウドサーバなどであり得る。いくつかの可能の実現形態において、当該リソーススケジューリング方法は、プロセッサによってメモリに記憶されているコンピュータ可読命令を呼び出す方法によって実装され得る。
【0030】
可能な1実現形態において、前記リソーススケジューリング方法は、サーバに用いられ得、タスク処理要求が受信されたときに、処理すべきタスクにリソースをスケジューリングし、当該リソースを利用してタスクを処理する。
【0031】
可能な1実現形態において、前記サーバには、複数のリソースノードが含まれており、各リソースノードは、いずれも前記タスクの処理に使用され、前記リソースノードには、第1リソースおよび第2リソースが含まれ得る。1例において、前記第1リソースは、深層学習リソース(たとえば、GPUリソース、TPU(Tensor Processing Unit)リソース、FPGA(Field Programmable Gate Array)など)であり得、第2リソースは、汎用リソース(たとえば、CPU(Central Processing Unit)リソース、および/または、メモリリソース)であり得る。本発明は、処理リソースのタイプに対して限定しない。たとえば、リソースノードが物理マシンである場合、当該リソースノードは、物理マシンのすべてのリソースを含む。またたとえば、リソースノードが仮想マシンである場合、特定のソフトウェアおよび/またはハードウェアCPU仮想化技術を介して、仮想マシンの1つまたは複数の仮想CPUが物理CPUを多重化することができ、GPUの場合は物理GPUの関連デバイス情報を直接仮想マシンにパススルー(passthrough)して、仮想マシンが使用するようにすることができる。またたとえば、リソースノードが仮想マシンである場合、GPU仮想化技術を介して、仮想マシンの1つまたは複数の仮想GPUが物理GPUを多重化することができ、本発明の実施例はこれらに限定されない。
【0032】
可能な1実現形態において、前記サーバのタスクキューには、複数のタスクが存在し、タスクキュー中のタスクをソートすることによって、タスクの処理の順序を決定して、タスク処理の効率を向上させる。
【0033】
可能な1実現形態において、前記タスクは、それぞれの優先度を有することができる。たとえば、或るタスクの優先度が「高」であり、もう1つのタスクの優先度が「中」であると、優先度が「高」であるタスクが優先に処理される。関連技術では、2つまたは複数のタスクの優先度が同一であると、タスクの作成時間(たとえば、タスクが作成されたタイムスタンプ)に基づいて、優先度が同一であるタスクをソートすることができる。たとえば、作成時間がより早いタスクは、作成時間がより遅いタスクの前に、配列される。しかし、このようなソート方法は、柔軟性がより低く、リソースの断片化が発生しやすい。たとえば、リソースノードAおよびリソースノードBに、それぞれ8つの空きGPUリソースがあり、現在、タスクT1とタスクT2があり、タスクT1とタスクT2の優先度が同一であるが、タスクT1の作成時間がタスクT2よりも早く、T1は2つのタスクユニットを含み、各タスクユニットが1つのGPUリソースを要求するが、タスクT2は1つのタスクユニットを含み、7つのGPUリソースを要求する。上述したタスクソート方法によると、タスクT1をタスクT2の前に配列し、タスクT1に処理リソースを優先にスケジューリングすることができる。タスクT1の2つのタスクユニットを同じリソースノード(たとえばリソースノードA)に割り当てて処理を実行する可能性があり、このとき当該リソースノードには6つのGPUリソースが残っており、タスクT2のタスクユニットを処理するには不十分である。したがって、タスクT2のタスクユニットは別の1リソースノード(たとえばリソースノードB)に割り当てられて処理が実行される。上述したスケジューリング方法によれば、リソースノードBは、1つの空きのGPUリソースが残っており、後続のタスクがよりも大きい数のGPUを要求する場合(たとえば、タスクユニットのリソース需要量が1つのGPUリソースよりも大きい場合)、当該断片化されたGPUリソース(すなわち、リソースノードBの1つの空きのGPUリソース)はリソースの浪費を引き起こす可能性がある。いくつかの例いて、1つの空きのGPUリソースは、1つの空きのGPUを指すことができる。
【0034】
可能な1実現形態において、タスクユニット平均リソース需要量に従ってソートすることができ、前記方法は、複数のタスクの中の各タスクの優先度および複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることと、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することと、をさらに含み、前記複数のタスクは、前記目標タスクを含む。
【0035】
可能な1実現形態において、2つのまたは複数のタスクの優先度が同一であると、タスクユニット平均リソース需要量に基づいてソートすることができる。複数のタスクの中の各タスクの優先度および複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることは、複数のタスクの中の各タスクの優先度に基づいて、複数のタスクの初期順序を決定することと、前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定することと、を含む。
【0036】
可能な1実現形態において、まず優先度に従って複数のタスクをソートして、初期順序を得、すなわち、優先度がより高いタスクを、優先度がより低いタスクの前に配列することができる。前記初期順序で、少なくとも2つの優先度が同一であるタスクが存在する可能性がある。たとえば、優先度が「高」であるタスクが2つあり、優先度が「中」であるタスクが3つあり、優先度が「低」であるタスクが5つあり、初期順序では優先度が同一であるタスクの前後順序を区分しない。
【0037】
可能な1実現形態において、初期順序で少なくとも2つの優先度が同一であるタスクが存在すると、タスクユニット平均リソース需要量に従って優先度が同一である少なくとも2つのタスクをソートし、前記少なくとも2つのタスクの目標順序を決定することができ、たとえば、タスクユニット平均リソース需要量がより大きいタスクを、タスクユニット平均リソース需要量がより小さいタスクの前に配列する。
【0038】
1例において、リソースノードAおよびリソースノードBに、それぞれ8つの空きGPUリソースがあり、現在、タスクT1とタスクT2があり、その中で、タスクT1とタスクT2の優先度が同一であり、T1が2つのタスクユニットを含み、各タスクユニットが1つのGPUリソースを要求すると、タスクT1のタスクユニット平均リソース需要量は1つのGPUリソースである。タスクT2が1つのタスクユニットを含み、7つのGPUリソースを要求すると、タスクT2のタスクユニット平均リソース需要量は7つのGPUリソースである。タスクT2をタスクT1の前に配列し、タスクT2に処理リソースを優先にスケジューリングすることができる。たとえば、タスクT2の1つのタスクユニットをリソースノードAに割り当てて処理を実行し、このとき当該リソースノードには1つのGPUリソースが残っている。次に、タスクT1の1つのタスクユニットをリソースノードAに割り当てて処理を実行し、タスクT1の別の1つのタスクユニットを別の1リソースノード(たとえばリソースノードB)に割り当てて処理を実行することができる。上述したスケジューリング方法によれば、リソースノードAに残りのGPUリソースがなく、断片化されたGPUリソースが発生しなくなり、リソース利用率を向上させ、リソースの浪費を低減できる。
【0039】
可能な1実現形態において、初期順序に少なくとも2つのタスクの優先度が同一であり、また、タスクユニット平均リソース需要量が同一であると、タスクの作成時間に基づいてソートすることができる。複数のタスクの中の各タスクの優先度および複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることは、複数のタスクの中の各タスクの優先度、複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および、複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることを含む。
【0040】
可能な1実現形態において、前記初期順序に、少なくとも2つの優先度が同一であり、またタスクユニット平均リソース需要量が同一であるタスクが存在する可能性がある。たとえば、優先度が「高」であるタスクが2つあり、優先度が「中」であるタスクが3つあり、優先度が「低」であるタスクが5つあり、優先度が「高」である2つのタスク(たとえば、タスクT3とタスクT4)のタスクユニット平均リソース需要量も同一である。1例において、この2つのタスクの作成時間に基づいて2つのタスクの順序を決定することができる。たとえば、タスクT3の作成時間がタスクT4よりも早いと、タスクT3とタスクT4のそれぞれのタイムスタンプに従って、タスクT3をタスクT4の前に配列することができる。
【0041】
可能な1実現形態において、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することができる。たとえば、目標タスクの前のタスク処理が完了された後に、前記目標タスクにリソースノードをスケジューリングして、目標タスクを処理することができる。
【0042】
このような方式によって、タスクユニット平均リソース需要量に対してソート基準を導入して、処理リソースを十分に利用し、リソースの利用率を向上させ、リソースの浪費を削減する。
【0043】
可能な1実現形態において、タスクをソートした後に、処理リソースをスケジューリングして第1タスクキュー中のタスクを順次に処理することができる。たとえば、リソースノードをスケジューリングして、目標タスクなどの現在タスクを処理することができる。
【0044】
1つの例において、目標タスクに対して、各リソースノードのスコアを計算し、スコアが最も高いリソースノードを使用して目標タスクを処理することができる。1例において、タスクユニットのリソース需要量および各リソースノードのリソース総量に基づいて、各リソースノードのスコアを計算することができ、たとえば、タスクユニットのリソース需要量と各リソースノードのリソース総量との間の比率に基づいて各リソースノードのスコアを決定することができる。このような計算方法によれば、リソース総量がより小さいリソースノードのスコアをより高く、すなわち、リソース総量がより小さいリソースノードを優先にスケジューリングして、目標タスクの各タスクユニットを処理することによって、リソース総量がより大きいリソースノードを後続の他のタスクに利用することができ、後続の他のタスクで、リソース需要量がより大きいタスクが現れると、リソース総量がより大きいリソースノードを使用して処理することができ、リソース需要量がより大きいタスクの待機時間を減らすことができる。しかし、当該スケジューリング方法は、リソースノードのリソース総量(一般出来は固定値である)のみを考慮し、リソース総量がより大きいリソースノードにリソース残り量がより少ない場合に依然としてリソース総量がより小さい空きリソースノードを優先にスケジューリングする可能性がり、リソース総量がより大きいリソースノード中の少量の残りリソースの浪費を引き起こす。
【0045】
なお、上述したスケジューリング方法は、さらに、複数のリソースノードを均等に占用する場合が存する可能性があり、後続のタスクの待機時間が長すぎる可能性がある。たとえば、サーバには8つのノードが含まれ、各ノードには8つのGPUリソースが含まれる。目標タスクには8つのタスクユニットがあり、各タスクユニットのリソース需要量がいずれも1つのGPUリソースである。こと場合、各ノードのスコアを決定するときに、各ノードのスコアが等しくなり、8つのタスクユニットを8つのリソースノードに均等に割り当てる可能性があり、各リソースノードがいずれも1つのGPUが占用されることになる。後続のタスク中の特定のタスクユニットのリソース需要量が8つのGPUであると、各リソースノードがいずれも当該タスクを処理することができなく、目標タスクのタスクユニットの処理が完了されるまでに待機した後に当該タスクを処理することができ、当該タスクの待機時間が長すぎることになる。
【0046】
いくつかの例において、いくつかの特定のタスク(たとえば深層学習タスクまたはニューラルネットワークトレーニングタスクなど)に必要なリソースタイプが、GPUリソースなどの深層学習リソース(すなわち、第1リソースである)であるが、別のいくつかのタスクは、CPUリソースおよび/またはメモリリソースなど汎用リソース(すなわち、第2リソースである)を利用して処理でき、さらに、第1リソースと第2リソースで一緒に処理するタスクが存在する可能性がある。ニューラルネットワーク技術の発展に伴い、このような特定タスクのGPUリソースに対する要求がますます多くなっており、GPUリソースのスケジューリングを最適化して、GPUリソースの利用率を向上させる必要がある。
【0047】
可能な1実現形態において、目標タスクの第1リソース需要量および第2リソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアをそれぞれ決定する。即、第1リソースの残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、リソースノードの第1スケジューリングスコアを決定する。
【0048】
可能な1実現形態において、ステップS11は、前記目標タスクの第1リソース需要量および前記第1リソースの現在リソース残り量に基づいて、第1スコアを得ることと、前記目標タスクの第2リソース需要量および前記第2リソースの使用可能なリソース総量に基づいて、第2スコアを決定することと、第1スコアおよび第2スコアに基づいて前記第1スケジューリングスコアを得ることと、を含む。
【0049】
可能な1実現形態において、前記目標タスクの第1リソース需要量および前記第1リソースの現在リソース残り量に基づいて、各リソースノードの第1スコアを得ることができ、たとえば、目標タスクの第1リソース需要量と各リソースノードの第1リソースの現在リソース残り量との比率に基づいて、前記各リソースノードの第1スコアを得ることができる。
【0050】
可能な1実現形態において、前記目標タスクの第2リソース需要量および前記第2リソースの使用可能なリソース総量に基づいて、各リソースノードの第2スコアを決定することができ、たとえば、目標タスクの第2リソース需要量と各リソースノードの第2リソースの使用可能なリソース総量との比率に基づいて、前記各リソースノードの第2スコアを得ることができる。リソースノードに複数のタイプの第2リソース(たとえばCPUとメモリである)が含まれていると、各第2リソース需要量と各第2リソースの使用可能なリソース総量との比率の平均値に基づいて前記各リソースノードの第2スコアを決定することができる。
【0051】
可能な1実現形態において、目標タスクに対して、第1重み値β(0≦β≦1)を設定し、たとえば、βは、1、0.9、0.6、0.5、0.3、0などであり得る。βは、管理者が事前に設定できる。
【0052】
可能な1実現形態において、第1スコアおよび第2スコアの加重和に基づいて、第1スケジューリングスコアを得ることができ、たとえば以下の数(1)に従って第1スケジューリングスコアを決定することができる。
【数1】
S
iは、i番目の(iは正の整数)リソースノードの第1スケジューリングスコアであり、re
1は、第1リソース需要量であり、id
1iは、i番目のリソースノードの第1リソースの残り量であり、re
CPUは、CPUリソースに対する需要量であり、al
CPUiは、i番目のリソースノードのCPU使用可能なリソース総量であり、re
memは、メモリ需要量であり、al
memiは、i番目のリソースノードの使用可能メモリ総量であり、PWは、目標タスクの重み値であり、すなわち第2重み値である。
【0053】
βは、調整可能なパラメータであり、実際の必要に応じて設定することができ、その数値は特定の具体的な適用場面で固定または動的に可変にすることができる。いくつかの例にいて、タスクのタイプに基づいて第1重み値βを決定することができる。たとえば、ニューラルネットワークトレーニングタスクの場合、第1重み値βは、より大きい値を取ることができる。GPUリソースを必要としないタスクの場合、第1重み値は、より小さい値を取ることができる。本発明は、第1重み値βの値に対して限定しない。
【0054】
いくつかの別の実施例において、第1スコアおよび第2スコアの加重平均値または算術平均値に基づいて、第1スケジューリングスコアを得ることができ、本発明の実施例は、第1スケジューリングスコアの具体的な実装に対して限定しない。
【0055】
1例において、第1スケジューリングスコアに基づいて目標タスクリソースノードをスケジューリングすることができる。たとえば、サーバには、8つのリソースノードが含まれており、各リソースノードには、8つのGPUリソースが含まれている。目標タスクには、8つのタスクユニットがあり、各タスクユニットのリソース需要量は、いずれも1つのGPUリソースである。第1スケジューリングスコアを計算するときに、第1リソース需要量と第1リソースの残り量との比率を考慮すると、1番目のタスクユニットが或るリソースノードに割り当てられた後に、当該リソースノードの第1リソースの残り量が減少するため、当該リソースノードの第1スケジューリングスコアが増加され、後続のタスクユニットが当該リソースノードに優先に割り当てられて、各タスクユニットができるだけ同じリソースノードに割り当てることに有利であり、各タスクユニットが複数のリソースノードに割り当てられて複数のリソースノードを占用することを減らす。
【0056】
このような方式によって、第1リソースの残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、各リソースノードの第1スケジューリングスコアを決定することができ、目標タスクの各タスクユニットをできるだけ同じリソースノードに割り当てて処理を実行することができて、断片化されるリソースを減少し、リソースの利用効率を向上させ、後続のタスクの待機時間を短縮する。
【0057】
可能な1実現形態において、同じタスクに対して、少なくとも2つのリソースノードの第1スケジューリングスコアが同一である場合が現れる可能性があり。当該場合には、第2スケジューリングスコアに基づいて、タスクを、すでに同じタイプタスクを処理したことがあるリソースノードに割り当てて、処理を実行することによって、断片化されるリソースを減少することができる。
【0058】
いくつかの実施例において、複数のスケジューリングポリシーに基づいてリソースノードのスケジューリングスコアをそれぞれ決定した後に、リソースノードの複数のスケジューリングポリシーに対応するスケジューリングスコアを総合的に考慮して、当該リソースノードの合計スケジューリングスコアを得、当該合計スケジューリングスコアに基づいて目標ノードを決定することができる。
【0059】
可能な1実現形態において、前記方法は、前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定することをさらに含む。
【0060】
いくつかの実施例において、リソースノードの第1スケジューリングスコアおよび第2スケジューリングスコアに基づいて、当該リソースノードの合計スケジューリングスコアを得る。たとえば、第1スケジューリングスコアおよび第2スケジューリングスコアの加重和に基づいて、合計スケジューリングスコアを得るか、または、第1スケジューリングスコアおよび第2スケジューリングスコアの加重平均値に基づいて、合計スケジューリングスコアを得るが、本発明の実施例はこれらに対して限定しない。
【0061】
1例において、目標タスクの各タスクユニットを、目標タスクと同じタイプのタスクを処理しているリソースノードに集中させることができ、たとえば、目標タスクが深層学習タイプのタスクである場合、2つのリソースノードの第1スケジューリングスコアが同一であると、目標タスクのタスクユニットを、深層学習タスクを処理しているリソースノードに割り当てることができる。
【0062】
可能な1実現形態において、前記目標タスクが必要とするリソースタイプに基づいて、前記目標タスクの目標タイプを決定し、前記少なくとも2つのリソースノードの中で、タ処理しているスクのタイプが前記目標タイプであるリソースノードを、前記目標ノードとして決定することができる。
【0063】
1例において、目標タスクが深層学習タイプのタスクであり、深層学習タイプのタスクが主にGPUリソースを必要とし、タスクに必要なリソースタイプに基づいて、目標タスクおよび各リソースノードで処理しているタスクのタイプを決定する。たとえば、リソースノードAで処理しているタスクが2つのGPUリソースを占用しており、リソースノードBが空きであると、リソースノードAで処理しているタスクと目標タスクタイプとが同じであると見なすことができる。または、リソースノードAで処理しているタスクが2つのGPUリソースを占用しており、リソースノードBで実行しているタスクがCPUリソースを占用しており、GPUリソースを占用していないと、リソースノードAで処理しているタスクと目標タスクタイプとが同じであると見なすことができる。第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである。つまり、リソースノードAがより高い第2スケジューリングスコアを得るようにすることができる。
【0064】
可能な1実現形態において、ステップS12は、各リソースノードの第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定することと、前記複数のリソースノードの中の各リソースノードの合計スケジューリングスコアに基づいて、前記目標リソースノードを決定することと、を含み得る。たとえば、第2スケジューリングスコアは、自身の計算ポリシーに対する第2重み値を含んでもよく、第1スケジューリングスコアと第2スケジューリングスコアとに対して加重和を実行して、合計スケジューリングスコアを得、合計スケジューリングスコアに基づいてリソースノードを選択することができる。
【0065】
1例において、合計スケジューリングスコアを計算するときに、さらに、以上に説明された計算ポリシー以外の他の計算ポリシーを使用することができ、各計算ポリシーによって得られたスコアに対して加重和を実行して、合計スケジューリングスコアを得ることができる。たとえば、第1スケジューリングスコアおよび第2スケジューリングスコアに基づいて第3スケジューリングスコアを得、第3スケジューリングスコアと他の少なくとも1つの計算ポリシーによって得られた少なくとも1つの第4スケジューリングスコアとに基づいて、合計スケジューリングスコアを得ることができる。さらに、合計スケジューリングスコアが最も高いリソースノードを使用して目標タスクを処理することができ、すなわち、目標リソースノードとして使用することができる。本発明は、計算ポリシーに対して限定しない。
【0066】
図2は、本発明の実施例に係る目標ノード選択を示す模式図である。
図2に示すように、タスク1とタスク2は、いずれも深層学習タイプのタスクであり、リソース需要量は、いずれも1つのGPUリソースである。リソースノードAは、6つのGPUリソースを含み、リソースノードBは、3つのGPUリソースを含むが、リソースノードAで実行しているタスクによって既に3つのGPUリソースを占用されていると、リソースノードAおよびリソースノードBの第1スケジューリングスコアを決定するときに、GPUリソースのリソース残り量が同じであるため、リソースノードAの第1スケジューリングスコアとリソースノードBの第1スケジューリングスコアが同じである可能性がある。
【0067】
1例において、リソースノードAで処理しているタスクによって3つのGPUリソースが占用されていることは、リソースノードAで処理しているタスクとタスク1のタイプが同じであると見なすことができ、リソースノードAがより高い第2スケジューリングスコアを得るようにすることができる。第1スケジューリングスコアと加算した後に、リソースノードAの合計スケジューリングスコアがより高くなるため、リソースノードAをスケジューリングしてタスク1を処理することができる。さらに、リソースノードAのリソースの残り量が2つのGPUリソースであり、リソースの残り量がリソースノードBよりも小さいため、依然として、リソースノードAをスケジューリングしてタスク2を処理することができる。タスク1およびタスク2をリソースノードAに集中させて処理を実行することによって、目標タスクによって占用されるリソースノードが分散されすぎて、多すぎるリソースノードを占用することを避けて、断片化されるリソースが発生され、リソースの浪費を引き起こすことを避けることができる。
【0068】
本発明の実施例のリソーススケジューリング方法によると、タスクユニット平均リソース需要量をソート基準にすることによって、処理リソースを十分に利用し、リソースの利用率を向上させ、リソースの浪費を削減する。第1リソースの残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、各リソースノードの第1スケジューリングスコアを決定し、目標タスクの各タスクユニットをできるだけ同じリソースノードに割り当てて処理を実行することによって、断片化されるリソースを減少し、リソースの利用効率を向上させ、後続のタスクの待機時間を短縮する。さらに、目標タスクのリソースタイプおよび各リソースノード処理しているタスクのリソースタイプを決定することによって、タスクをできるだけ同じリソースノードに集中させて処理を実行することによって、多すぎるリソースノードを占用して、断片化されるリソースが発生され、リソースの浪費を引き起こすことを避けることができる。
【0069】
図3は、本発明の実施例に係るリソーススケジューリング方法を示す適用模式図であり、
図3に示すように、サーバのタスクキューには、複数のタスク(たとえばM個であり、Mは正の整数)が存在することができ、タスクキュー中のタスクをソートすることができる。たとえば、タスク優先度およびタスクユニット平均リソース需要量に基づいてソートすることができ、すなわち、まず、タスク優先度に基づいてソートし、シーケンス中に優先度が同じである少なくとも2つのタスクが存在すると、タスクユニット平均リソース需要量がより大きいタスクを、タスクユニット平均リソース需要量がより小さいタスクの前に配列することができる。
【0070】
可能な1実現形態において、タスクiに対して、複数の計算ポリシーを使用して各リソースノードの第1スケジューリングスコアを計算することができる。たとえば、まず数(1)を使用して各リソースノード(たとえば、合計N個のリソースノードであり、Nは正の整数である)の各計算ポリシーにおける第1スケジューリングスコアを計算することができる。
【0071】
可能な1実現形態において、少なくとも2つのリソースノードの第1スケジューリングスコアが同一であると、第2スケジューリングスコアに基づいて、タスクを、既に同じタイプタスクを処理したことがあるリソースノードに割り当てて処理を実行することによって、断片化されるリソースを減少することができる。たとえば、他の計算ポリシーを採用することができ、たとえば、タスクiが深層学習タイプのタスクであり、要求するリソースがGPUリソースである。リソースノードAで処理しているタスクによって2つのGPUリソースが占用され、リソースノードBが空きであると、リソースノードAで処理しているタスクと目標タスクタイプとが同一であると見なすことができ、リソースノードAがより高い第2スケジューリングスコアを得るようにすることができる。リソースノードAの第1リソーススケジューリングコアとリソースノードBの第1スケジューリングスコアとが同一であると、それぞれの第2スケジューリングスコアと加算してそれぞれの合計スケジューリングスコアを得、リソースノードAの得られた合計スケジューリングスコアがより高く、リソースノードAを使用して目標タスクを処理することができる。つまり、タスクをできるだけ同じリソースノードに集中させて処理を実行することによって、断片化されるリソースを減少することができる。
【0072】
可能な1実現形態において、さらに、複数の計算ポリシー使用することができ、たとえば、K個の計算ポリシーを使用して、各計算ポリシーを通じて得られたスケジューリングスコアに対して加重和を実行して、各リソースノードの合計スケジューリングスコアを得ることができる。合計スケジューリングスコアが最も高いリソースノードを目標リソースノード(たとえば、リソースノードがjであり、jは整数であり、j≦Nである)として決定することができる。
【0073】
可能な1実現形態において、本発明のリソーススケジューリング方法は、サーバに用いられ得、各リソースノードをスケジューリングして、サーバ中の各タスクを処理することができる。たとえば、人工知能教育プラットフォームのサーバに用いられ得、リソースノードをスケジューリングして各人工知能教育タスクまたは実験タスクを処理するときに使用することができる。またたとえば、監視システムのサーバに用いられ得、各リソースノードをスケジューリングして顔認識または顔クラスタリングなどのタスクを処理するときに使用することができる。本発明は、スケジューリング方法の適用場面に対して限定しない。
【0074】
本発明に言及された上記の各方法の実施例は、原理と論理を違反することなく、いずれも互いに組み合わせて組み合わせた後の実施例を形成することができ、スペースの制限により、本発明は繰り返して説明しないことを理解できる。
【0075】
なお、本発明は、リソーススケジューリング装置、電子デバイス、コンピュータ可読記録媒体、および、プログラムをさらに提供し、上述したものは、いずれも本発明によって提供される任意のリソーススケジューリング方法を実装することができ、該当する技術的解決策と説明は、方法の部分の該当する記載を参照でき、ここで繰り返して説明しない。
【0076】
当業者は、具体的な実施形態の上述した方法において、各ステップの書き込み順序は厳密な実行順序を意味するのではなく、実施過程に対していかなる限定も構成しないし、各ステップの具体的な実行順序はその機能と可能の内部ロジックによって決定されるべきであることを理解できる。
【0077】
図4は、本発明の実施例に係るリソーススケジューリング装置を示すブロック図であり、
図4に示すように、前記装置は、第1決定モジュール41と第2決定モジュール42とを備える。
【0078】
第1決定モジュール41は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定し、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。
【0079】
第2決定モジュール42は、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定する。
【0080】
可能な1実現形態において、前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、前記第1決定モジュールは、さらに、前記目標タスクの第1リソース需要量および前記第1リソースの現在リソース残り量に基づいて、第1スコアを得、前記目標タスクの第2リソース需要量および前記第2リソースの使用可能なリソース総量に基づいて、第2スコアを決定し、前記第1スコアおよび前記第2スコアに対して加重和を実行して、前記第1スケジューリングスコアを得る。
【0081】
可能な1実現形態において、前記装置は、前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定するための第3決定モジュールをさらに備え、前記第2決定モジュールは、さらに、各リソースノードの第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定し、前記複数のリソースノードの中の各リソースノードの合計スケジューリングスコアに基づいて、前記目標リソースノードを決定する。
【0082】
可能な1実現形態において、第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである。
【0083】
可能な1実現形態において、前記装置は、複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得るための第1取得モジュールと、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行するためのスケジューリングモジュールと、をさらに備え、前記複数のタスクは、前記目標タスクを含む。
【0084】
可能な1実現形態において、前記第1取得モジュールは、さらに、前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定することと、前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定する。
【0085】
可能な1実現形態において、前記第1取得モジュールは、さらに、前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および、前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得る。
【0086】
いくつかの実施例において、本発明の実施例によって提供される装置に含まれる機能またはモジュールは、上記の方法の実施例に記載の方法を実行することができ、その具体的な実施については上記の方法の実施例の説明を参照することができ、簡素化のためにここでは繰り返して説明しない。
【0087】
本発明の実施例は、コンピュータプログラム命令が記憶されているコンピュータ可読記録媒体をさらに提案し、前記コンピュータプログラム命令がプロセッサによって実行されると、前記プロセッサが、上述したリソーススケジューリング方法を実装するようにする。コンピュータ可読記録媒体は、不揮発性コンピュータ可読記録媒体であり得る。
【0088】
本発明の実施例は、電子デバイスをさらに提案し、当該電子デバイスは、プロセッサと、プロセッサによって実行可能な命令を記憶するためのメモリと、を備え、前記プロセッサは、上述したリソーススケジューリング方法を実行するように構成される。
【0089】
電子デバイスは、端末、サーバ、または他のタイプのデバイスとして提供され得る。
【0090】
図5は、例示的な1実施例に係る電子デバイス500を示すブロック図である。たとえば、電子デバイス500は、携帯電話、コンピュータ、デジタル放送端末、情報送受信機器、ゲームコンソール、タブレット機器、医療機器、フィットネス機器、パーソナルデジタルアシスタント等の端末デバイスであってもよい。
【0091】
図5を参照すると、電子デバイス500は、処理コンポーネント502、メモリ504、電源コンポーネント506、マルチメディアコンポーネント508、オーディオコンポーネント510、入力/出力(I/O)インターフェース512、センサコンポーネント514及び通信コンポーネント516のうちの1つ又は複数のコンポーネントを備えてもよい。
【0092】
処理コンポーネント502は、通常、電子デバイス500の全般操作、例えば、表示、電話発呼、データ通信、カメラ操作及び記録操作に関連する操作を制御する。処理コンポーネント502は、上記方法のステップの全部又は一部を実行するように、命令を実行する1つ又は複数のプロセッサ520を備えてもよい。また、処理コンポーネント502は、処理コンポーネント502と他のコンポーネントとの間の相互作用が容易になるように、1つ又は複数のモジュールを備えてもよい。例えば、処理コンポーネント502は、マルチメディアコンポーネント508と処理コンポーネント502との間の相互作用が容易になるように、マルチメディアモジュールを備えてもよい。
【0093】
メモリ504は、電子デバイス500での操作をサポートするために、各タイプのデータを記憶するように構成される。これらのデータの例示は、電子デバイス500で操作するための如何なるアプリケーションプログラム又は方法の命令、連絡人データ、電話帳データ、メッセージ、ピクチャ、映像などを含む。メモリ504は、如何なるタイプの揮発性もしくは不揮発性記憶デバイス又はそれらの組合せ、例えば、スタティックランダムアクセスメモリ(SRAM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM)、プログラマブル読み出し専用メモリ(PROM)、読み出し専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスク又は光ディスクによって実現されてもよい。
【0094】
電源コンポーネント506は、電子デバイス500の各種のコンポーネントへ電力を供給する。電源コンポーネント506は、電源管理システム、1つ又は複数の電源、並びに、電子デバイス500用の電力を生成、管理及び配分するに関する他のコンポーネントを含んでもよい。
【0095】
マルチメディアコンポーネント508は、前記電子デバイス500とユーザとの間に1つの出力インターフェースを供給するスクリーンを備える。幾つかの実施例では、スクリーンは、液晶ディスプレイ(LCD)及びタッチパネル(TP)を含んでもよい。スクリーンは、タッチパネルを含む場合、ユーザからの入力信号を受信するように、タッチスクリーンとして実現されてもよい。タッチパネルは、タッチ、スライド及びタッチパネルでのジェスチャーを感知するように、1つ又は複数のタッチセンサを含む。前記タッチセンサは、タッチ又はスライド動作の境界を感知するだけではなく、前記タッチ又はスライド操作と関連する持続時間及び圧力をさらに検出することができる。幾つかの実施例では、マルチメディアコンポーネント508は、1つのフロントカメラヘッド及び/又はバックカメラヘッドを含む。電子デバイス500が操作モード、例えば、撮影モード又はビデオモードにあるとき、フロントカメラヘッド及び/又はバックカメラヘッドは、外部のマルチメディアデータを受信することができる。フロントカメラヘッド及びバックカメラヘッドのそれぞれは、1つの固定の光学レンズシステムであってもよいし、焦点距離及び光学ズーム能力を有するものであってもよい。
【0096】
オーディオコンポーネント510は、オーディオ信号を出力及び/又は入力するように構成される。例えば、オーディオコンポーネント510は、マイク(MIC)を備え、電子デバイス500が操作モード、例えば、発呼モード、記録モード及び音声識別モードにあるとき、マイクは、外部オーディオ信号を受信するように構成される。受信されたオーディオ信号は、さらに、メモリ504に記憶される、又は、通信コンポーネント516を介して送信されることができる。幾つかの実施例では、オーディオコンポーネント510は、さらに、オーディオ信号を出力するためのスピーカをさらに含む。
【0097】
I/Oインターフェース512は、処理コンポーネント502とペリフェラルインターフェースモジュールとの間でインターフェースを供給するものであり、上記ペリフェラルインターフェースモジュールは、キーボード、クリックホイール、ボタンなどであってもよい。これらのボタンは、ホームページボタン、ボリュームボタン、起動ボタン及びロックボタンを含んでもよいが、それらに限定されない。
【0098】
センサコンポーネント514は、様々な側面での状態推定を電子デバイス500に供給するための1つ又は複数のセンサを含む。例えば、センサコンポーネント514は、電子デバイス500のオン/オフ状態、コンポーネントの相対位置を検出することができ、例えば、前記コンポーネントは、電子デバイス500のディスプレイ及びテンキーである。センサコンポーネント514は、さらに、電子デバイス500もしくは電子デバイス500のコンポーネントの位置変更、ユーザと電子デバイス500との接触の存在もしくは不存在、電子デバイス500の方位又は加速/減速及び電子デバイス500の温度変化をさらに検出することができる。センサコンポーネント514は、如何なる物理的接触もないとき、近辺にある物体の存在を検出するための近接センサを含んでもよい。センサコンポーネント514は、さらに、結像応用に使用される光センサ、例えばCMOS又はCCD画像センサを含んでもよい。幾つかの実施例では、当該センサコンポーネント514は、さらに、加速度センサ、ジャイロセンサ、磁気センサ、圧力センサ又は温度センサを含んでもよい。
【0099】
通信コンポーネント516は、電子デバイス500と他のユーザ機器との間の無線又は有線方式の通信が便利になるように構成される。電子デバイス500は、通信規格に基づく無線ネットワーク、例えば、WiFi、2Gもしくは3G、又はそれらの組合せにアクセスすることができる。1つの例示的な実施例では、通信コンポーネント516は、ブロードキャストチャネルを介して、外部ブロードキャスト管理システムからのブロードキャスト信号又はブロードキャスト関連通知情報を受信する。1つの例示的な実施例では、前記通信コンポーネント516は、さらに、短距離通信が容易になるように、ニアフィールド通信(NFC)モジュールを含んでもよい。例えば、NFCモジュールでは、無線周波数識別(RFID)技術、赤外データ協会(IrDA)技術、超広帯域(UWB)技術、ブルートゥース(登録商標)(BT)技術及び他の技術によって実現されてもよい。
【0100】
例示的な実施例では、電子デバイス500は、上記方法を実行するための1つ又は複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ又は他の電子部品によって実現されてもよい。
【0101】
例示的な実施例は、不揮発性コンピュータ可読記憶媒体、例えばコンピュータプログラム命令を含むメモリ504を更に提供する。上記コンピュータプログラム命令は、電子デバイス500のプロセッサ520によって実行されて上記方法を実施させ得る。
【0102】
本発明の実施例は、コンピュータ可読コードを含むコンピュータプログラム製品をさらに提供し、コンピュータ可読コードがデバイス上で運行されるときに、デバイス中のプロセッサによって、上記の任意の実施例によって提供される方法を実装するための命令が実行される。
【0103】
当該コンピュータプログラム製品は、具体的に、ハードウェア、ソフトウェア、また両者の組み合わせによって実装され得る。1つのオプションの実施例において、前記コンピュータプログラム製品は、具体的に、コンピュータ記録媒体として具体化され得、もう1つのオプションの実施例において、コンピュータプログラム製品は、具体的に、たとえばソフトウェア開発キット(Software Development Kit、SDK)などのソフトウェア製品として具体化され得る。
【0104】
図6は、本発明の実施例に係る電子デバイス600のブロック図である。例えば、電子デバイス600は、サーバとして提供され得る。
図7を参照すると、電子デバイス600は、処理コンポーネント622を含み、更に、当該処理コンポーネント622は、1つ又は複数のプロセッサ、及びメモリ632に代表されるメモリリソースとを備え、メモリ632は、処理コンポーネント622によって実行され得る命令、例えば、アプリケーションプログラムを記憶する。メモリ632に記憶されるアプリケーションプログラムは、それぞれが1セットの命令に対応する1つ又は1つ以上のモジュールを備えてもよい。また、処理コンポーネント622は、命令を実行することで上記のリソーススケジューリング方法を実施するように構成される
【0105】
電子デバイス600は、電子デバイス600の電源管理を実行するように構成される電源コンポーネント626と、電子デバイス600をネットワークに接続するように構成される有線又は無線ネットワークインターフェース650と、入力/出力(I/O)インターフェース658とを更に備えてもよい。電子デバイス600は、メモリ632に記憶されたオペレーティングシステム、例えばWindows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM又はその他を操作してもよい。
【0106】
例示的な実施例は、不揮発性コンピュータ可読記憶媒体、例えば、コンピュータプログラム命令を含むメモリ632を更に提供する。上記コンピュータプログラム命令が電子デバイス600の処理コンポーネント622によって実行されることで、上記方法は、実施され得る。
【0107】
本発明は、システム、方法及び/又はコンピュータプログラム製品を提供する。コンピュータプログラム製品は、コンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体には、プロセッサに本発明の各態様を実施させるためのコンピュータ可読プログラム命令が載せている。
【0108】
コンピュータ可読記憶媒体は、命令実行機器で使用される命令を保持及び記憶する有形機器であってもよい。コンピュータ可読記憶媒体は、例えば、電気記憶機器、磁気記憶機器、光記憶機器、電磁的記憶機器、半導体記憶機器又は上記任意の適切な組み合わせであってもよいが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅のリスト)は、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型圧縮ディスク読み出し専用メモリ(CD-ROM)、デジタル多機能ディスク(DVD)、メモリスティック、フロッピーディスク、機械的符号化機器、例えば、命令が記憶されるパンチカード又は溝内突起構造、及び上記の任意の適切な組合を含む。ここで使用されるコンピュータ可読記憶媒体は、瞬時信号自身、例えば、無線電波又は他の自由に伝搬される電磁波、導波路又は他の伝送媒体を介して伝搬される電磁波(例えば、光ファイバー・ケーブルを介した光パルス)、又は電線を介して伝送された電気信号として解釈されない。
【0109】
ここで記述されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各演算/処理機器にダウンロードし、又は、ネットワーク、例えばインターネット、ローカルエリアネットワーク、広域ネットワーク及び/又は無線ネットワークを介して外部コンピュータ或いは外部記憶機器へダウンロードしてもよい。ネットワークは、銅伝送ケーブル、光ファイバー伝送、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各演算/処理機器におけるネットワークアダプタ又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して当該コンピュータ可読プログラム命令を転送することにより、各演算/処理機器におけるコンピュータ可読記憶媒体に記憶させる。
【0110】
本発明の操作を実行するためのコンピュータプログラム命令は、アセンブリ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン関連命令、マイクロコード、ファームウェア命令、状態設定データ、又は、1種若しくは複数種のプログラミング言語の任意の組み合わせで作成されたソースコード又はターゲットコードであってもよい。前記プログラミング言語は、オブジェクト指向プログラミング言語(例えば、Smalltalk、C++等)、及び、通常のプロセスプログラミング言語(例えば、「C」語言)又は類似するプログラミング言語を含む。コンピュータ可読プログラム命令は、完全にユーザコンピュータ上で実行されてもよく、部分的にユーザコンピュータ上で実行されてもよく、1つの独立するソフトウェアパッケージとして実行されてもよく、一部がユーザコンピュータ上でもう一部がリモートコンピュータ上で実行されてもよく、又は完全にリモートコンピュータ又はサーバ上で実行されてもよい。リモートコンピュータの場合に、リモートコンピュータは、任意の種類のネットワーク(ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む)を介してユーザコンピュータに接続され、又は、外部コンピュータに接続されてもよい(例えば、インターネットサービスプロバイダを利用してインターネットで接続される)。幾つかの実施例では、コンピュータ可読プログラム命令の状態情報を用いて電子回路、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブル論理アレイ(PLA)を個性化でカストマイズする。当該電子回路は、コンピュータ可読プログラム命令を実行することにより、本発明の各態様を実施可能である。
【0111】
ここで、本発明の実施例に係る方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して、本発明の各態様を記述した。理解できるように、フローチャート及び/又はブロック図の各ブロック並びにフローチャート及び/又はブロック図における各ブロックの組み合わせは、何れもコンピュータ可読プログラム命令にて実現され得る。
【0112】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサへ供給されて、1種のマシンを生み出すことができる。このように、これらの命令がコンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行されたときに、フローチャート及び/又はブロック図における1つ又は複数のブロックで規定された機能/動作を実現する装置は、生成される。これらのコンピュータ可読プログラム命令をコンピュータ可読記憶媒体に記憶してもよい。これらの命令により、コンピュータ、プログラマブルデータ処理装置及び/又は他の機器は、特定の方式で稼働する。このように、命令が記憶されたコンピュータ可読媒体は、1つの製造品を含み、それは、フローチャート及び/又はブロック図における1つ又は複数のブロックで規定された機能/動作を実現する各態様の命令を含む。
【0113】
コンピュータ可読プログラム命令をコンピュータ、他のプログラマブルデータ処理装置、又は他の機器にロードしてもよい。このように、コンピュータ、他のプログラマブルデータ処理装置又は他の機器上で一連の操作ステップが実行され、コンピュータによる実現の過程は、生み出される。これにより、コンピュータ、他のプログラマブルデータ処理装置、又は他の機器上で実行された命令は、フローチャート及び/又はブロック図における1つ又は複数のブロックで規定された機能/動作を実現する。
【0114】
図面におけるフローチャート及びブロック図は、本発明の複数の実施例に係るシステム、方法及びコンピュータプログラム製品の実施可能な体系アーキテクチャ、機能及び操作を示す。この点では、フローチャート又はブロック図における各ブロックは、1つのモジュール、プログラムセグメント又は命令の一部を代表してもよい。前記モジュール、プログラムセグメント又は命令の一部は、規定された論理機能を実施するための1つ又は複数の実行可能命令を含む。幾つかの代替としての実施形態において、ブロック中にマークされた機能は、図面に示された順番と異なる順番で発生してもよい。例えば、2つの連続するブロックは、実に、基本的に並行に実行されてもよく、そして、逆の順番で実行されるときもあり、これは、かかる機能に応じて定められる。注意すべきことは、ブロック図及び/又はフローチャートにおける各ブロック、並びに、ブロック図及び/又はフローチャートにおけるブロックの組み合わせは、規定の機能又は動作を実行する専用のハードウェアに基づくシステムにて実現されてもよく、専用ハードウェアとコンピュータ命令との組み合わせで実現されてもよい。
【0115】
以上では、本発明の各実施例を記述した。上記説明は、例示であり、網羅的ではなく、開示された各実施例にも限定されない。説明された各実施例の範囲及び精神から逸脱しない場合に、多くの修正及び変更は、当業者にとって明らかである。本文での用語は、各実施例の原理、実際の応用又は、マーケットにおける技術に対する技術的改善を最良に解釈し、又は当業者に本文に開示された各実施例を理解させえるために選択される。
【手続補正書】
【提出日】2021-06-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
リソーススケジューリング方法であって、
目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することと、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することと、を含み、
前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む
ことを特徴とするリソーススケジューリング方法。
【請求項2】
前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、
前記目標タスクのリソース需要量、前記複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することは、
前記目標タスクの前記第1リソース需要量と前記第1リソースの前記現在リソース残り量とに基づいて第1スコアを得ることと、
前記目標タスクの前記第2リソース需要量と前記第2リソースの前記使用可能なリソース総量とに基づいて第2スコアを決定することと、
前記第1スコアおよび前記第2スコアに基づいて加重和を実行して前記第1スケジューリングスコアを得ることと、を含む
ことを特徴とする請求項1に記載のリソーススケジューリング方法。
【請求項3】
前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定することをさらに含み、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することは、
各リソースノードの前記第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定することと、
前記複数のリソースノードの中の各リソースノードの前記合計スケジューリングスコアに基づいて、前記目標リソースノードを決定することと、を含む
ことを特徴とする請求項1または2に記載のリソーススケジューリング方法。
【請求項4】
第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、
前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである
ことを特徴とする請求項3に記載のリソーススケジューリング方法。
【請求項5】
複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることと、
前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することと、をさらに含み、
前記複数のタスクは、前記目標タスクを含む
ことを特徴とする請求項1に記載のリソーススケジューリング方法。
【請求項6】
前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、
前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定することと、
前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定することと、を含む
ことを特徴とする請求項5に記載のリソーススケジューリング方法。
【請求項7】
前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、
前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして前記第1タスクキューを得ることを含む
ことを特徴とする請求項5または6に記載のリソーススケジューリング方法。
【請求項8】
リソーススケジューリング装置であって、
目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定するための第1決定モジュールと、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定するための第2決定モジュールと、を備え、
前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む
ことを特徴とするリソーススケジューリング装置。
【請求項9】
電子デバイスであって、
プロセッサと、
前記プロセッサによって実行可能な命令を記憶するためのメモリと、を備え、
前記プロセッサは、請求項1~7のいずれか1項に記載の方法を実行するように構成される
ことを特徴とする電子デバイス。
【請求項10】
コンピュータプログラム命令が記憶されているコンピュータ可読記録媒体であって、
前記コンピュータプログラム命令がプロセッサによって実行されると、前記プロセッサが、請求項1~7のいずれか1項に記載の方法を実装するようにする
ことを特徴とするコンピュータ可読記録媒体。
【国際調査報告】