(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】強化学習に基づくオンラインマルチワークフローのスケジューリング方法
(51)【国際特許分類】
G06F 9/48 20060101AFI20240731BHJP
G06F 9/46 20060101ALI20240731BHJP
G06N 20/00 20190101ALI20240731BHJP
【FI】
G06F9/48 300H
G06F9/46 420A
G06N20/00
【外国語出願】
(21)【出願番号】P 2023118563
(22)【出願日】2023-07-20
【審査請求日】2023-07-20
(31)【優先権主張番号】202210857988.8
(32)【優先日】2022-07-20
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520208373
【氏名又は名称】杭州電子科技大学
【氏名又は名称原語表記】Hangzhou Dianzi University
【住所又は居所原語表記】Xiasha Higher Education Park, Hangzhou City, Zhejiang Province, China
(74)【代理人】
【識別番号】110003823
【氏名又は名称】弁理士法人柳野国際特許事務所
(72)【発明者】
【氏名】殷▲いく▼▲いく▼
(72)【発明者】
【氏名】黄彬彬
(72)【発明者】
【氏名】黄子信
【審査官】田中 幸雄
(56)【参考文献】
【文献】米国特許出願公開第2022/0172005(US,A1)
【文献】井手慎太郎ほか,エッジコンピューティングにおけるRLベースの効率的なタスクオフロードと割り当てに向けたメカニズムの開発,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2021年10月04日,Vol.121 No.195,13~18ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/48
G06F 9/46
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
強化学習に基づくオンラインマルチワークフローのスケジューリング方法であって、ステップS1~S5を含み、
S1.システムモデルの構築:
モバイルエッジコンピューティングネットワークは、複数のモバイルデバイス及び複数のエッジサーバで構成され、モバイルデバイスのプロセッサ周波数とコア数はf
nとcpu
nで表され、エッジサーバのプロセッサ周波数とコア数はf
mとcpu
mで表され、エッジサーバ間の帯域幅及びモバイルデバイスとエッジサーバとの間の帯域幅はBで表され、
各モバイルデバイスによってオンラインで生成された互いに独立したタスクを有向非巡回グラフ(DAG)で特徴付けると、各有向非巡回グラフ(DAG)はダブレットG=(V,E)として表され、ここで、V=(v
1,...,v
k,...,v
k)は、前記DAGに含まれるノードを表し、E={e
kl|v
k∈V,v
l∈V}はノード間の接続関係を特徴付ける辺を表し、辺e
klはノード間の制約依存関係を表し、すなわちノードv
kの実行が完了した後にのみ、ノードv
lは実行を開始でき、
各ノードはトリプレット
【数1】
として特徴付けることができ、ここで、W
kはノードv
kのワークロードを表し、
【数2】
はノードv
kの入力データサイズを表し、
【数3】
はノードv
kの出力データサイズを表し、
S2.ノードのオフロードルールの構築:
スケジューリングポリシーは、スケジューリング動作をトリガした後、割り当て対象のノードを選択し、それに割り当てるエッジサーバ又はモバイルデバイスを決定し、
S3.タイムラインモデルの構築:
前記タイムラインモデルは、すべてのDAGタスクの到着イベント及びノードの実行完了イベントを記録し、
モバイルデバイス上のタスクの到着過程は、パラメータがλであるポアソン分布に従い、すなわちタスク到着率はλであり、スケジューリング動作をトリガする条件が満たされるまで、タイムライン上の現在時刻に最も近いイベントが絶えずキャプチャされ、かつキャプチャされたイベントに従って現在時刻を更新し、スケジューリング動作が終了した後、タイムライン上のイベントをキャプチャし続け、
S4.強化学習に基づくオンラインマルチワークフロースのケジューリングポリシー:
スケジューリング問題の状態空間及び動作空間を定義し、かつスケジューリング問題の報酬関数を設計し、勾配ポリシーを使用して訓練し、
S41.状態空間の定義:
エージェントが環境を観測して得た環境状態は2つの部分に分けられ、
スケジューリングするノードを選択する時、エージェントの観測可能な環境状態O
nodeは式(5)で表され、
【数4】
ここで、E
node、E
DAG、E
globaはそれぞれノード、ノードが属するDAG、グローバルレベルの埋め込みベクトルを表し、T
stayは、ノードが属するDAGが環境内に滞在する時間を表し、T
wasteは、ノードがモバイルデバイス又はエッジサーバでの実行を待機する時間、及びモバイルデバイス又はエッジサーバが待機する時間を表し、D
i,oはノードの入力データと出力データを表し、W
nodeはノードのワークロードを表し、W
preは、ノードのすべての親ノードのワークロードの合計を表し、
割り当てるサーバを選択する時、エージェントの観測可能な環境状態O
serverは式(6)で表され、
【数5】
ここで、st
preは、前記ノードの先行ノードのデータ伝送が完了した時刻を表し、st
serverは各サーバの利用可能な時間を表し、T
execは各サーバ上のノードの実行時間を表し、num
childは、ノードのすべての子ノードの合計数及びすべての子孫ノードの合計数を表し、W
childは、ノードのすべての子ノードとすべての子孫ノードのワークロードの合計を表し、
S42.動作空間の定義:
エージェントは、上記の観測された状態O
nodeとO
serverを勾配ポリシーに基づく2つのニューラルネットワークにそれぞれ入力して、スケジューリング対象のノードから今回スケジューリングされるノードnodeを選択し、利用可能なサーバから前記ノードに割り当てるサーバserverを選択し、式(7)で表され、
【数6】
ここで、Aは定義された動作空間を表し、
S43.報酬関数の定義:
即時報酬は、今回の動作の開始から次の動作のトリガまでの間に、すべてのDAGタスクが環境内に存在する時間Rとして設定され、式(8)、(9)で表され、
【数7】
ここで、T
nowは現在時刻を表し、T
finish(G)はワークフローGの完了時刻を表し、T
preは前の動作が実行された時刻を表し、T
arrive(G)はワークフローGの到着時刻を表し、min(T
now,T
finish(G))はT
now,T
finish(G)の最小値を取ることを表し、max(T
pre,T
arrive(G))はT
pre,T
arrive(G)の最大値を取ることを表し、
S44.問題の形式化
オンラインマルチワークフローのスケジューリングポリシーの勾配ポリシーに基づくニューラルネットワークモデルの主な目標は、すべての動作の累積報酬を最大化することであり、式(10)で表され、
【数8】
ここで、Tは今回のポリシーの実施にT個の動作があることを表し、kはk番目の動作を表し、R
kはk番目の動作の報酬を表し、
ニューラルネットワークパラメータに対して勾配上昇を実行してパラメータの学習を行い、
S5.ポリシーの実現:
(1)まず、環境パラメータ及びネットワークパラメータを初期化し、次に、エージェントは環境内の各ノードの基本的な特徴を観測し、グラフ畳み込みニューラルネットワークに送信して、2回の集約後にE
nodeを得、これらのE
nodeに従って再び集約してE
DAGを得、すべてのE
DAGに従ってさらに集約してE
globaを得、現在の環境と組み合わせてO
nodeとO
serverを得、今回の動作に割り当てるノード及び前記ノードに割り当てるサーバを選択し、前記ノードの完了イベントはタイムラインに記録され、同時に前記動作の報酬を計算し、毎回観測された環境状態、動作及び報酬は、保存され、
次に、スケジューリング動作をトリガする条件が満たされているか否かを判断し、満たされている場合、スケジューリング動作をトリガし続け、満たされていない場合、スケジューリング動作をトリガする条件が再び満たされるまで、タイムライン上の現在時刻に最も近いイベントをキャプチャし、前記イベントに従って現在時刻を更新し、
環境内のすべてのDAGタスクの実行が完了するまで、スケジューリング動作とタイムラインイベントのキャプチャのサイクルを連続的に実行し、
(2)エージェントは前に保存された環境状態、動作及び報酬に従って、勾配ポリシーを使用して式(11)によってネットワークパラメータを更新し、最終的なワークフロースケジューリングポリシーを取得し、
【数9】
ここで、θはネットワークパラメータを表し、αは学習率を表し、Tは今回のポリシーの実施にT個の動作があることを表し、kはk番目の動作を表し、π
θ(o
k,α
k)は、θをパラメータとするニューラルネットワークが環境状態o
kで動作α
kを行う確率を表し、r
kは、即時報酬に基づいて、さらに減衰して得られた総合報酬を表し、∇
θlnπ
θ(o
k,α
k)r
kは、lnπ
θ(s
k,α
k)r
kの勾配を求めることを表し、
【数10】
はすべての動作について求めた勾配を積算することを表し、
環境内にワークフローが動的に到着すると、最終的なワークフロースケジューリングポリシーにより、前記ワークフロー内のノードを実行するエッジサーバ又はモバイルデバイスを前記ノードを実行するサーバとして選択し、ワークフロー内のノードを順次実行して完了することを特徴とする強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項2】
ステップS1に記載のモバイルデバイス及びエッジサーバはいずれも、前記モバイルデバイス又はエッジサーバ上で実行されるノードを記憶するための自身の待ちキューを有することを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項3】
ステップS2に記載のモバイルデバイスはノード単位でオフロードを行い、ノードをエッジサーバにオフロードするか、ローカルに残して実行するかを選択することを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項4】
ステップS2において、現在のノードのすべての先行ノードの実行が完了し、かつデータ伝送が完了した後にのみ、現在のノードは実行を開始できることを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項5】
ステップS2において、モバイルデバイス又はエッジサーバ上のノードv
kの完了時刻は、式(1)で計算され、
【数11】
ここで、式(1)のavailは、モバイルデバイス又はエッジサーバの利用可能な時刻を表し、
【数12】
は、
【数13】
とavailの大きな値を取ることを表し、式(2)は、現在のノードv
kのすべての先行ノードの実行が完了し、かつ出力データの伝送が完了した時刻を表し、ここで、
【数14】
はノードv
lの実行が完了した時刻を表し、
【数15】
はノードv
kのすべての先行ノードv
lをトラバースし、
【数16】
とT
tran(v
l,v
k)の和の最大値を取ることを表し、式(3)はデータ伝送に必要な時間を表し、先行ノードと現在のノードが同じモバイルデバイス又はエッジサーバに実行すれば、データ伝送を行う必要がなく、そうでなければ、データ伝送を行う必要があり、ここで、Bはエッジサーバ間の帯域幅及びモバイルデバイスとエッジサーバとの間の帯域幅を表し、
【数17】
はノードv
lの出力データサイズを表し、式(4)はノードの実行にかかる時間を表し、ここで、f
nとcpu
nはそれぞれモバイルデバイスのプロセッサ周波数とコア数を表し、f
mとcpu
mはそれぞれエッジサーバのプロセッサ周波数とコア数を表すことを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項6】
ステップS3に記載のスケジューリング動作をトリガする条件は、スケジューリング可能なノードがあり、かつエッジサーバ又は前記ノードが属するモバイルデバイスがアイドル状態にあることであることを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項7】
ステップS4において、DAGで特徴付けられるマルチワークフローのオンラインスケジューリング環境で、環境と対話するエージェントは、グラフ畳み込みニューラルネットワークを用いてすべてのDAGの特徴を抽出することを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項8】
ステップS41において、グラフ畳み込みニューラルネットワークにより、各ノードは上から下へ自身の子ノードの情報を集約し、同時に自身を親ノードとする子ノードもそれに対応する親ノードによって集約され、各ノードの埋め込みベクトルを取得し、これには各ノードのクリティカルパス値の情報を含み、
同時に、これらのノードの埋め込みベクトルに基づいて、エージェントはさらに集約して、ノードが属するDAGの埋め込みベクトルを形成し、これには前記DAGの残りのワークロードの情報を含み、
これらのDAGの埋め込みベクトルに基づいて、エージェントは集約して、ローバルな埋め込みベクトルを取得し、これにはグローバルなワークロードの情報を含むことを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項9】
ステップS43において、マルチワークフローオンラインスケジューリング中に、各動作は、前記動作の良否を評価するために即時報酬を得、すべてのDAGタスクの平均完了時間を最終的な長期最適化目標とすることを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【請求項10】
ステップS5に記載の環境パラメータ及びネットワークパラメータ:
前記環境パラメータは、主に実行キューの長さ、モバイルデバイスとエッジサーバとの間の帯域幅、並びに環境内のDAGタスクの構造及び環境に到着しようとするDAGタスクの構造を含み、
前記ネットワークパラメータには、主に2つのポリシーネットワーク及びグラフ畳み込みニューラルネットワークのネットワークパラメータを含むことを特徴とする請求項1に記載の強化学習に基づくオンラインマルチワークフローのスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モバイルエッジコンピューティングの分野に属し、主に強化学習に基づくオンラインマルチワークフローのスケジューリング方法に関する。
【背景技術】
【0002】
モバイルエッジコンピューティング(Mobile Edge Computing、MEC)ネットワークは、ネットワークのエッジに一定の計算能力を有するエッジサーバを配置し、コンピューティングタスクをローカルユーザに近いネットワークエッジのエッジサービスにオフロードすることにより、より高いサービス品質を提供する。該ネットワークは、低い遅延、強い安全性及びネットワーク輻輳の減少等の顕著な優位性を有し、従来のクラウドコンピューティングモードにおける限られた計算力及び高遅延の問題を解決する。効果的且つ合理的なオフロード決定とリソース割り当ては、MECネットワークの性能を向上させることに役立ち、企業にかなりの利益をもたらす。
【0003】
しかし、有向非巡回グラフ(Directed Acyclic Graph、DAG)で特徴付けられるワークフローのMECネットワーク環境におけるオンラインオフロード決定とリソース割り当ての共同最適化問題は、非凸のNP-hard問題であり、従来の数学的方法で該種類の問題を解くには、計算量が大きく、複雑性が高く、これはMECネットワークに巨大な負担をもたらす。したがって、モバイルエッジコンピューティング環境で、どのように良好なオフロード決定とリソース割り当てを得るかは、中国内外の学者に広く注目されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記問題を解決するために、本発明は、強化学習に基づくオンラインマルチワークフローのスケジューリング方法を提供する。
【課題を解決するための手段】
【0005】
本発明は、ステップS1~S5を含む。
【0006】
S1.システムモデルの構築:
【0007】
モバイルエッジコンピューティングネットワークは、複数のモバイルデバイス及び複数のエッジサーバで構成され、モバイルデバイスのプロセッサ周波数とコア数はfnとcpunで表され、エッジサーバのプロセッサ周波数とコア数はfmとcpumで表され、エッジサーバ間の帯域幅及びモバイルデバイスとエッジサーバとの間の帯域幅はBで表される。
【0008】
各モバイルデバイスは、DAGで特徴付けられる互いに独立したタスクをオンラインで生成する。各DAGはダブレットG=(V,E)で表すことができ、ここで、V=(v1,...,vk,...,vk)は該DAGに含まれるノードを示し、E={ekl|vk∈V,vl∈V}はノード間の接続関係を特徴付ける辺を表し、辺eklはノード間の制約依存関係を表し、すなわちノードvkの実行が完了した後にのみ、ノードvlは実行を開始できる。各ノードはいずれもトリプレット
【0009】
【数1】
として特徴付けることができ、ここで、W
kはノードv
kのワークロードを表し、
【0010】
【0011】
【数3】
はノードv
kの出力データサイズを表す。各モバイルデバイス及びエッジサーバはいずれも、該モバイルデバイス又はエッジサーバ上で実行されようとするノードを記憶するための自身の待ちキューを有する。
【0012】
S2.ノードのオフロードルールの構築:
【0013】
モバイルデバイスはノード単位でオフロードを行い、ノードをエッジサーバにオフロードするか、ローカルに残して実行するかを選択できる。現在のノードのすべての先行ノードの実行が完了し、かつデータ伝送が完了した後にのみ、現在のノードは実行を開始できる。本発明が提供するスケジューリングポリシーは、スケジューリング動作をトリガした後、割り当て対象のノードを選択し、それに割り当てるエッジサーバ又はモバイルデバイスを決定する。モバイルデバイス又はエッジサーバ上のノードvkの完了時刻は式(1)で計算でき、
【0014】
【数4】
ここで、式(1)のavailはモバイルデバイス又はエッジサーバの利用可能な時刻を表し、
【0015】
【0016】
【数6】
とavailの大きな値を取ることを表す。式(2)は、現在のノードv
kのすべての先行ノードの実行が完了し、かつ出力データの伝送が完了した時刻を表し、ここで、
【0017】
【数7】
はノードv
lの実行が完了した時刻を表し、
【0018】
【数8】
はノードv
kのすべての先行ノードv
lをトラバースし、
【0019】
【数9】
とT
tran(v
l,v
k)の和の最大値を取ることを表す。式(3)はデータ伝送に必要な時間を表し、先行ノードと現在のノードが同じモバイルデバイス又はエッジサーバに実行すれば、データ伝送を行う必要がなく、そうでなければ、データ伝送を行う必要があり、式(4)はノードの実行にかかる時間を表す。
【0020】
S3.タイムラインモデルの構築:
【0021】
本発明は、すべてのDAGタスクの到着イベント及びノードの実行完了イベントが記録されるタイムラインモデルを提供する。モバイルデバイス上のタスクの到着過程は、パラメータがλであるポアソン分布に従い、すなわちタスク到着率はλである。スケジューリング動作をトリガする条件が満たされるまで、タイムライン上の現在時刻に最も近いイベントが絶えずキャプチャされ、かつキャプチャされたイベントに従って現在時刻を更新する。スケジューリング動作をトリガする条件は、スケジューリング可能なノードがあり、かつエッジサーバ又は該ノードが属するモバイルデバイスがアイドル状態にあることであり、スケジューリング動作が終了した後、タイムライン上のイベントをキャプチャし続ける。
【0022】
S4.強化学習に基づくオンラインマルチワークフローのスケジューリングポリシー:
【0023】
スケジューリング問題の状態空間及び動作空間を定義し、かつスケジューリング問題の報酬関数を設計し、勾配ポリシーを使用して訓練する必要があり、目標は所望の報酬を最大化することである。具体的には、次のサブステップS41~S44を含む。
【0024】
S41.状態空間の定義:
【0025】
DAGで特徴付けられるマルチワークフローのオンラインスケジューリング環境で、環境と対話するエージェントはグラフ畳み込みニューラルネットワークを用いてすべてのDAGの特徴を抽出する。グラフ畳み込みニューラルネットワークにより、各ノードは上から下へ自身の子ノードの情報を集約し、同時に自身を親ノードとする子ノードもそれに対応する親ノードによって集約される。メッセージを段階的に伝達して集約することにより、各ノードの埋め込みベクトルを得ることができ、これには各ノードのクリティカルパス値の情報を含む。同時に、これらのノードの埋め込みベクトルに基づいて、エージェントはさらに集約して、ノードが属するDAGの埋め込みベクトルを形成でき、これには該DAGの残りのワークロードの情報を含む。これらのDAGの埋め込みベクトルに基づいて、エージェントは集約して、ローバルな埋め込みベクトルの情報を得ることができ、これにはグローバルなワークロードの情報を含む。
【0026】
エージェントが環境を観測して得た環境状態は2つの部分に分けられる。
【0027】
スケジューリングするノードを選択する時、エージェントの観測可能な環境状態Onodeは式(5)で表され、
【0028】
【数10】
ここで、E
node、E
DAG、E
globaはそれぞれノード、ノードが属するDAG、グローバルレベルの埋め込みベクトルを表し、T
stayは、ノードが属するDAGが環境内に滞在する時間を表し、T
wasteは、ノードがモバイルデバイス又はエッジサーバでの実行を待機する時間、及びモバイルデバイス又はエッジサーバが待機する時間を表し、D
i,oはノードの入力データと出力データを表し、W
nodeはノードのワークロードを表し、W
preは、ノードのすべての親ノードのワークロードの合計を表す。
【0029】
今回割り当てるサーバを選択する時、エージェントの観測可能な環境状態Oserverは式(6)で表され、
【0030】
【数11】
ここで、st
preは、該ノードの先行ノードのデータ伝送が完了した時刻を表し、st
serverは各サーバの利用可能な時間を表し、T
execは、各サーバ上のノードの実行時間を表し、num
childは、ノードのすべての子ノードの合計数及びすべての子孫ノードの合計数を表し、W
childは、ノードのすべての子ノードとすべての子孫ノードのワークロードの合計を表す。
【0031】
S42.動作空間の定義:
【0032】
本発明が提供するポリシーは動作を2つの部分に分け、エージェントは、上記の観測された状態OnodeとOserverを勾配ポリシーに基づく2つのニューラルネットワーク、すなわちポリシーネットワークにそれぞれ入力して、スケジューリング対象のノードから今回スケジューリングされるノードnodeを選択し、利用可能なサーバから該ノードに割り当てるサーバserverを選択し、式(7)で表すことができ、
【0033】
【数12】
ここで、Aは、定義された動作空間を表す。
【0034】
S43.報酬関数の定義:
【0035】
マルチワークフローのオンラインスケジューリング中に、各動作は、該動作の良否を評価するために即座報酬を得る。すべてのDAGタスクの平均完了時間を最終的な長期最適化目標として、リトルの法則に従って、即時報酬は、現在の動作の開始から次の動作のトリガまでの間に、すべてのDAGタスクが環境内に存在する時間として設定され、式(8)、(9)で表すことができ、
【0036】
【数13】
ここで、T
nowは現在時刻を表し、T
finish(G)はワークフローGの完了時刻を表し、T
preは前の動作が実行された時刻を表し、T
arrive(G)はワークフローGの到着時刻を表し、min(T
now,T
finish(G))はT
now,T
finish(G)の最小値を取ることを表し、max(T
pre,T
arrive(G))はT
pre,T
arrive(G)の最大値を取ることを表す。
【0037】
S44.問題の形式化:
【0038】
オンラインマルチワークフローのスケジューリングポリシーは、勾配ポリシーに基づくニューラルネットワークモデルを考慮でき、その主な目標は、すべての動作の累積報酬を最大化することであり、式(10)で表すことができ、
【0039】
【数14】
ここで、Tは今回のポリシーの実施にT個の動作があることを表し、kはk番目の動作を表し、R
kはk番目の動作の報酬を表す。
【0040】
勾配ポリシーの目標は報酬を最大化することであるため、ニューラルネットワークパラメータに対して勾配上昇を実行してパラメータの学習を行う。
【0041】
S5.ポリシーの実現:
【0042】
本発明は、ポリシー勾配に基づく、オンラインマルチワークフローのスケジューリング問題(PG-OMWS)を解くアルゴリズムを設計して、ポリシーの実現に用い、ポリシー実現の詳細な過程は、以下のとおりである。
【0043】
(1)ポリシーの実施段階において、まず、環境パラメータ及びネットワークパラメータを初期化する。環境パラメータは、主に実行キューの長さ、モバイルデバイスとエッジサーバとの間の帯域幅、並びに環境内のDAGタスクの構造及び環境に到着しようとするDAGタスクの構造を含む。ネットワークパラメータは、主に2つのポリシーネットワーク及びグラフ畳み込みニューラルネットワークのネットワークパラメータを含む。その後、エージェントは環境内の各ノードの基本的な特徴を観測し、グラフ畳み込みニューラルネットワークに送信して、2回の集約後にEnodeを得、これらのEnodeに従って再び集約してEDAGを得、すべてのEDAGに従ってさらに集約してEglobaを得、現在の環境と組み合わせてOnodeとOserverを得、これら2つの観測結果に従って、今回の動作に割り当てるノード及び該ノードに割り当てるサーバを選択する。該ノードの完了イベントはタイムラインに記録され、同時に該動作の報酬を計算する。毎回観測された環境状態、動作及び報酬は、保存される。次に、スケジューリング動作をトリガする条件が満たされているか否かを判断し、満たされている場合、スケジューリング動作をトリガし続け、満たされていない場合、スケジューリング動作をトリガする条件が再び満たされるまで、タイムライン上の現在時刻に最も近いイベントをキャプチャし、そのイベントに従って現在時刻を更新する。環境内のすべてのDAGタスクの実行が完了するまで、スケジューリング動作とタイムラインイベントのキャプチャのサイクルを連続的に実行する。
【0044】
(2)訓練段階において、エージェントは前に保存された環境状態、動作及び報酬に従って、勾配ポリシーを使用して式(11)によってニューラルネットワークのパラメータを更新し、最終的なワークフロースケジューリングポリシーを取得し、
【0045】
【数15】
ここで、θはネットワークパラメータを表し、αは学習率を表し、Tは今回のポリシーの実施にT個の動作があることを表し、kはk番目の動作を表し、π
θ(o
k,α
k)はθをパラメータとするニューラルネットワークが環境状態o
kで動作α
kを行う確率を表し、r
kは即時報酬に基づいて、さらに減衰して得られた総合報酬を表す。∇
θlnπ
θ(o
k,α
k)r
kはlnπ
θ(s
k,α
k)r
kの勾配を求めることを表し、
【0046】
【数16】
はすべての動作について求めた勾配を積算することを表す。
【0047】
(3)ポリシーの実行段階:環境内にワークフローが動的に到着すると、最終的なワークフロースケジューリングポリシーにより、該ワークフロー内のノードを実行するエッジサーバ又はモバイルデバイスをノードを実行するサーバとして選択し、ワークフロー内のノードを順次実行して完了する。
【発明の効果】
【0048】
本発明の有益な効果は以下のとおりである。グラフ畳み込みニューラルネットワークを用いてワークフローの構造的特徴を抽出し、抽出された特徴に基づいてオフロード決定とリソース割り当てを行い、モバイルエッジコンピューティングのマルチワークフローのオンラインスケジューリング環境で、初めて勾配ポリシーと組み合わせた解決手段を提供する。環境内にワークフローが動的に到着すると、本発明は、現在のワークフロー及びサーバの状態をリアルタイムで分析し、ワークフローのノードをあるサーバにスケジューリングして実行することができる。本方法は、複雑さが低く、すべてのワークフローの平均完了時間を可能な限り短縮する。
【図面の簡単な説明】
【0049】
【
図1】本発明の強化学習に基づくオンラインマルチワークフローのスケジューリングポリシーのフローチャートである。
【
図2】タスク到着率λの影響下での、本発明とFIFO方法、SJF方法、Random方法、LocalEx方法ム及びEdgeEx方法との実験結果の比較図である。
【
図3】エッジサーバのプロセッサコア数の影響下での、本発明とFIFO方法、SJF方法、Random方法、LocalEx方法及びEdgeEx方法との実験結果の比較図である。
【
図4】モバイルデバイスのプロセッサコア数の影響下での、本発明とFIFO方法、SJF方法、Random方法、LocalEx方法及びEdgeEx方法との実験結果の比較図である。
【
図5】エッジサーバの数の影響下での、本発明とFIFO方法、SJF方法、Random方法、LocalEx方法及びEdgeEx方法との実験結果の比較図である。
【
図6】モバイルデバイスの数の影響下での、本発明とFIFO方法、SJF方法、Random方法、LocalEx方法及びEdgeEx方法との実験結果の比較図である。
【発明を実施するための形態】
【0050】
本発明の目的、技術的解決手段及び利点をより明確に分かりやすくするために、以下、図面を参照しながら本発明をさらに詳しく説明する。
【0051】
図1に示すように、本発明が提供する強化学習に基づくオンラインマルチワークフローのスケジューリング方法は、以下のステップS1~S5を含む。
【0052】
S1.システムモデルの構築:
【0053】
モバイルエッジコンピューティングネットワークは、複数のモバイルデバイス及び複数のエッジサーバで構成され、モバイルデバイスのプロセッサ周波数とコア数はfnとcpunで表され、エッジサーバのプロセッサ周波数とコア数はfmとcpumで表され、エッジサーバ間の帯域幅及びモバイルデバイスとエッジサーバとの間の帯域幅はでB表される。
【0054】
各モバイルデバイスは、DAGで特徴付けられる互いに独立したタスクをオンラインで生成する。各DAGはダブレットG=(V,E)で表すことができ、ここで、V=(v1,...,vk,...,vk)は該DAGに含まれるノードを表し、E={ekl|vk∈V,vl∈V}はノード間の接続関係を特徴付ける辺を表す。辺eklはノード間の制約依存関係を表し、すなわちノードvkの実行が完了した後にのみ、ノードvlは実行を開始できる。各ノードはいずれもトリプレット
【0055】
【数17】
として特徴付けることができ、ここで、W
kはノードのワークロードを表し、
【0056】
【数18】
はノードv
kの入力データサイズを表し、
【0057】
【数19】
はノードの出力データサイズを表す。各モバイルデバイス及びエッジサーバはいずれも、該モバイルデバイス又はエッジサーバ上で実行されようとするノードを記憶するための自身の待ちキューを有する。
【0058】
S2.ノードのオフロードルールの構築:
【0059】
モバイルデバイスはノード単位でオフロードを行い、ノードをエッジサーバにオフロードするか、ローカルに残して実行するかを選択できる。現在のノードのすべての先行ノードの実行が完了し、かつデータ伝送が完了した後にのみ、現在のノードは実行を開始できる。本発明が提供するスケジューリングポリシーは、スケジューリング動作をトリガした後、割り当て対象のノードを選択し、それに割り当てるエッジサーバ又はモバイルデバイスを決定する。モバイルデバイス又はエッジサーバ上のノードvkの完了時刻は式(1)で計算でき、
【0060】
【数20】
ここで、式(1)のavailは、モバイルデバイス又はエッジサーバの利用可能時刻を表し、式(2)は、現在のノードv
kのすべての先行ノードの実行が完了し、かつ出力データの伝送が完了した時刻を表す。式(3)はデータ伝送に必要な時間を表し、先行ノードと現在のノードが同じモバイルデバイス又はエッジサーバに実行すれば、データ伝送を行う必要がなく、そうでなければ、データ伝送を行う必要がある。式(4)はノードの実行にかかる時間を表す。
【0061】
S3.タイムラインモデルの構築:
【0062】
本発明は、すべてのDAGタスクの到着イベント及びノードの実行完了イベントが記録されるタイムラインモデルを提供する。モバイルデバイス上のタスクの到着過程は、パラメータがλであるポアソン分布に従う。スケジューリング動作をトリガする条件が満たされるまで、タイムライン上の現在時刻に最も近いイベントが絶えずキャプチャされ、かつキャプチャされたイベントに従って現在時刻を更新する。スケジューリング動作をトリガする条件は、スケジューリング可能なノードがあり、かつエッジサーバ又は該ノードが属するモバイルデバイスがアイドル状態にあることである。スケジューリング動作が終了した後、タイムライン上のイベントをキャプチャし続ける。
【0063】
S4.強化学習に基づくオンラインマルチワークフローのスケジューリングポリシー:
【0064】
スケジューリング問題の状態空間及び動作空間を定義し、かつスケジューリング問題の報酬関数を設計し、勾配ポリシーを使用して訓練する必要があり、目標は、所望の報酬を最大化することである。具体的には、次のサブステップS41~S44を含む。
【0065】
S41.状態空間の定義:
【0066】
DAGの形式で特徴付けられるマルチワークフローのオンラインスケジューリング環境で、環境と対話するエージェントはグラフ畳み込みニューラルネットワークを使用してすべてのDAGの特徴を抽出し、各ノードは上から下へ自身の子ノードの情報を集約し、同時に自身を親ノードとする子ノードも自身の親ノードによって集約される。メッセージを段階的に伝達して集約することにより、各ノードの埋め込みベクトルを得ることができ、これには各ノードのクリティカルパス値の情報を含む。同時に、これらのノードの埋め込みベクトルに基づいて、エージェントはさらに集約して、ノードが属するDAGの埋め込みベクトルを形成でき、これには該DAGの残りのワークロードの情報を含む。これらのDAGの埋め込みベクトルに基づいて、エージェントは集約して、ローバルな埋め込みベクトルの情報を得ることができ、これにはグローバルなワークロードの情報を含む。ノードの埋め込みベクトルがあると、エージェントは該ノードに沿った下向きのクリティカルパスのワークロードを判断でき、DAG及びグローバルレベルの埋め込みベクトルがあると、エージェントはジョブの残りのワークロードの相対的な大きさを識別できる。
【0067】
エージェントが環境を観測して得た環境状態は2つの部分に分けられる。
【0068】
スケジューリングするノードを選択する時、エージェントの観測可能な環境状態Onodeは式(5)で表され、
【0069】
【数21】
ここで、E
node、E
DAG、E
globaはそれぞれノード、ノードが属するDAG、グローバルレベルの埋め込みベクトルを表し、T
stayは、ノードが属するDAGが環境内に滞在する時間を表し、T
wasteは、ノードがモバイルデバイス又はエッジサーバでの実行を待機する時間、及びモバイルデバイス又はエッジサーバが待機する時間を表し、D
i,oはノードの入力データと出力データを表し、W
nodeはノードのワークロードを表し、W
preは、ノードのすべての親ノードのワークロードの合計を表す。
【0070】
今回割り当てるサーバを選択する時、エージェントの観測可能な環境状態空間Oserverは式(6)で表すことができ、
【0071】
【数22】
ここで、st
preは、該ノードの先行ノードのデータ伝送が完了した時刻を表し、st
serverは各サーバの利用可能な時間を表し、T
execは、各サーバ上のノードの実行時間を表し、num
childは、ノードのすべての子ノードの合計数及びすべての子孫ノードの合計数を表し、W
childは、ノードのすべての子ノードとすべての子孫ノードのワークロードの合計を表す。
【0072】
S42.動作空間の定義:
【0073】
本発明が提供するポリシーは動作を2つの部分に分け、エージェントは、上記の観測された状態OnodeとOserverを勾配ポリシーの2つのニューラルネットワークにそれぞれ入力して、スケジューリング対象のノードから今回スケジューリングされるノードnodeを選択し、利用可能なサーバから該ノードに割り当てるサーバserverを選択し、式(7)で表すことができ、
【0074】
【数23】
ここで、Aは、定義された動作空間を表し、
【0075】
S43.報酬関数の定義:
【0076】
マルチワークフローのオンラインスケジューリング中に、各動作は、動作の良否を評価するために即座報酬を得る。すべてのDAGタスクの平均完了時間を最終的な長期最適化目標として、リトルの法則に従って、即時報酬は、現在の動作の開始から次の動作のトリガまでの間に、すべてのDAGタスクが環境内に存在する時間として設定され、式(8)、(9)で表すことができ、
【0077】
【数24】
ここで、T
nowは現在時刻を表し、T
finish(G)はワークフローGの完了時刻を表し、T
preは前の動作が実行された時刻を表し、T
arrive(G)はワークフローGの到着時刻を表し、min(T
now,T
finish(G))は、T
now,T
finish(G)の最小値を取ることを表し、max(T
pre,T
arrive(G))は、T
pre,T
arrive(G)の最大値を取ることを表す。リトルの法則に従って、タスクの到着速度は外部によって決定されるため、タスクが環境内に留まる時間が短いほど、環境内のタスクの平均数は少なくなり、すべてのタスクの平均完了時間は短くなる。したがって、該即時報酬は、動作の良否を良好に評価できる。
【0078】
S44.問題の形式化:
【0079】
オンラインマルチワークフローのスケジューリングポリシーは、勾配ポリシーに基づくモデルを考慮でき、その主な目標は、すべての動作の累積報酬を最大化することであり、式(10)で表すことができ、
【0080】
【数25】
ここで、Tは今回のポリシーの実施にT個の動作があることを表し、kはk番目の動作を表し、R
kはk番目の動作の報酬を表す。
【0081】
勾配ポリシーの目標は報酬を最大化することであるため、ニューラルネットワークパラメータに対して勾配上昇を実行してパラメータの学習を行う。
【0082】
S5.ポリシーの実現:
【0083】
本発明は、ポリシー勾配に基づく、オンラインマルチワークフローのスケジューリング問題(PG-OMWS)を解くアルゴリズムを設計して、ポリシーの実現に用い、ポリシー実現の詳細な過程は、以下のとおりである。
【0084】
(1)ポリシーの実行段階において、まず、環境パラメータ及びネットワークパラメータを初期化する。環境パラメータは、主に実行キューの長さ、モバイルデバイスとエッジサーバとの間の帯域幅、並びに環境内に既に存在したDAGタスクの構造及び環境に到着しようとするDAGタスクの構造を含む。ネットワークパラメータは、主に2つのポリシーネットワーク及びグラフ畳み込みニューラルネットワークのネットワークパラメータを含む。その後、エージェントは環境下での各ノードの基本的な特徴を観測し、グラフ畳み込みニューラルネットワークに送信して、2回の集約後にEnodeを得、これらのEnodeに従って再び集約してEDAGを得、すべてのEDAGに従ってさらに集約してEglobaを得、現在の環境と組み合わせてOnodeとOserverを得、これら2つの観測結果に従って、今回の動作に割り当てるノード及び該ノードに割り当てるサーバを選択する。該ノードの完了イベントはタイムラインに記録され、同時に該動作の報酬Rを計算する。毎回観測された環境状態、動作及び報酬は、保存される。次に、スケジューリング動作をトリガする条件が満たされているか否かを判断し、満たされている場合、スケジューリング動作をトリガし続け、満たされていない場合、スケジューリング動作をトリガする条件が再び満たされるまで、タイムライン上の現在時刻に最も近いイベントをキャプチャし、該イベントに従って現在時刻を更新する。環境内のすべてのDAGの実行が完了するまで、スケジューリング動作とタイムラインイベントのキャプチャのサイクルを連続的に実行する。
【0085】
(2)訓練段階において、エージェントは前に保存された環境状態、動作及び報酬に従って、勾配ポリシーを使用して式(11)によってネットワークパラメータを更新し、最終的なワークフロースケジューリングポリシーを取得し、
【0086】
【数26】
ここで、θはネットワークパラメータを表し、αは学習率を表し、Tは今回のポリシーの実施にT個の動作があることを表し、kはk番目の動作を表し、π
θ(o
k,α
k)はθをパラメータとするニューラルネットワークが環境状態o
kで動作α
kを行う確率を表し、r
kは即時報酬に基づいて、さらに減衰して得られた総合報酬を表し、∇
θlnπ
θ(o
k,α
k)r
kはlnπ
θ(s
k,α
k)r
kの勾配を求めることを表し、
【0087】
【数27】
はすべての動作について求めた勾配を積算することを表す。
【0088】
(3)ポリシーの実行段階:環境内にワークフローが動的に到着すると、最終的なワークフロースケジューリングポリシーにより、該ワークフロー内のノードを実行するエッジサーバ又はモバイルデバイスをノードを実行するサーバとして選択し、ワークフロー内のノードを順次実行して完了する。
【実施例1】
【0089】
本実施例のステップは具体的な実施形態と同じであり、ここでは説明を省略する。
【0090】
好ましくは、S1に記載のモバイルデバイスの数は3、そのプロセッサコア数cpun=4、プロセッサ周波数はfn=2.0GHZである。エッジサーバの数は6、そのプロセッサコア数はcpum=6、プロセッサ周波数はfm=2.5GHZである。モバイルデバイスとエッジサーバとの間の帯域幅、エッジサーバとエッジサーバとの間の帯域幅は、[10,100]MB/sの間でランダムに値を取る。DAGタスクは、最初に環境内に10個あり、その後、モバイルデバイスによってオンラインで15個生成される。DAG内のノードのワークロードは、[10,100]GHZ・Sの間でランダムに値を取る。ノードの出力データはMB単位でワークロードの0.1倍に数値的に設定され、入力データはすべての親ノードの出力データの合計である。
【0091】
好ましくは、S2に記載のポアソン分布パラメータ、すなわちタスク到着率λは5に設定される。
【0092】
好ましくは、S5に記載のグラフ畳み込みニューラルネットワークの集約が通過するニューラルネットワーク隠れ層構造は同じであり、2つの隠れ層があり、ニューロンの数はそれぞれ16と8であり、2つのポリシーネットワークの隠れ層の構造も同様で、いずれも3つの隠れ層があり、ニューロンの数はそれぞれ32、16、8である。本発明は、Adamオプティマイザを使用してターゲットネットワークを更新し、活性化関数はいずれもleakyReluを用い、学習率は0.0003に設定され、報酬減衰係数γは1に設定される。
【0093】
以下、比較方法の実施及び実施結果について示す。
【0094】
提供された方法フレームワークの有効性を評価するために、他の5つの方法(SJF、FIFO、Random、LocalEx、EdgeEx)が比較のために使用される。以下、5つの方法を簡単に説明する。
【0095】
(1)SJF:該方法は、短いジョブ優先の原則に従って、実行するノードを選択し、DAG内のノードのワークロードの合計をDAGのワークロードとし、ワークロードが少ないほど、スケジューリングが早くなり、該ノードの実行完了時間が最も早いエッジサーバ又はモバイルデバイスを該ノードを実行するサーバとして選択する。
【0096】
(2)FIFO:該方法は、先入れ先出しの原則に従って、実行するノードを選択し、該ノードの実行完了時間が最も早いエッジサーバ又はモバイルデバイスを該ノードを実行するサーバとして選択する。
【0097】
(3)LocalEx:該方法は、常にモバイルデバイスを選択してノードを実行し、ノードの実行順序は先入れ先出しの原則に従う。
【0098】
(4)EdgeEx:この略語は、ノードが常にエッジサーバにオフロードされることを意味し、すなわち、開始ノードと終了ノード以外に、該方法は、ノードの実行完了時間が最も早いエッジサーバを常に選択し、ノードの実行順序は先着順の原則に従う。
【0099】
(5)Random:該方法は、今回割り当てられたノードとエッジサーバ又はモバイルデバイスを該ノードを実行するサーバとしてランダムに選択する。
【0100】
タスク到着率、エッジサーバのプロセッサコア数、モバイルデバイスのプロセッサコア数、エッジサーバの数及びモバイルデバイスの数という複数の要因のすべてのタスクの平均完了時間に対する影響をそれぞれ評価及び分析した。
【0101】
様々なタスク到着間隔のパフォーマンスに対する影響を調べるために、タスク到着間隔を3から7単位時間まで1ずつ増分して変更した。6つの方法によって得られた平均完了時間を
図2に示した。
図2から、他の方法に比べて、本発明が提供するPGーOMWSによって実現される方法は平均完了時間がより短く、タスク到着間隔が増加するにつれて平均完了時間も徐々に減少することが観察された。これは、タスク到着間隔が増加するにつれて、同時に処理する必要があるノードの数が減り、平均完了時間が短縮されるためであった。
【0102】
エッジサーバの計算能力のパフォーマンスに対する影響を調べるために、エッジサーバのプロセッサコア数、すなわちCPUコア数を4コアから8コアまで1ずつ増分して変更した。実験における6つの方法で得られた平均完了時間を
図3に示した。本発明が提供するPGーOMWSによって実現される方法は、最も短い平均完了時間を得ることができ、CPUコア数が増加するにつれて、平均完了時間は徐々に減少することが分かった。これは、CPUコア数の増加により、ノードの処理遅延が大幅に短縮され、平均完了時間が短縮されるためであった。
【0103】
モバイルデバイスの計算能力の影響を調べるために、モバイルデバイスのCPUコア数を2コアから6コアまで1ずつ増分して変更した。6つの方法によって得られた平均完了時間を
図4に示した。他の方法に比べて、本発明が提供するPG-OMWSによって実現される方法は、より低い平均完了時間を得ることができた。モバイルデバイスのCPUコア数が増加するにつれて、平均完了時間は徐々に減少した。これは、モバイルデバイスのCPUコア数が増加するにつれて、ノードの処理速度が大幅に加速され、平均完了時間が短縮されるためであった。
【0104】
様々な数のエッジサーバの方法性能に対する影響を調べるために、エッジサーバの数を1から5まで1ずつ増分して設定した。6つの方法によって得られた平均完了時間を
図5に示した。
図5の結果から、エッジサーバの数が変化した場合、本発明が提供するPGーOMWSによって実現される方法は、他の方法よりも常に優れていることが示された。エッジサーバの数が増加するにつれて、平均完了時間は減少した。その理由は、より多くのエッジサーバがより多くのコンピューティングリソースを提供し、平均完了時間が減少するためであった。また、LocalExポリシーの曲線は平坦であった。これは、LocalEx方法が、エッジサーバの数に関係なく、すべてのノードをローカルに実行するためであった。
【0105】
モバイルデバイスの数のパフォーマンスに対する影響を調べるために、様々な数のモバイルデバイスに基づいて実験を行った。エッジサーバの数を4から8まで1ずつ増分して設定した。関連する結果を
図6に示した。
図6から、モバイルデバイスの数が変化した場合、本発明が提供するPGーOMWSによって実現される方法は、常に他の方法よりも優れていることが分かった。モバイルデバイスの数が増加するにつれて、平均完了時間は徐々に減少した。その理由は、より多くのモバイルデバイスがより多くのコンピューティングリソースを提供し、平均完了時間が短縮されるためであった。また、モバイルデバイスの数が過度に増加した場合、EdgeEx方法はそれに応じて減少し続けることはなかった。これは、EdgeEx方法が、モバイルデバイスの数に関係なく、ほとんどのノードをエッジサーバにオフロードするためであった。