(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-22
(45)【発行日】2024-01-05
(54)【発明の名称】マルチタスクのデプロイ方法、装置、電子機器及び記憶媒体
(51)【国際特許分類】
G06N 3/02 20060101AFI20231225BHJP
G06N 3/006 20230101ALI20231225BHJP
【FI】
G06N3/02
G06N3/006
(21)【出願番号】P 2022124588
(22)【出願日】2022-08-04
【審査請求日】2022-08-04
(31)【優先権主張番号】202110981600.0
(32)【優先日】2021-08-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100118913
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】ワン, カフェン
(72)【発明者】
【氏名】シオン, ハオイ
(72)【発明者】
【氏名】シュウ, チェンツォン
(72)【発明者】
【氏名】ドウ, デジン
【審査官】多賀 実
(56)【参考文献】
【文献】特表2016-519807(JP,A)
【文献】特表2021-508518(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 9/46-9/54
(57)【特許請求の範囲】
【請求項1】
N個の第1タスクとK個のネットワークモデルを取得するステップであって、NとKが1以上の正の整数であるステップと、
前記N個の第1タスクを前記K個のネットワークモデルに交替で割り当てて演算して、タスクとネットワークモデルとの少なくとも1つの候補組み合わせを取得するステップであって、各前記候補組み合わせに前記N個の第1タスクと前記K個のネットワークモデルとのマッピング関係が含まれるステップと、
前記少なくとも1つの候補組み合
わせから組み合わせ演算正解率が最も大きいターゲット組み合わせを選択するステップと、
前記K個のネットワークモデルと前記ターゲット組み合わ
せのターゲットマッピング関係
とを予測マシンにデプロイするステップと、
を含む、マルチタスクのデプロイ方法。
【請求項2】
前記N個の第1タスクを前記K個のネットワークモデルに交替で割り当てて演算して、タスクとモデルとの少なくとも1つの候補組み合わせを取得するステップが、
前記N個の第1タスクの割り当てが完了するたびに、割り当てによって形成されたタスクとネットワークモデルとの代替的な組み合わせのタスク実行に必要な消費時間を取得するステップと、
前記代替的な組み合わせの前記消費時間がスケジューリング可能な制約パラメータを満たすことに応答して、前記代替的な組み合わせを候補組み合わせとして決定するステップと、
を含む請求項1に記載のマルチタスクのデプロイ方法。
【請求項3】
前記代替的な組み合わせの前記消費時間が前記スケジューリング可能な制約パラメータを満たしていないことに応答して、前記代替的な組み合わせを破棄し、次の前記代替的な組み合わせを再取得するステップを含む請求項2に記載のマルチタスクのデプロイ方法。
【請求項4】
前記第1タスクの数Nと前記ネットワークモデルの数Kとに基づいて、合計反復回数を決定するステップと、
前記反復回数が反復回数閾値より大きいことに応答して、前の前記代替的な組み合わせの組み合わせ演算正解率に基づいて、粒子群最適化アルゴリズム(PSO)によって次の前記代替的な組み合わせを検索するステップと、
を含む請求項2に記載のマルチタスクのデプロイ方法。
【請求項5】
前記割り当てによって形成されたタスクとネットワークモデルとの代替的な組み合わせのタスク実行に必要な消費時間を取得するステップが、
前記代替的な組み合わせにおける前記N個の第1タスクのうちの各第1タスクが、それぞれ割り当てられているターゲットネットワークモデルで実行される時のタスク最悪実行時間(WCET)を取得するステップと、
各前記第1タスクの前記WCETとタスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を取得するステップと、
を含む請求項2に記載のマルチタスクのデプロイ方法。
【請求項6】
前記各前記第1タスクの前記タスク最悪実行時間とタスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を取得するステップが、
各前記第1タスクの前記WCETに基づいて、前記代替的な組み合わせの合計WCETを取得するステップと、
前記代替的な組み合わせの合計WCETと前記タスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を取得するステップと、
を含む請求項5に記載のマルチタスクのデプロイ方法。
【請求項7】
前記各前記タスクの前記WCETに基づいて、前記代替的な組み合わせの合計WCETを取得するステップが、
各前記第1タスクに対して、前記第1タスクに対応する前記ターゲットネットワークモデルの複数の履歴WCETを取得するステップと、
前記複数の履歴WCETと今回の前記WCETとに基づいて、前記ターゲットネットワークモデルにおける前記第1タスクの平均WCETを取得するステップと、
前記第1タスクの平均WCETに基づいて、前記代替的な組み合わせの合計WCETを取得するステップと、
を含む請求項6に記載のマルチタスクのデプロイ方法。
【請求項8】
前記タスクの平均WCETに基づいて、前記代替的な組み合わせの合計WCETを取得するステップが、
前記複数の履歴WCETと今回の前記WCETとの第1の標準偏差を取得するステップと、
前記第1タスクの平均WCETと前記第1の標準偏差との第1の合計値を取得するステップと、
すべての前記第1タスクの前記第1の合計値を合計して、前記代替的な組み合わせの合計WCETを取得するステップと、
を含む請求項7に記載のマルチタスクのデプロイ方法。
【請求項9】
前記代替的な組み合わせの合計WCETと前記タスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を取得するステップが、
複数の履歴タスク処理サイクルを取得するステップと、
前記複数の履歴タスク処理サイクルと今回の前記タスク処理サイクルとに基づいて、平均タスク処理サイクルを取得するステップと、
前記代替的な組み合わせの合計WCETと平均タスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を決定するステップと、
を含む請求項6に記載のマルチタスクのデプロイ方法。
【請求項10】
前記代替的な組み合わせの合計WCETと平均タスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を決定するステップが、
前記複数の履歴タスク処理サイクルと前記今回の前記タスク処理サイクルとの第2の標準偏差を取得するステップと、
前記平均タスク処理サイクルと前記第2の標準偏差との第2の合計値を取得するステップと、
前記代替的な組み合わせの合計WCETと前記第2の合計値との比を取得して前記代替的な組み合わせの前記消費時間とするステップと、
を含む請求項9に記載のマルチタスクのデプロイ方法。
【請求項11】
前記少なくとも1つの候補組み合
わせから組み合わせ演算正解率が最も大きいターゲット組み合わせを選択するステップの前に、
各前記候補組み合わせに対して、割り当てられているターゲットネットワークモデルにおける前記第1タスクのタスク組み合わせ演算正解率を取得するステップと、
すべての前記第1タスクの前記タスク組み合わせ演算正解率に基づいて、前記候補組み合わせの組み合わせ演算正解率を取得するステップと、
を含む請求項1に記載のマルチタスクのデプロイ方法。
【請求項12】
前記すべてのタスクの前記タスク組み合わせ演算正解率に基づいて、前記候補組み合わせの組み合わせ演算正解率を取得するステップが、
各前記第1タスクの重みを取得するステップと、
前記第1タスクの重みに基づいて、前記第1タスクのタスク組み合わせ演算正解率を重み付けして、前記候補組み合わせの組み合わせ演算正解率を取得するステップと、
を含む請求項11に記載のマルチタスクのデプロイ方法。
【請求項13】
前記K個のネットワークモデルと前記ターゲット組み合わ
せのターゲットマッピング関係
とを予測マシンにデプロイするステップの後に、
ターゲットタスク処理サイクル内で1つの第2タスクが受信されたことに応答して、前記ターゲットタスクサイクル内の処理対象の第2タスクを並べ替えるステップと、
前記処理対象の第2タスクに対して前記ターゲットマッピング関係のクエリを順に行って、現在クエリされた前記処理対象の第2タスクに対応するターゲットネットワークモデルを取得するステップと、
前記処理対象のタスクを前記予測マシンにおける前記ターゲットネットワークモデルに下り送信して処理するステップと、
を含む請求項1に記載のマルチタスクのデプロイ方法。
【請求項14】
N個の第1タスクとK個のネットワークモデルを取得するための取得モジュールであって、NとKが1以上の正の整数である取得モジュールと、
前記N個の第1タスクを前記K個のネットワークモデルに交替で割り当てて演算して、タスクとネットワークモデルとの少なくとも1つの候補組み合わせを取得するための演算モジュールであって、各前記候補組み合わせに前記N個の第1タスクと前記K個のネットワークモデルとのマッピング関係が含まれる演算モジュールと、
前記少なくとも1つの候補組み合
わせから組み合わせ演算正解率が最も大きいターゲット組み合わせを選択するための選択モジュールと、
K個のネットワークモデルと前記ターゲット組み合わ
せのターゲットマッピング関係
とを予測マシンにデプロイするためのデプロイモジュールと、
を備える、マルチタスクのデプロイ装置。
【請求項15】
前記演算モジュールが、
前記N個の第1タスクの割り当てが完了するたびに、割り当てによって形成されたタスクとネットワークモデルとの代替的な組み合わせのタスク実行に必要な消費時間を取得し、
前記代替的な組み合わせの前記消費時間がスケジューリング可能な制約パラメータを満たすことに応答して、前記代替的な組み合わせを候補組み合わせとして決定する請求項14に記載のマルチタスクのデプロイ装置。
【請求項16】
前記演算モジュールが、
前記代替的な組み合わせの前記消費時間が前記スケジューリング可能な制約パラメータを満たしていないことに応答して、前記代替的な組み合わせを破棄し、次の前記代替的な組み合わせを再取得する請求項15に記載のマルチタスクのデプロイ装置。
【請求項17】
前記演算モジュールが、
前記第1タスクの数Nと前記ネットワークモデルの数Kとに基づいて、合計反復回数を決定し、
前記反復回数が反復回数閾値より大きいことに応答して、前の前記代替的な組み合わせの組み合わせ演算正解率に基づいて、粒子群最適化アルゴリズム(PSO)によって次の前記代替的な組み合わせを検索する請求項15または16に記載のマルチタスクのデプロイ装置。
【請求項18】
前記演算モジュールが、
前記代替的な組み合わせにおける前記N個の第1タスクのうちの各第1タスクが、それぞれ割り当てられているターゲットネットワークモデルで実行される時のタスク最悪実行時間(WCET)を取得し、
各前記第1タスクの前記WCETとタスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を取得する請求項15に記載のマルチタスクのデプロイ装置。
【請求項19】
前記演算モジュールが、
各前記第1タスクの前記WCETに基づいて、前記代替的な組み合わせの合計WCETを取得し、
前記代替的な組み合わせの合計WCETと前記タスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を取得する請求項18に記載のマルチタスクのデプロイ装置。
【請求項20】
前記演算モジュールが、
各前記第1タスクに対して、前記第1タスクに対応する前記ターゲットネットワークモデルの複数の履歴WCETを取得し、
前記複数の履歴WCETと今回の前記WCETに基づいて、前記ターゲットネットワークモデルにおける前記第1タスクの平均WCETを取得し、
前記第1タスクの平均WCETに基づいて、前記代替的な組み合わせの合計WCETを取得する請求項19に記載のマルチタスクのデプロイ装置。
【請求項21】
前記演算モジュールが、
前記複数の履歴WCETと今回の前記WCETとの第1の標準偏差を取得し、
前記第1タスクの平均WCETと前記第1の標準偏差との第1の合計値を取得し、
すべての前記第1タスクの前記第1の合計値を合計して、前記代替的な組み合わせの合計WCETを取得する請求項20に記載のマルチタスクのデプロイ装置。
【請求項22】
前記演算モジュールが、
複数の履歴タスク処理サイクルを取得し、
前記複数の履歴タスク処理サイクルと今回の前記タスク処理サイクルとに基づいて、平均タスク処理サイクルを取得し、
前記代替的な組み合わせの合計WCETと平均タスク処理サイクルとに基づいて、前記代替的な組み合わせの前記消費時間を決定する請求項19~21のいずれかに記載のマルチタスクのデプロイ装置。
【請求項23】
前記演算モジュールが、
前記複数の履歴タスク処理サイクルと前記今回の前記タスク処理サイクルとの第2の標準偏差を取得し、
前記平均タスク処理サイクルと前記第2の標準偏差との第2の合計値を取得し、
前記代替的な組み合わせの合計WCETと前記第2の合計値との比を取得して前記代替的な組み合わせの前記消費時間とする請求項22に記載のマルチタスクのデプロイ装置。
【請求項24】
前記選択モジュールが、
前記少なくとも1つの候補組み合
わせから組み合わせ演算正解率が最も大きいターゲット組み合わせを選択する前に、
各前記候補組み合わせに対して、割り当てられているターゲットネットワークモデルにおける前記第1タスクのタスク組み合わせ演算正解率を取得し、
すべての前記第1タスクの前記タスク組み合わせ演算正解率に基づいて、前記候補組み合わせの組み合わせ演算正解率を取得する請求項14から16または18から21のいずれか一項に記載のマルチタスクのデプロイ装置。
【請求項25】
前記選択モジュールが、
各前記第1タスクの重みを取得し、
前記第1タスクの重みに基づいて、前記第1タスクのタスク組み合わせ演算正解率を重み付けして、前記候補組み合わせの組み合わせ演算正解率を取得する請求項24に記載のマルチタスクのデプロイ装置。
【請求項26】
前記デプロイモジュールが、
前記K個のネットワークモデルと前記ターゲット組み合わ
せのターゲットマッピング関係
とを予測マシンにデプロイした後、
ターゲットタスク処理サイクル内で1つの第2タスクが受信されたことに応答して、前記ターゲットタスクサイクル内の処理対象の第2タスクを並べ替え、
前記処理対象の第2タスクに対して前記ターゲットマッピング関係のクエリを順に行って、現在クエリされた前記処理対象の第2タスクに対応するターゲットネットワークモデルを取得し、
前記処理対象のタスクを前記予測マシンにおける前記ターゲットネットワークモデルに下り送信して処理する請求項14から16または18から21のいずれか一項に記載のマルチタスクのデプロイ装置。
【請求項27】
少なくとも1つのプロセッサと、
該少なくとも1つのプロセッサと通信可能に接続されるメモリと、
を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が、前記少なくとも1つのプロセッサが請求項1から13のいずれか一項に記載のマルチタスクのデプロイ方法を実行できるように、前記少なくとも1つのプロセッサによって実行される電子機器。
【請求項28】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令が、コンピュータに請求項1から13のいずれか一項に記載のマルチタスクのデプロイ方法を実行させる、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項29】
プロセッサによって実行される場合、請求項1から13のいずれか一項に記載のマルチタスクのデプロイ方法が実現されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、具体的にビッグデータと深層学習などの人工知能技術の分野に関し、特にマルチタスクのデプロイ方法、装置、電子機器及び記憶媒体に関する。
【背景技術】
【0002】
近年、深層学習技術は、ユーザの使用の複雑さとユーザ技術の理解の難しさを低減できる特性を有するため、各業界のビジネスシーンに急速に提供されている。
【0003】
従来の深層学習システムは、一般に、経験に基づいて、1つまたは複数のトレーニングされた深層学習モデルを配置する。しかしながら、いつ、どのモデルを選択してタスクを実行するかは、正確に設計されたものではない。特に複雑なタスクが変化すると、あるタスクに深層学習モデルを経験的にマッチングさせることは、リアルタイムなスケジューリング可能性を確保することは困難である。従って、適切な深層学習モデルをどのように取得するかは現在解決すべき問題となっている。
【発明の概要】
【0004】
本開示は、マルチタスクのためのデプロイ方法、装置、電子機器及び記憶媒体を提供する。
【0005】
第一の態様によれば、N個の第1タスクとK個のネットワークモデルを取得するステップであって、NとKが1以上の正の整数であるステップと、前記N個の第1タスクを前記K個のネットワークモデルに交替で割り当てて演算して、タスクとネットワークモデルとの少なくとも1つの候補組み合わせを取得するステップであって、各前記候補組み合わせに前記N個の第1タスクと前記K個のネットワークモデルとのマッピング関係が含まれるステップと、前記少なくとも1つの候補組み合せから組み合わせ演算正解率が最も大きいターゲット組み合わせを選択するステップと、前記K個のネットワークモデルと前記ターゲット組み合わせとのターゲットマッピング関係を予測マシンにデプロイするステップと、を含むマルチタスクのデプロイ方法を提供する。
【0006】
本開示の第2の態様によれば、N個の第1タスクとK個のネットワークモデルを取得する取得モジュールであって、NとKが1以上の正の整数である取得モジュールと、前記N個の第1タスクを前記K個のネットワークモデルに交替で割り当てて演算して、タスクとネットワークモデルとの少なくとも1つの候補組み合わせを取得する演算モジュールであって、各前記候補組み合わせに前記N個の第1タスクと前記K個のネットワークモデルとのマッピング関係が含まれる演算モジュールと、前記少なくとも1つの候補組み合せから組み合わせ演算正解率が最も大きいターゲット組み合わせを選択する選択モジュールと、K個のネットワークモデルと前記ターゲット組み合わせとのターゲットマッピング関係を予測マシンにデプロイするデプロイモジュールと、を備えるマルチタスクのデプロイ装置を提供する。
【0007】
本開示の第3の態様によれば、電子機器を提供し、前記電子機器は、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサと通信可能に接続されるメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサが第1態様の実施例に記載のマルチタスクのデプロイ方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0008】
本開示の第4の様態によれば、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、それにコンピュータプログラム/命令が記憶され、前記コンピュータ命令は、前記コンピュータに第1態様の実施例に記載のマルチタスクのデプロイ方法を実行させる。
【0009】
本開示の第5の様態によれば、コンピュータプログラムを提供し、前記コンピュータプログラムはプロセッサによって実行される場合、上記第1の態様の実施例に記載のマルチタスクのデプロイ方法を実現する。
【0010】
なお、この部分に記載の内容は、本開示の実施例の肝心または重要な特徴を特定することを意図しておらず、本開示の範囲を限定することも意図していないことを理解されたい。本開示の他の特徴は、以下の説明を通して容易に理解される。
【図面の簡単な説明】
【0011】
図面は、本技術案をよりよく理解するために使用され、本開示を限定するものではない。
【
図1】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図2】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図3】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図4】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図5】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図6】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図7】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図8】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図9】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図10】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図11】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図12】本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【
図13】本開示の実施例によって提供される別のマルチタスクのデプロイ方法の全体的なフローチャートである。
【
図14】本開示の実施例によって提供されるマルチタスクのデプロイ装置の概略構成図である。
【
図15】本開示の実施例のマルチタスクのデプロイ方法の電子機器のブロック図である。
【発明を実施するための形態】
【0012】
以下、図面と併せて本開示の例示的な実施例を説明し、理解を容易にするためにその中には本開示の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本開示の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確及び簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
【0013】
以下、図面を参照しながら、本開示の実施例のマルチタスクのデプロイ方法、装置、及び電子機器を説明する。
【0014】
自然言語処理(Natural Language Processing、NLP)は、コンピュータ科学の分野と人工知能の分野における重要な方向である。人とコンピュータの間で自然言語を通じて効果的に通信することを実現できるさまざまな理論と方法を研究する。自然言語処理は言語学、コンピュータ科学、数学を一体化した科学である。自然言語処理は主に機械翻訳、民情モニタリング、自動要約、観点抽出、テキスト分類、問題回答、テキスト意味比較、音声認識などの面に適用されている。
【0015】
深層学習(Deep Learning、DLと省略する)は、機械学習(Machine Learning、MLと省略する)分野における新しい研究方向であり、機械学習を最初の目標-人工知能に近づけるように導入されている。深層学習はサンプルデータの内的な規則と表示レベルを学習するものであり、これらの学習プロセスで取得された情報は文字、画像、及び音声などのデータの解釈に大きいに役立つ。その最終的な目標は、機械が人間のように分析学習能力を持ち、文字、画像、及び音声などのデータを認識できるようにすることである。深層学習は複雑な機械学習アルゴリズムであり、音声と画像認識面で収められる効果は以前の関連技術をはるかに超える。
【0016】
図1は、本開示の実施例によって提供されるマルチタスクのデプロイ方法のフローチャートである。
【0017】
図1に示すように、当該マルチタスクのデプロイ方法は、以下のステップS101~S104を含むことができる。
【0018】
S101、N個の第1タスクとK個のネットワークモデルを取得し、NとKが1以上の正の整数である。
【0019】
本開示の実施例によって提供されるタスクデプロイ方法は、電子機器によって実行されることができ、当該電子機器は、PC(Personal Computer、パーソナルコンピュータ)とサーバなどであってもよく、選択的に、当該サーバはクラウドサーバであってもよい。
【0020】
第1タスクは様々であってもよく、例えば、第1タスクは、画像検出、画像タイプ識別、及び画像切割などであってもよい。これに対応して、ネットワークモデルは、画像検出モデル、画像タイプ識別モデル、及び画像分割モデルなどであってもよい。なお、本実施例で説明したネットワークモデルは、呼び出して使用することを容易にするために、予めトレーニングされ、電子機器の記憶空間に記憶されている。
【0021】
本開示の実施例では、N個の第1タスクを取得する方法は様々であってもよい。N個の画像を選択的に収集し、各画像は1つの第1タスクに対応する。画像は、リアルタイムで収集するものであってもよく、画像ライブラリから得るものであってもよい。選択的に、N個の第1タスクを電子機器に入力することができ、当該タスクは画像処理タスクであってもよい。
【0022】
S102、N個の第1タスクをK個のネットワークモデルに交替で割り当てて演算して、タスクとネットワークモデルとの少なくとも1つの候補組み合わせを取得し、各候補組み合わせに、N個の第1タスクとK個のネットワークモデルとのマッピング関係が含まれる。
【0023】
本開示の実施例では、N個の第1タスクをそれぞれK個のネットワークモデルに割り当て演算することができ、例えば、10個のタスク、5個のネットワークモデルがあり、タスク1とタスク2をネットワークモデル1に割り当て、タスク3とタスク4をネットワークモデル2に割り当て、タスク5とタスク6をネットワークモデル3に割り当て、タスク7とタスク8をネットワークモデル4に割り当て、タスク9とタスク10をネットワークモデル5に割り当てる。演算が終了すると、さらにN個の第1タスクをK個のネットワークモデルに再割り当てて演算し、例えば、タスク1とタスク9をネットワークモデル1に割り当て、タスク2とタスク10をネットワークモデル2に割り当て、タスク3とタスク7をネットワークモデル3に割り当て、タスク6とタスク8をネットワークモデル4に割り当て、タスク2とタスク5をネットワークモデル5に割り当てる。交替割り当てが終了するまで、上記のステップを繰り返し、少なくとも1つの候補組み合わせを出力する。なお、N個の第1タスクをK個のネットワークモデルに割り当てるたびに、形成されたタスク-ネットワークモデルの組み合わせは異なり、すなわち、毎回形成された組み合わせにおけるタスクとネットワークモデルとのマッピング関係は異なる。
【0024】
なお、本実施例で説明したマッピング関係は当該N個の第1タスクと候補組み合わせにおけるK個のネットワークモデルとの間の対応関係である。上記の例に基づいてマッピング関係を引き続き説明し、当該マッピング関係には、タスク1およびタスク9とネットワークモデル1とのマッピング、タスク2およびタスク10とネットワークモデル2とのマッピング、タスク3およびタスク7とネットワークモデル3とのマッピング、タスク6およびタスク8とネットワークモデル4とのマッピング、タスク2およびタスク5とネットワークモデル5とのマッピングが含まれる。
【0025】
S103、少なくとも1つの候補組み合わせから、組み合わせ演算正解率が最も大きいターゲット組み合わせを選択する。
【0026】
N個の第1タスクをK個のネットワークモデルに交替で割り当てて演算した後、少なくとも1つの候補組み合わせを生成し、候補組み合わせの組み合わせ演算正解率を算出することができる。なお、候補組み合わせの最大正解率が大きいほど、N個の第1タスクに対する当該候補組み合わせの計算正解率と効率が高いため、組み合わせ演算正解率の最も大きい候補組み合わせをターゲット組み合わせとして決定することができる。
【0027】
選択的に、候補組み合わせが1つである場合、当該候補組み合わせはターゲット組み合わせである。
【0028】
選択的に、当該候組み合わせが複数である場合、複数の候補組み合わせの組み合わせ演算正解率に対して比較することにより、組み合わせ演算正解率の最も大きい候補組み合わせをターゲット組み合わせとして選択することができる。
【0029】
本開示の実施例では、複数の候補組み合わせの組み合わせ演算正解率を生成するために、組み合わせ演算正解率アルゴリズムで候補組み合わせを処理することができる。当該アルゴリズムは、必要に応じて呼び出して使用することを容易するために、予め設定され、電子機器の記憶空間に記憶されているものであってもよい。
【0030】
S104、K個のネットワークモデルとターゲット組み合わせのターゲットマッピング関係を予測マシンにデプロイする。
【0031】
本開示の実施例では、予測マシンは、デプロイされたネットワークモデルを介してタスクを予測し、予測結果を出力することができる直接予測を行う装置である。
【0032】
予測マシンは、K個のネットワークモデルとターゲット組み合わせとのターゲットとのマッピング関係をデプロイした後、第1タスクが受信された場合、ターゲットマッピング関係によってK個のネットワークモデルにおける対応するネットワークモデルを呼び出し、対応するネットワークモデルを介して第1タスクを演算することができる。タスクとネットワークモデルとをマッチングさせるによって、タスク-ネットワークモデルの最適な組み合わせを取得し、これにより、タスク処理の時効性と正解率を向上させることができる。
【0033】
上記の実施例では、N個の第1タスクをK個のネットワークモデルに交替で割り当てて演算して、タスクとモデルとの少なくとも1つの候補組み合わせを取得することは、
図2と併せてさらに説明することができ、図に示すように、これは以下のステップS201~S202を含む。
【0034】
S201、N個の第1タスクの割り当てが完了するたびに、割り当てによって形成されたタスクとネットワークモデルとの代替的な組み合わせのタスク実行に必要な消費時間を取得する。
【0035】
本開示の実施例では、異なる第1タスクは、異なるネットワークモデルを介して処理され、必要とされる消費時間は異なってもよい。
【0036】
選択的に、同じ第1タスクは、異なるネットワークモデルを介して処理され、タスクの実行に必要な消費時間は異なってもよい。
【0037】
選択的に、異なる第1タスクは、同じネットワークモデルを介して処理され、タスクの実行に必要な消費時間は異なってもよい。
【0038】
S202、代替的な組み合わせの消費時間がスケジューリング可能な制約パラメータを満たすことに応答して、代替的な組み合わせを候補組み合わせとして決定する。
【0039】
本開示の実施例では、代替的な組み合わせの消費時間がスケジューリング制約パラメータより小さい場合、代替的な組み合わせがスケジューリング可能な範囲内であると考えられ、当該代替的な組み合わせを候補組み合わせとして決定することができる。
【0040】
なお、異なるスケジューリングアルゴリズムを使用すると、スケジューリング制約パラメータは異なってもよい。例えば、システムが最早締め切り優先(Earliest Deadline First、EDF)スケジューリングアルゴリズムを使用する場合、そのシステム利用率制約値は100%であってもよく、そのスケジューリング可能性を保証することができる。システムが応答時刻(response time、RM)アルゴリズムを使用する場合、そのシステム利用率制約値は70%であってもよい。
【0041】
N個の第1タスクの割り当てが完了するたびに、割り当てによって形成されたタスクとネットワークモデルとの代替的な組み合わせのタスク実行に必要な消費時間を取得し、代替的な組み合わせの消費時間がスケジューリング可能な制約パラメータを満たすことに応答して、代替的な組み合わせを候補組み合わせとして決定する。これにより、スケジューリング制約パラメータにより、代替的な組み合わせにおけるスケジューリング可能性の悪い組み合わせをフィルタリングすることにより、ターゲット組み合わせを決定する範囲を低減し、効率を向上させ、コストを削減し、スケジューリング可能性を向上させることができる。
【0042】
選択的に、代替的な組み合わせの消費時間がスケジューリング可能な制約パラメータを満たしていないことに応答して、代替的な組み合わせを破棄し、次の代替的な組み合わせを再取得する。これにより、代替的な組み合わせをトラバースし、スケジューリング可能な制約パラメータに適合する候補組み合わせを選択し、候補組み合わせからターゲット組み合わせを決定するための基礎を提供することができる。
【0043】
上記の実施例では、候補組み合わせの生成方法は、
図3でさらに説明することができ、
図3に示すように、当該方法は以下のステップS301~S302を含む。
【0044】
S301、第1タスクの数Nとネットワークモデルの数Kとに基づいて、合計反復回数を決定する。
【0045】
本開示の実施例では、EDFスケジューリングアルゴリズムを使用して、第1タスクの数がN個であり、ネットワークモデルの数がK個である場合、合計反復回数がKN回であるように設計することができる。
【0046】
S302、反復回数が反復回数閾値より大きいことに応答して、前の代替的な組み合わせの組み合わせ演算正解率に基づいて、粒子群最適化アルゴリズム(PSO)によって次の代替的な組み合わせを検索する。
【0047】
実現では、合計反復回数が大きすぎると、システムの計算能力を超える可能性があり、この場合、N個の第1タスクをK個のネットワークモデルに交替で割り当てて演算し、コストが高い、そのため、粒子群最適化アルゴリズム(PSO)によってK個のネットワークモデルから次の使用可能なモデルの組み合わせを検索し、当該モデルの組み合わせでN個の第1タスクを処理することができる。
【0048】
具体的に、PSOは、すべての可能な組み合わせを粒子として、すべての粒子が検索空間を構成し、前の代替的な組み合わせの組み合わせ演算正解率に基づいて、各粒子の適応値を取得し、適応値に基づいてグローバル最適位置(Pbest)とグローバル極値(Gbest)に更新し、粒子の位置と速度を更新した後、Gbestが最大反復回数またはグローバル最適位置Pbestが最小限界を満たすか否かを判断し、満たされていない場合、1つの粒子を再検索して上記のステップを繰り返す。上記の1つの条件を満たす場合、PSOは当該粒子をネットワークモデルに送信して演算する。なお、当該実施例で説明した最小限界は、予め設定されたものであり、必要に応じて変更可能である。
【0049】
なお、反復回数閾値は一意ではなく、電子機器の計算能力や消費時間に応じて設定することができ、ここではいずれも限定しない。
【0050】
本開示の実施例では、まず、第1タスクの数Nとネットワークモデルの数Kとに基づいて、合計反復回数を決定し、その後、反復回数が反復回数閾値より大きいことに応答して、前の代替的な組み合わせの組み合わせ演算正解率に基づいて、粒子群最適化アルゴリズム(PSO)によって次の代替的な組み合わせを検索する。これにより、いくつかのデータ量が比較的大きい場合に対して、PSOアルゴリズムによって代替的な組み合わせをフィルタリングすることができ、演算データ量を減少させ、コストを削減する。
【0051】
上記の実施例では、割り当てによって形成されたタスクとネットワークモデルとの代替的な組み合わせのタスク実行に必要な消費時間を取得することは、
図4でさらに説明することができ、
図4に示すように、当該方法は、以下のステップS401~S402を含む。
【0052】
S401、代替的な組み合わせにおけるN個の第1タスクのうちの各第1タスクが、それぞれ割り当てられているターゲットネットワークモデルで実行される時のタスク最悪実行時間(WCET)取得する。
【0053】
実現では、各ネットワークモデルの計算時間のジッタを考えると、第1タスクがターゲットネットワークモデルで処理される時間も一意ではなく、タスク最悪実行時間(Worst Case Execution Time、WCET)は、第1タスクがターゲットモデル上において実行される時の最も長い時間である。
【0054】
本開示の実施例では、WCET生成アルゴリズムにより、第1タスクのWCETを算出することができる。なお、計算時間のジッタがターゲットネットワークモデルに存在するため、WCETの値は一定ではなく、一定の値の間で揺動する。
【0055】
S402、各第1タスクのWCETとタスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を取得する。
【0056】
本開示の実施例では、EDFアルゴリズムに基づいてスケジューリングを行う場合、式(1)で代替的な組み合わせの消費時間を取得することができる、当該式(1)は以下通りであってもよい。
【数1】
t
i
jは、i番目の第1タスクをj番目のネットワークモデルで演算するWCETであり、Tはタスク処理サイクルである。なお、タスク処理サイクル内ですべてのタスクを完成する必要があり、すなわち、K個のネットワークモデルは、タスク処理サイクルT内に、N個の第1タスクの処理を完成する必要がある。
【0057】
本実施例では、まず、代替的な組み合わせにおけるN個の第1タスクのうちの各第1タスクが、それぞれ割り当てられているターゲットネットワークモデルで実行される時のタスク最悪実行時間(WCET)取得し、各第1タスクのWCETとタスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を取得する。これにより、タスクのWCETによって代替的な組み合わせをフィルタリングすることにより、代替的なタスクの範囲を縮小し、ターゲット組み合わせの精度を向上させることができる。
【0058】
上記の実施例では、各第1タスクのタスク最悪実行時間に基づいて、代替的な組み合わせの消費時間を取得することは、
図5でさらに説明することができ、
図5に示すように、当該方法は以下のステップS501~S502を含む。
【0059】
S501、各第1タスクのWCETに基づいて、代替的な組み合わせの合計WCETを取得する。
【0060】
選択的に、式(1)に示すように、EDFアルゴリズムに基づいて代替的な組み合わせの消費時間を取得する時、合計WCETは
【数2】
として表すことができる。
【0061】
Nが大きいほど、すなわち、第1タスク数が大きいほど、合計WCETの値が大きくなると分かる。第1タスクが多いほど、それに対応して第1タスクを処理する時間が長くなる。
【0062】
S502、代替的な組み合わせの合計WCETとタスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を取得する。
【0063】
選択的に、式(1)に示すように、代替的な組み合わせの合計WCETを取得し、各第1タスクのWCETを合計して、代替的な組み合わせの合計WCETを得る。さらに、合計WCETとタスク処理サイクルとの比を求めて、代替的な組み合わせの消費時間を得る。
【0064】
本開示の実施例では、各第1タスクのWCETに基づいて、代替的な組み合わせの合計WCETを取得し、その後に代替的な組み合わせの合計WCETとタスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を取得する。これにより、代替的な組み合わせのサイクル内の消費時間を取得し、さらに当該消費時間に基づいて代替的な組み合わせがスケジューリング可能なパラメータを満たすか否かを判断して、代替的な組み合わせをフィルタリングすることができる。
【0065】
上記の実施例では、各タスクのWCETに基づいて、代替的な組み合わせの合計WCETを取得することは、
図6でさらに説明することができ、
図6に示すように、当該方法は以下のステップS601~S603を含む。
【0066】
S601、各第1タスクに対して、第1タスクに対応するターゲットネットワークモデルの複数の履歴WCETを取得する。
【0067】
選択的に、データベースに接続することにより、第1タスクに対応するターゲットネットワークモデルの複数の履歴WCETを取得することができ、なお、当該データベースには、履歴WCETと第1タスクとのマッピング関係が記憶されることができる。当該データベースは、電子機器の記憶区間に記憶されてもよく、サーバに記憶されてもよい。
【0068】
選択的に、履歴WCET生成アルゴリズムに第1タスクを入力することによって、複数の履歴WCETを取得することができる。
【0069】
S602、複数の履歴WCETと今回のWCETに基づいて、ターゲットネットワークモデルにおける第1タスクの平均WCETを取得する。
【0070】
本開示の実施例では、各ネットワークモデルの計算時間のジッタのため、複数の履歴WCETは異なってもよく、複数の履歴WCETと今回のWCETによって平均値を求めて平均WCETを取得することができる。
【0071】
S603、第1タスクの平均WCETに基づいて、代替的な組み合わせの合計WCETを取得する。
【0072】
本開示の実施例では、EDFアルゴリズムに基づいて合計WCETを算出することができ、当該式は
【数3】
であってもよい。
【0073】
本開示の実施例では、まず各第1タスクに対して、第1タスクに対応するターゲットネットワークモデルの複数の履歴WCETを取得し、その後に複数の履歴WCETと今回のWCETに基づいて、ターゲットネットワークモデルにおける第1タスクの平均WCETを取得し、最後に第1タスクの平均WCETに基づいて、代替的な組み合わせの合計WCETを取得する。これにより、WCET平均値を求めることにより、モデル計算時間のジッタが演算結果に及ぼす影響を低減し、システムの安定性を向上させることができる。
【0074】
上記の実施例では、タスクの平均WCETに基づいて、代替的な組み合わせの合計WCETを取得することは、
図7と併せてさらに説明することができ、
図7に示すように、当該方法はS701~S703を含む。
【0075】
S701、複数の履歴WCETと今回のWCETとの第1の標準偏差を取得する。
【0076】
本開示の実施例では、WCETの第1の標準偏差δは履歴WCETと平均WCETとの差である。
【0077】
S702、第1タスクの平均WCETと第1の標準偏差との第1の合計値を取得する。
【0078】
S703、すべての第1タスクの第1の合計値を合計して、代替的な組み合わせの合計WCETを取得する。
【0079】
本開示の実施例では、各ネットワークモデルの計算時間のジッタを考えると、WCETの平均値
【数4】
にその第1の標準偏差δの3倍の時間を加算することができ、このようにしてシステムの安定性はより良い。
【0080】
選択的に、EDFアルゴリズムに基づいて合計WCETを算出することができ、当該式は
【数5】
であってもよい。
【0081】
上記の実施例によれば、まず複数の履歴WCETと今回のWCETとの第1の標準偏差を取得し、その後に第1タスクの平均WCETと第1の標準偏差との第1の合計値を取得し、すべての第1タスクの第1の合計値を合計して、代替的な組み合わせの合計WCETを取得する。これにより、平均WCETと第1の標準偏差との第1の合計値により、システムの安定性を向上させ、WCETジッタがシステムに及ぼす影響を減少させることができる。
【0082】
上記の実施例では、代替的な組み合わせの合計WCETとタスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を取得することは、
図8と併せてさらに説明することができ、
図8に示すように、当該方法はS801~S803を含む。
【0083】
S801、複数の履歴タスク処理サイクルを取得する。
【0084】
本開示の実施例では、各ネットワークモデルの計算時間のジッタにより、複数の履歴タスク処理サイクルTの値は異なってもよい。
【0085】
S802、複数の履歴タスク処理サイクルと今回のタスク処理サイクルとに基づいて、平均タスク処理サイクルを取得する。
【0086】
本開示の実施例では、各ネットワークモデルの計算時間のジッタにより、複数の履歴タスク処理サイクルと今回のタスク処理サイクルは、平均値を求めることで取得することができる。
【0087】
S803、代替的な組み合わせの合計WCETと平均タスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を決定する。
【0088】
EDFアルゴリズムに基づいて代替的な組み合わせの消費時間を取得し、当該消費時間は式(2)で表すことができる。
【数6】
【0089】
式(2)から分かるように、式(1)に比べて、平均タスク処理サイクル
【数7】
により、タスク処理サイクルのジッタがシステムに及ぼす影響を低減し、システムをよりバランスよくし、これによってより正確な候補組み合わせを取得ことができる。
【0090】
上記の実施例では、代替的な組み合わせの合計WCETと平均タスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を決定することは、
図9と併せてさらに説明することができ、
図9に示すように、当該方法は以下のステップS901~S903を含む。
【0091】
S901、複数の履歴タスク処理サイクルと今回のタスク処理サイクルとの第2の標準差を取得する。
【0092】
本開示の実施例では、第2の標準偏差μは履歴タスク処理サイクルと今回のタスク処理サイクルとを、それぞれ平均タスク処理サイクルと差を求めて取得することができる。
【0093】
S902、平均タスク処理サイクルと第2の標準偏差との第2の合計値を取得する。
【0094】
本開示の実施例では、各ネットワークモデルの計算時間のジッタにより、平均タスク処理サイクルと3倍の第2の標準偏差を合計することによって、第2の合計値を生成することができる。このようにすることで、システムの安定性を強化することができる。
【0095】
S903、代替的な組み合わせの合計WCETと第2の合計値との比を取得して代替的な組み合わせの消費時間とする。
【0096】
EDFアルゴリズムに基づいて代替的な組み合わせを取得し、当該消費時間は式(3)で表すことができる。
【数8】
式(2)に比べて、タスク処理サイクルと3倍の第2の標準偏差を合計することにより、タスク処理サイクルの変動がシステムに及ぼす影響を低減し、システムをより安定させることができると分かる。
【0097】
上記の実施例では、少なくとも1つの候補組み合わせから、組み合わせ演算正解率が最も大きいターゲット組み合わせを選択する前に、
図10と併せてさらに説明することができ、
図10に示すように、当該方法はS1001~S1002を含む。
【0098】
S1001、各候補組み合わせに対して、割り当てられているターゲットネットワークモデルにおける第1タスクのタスク組み合わせ演算正解率を取得する。
【0099】
i番目のタスクをj番目のネットワークで計算して得られたタスク組み合わせ演算正解率をAj
iで表すことができる。本開示の実施例では、タスク組み合わせ演算正解率は、タスク組み合わせ演算正解率処理アルゴリズムによって計算して得ることができる。
【0100】
なお、当該タスクのタスク組み合わせ演算正解率値が大きいほど、モデルが当該タスクを処理する結果の正解率が大きい。
【0101】
S1002、すべての第1タスクのタスク組み合わせ演算正解率に基づいて、候補組み合わせの組み合わせ演算正解率を取得する。
【0102】
選択的に、式(4)で候補組み合わせの組み合わせ演算正解率を取得する。
【数9】
【0103】
本開示の実施例では、まず各候補組み合わせに対して、割り当てられているターゲットネットワークモデルにおける第1タスクのタスク組み合わせ演算正解率を取得し、その後にすべての第1タスクのタスク組み合わせ演算正解率に基づいて、候補組み合わせの組み合わせ演算正解率を取得する。これにより、第1タスクが各ネットワークモデルに割り当てられた正解率を取得することにより、第1タスクの最適なネットワークモデルを見つけ、これによって候補組み合わせからターゲット組み合わせを決定することができる。
【0104】
上記の実施例では、すべてのタスクのタスク組み合わせ演算正解率に基づいて、候補組み合わせの組み合わせ演算正解率を取得することは、
図11と併せてさらに説明することができ、
図11に示すように、当該方法は以下のステップS1101~S1102を含む。
【0105】
S1101、各第1タスクの重みを取得する。
【0106】
実現では、各第1のタスクの重みwがそれぞれ異なり、システムの安定性と正確性を向上させるために、第1タスクの重みをシステムに加える必要がある。
【0107】
選択的に、各第1タスクの重みwは、必要に応じて呼び出して使用するために、予め設定され、電子機器の記憶空間に予め記憶されたものであってもよい。
【0108】
選択的に、第1タスクの重みデータベースに接続することにより、データベースにおける第1タスクと重みとのマッピング関係によって第1タスクの重みを取得することができる。なお、当該第1タスクの重みデータベースは、電子機器の記憶区間に記憶されてもよく、サーバに存在してもよい。
【0109】
S1102、第1タスクの重みに基づいて、第1タスクのタスク組み合わせ演算正解率を重み付けして、候補組み合わせの組み合わせ演算正解率を取得する。
【0110】
選択的に、式(5)で候補組み合わせの組み合わせ演算正解率を取得することができる。
【数10】
【0111】
式(5)は、式(4)に比べて、第1タスクの重みwが加わり、第1タスクの重みが大きいほど、当該タスクの正解率の割合が大きくなると分かる。これにより、データの重要性を高め、計算結果がより正確になるようにすることができる。
【0112】
上記の実施例では、K個のネットワークモデルとターゲット組み合わせのターゲットマッピング関係を予測マシンにデプロイした後、
図12と併せて後続のステップをさらに示すことができ、
図12に示すように、当該方法は以下のステップS1201~S1203を含む。
【0113】
S1201、ターゲットタスク処理サイクル内で1つの第2タスクが受信されたことに応答して、ターゲットタスクサイクル内の処理対象の第2タスクを並べ替える。
【0114】
本開示の実施例では、ターゲットタスク処理サイクル内で1つの第2タスクが受信されたことに応答して、まず当該第2タスクを先に分類し、あるカテゴリのタスクに分けることができる。
【0115】
なお、当該カテゴリのタスクは、ターゲットマッピング関係に当該カテゴリのマッピング関係があることを確保するために、ある第1タスクのカテゴリと同じカテゴリである必要がある。
【0116】
S1202、処理対象の第2タスクに対してターゲットマッピング関係のクエリを順に行って、現在クエリされた処理対象の第2タスクに対応するターゲットネットワークモデルを取得する。
【0117】
本開示の実施例では、第2タスクのカテゴリにより、ターゲットマッピング関係に基づいて、当該カテゴリに対応するターゲットネットワークモデルをターゲット組み合わせから取得することができる。
【0118】
S1203、処理対象のタスクを予測マシンにおけるターゲットネットワークモデルに下り送信して処理する。
【0119】
本開示の実施例では、まずターゲットタスク処理サイクル内で1つの第2タスクが受信されたことに応答して、ターゲットタスクサイクル内の処理対象の第2タスクを並べ替え、その後に処理対象の第2タスクに対してターゲットマッピング関係のクエリを順に行って、現在クエリされた処理対象の第2タスクに対応するターゲットネットワークモデルを取得し、最後に処理対象のタスクを予測マシンにおけるターゲットネットワークモデルに下り送信して処理する。これにより、タスクカテゴリを決定し、ターゲットマッピング関係に基づいて準備されたターゲットネットワークモデルを取得することができ、この方法は正解率が高く、スケジューリング可能性が強い。
【0120】
本開示の実施例では、
図13はマルチタスクのデプロイ方法の全体的なフローチャートであり、
図13に示すように、N個のタスクを取得して異なるネットワークモデルの組み合わせに割り当てて計算し、組み合わせ演算正解率と組み合わせの消費時間を統計し、消費時間がスケジューリング可能性を満たすか否かを判断し、スケジューリング可能性を満たす場合、現在のタスク-ネットワークモデルの組み合わせを保持し、次のタスク-ネットワークモデルの組み合せを検索し続け、スケジューリング可能性を満たさない場合、当該組み合わせを破棄して検索し続け、k
nが検索をトラバースできるか否かを判断し、検索をトラバースできる場合、反復し続けて合計でk
n回検索し、検査をトラバースできない場合、PSOなどの検索アルゴリズムを用いて、ネットワークモデル組み合わせから使用可能なネットワークモデル組み合わせを取得することができ、検索をトラバースするまで、上記のステップを繰り返し、最後に、上記の保持された組み合わせから、組み合わせ演算正解率が最も大きい組み合わせを選択して予測マシンにデプロイする。
【0121】
上記のいくつかの実施例によって提供されるマルチタスクのデプロイ方法に対応して、本開示の一実施例はマルチタスクのデプロイ装置を提供し、本開示の実施例によって提供されるマルチタスクのデプロイ装置は、上記のいくつかの実施例によって提供されるマルチタスクのデプロイ方法に対応するため、上記マルチタスクのデプロイ方法の実施形態は、本開示の実施例によって提供されマルチタスクのデプロイ装置にも適用されるため、以下の実施例では詳細には説明しない。
【0122】
図14は本開示の実施例によって提供されるマルチタスクのデプロイ装置の概略構成図である。
【0123】
図14に示すように、当該マルチタスクのデプロイ装置1400は、取得モジュール1401、演算モジュール1402、選択モジュール1403、デプロイモジュール1404を備えることができる。
【0124】
取得モジュール1401は、N個の第1タスクとK個のネットワークモデルを取得し、NとKが1以上の正の整数である。
【0125】
演算モジュール1402は、N個の第1タスクをK個のネットワークモデルに交替で割り当てて演算して、タスクとネットワークモデルとの少なくとも1つの候補組み合わせを取得し、各候補組み合わせに、N個の第1タスクとK個のネットワークモデルとのマッピング関係が含まれる。
【0126】
選択モジュール1403は、少なくとも1つの候補組み合わせから、組み合わせ演算正解率が最も大きいターゲット組み合わせを選択する。
【0127】
デプロイモジュール1404は、K個のネットワークモデルとターゲット組み合わせのターゲットマッピング関係を予測マシンにデプロイする。
【0128】
本開示の一実施例では、演算モジュール1402は、さらに、N個の第1タスクの割り当てが完了するたびに、割り当てによって形成されたタスクとネットワークモデルとの代替的な組み合わせのタスク実行に必要な消費時間を取得し、代替的な組み合わせの消費時間がスケジューリング可能な制約パラメータを満たすことに応答して、代替的な組み合わせを候補組み合わせとして決定する。
【0129】
本開示の一実施例では、演算モジュール1402は、さらに、代替的な組み合わせの消費時間がスケジューリング可能な制約パラメータを満たさないことに応答して、代替的な組み合わせを破棄し、次の代替的な組み合わせを再取得する。
【0130】
本開示の一実施例では、演算モジュール1402は、さらに、第1タスクの数Nとネットワークモデルの数Mに基づいて、合計反復回数を決定し、反復回数が反復回数閾値より大きいことに応答して、前の代替的な組み合わせの組み合わせ演算正解率に基づいて、粒子群最適化アルゴリズム(PSO)によって次の代替的な組み合わせを検索する。
【0131】
本開示の一実施例では、演算モジュール1402は、さらに、代替的な組み合わせにおけるN個の第1タスクのうちの各第1タスクが、それぞれ割り当てられているターゲットネットワークモデルで実行される時のタスク最悪実行時間(WCET)取得し、各第1タスクのWCETとタスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を取得する。
【0132】
本開示の一実施例では、演算モジュール1402は、さらに、各第1タスクのWCETに基づいて、代替的な組み合わせの合計WCETを取得し、代替的な組み合わせの合計WCETとタスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を取得する。
【0133】
本開示の一実施例では、演算モジュール1402は、さらに、各第1タスクに対して、第1タスクに対応するターゲットネットワークモデルの複数の履歴WCETを取得し、複数の履歴WCETと今回のWCETに基づいて、ターゲットネットワークモデルにおける第1タスクの平均WCETを取得し、第1タスクの平均WCETに基づいて、代替的な組み合わせの合計WCETを取得する。
【0134】
本開示の一実施例では、演算モジュール1402は、さらに複数の履歴WCETと今回のWCETとの第1の標準偏差を取得し、第1タスクの平均WCETと第1の標準偏差との第1の合計値を取得し、すべての第1タスクの第1の合計値を合計して、代替的な組み合わせの合計WCETを取得する。
【0135】
本開示の一実施例では、演算モジュール1402は、さらに、複数の履歴タスク処理サイクルを取得し、複数の履歴タスク処理サイクルと今回のタスク処理サイクルとに基づいて、平均タスク処理サイクルを取得し、代替的な組み合わせの合計WCETと平均タスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を決定する。
【0136】
本開示の一実施例では、演算モジュール1402は、さらに、複数の履歴タスク処理サイクルと今回のタスク処理サイクルとの第2の標準差を取得し、平均タスク処理サイクルと第2の標準偏差との第2の合計値を取得し、代替的な組み合わせの合計WCETと第2の合計値との比を取得して代替的な組み合わせの消費時間とする。
【0137】
本開示の一実施例では、演算モジュール1402は、さらに、複数の履歴WCETと今回のWCETとの第1の標準偏差を取得し、第1タスクの平均WCETと第1の標準偏差との第1の合計値を取得し、すべての第1タスクの第1の合計値を合計して、代替的な組み合わせの合計WCETを取得する。
【0138】
本開示の一実施例では、演算モジュール1402は、さらに、複数の履歴タスク処理サイクルを取得し、複数の履歴タスク処理サイクルと今回のタスク処理サイクルとに基づいて、平均タスク処理サイクルを取得し、代替的な組み合わせの合計WCETと平均タスク処理サイクルとに基づいて、代替的な組み合わせの消費時間を決定する。
【0139】
本開示の一実施例では、演算モジュール1402は、さらに、複数の履歴タスク処理サイクルと今回のタスク処理サイクルとの第2の標準差を取得し、平均タスク処理サイクルと第2の標準偏差との第2の合計値を取得し、代替的な組み合わせの合計WCETと第2の合計値との比を取得して代替的な組み合わせの消費時間とする。
【0140】
本開示の一実施例では、選択モジュール1403は、さらに、少なくとも1つの候補組み合わせから、組み合わせ演算正解率が最も大きいターゲット組み合わせを選択する前に、各候補組み合わせに対して、割り当てられているターゲットネットワークモデルにおける第1タスクのタスク組み合わせ演算正解率を取得し、すべての第1タスクのタスク組み合わせ演算正解率に基づいて、候補組み合わせの組み合わせ演算正解率を取得する。
【0141】
本開示の一実施例では、選択モジュール1403は、さらに、各第1タスクの重みを取得し、第1タスクの重みに基づいて、第1タスクのタスク組み合わせ演算正解率を重み付けして、候補組み合わせの組み合わせ演算正解率を取得する。
【0142】
本開示の一実施例では、デプロイモジュール1404は、さらに、K個のネットワークモデルとターゲット組み合わせのターゲットマッピング関係を予測マシンにデプロイした後、ターゲットタスク処理サイクル内で1つの第2タスクが受信されたことに応答して、ターゲットタスクサイクル内の処理対象の第2タスクを並べ替え、処理対象の第2タスクに対してターゲットマッピング関係のクエリを順に行って、現在クエリされた処理対象の第2タスクに対応するターゲットネットワークモデルを取得し、処理対象のタスクを予測マシンにおけるターゲットネットワークモデルに下り送信して処理する。
【0143】
本開示の実施例によれば、本開示は、電子機器、及び読み取り可能な記憶媒体をさらに提供する。
本開示の実施例によれば、本開示は、コンピュータプログラムをさらに提供し、コンピュータプログラムはプロセッサによって実行される場合、本開示によって提供されるマルチタスクのデプロイ方法を実現する。
【0144】
図15は、本開示の実施例を実行するための例示的な電子機器1500の概略ブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、および他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示される部品、それらの接続と関係、およびそれらの機能は、単なる例であり、本明細書の説明および/または求められる本開示の実現を制限することを意図したものではない。
【0145】
図15に示すように、電子機器1500は、読み取り専用メモリ(ROM)1502に記憶されているコンピュータプログラム/命令または記憶ユニット1506からランダムアクセスメモリ(RAM)1503にロードされたコンピュータプログラム/命令に従って、様々な適切な動作および処理を実行する計算ユニット1501を備える。RAM 1503には、電子機器1500の動作に必要な各種のプログラムやデータも記憶されてもよい。計算ユニット1501、ROM 1502、およびRAM 1503は、バス1504を介して互いに接続されておる。パス1504には、入力/出力(I/O)インターフェース1505も接続されている。
【0146】
電子機器1500の複数のコンポーネントはI/Oインターフェース1505に接続され、キーボード、マウスなどの入力ユニット1506、各タイプのディスプレイ、スピーカなどの出力ユニット1507、磁気ディスク、光ディスクなどの記憶ユニット1508、およびネットワークカード、モデム、無線通信トランシーバなどの通信ユニット1509を備える。通信ユニット1509は、電子機器1500が、インターネットなどのコンピュータネットワークおよび/または各種の電信ネットワークを介して他のデバイスと情報/データを交換することを可能にする。
【0147】
計算ユニット1501は、処理および計算能力を有する様々な汎用および/または専用の処理コンポーネントであってもよい。計算ユニット1501のいくつかの例は、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、各種の専用の人工知能(AI)計算チップ、各種のマシン運転学習モデルアルゴリズムの計算ユニット、デジタル信号プロセッサ(DSP)、およびいずれかの適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット1501は、前文に記載の各方法及び処理、例えば、マルチタスクのデプロイ方法を実行する。例えば、いくつかの実施例では、マルチタスクのデプロイ方法は、記憶ユニット1506などの機械読み取り可能な媒体に有形に含まれるコンピュータソフトウェアプログラムとして実現することができ、コンピュータプログラム/命令の一部または全部がROM 1502および/または通信ユニット1509を介して電子機器1500にロードおよび/またはインストールされてもよい。コンピュータプログラム/命令がRAM 1503にロードされ、計算ユニット1501によって実行される場合、前文に記載のマルチタスクのデプロイ方法の1つのまたは複数のステップが実行されてもよい。代替的に、他の実施例では、計算ユニット1501はマルチタスクのデプロイ方法を実行するように、他の任意の適切な方式(例えば、ファームウェアを介して)によって構成されてもよい。
【0148】
これらの様々な実施形態は、1つ又は複数のコンピュータプログラム/命令で実施されることを含むことができ、当該1つ又は複数のコンピュータプログラム/命令は、少なくとも1つのプログラマブルプロセッサを備えるプログラム可能なシステムで実行および/または解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、データおよび命令を当該ストレージシステム、当該少なくとも1つの入力装置、および当該少なくとも1つの出力装置に伝送することができる。
【0149】
本開示の方法を実行するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで書くことができる。これらのプログラムコードは、プロセッサ又はコントローラによって実行された際に、フローチャートおよび/またはブロック図に規定された機能/操作が実施されるように、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されてもよい。プログラムコードは、完全に機械上で実行されるか、部分的に機械上で実行されるか、スタンドアロンソフトウェアパッケージとして、部分的に機械上で実行され、部分的にリモート機械上で実行され又は完全にリモート機械又はサーバ上で実行されてもよい。
【0150】
本開示のコンテクストでは、機械読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって使用されるために、又は命令実行システム、装置、またはデバイスと組み合わせて使用するためのプログラムを含むか、又は記憶することができる有形の媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体または機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、又は半導体システム、装置又はデバイス、または上記コンテンツの任意の適切な組み合わせを含むことができるが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、または上記コンテンツの任意の適切な組み合わせを含む。
【0151】
ユーザとのインタラクションを提供するために、ここで説明されるシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、ビジョンフィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力、または、触覚入力とを含む)でユーザからの入力を受信することができる。
【0152】
ここで説明されるシステムおよび技術は、バックエンドコンポーネントを備えるコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを備えるコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを備えるコンピューティングシステム(例えば、グラフィカルユーザインターフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインターフェース又は当該ウェブブラウザによってここで説明されるシステムおよび技術の実施形態とインタラクションできる)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを備えるコンピューティングシステムで実行することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークを含む。
【0153】
コンピュータシステムは、クライアントとサーバを備えることができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラム/命令によってクライアントとサーバとの関係が生成される。サーバはクラウドサーバであってもよく、分散システムのサーバであってもよく、ブロックチェーンを組み込んだサーバであってもよい。
【0154】
なお、上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができると理解されたい。例えば、本開示に記載の各ステップは、並列に実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術案の所望の結果を実現することができれば、本明細書では限定されない。
【0155】
上記具体的な実施形態は、本開示の保護範囲を制限するものではない。当業者は、設計要件と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができることを理解されたい。任意の本開示の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。