JP2021099860A - タスク計算量決定方法、装置、電子機器及びコンピュータプログラム製品 - Google Patents

タスク計算量決定方法、装置、電子機器及びコンピュータプログラム製品 Download PDF

Info

Publication number
JP2021099860A
JP2021099860A JP2021038109A JP2021038109A JP2021099860A JP 2021099860 A JP2021099860 A JP 2021099860A JP 2021038109 A JP2021038109 A JP 2021038109A JP 2021038109 A JP2021038109 A JP 2021038109A JP 2021099860 A JP2021099860 A JP 2021099860A
Authority
JP
Japan
Prior art keywords
task
target
calculation amount
cpu
time slice
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2021038109A
Other languages
English (en)
Other versions
JP7223048B2 (ja
Inventor
衍 王
Yan Wang
衍 王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2021099860A publication Critical patent/JP2021099860A/ja
Application granted granted Critical
Publication of JP7223048B2 publication Critical patent/JP7223048B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management

Abstract

【課題】タスクの計算量の特徴付け方式がタスクが占用する必要のあるCPUの計算力を特徴付けるタスク計算量決定方法、装置及び電子機器を提供する。【解決手段】方法は、目的タスクを目的CPUコアに実行するように制御することと、目的タスクの実行開始から実行終了までの期間であるタスク実行期間における目的タスクのCPUタイムスライス占用率を取得することと、目的CPUコアのDMIPS及びCPUタイムスライス占用率に基づいて、目的タスクの計算量を決定することと、を含む。【選択図】図1

Description

本願は、コンピュータ技術に関し、特に、計算量の測定評価の技術分野に関し、具体的には、タスク計算量決定方法、装置、電子機器及びコンピュータプログラム製品に関する。
コンピュータ技術の発展に伴い、タスクの深さが徐々に増加し、それに伴ってタスクの計算の複雑さ及び計算量も増大する。機器にタスクを配置する前に、機器のCPU(Central Processing Unit、中央プロセッサ)の計算能力(即ち計算力)がタスクの計算量を満たすことができるか否かを考慮する必要があるため、タスクを配置する前に、タスクの計算量を測定評価する必要がある。現在、タスクの計算量は、一般的に、MACCs(multiply−accumulate operations、乗累算回数)及びFLOPS(floating−point operations per second、1秒間に実行できる浮動小数点演算の回数)で特徴付けられており、これらはいずれもタスクが占用する必要のあるCPUの計算力を特徴付けることができない。
本願は、従来のタスクの計算量の特徴付け方式がタスクが占用する必要のあるCPUの計算力を特徴付けることができないという技術的課題を解決するために、タスク計算量決定方法、装置及び電子機器を提供する。
上記技術的課題を解決するために、本願は以下のように実現される。
第1態様では、本願に係るタスク計算量決定方法は、目的タスクを目的CPUコアに実行するように制御することと、前記目的タスクの実行開始から実行終了までの期間であるタスク実行期間における前記目的タスクのCPUタイムスライス占用率を取得することと、前記目的CPUコアのDMIPS及び前記CPUタイムスライス占用率に基づいて、前記目的タスクの計算量を決定することと、を含む。
上記技術手段を採用することにより、本願が決定したタスクの計算量は、タスクが占用する必要のあるCPUの計算力をより忠実かつ正確に特徴付けることができる。したがって、タスクを配置する際に、本願が決定したタスクの計算量に基づいて、機器のハードウェアタイプの選択に、より価値のある参考を提供することができる。
好ましくは、タスク実行期間における前記目的タスクのCPUタイムスライス占用率を取得することが、前記タスク実行期間における前記目的CPUコアのCPUタイムスライスを取得することと、前記目的タスクが占用するCPUタイムスライスを取得することと、前記タスク実行期間における前記目的CPUコアのCPUタイムスライスと前記目的タスクが占用するCPUタイムスライスに基づいて、前記タスク実行期間における前記目的タスクのCPUタイムスライス占用率を決定することと、を含む。
該実施形態では、前記タスク実行期間における目的タスクのCPUタイムスライス占用率を決定することで、目的タスクの計算量を正確に測定評価することに有利である。
好ましくは、前記目的タスクの計算量は、画像検出アルゴリズムの計算量、音声認識アルゴリズムの計算量、又は計画及び制御アルゴリズムの計算量を含む。
本願に係るDMIPS及びCPUタイムスライス占用率に基づいてタスクの計算量を決定する手段は、CPUタイムスライス占用率が、タスクの実行に必要なCPU計算力占用率を忠実かつ正確に特徴付けることができるため、連続性のあるタスクのみならず、不連続性のあるタスクにも適用可能であり、汎用性がある。
好ましくは、前記目的タスクの計算量は、目的フレームレートでの画像検出アルゴリズムの計算量であり、前記目的CPUコアのDMIPS及び前記CPUタイムスライス占用率に基づいて、前記目的タスクの計算量を決定することが、前記画像検出アルゴリズムが前記タスク実行期間において処理する画像のフレーム数を取得することと、前記目的CPUコアのDMIPS、前記CPUタイムスライス占用率、前記タスク実行期間及び前記画像のフレーム数に基づいて、前記画像検出アルゴリズムのシングルフレーム計算量を決定することと、前記シングルフレームの計算量及び前記目的フレームレートに基づいて、目的フレームレートでの前記画像検出アルゴリズムの計算量を決定することと、を含む。
該実施形態では、目的フレームレートでの画像検出アルゴリズムの計算量を決定することで、画像検出アルゴリズムの性能を正確に測定評価することに有利であり、したがって、画像検出アルゴリズムを配置する際に、決定された目的フレームレートでの画像検出アルゴリズムの計算量に基づいて、機器のハードウェアタイプの選択に、より価値のある参考を提供することにより、画像検出アルゴリズムの適用を促進することができる。
好ましくは、前記方法は、前記目的タスクを前記目的CPUコアに実行する過程において、前記目的CPUコアの実行周波数を所定の周波数に制御することをさらに含む。
該実施形態では、目的タスクの実行過程において目的CPUコアの実行周波数を制御することにより、目的タスクの実行に安定した実行環境を提供し、本願が決定したタスクの計算量をより正確に確保することができる。
好ましくは、目的タスクを目的CPUコアに実行するように制御することは、前記目的タスクを所定の優先度で前記目的CPUコアに実行するように制御することを含む。
該実施形態では、目的タスクの実行過程において目的CPUコアの実行周波数を制御することにより、目的タスクの実行に安定した実行環境を提供し、本願が決定したタスクの計算量をより正確に確保することができる。
好ましくは、目的タスクを目的CPUコアに実行するように制御する前に、前記方法は、ユーザによりクラウドサーバに予めアップロードされた、前記クラウドサーバから送信された前記目的タスクを受信することをさらに含む。
好ましくは、前記目的タスクの計算量を計算する後、前記方法は、前記クラウドサーバに前記目的タスクの計算量を報告することをさらに含む。
該実施形態では、開放された測定評価環境を構築することにより、タスクの設計、タスクのトレーニング、タスクの配信及びタスクの計算量の測定評価を閉ループにすることができる。このように、タスクの設計者は、タスクの設計及びタスクのトレーニングを完了した後、タスクの計算量の測定評価結果をタイムリーに取得することができ、タスクの設計者がタスクの計算量の消費状況をタイムリーに把握することに有利であり、タスクに対して指向性のある最適化を容易に行う。
第2態様では、本願に係るタスク計算量決定装置は、目的タスクを目的CPUコアに実行するように制御する第1制御モジュールと、前記目的タスクの実行開始から実行終了までの期間であるタスク実行期間における前記目的タスクのCPUタイムスライス占用率を取得する取得モジュールと、前記目的CPUコアのDMIPS及び前記CPUタイムスライス占用率に基づいて、前記目的タスクの計算量を決定する決定モジュールと、を備える。
好ましくは、前記取得モジュールが、前記タスク実行期間における前記目的CPUコアのCPUタイムスライスを取得する第1取得サブモジュールと、前記目的タスクが占用するCPUタイムスライスを取得する第2取得サブモジュールと、前記タスク実行期間における前記目的CPUコアのCPUタイムスライスと前記目的タスクが占用するCPUタイムスライスに基づいて、前記タスク実行期間における前記目的タスクのCPUタイムスライス占用率を決定する第1決定サブモジュールと、を備える。
好ましくは、前記目的タスクの計算量は、画像検出アルゴリズムの計算量、音声認識アルゴリズムの計算量、又は計画及び制御アルゴリズムの計算量を含む。
好ましくは、前記目的タスクの計算量は、目的フレームレートでの画像検出アルゴリズムの計算量であり、前記決定モジュールが、前記画像検出アルゴリズムが前記タスク実行期間において処理する画像のフレーム数を取得する第2取得サブモジュールと、前記目的CPUコアのDMIPS、前記CPUタイムスライス占用率、前記タスク実行期間及び前記画像のフレーム数に基づいて、前記画像検出アルゴリズムのシングルフレーム計算量を決定する第2決定サブモジュールと、前記シングルフレーム及び前記目的フレームレートに基づいて、目的フレームレートでの前記画像検出アルゴリズムの計算量を決定する第3決定サブモジュールと、を備える。
好ましくは、前記目的タスクを前記目的CPUコアに実行する過程において、前記目的CPUコアの実行周波数を所定の周波数に制御する第2制御モジュールをさらに備える。
好ましくは、前記第1制御モジュールは、具体的に、前記目的タスクを所定の優先度で前記目的CPUコアに実行するように制御する。
好ましくは、ユーザによりクラウドサーバに予めアップロードされた、前記クラウドサーバから送信された前記目的タスクを受信する受信モジュールをさらに備える。
好ましくは、前記クラウドサーバに前記目的タスクの計算量を報告する報告モジュールをさらに備える。
第3態様では、本願に係る電子機器は、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサに通信接続されるメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサに実行可能で、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに第1態様のいずれか一項に記載の方法を実行させる命令が記憶されている。
第4態様では、本願に係る非一時的なコンピュータ可読記憶媒体には、第1態様のいずれか一項に記載の方法をコンピュータに実行させるコンピュータ命令が記憶されていることを特徴とする。
本願の1つの実施例は、以下の利点又は有益な効果を有する。
本願では、目的タスクの計算量を測定評価する必要がある場合に、目的タスクを目的CPUコアに実行するように制御し、かつ目的タスクが実行過程において占用するCPUタイムスライス占用率を取得することにより、目的CPUコアのDMIPSと目的タスクが占用するCPUタイムスライス占用率に基づいて、目的タスクの計算量を決定することができる。上記技術手段を採用することにより、本願が決定したタスクの計算量は、タスクが占用する必要のあるCPUの計算力をより忠実かつ正確に特徴付けることができる。したがって、タスクを配置する際に、本願が決定したタスクの計算量に基づいて、機器のハードウェアタイプの選択に、より価値のある参考を提供することができる。
以下、具体的な実施例を参照して上記選択可能な方式が有する他の効果を説明する。
図面は、本技術手段をよりよく理解するためのものであり、本願を限定するものではない。
本願実施例に係るタスク計算量決定方法のフローチャートである。 本願実施例に係るタスク計算量決定方法の処理フローチャートである。 本願実施例に係るタスクの計算量の測定評価システムの配置の例示図である。 本願実施例に係るタスクの測定評価閉ループの概略図である。 本願実施例に係るタスク計算量決定装置の概略構造図である。 本願実施例に係るタスク計算量決定方法を実現する電子機器のブロック図である。
以下、理解を容易にするために、図面を参照して、様々な詳細を含めた本願の例示的な実施例を説明するが、これらの実施例を例示的なものと考えるべきである。したがって、当業者は、本願の範囲及び精神から逸脱することなく、ここで説明された実施例に対して様々な変更及び修正を行うことができることを理解すべきである。同様に、明確さと簡潔さのために、以下の説明では、公知の機能及び構造についての説明を省略する。
現在、タスクの計算量は一般的にMACCs及びFLOPSで特徴付けられ、MACCsは理論的な乗累算回数を特徴付け、FLOPSはGPU(Graphics Processing Unit、画像プロセッサ)側の浮動小数点演算回数を特徴付ける。
タスクの深さが徐々に増加するにつれて、タスクの計算の複雑さ及び計算量も増大し、タスクの実行過程において占用する必要のあるCPUの計算力もますます高くなってきている。例えば、人工知能(Artificial Intelligence、略称AI)の発展に伴い、深層学習は、徐々に各分野の主流方法となっており、残差ネットワーク(Residual Networks、略称ResNets)の出現に伴い、ニューラルネットワークの深さが徐々に増加し、計算の複雑さ及び計算量もそれに伴って増大する。したがって、タスクを機器内で正常に実行できるようにするために、機器内にタスクを配置する前に、機器のCPUがタスクの計算量負荷に耐えられるか否か、或いは、機器のCPUがタスクの計算量を満たすか否かを測定評価する必要がある。
しかしながら、上記2種類のタスク計算量の特徴付け方式は、いずれも、タスクがCPUに実行されるときに占用する計算量を特徴付けることができず、さらに、タスクがCPUに実行されるときに占用する計算量を忠実かつ正確に決定することができず、それにより、機器のハードウェアタイプの選択、タスクの最適化等の面に指導を提供することができなない。
そこで、本願に係るタスク計算量決定方法は、目的タスクがCPUに実行されるときに占用する必要のある計算量を決定するか、或いは、目的タスクが実行過程において占用する必要のあるCPU計算力を決定する。本願は、測定評価機器(例えば、コンピュータ、携帯電話、車載コンピュータ等の端末機器)によりタスクの計算量を決定することができる。
本願において、目的タスクとは、測定評価機器のCPUにおいて実行可能なタスクを指し、目的タスクは、CUPにおいて実行されるときに、スレッドであってもよいし、プロセスであってもよい。目的タスクの計算量とは、目的タスクが実行過程において占用する必要のあるCPU計算力を指す。
図1に示すように、該タスク計算量決定方法は、以下のステップ101〜103を含む。
ステップ101では、目的タスクを目的CPUコアに実行するように制御する。
現在、CPUは、一般に、マルチコア(即ち物理コア)アーキテクチャを採用し、あるCPUは、大コア及び小コアが配置されている。該ステップでは、目的タスクを目的CPUコアに実行するように制御することにより、目的タスクの計算量について、目的CPUコアの計算力のみを考慮するだけで、目的タスクの計算量をより簡単かつ正確に決定することができる。
本願では、目的タスクを実行する前に、目的タスクにCPUコアを予めバインドすることにより、目的タスクを他のCPUコアに実行せず、目的CPUコアのみに実行するようにすることができる。目的タスクにCPUコアをバインドする方法について、例えば、アンドロイド(Android(登録商標))システムにおいて、命令「echo “0” > /sys/devices/system/cpu/cpuN/online」により、CPUコアのバインドを実現することができ、Nは、無効化されるCPUコアを意味する。
本願では、目的タスクは、画像検出アルゴリズムを用いる画像検出タスクであってよく、目的タスクの計算量は、画像検出アルゴリズムの計算量であってよく、より具体的に、目的タスクの計算量は、画像検出アルゴリズムにより画像検出を行う計算量であってよい。具体的な応用において、画像検出タスクは、例えば、顔検出、顔認識、ジェスチャ認識、車線検出、歩行者車両検出、テキスト認識、物体分類、物体分割等のタスクを含んでよい。
目的タスクは、音声認識アルゴリズムを用いる音声認識タスクであってもよく、目的タスクの計算量は、音声認識アルゴリズムの計算量であってよく、より具体的に、目的タスクの計算量は、音声認識アルゴリズムにより音声認識を行う計算量であってよい。具体的な応用において、音声認識タスクは、例えば、音声覚醒、語義理解、言語翻訳、音声合成等のタスクを含んでよい。
目的タスクは、計画及び制御アルゴリズムを用いるタスクであってもよく、目的タスクの計算量は、計画及び制御アルゴリズムの計算量であってよい。具体的な応用において、計画及び制御アルゴリズムを用いるタスクは、例えば、経路計画、軌跡予測、強化学習、MPC(Model Predictive Control、モデルの予測制御)などのタスクを含んでよい。
ステップ102では、上記目的タスクの実行開始から実行終了までの期間であるタスク実行期間における上記目的タスクのCPUタイムスライス占用率を取得する。
従来のオペレーティングシステム(例えば、Windows(登録商標)、Linux(登録商標)、MacOSX等)は、複数のプロセスを同時に実行することを可能とするため、タスク実行期間において、目的タスクに加えて、他のプロセスも目的CPUコアに実行することが可能である。また、目的タスクは、実行過程において、継続的に実行されるわけではなく、他のプロセスと交互に実行される可能性がある。このため、タスク実行期間において、目的CPUコアの計算力は全て目的タスクに占用されるわけではない。
CPUタイムスライス(timeslice)は、「量子(quantum)」又は「プロセッサスライス(processor slice)」とも呼ばれ、時分割オペレーティングシステムが実行中のプロセス毎に割り当てられた微視的なCPU時間である。これにより、CPUタイムスライスは、プロセス(又はタスク)の実行が占用するCPU時間をより忠実に反映することができる。
したがって、タスク実行期間における目的タスクのCPUタイムスライス占用率は、目的タスクの実行が占用するCPUタイムスライスの割合をより忠実に反映することができるため、目的タスクの実行に必要なCPU計算力の占用率を判断することに適している。
そこで、該ステップでは、タスク実行期間における目的タスクのCPUタイムスライス占用率を取得することにより、目的タスクの実行に必要なCPU計算力の占用率を忠実かつ正確に特徴付けることができるため、タスク実行期間における目的タスクのCPUタイムスライス占用率は、目的タスクの計算量の決定に証拠を提供することができる。
ここで、タスク実行期間における目的タスクのCPUタイムスライス占用率は、タスク実行期間における目的タスクの目的CPUコアのタイムスライス占用率であると理解することができる。
ステップ103では、上記目的CPUコアのDMIPS及び上記CPUタイムスライス占用率に基づいて、上記目的タスクの計算量を決定する。
DMIPS(Dhrystone Million Instructions executed Per Second)は、コンピュータチップを判断するための単位であり、DMIPSの数値が大きいほど、CPUのデータ処理能力が強くなる。MIPS(Million Instructions executed Per Second、100万命令毎秒)は、1秒間内のシステムの処理能力、すなわち1秒間に何百万個の命令が実行されるかを計算するものである。このことから、DMIPSは、CPUの計算能力を忠実に判断することができ、DMIPSは、機器のCPU計算力の判断単位とすることができる。以上より、目的CPUコアのDMIPSは、目的CPUコアの総計算力を忠実に判断することができる。
本願では、目的タスクを目的CPUコアに実行するように制御することにより、目的CPUコアのDMIPSを目的タスクの計算量の決定証拠とすることができ、決定された目的タスクの計算量も目的タスクが実行されるときに占用する必要のあるCPU計算力をより忠実かつ正確に特徴付けることができる。
タスク実行期間における目的タスクのCPUタイムスライス占用率が目的タスクの実行に必要なCPU計算力占用率を判断することに適し、目的CPUコアのDMIPSが目的CPUコアの総計算力を忠実に判断することができるため、該ステップでは、目的CPUコアのDMIPSとタスク実行期間における目的タスクのCPUタイムスライス占用率に基づいて、目的タスクの計算量を決定することができる。また、決定された目的タスクの計算量は、タスクが占用する必要のあるCPUの計算力をより忠実かつ正確に特徴付けることができる。
例えば、目的CPUコアのDMIPSをAとし、タスク実行期間における目的タスクのCPUタイムスライス占用率をBとし、目的タスクの計算量をCとすると仮定すると、C=a・A×b・Bであり、a及びbはいずれも0より大きい係数である。
本願では、目的タスクの計算量を測定評価する必要がある場合に、目的タスクを目的CPUコアに実行するように制御し、かつ目的タスクが実行過程において占用するCPUタイムスライス占用率を取得することにより、目的CPUコアのDMIPSと目的タスクが占用するCPUタイムスライス占用率に基づいて、目的タスクの計算量を決定することができる。上記技術手段を採用することにより、本願が決定したタスクの計算量は、タスクが占用する必要のあるCPUの計算力をより忠実かつ正確に特徴付けることができる。したがって、タスクを配置する際に、本願が決定したタスクの計算量に基づいて、機器のハードウェアタイプの選択に、より価値のある参考を提供することができる。
なお、現在、CPU占用率に基づいてタスクの計算量を測定評価する技術もあり、該技術は、アイドルタスクによって計時することでCPU占用率を統計するものであるが、このような方式は連続性のあるタスクにしか適用されず、汎用性がない。いくつかの不連続性のあるタスクにとって、CPU占用率に基づいてタスクの計算量を決定することができない。画像検出アルゴリズムを例にとると、画像検出アルゴリズムは、画像をフレームごとに処理し、タスク実行期間において連続性がないため、CPU占用率に基づいて画像検出アルゴリズムの計算量を測定評価すれば、結果のばらつきが大きい。
一方、本願に係るDMIPS及びCPUタイムスライス占用率に基づいてタスクの計算量を決定する手段は、CPUタイムスライス占用率が、タスクの実行に必要なCPU計算力の占用率を忠実かつ正確に特徴付けることができるため、連続性のあるタスクのみならず、不連続性のあるタスクにも適用可能であり、汎用性がある。
好ましくは、タスク実行期間における上記目的タスクのCPUタイムスライス占用率を取得することは、上記タスク実行期間における上記目的CPUコアのCPUタイムスライスを取得することと、上記目的タスクが占用するCPUタイムスライスを取得することと、上記タスク実行期間における上記目的CPUコアのCPUタイムスライスと上記目的タスクが占用するCPUタイムスライスに基づいて、上記タスク実行期間における上記目的タスクのCPUタイムスライス占用率を決定することとを含む。
該実施形態では、タスク実行期間における目的CPUコアのCPUタイムスライスを該期間における目的CPUコアの総CPUタイムスライスと理解することができる。該期間の総CPUタイムスライスでは、一部のタイムスライスが目的タスクを実行し、一部のタイムスライスが他のタスク又はプロセスを実行する可能性があり、全てのタイムスライスが目的タスクを実行する可能性もある。
目的タスクが占用するCPUタイムスライスは、目的タスク自体が占用するCPUタイムスライスであると理解することができる。
該実施形態では、CPUタイムスライス占用監視モジュールにより、上記2種類のCPUタイムスライスの取得を実現することができる。
例えば、CPUタイムスライス占用監視モジュールは、目的タスクの実行開始を監視すると、目的CPUコアの/proc/statのタイムスライスを読み取り、t_cpu_startと記録し、CPUタイムスライス占用監視モジュールは、目的タスクの実行終了を監視すると、目的CPUコアの/proc/statのCPUタイムスライスを読み取り、t_cpu_endと記録し、このように、タスク実行期間における目的CPUコアのCPUタイムスライスは(t_cpu_end−t_cpu_start)である。
対応的に、CPUタイムスライス占用監視モジュールは、目的タスクの実行開始を監視すると、目的CPUコアの/proc/[pid]/statのタイムスライスを読み取り、t_app_cpu_startと記録し、CPUタイムスライス占用監視モジュールは、目的タスクの実行終了を監視すると、目的CPUコアの/proc/[pid]/statのCPUタイムスライスを読み取り、t_app_cpu_endと記録し、このように、目的タスクが占用するCPUタイムスライスは、(t_app_cpu_end−t_app_cpu_start)である。
上記/proc/[pid]/statにおけるpidは、プロセスのid、すなわち目的タスクのidを表す。
上記タスク実行期間における目的タスクのCPUタイムスライス占用率は、以下の式によって算出される。
cpu_usage=(t_app_cpu_end−t_app_cpu_start)/(t_cpu_end−t_cpu_start)
ただし、cpu_usageは、上記タスク実行期間における目的タスクのCPUタイムスライス占用率を表す。
該実施形態では、上記タスク実行期間における目的タスクのCPUタイムスライス占用率を決定することで、目的タスクの計算量を正確に測定評価することに有利である。
好ましくは、上記目的タスクの計算量は、目的フレームレートでの画像検出アルゴリズムの計算量であり、上記目的CPUコアのDMIPS及び上記CPUタイムスライス占用率に基づいて、上記目的タスクの計算量を決定することは、上記画像検出アルゴリズムが上記タスク実行期間において処理する画像のフレーム数を取得することと、上記目的CPUコアのDMIPS、上記CPUタイムスライス占用率、上記タスク実行期間及び上記画像のフレーム数に基づいて、上記画像検出アルゴリズムのシングルフレーム計算量を決定することと、上記シングルフレームの計算量及び上記目的フレームレートに基づいて、目的フレームレートでの上記画像検出アルゴリズムの計算量を決定することと、を含む。
画像検出アルゴリズムを応用する場合、その画像検出効率、すなわち画像検出フレームレートを考慮することが一般的である。そこで、該実施形態では、画像検出アルゴリズムの計算量を計算する必要がある場合に、目的フレームレートでの画像検出アルゴリズムの計算量を考慮してよい。
以下、図2を参照して、該実施形態の処理流れを例示的に説明する。
図2に示すように、測定評価機器には、検出タスクインタフェース201、CPUタイムスライス占用監視モジュール202、アルゴリズム実行統計モジュール203、及び計算量分析モジュール204が設置されてよい。
検出タスクインタフェース201により画像検出アルゴリズムモデル205及び一定のフレーム数(例えば500フレーム)のアナログ画像206を入力し、画像検出アルゴリズムを目的CPUコアに実行するように制御することにより、画像検出アルゴリズムを用いてアナログ画像を検出し、全てのアナログ画像の検出を完了することができる。画像検出アルゴリズムが全てのアナログ画像を処理する期間はタスク実行期間である。各アナログ画像が画像検出アルゴリズムにより検出される回数は、一回であってもよく、複数回であってもよいが、本願はこれを限定するものではない。
CPUタイムスライス占用監視モジュール202により実行過程における画像検出アルゴリズムのCPUタイムスライス占用率を統計することができ、アルゴリズム実行統計モジュール203により画像検出アルゴリズムの実行開始時刻、実行終了時刻及び実行回数を統計することができる。画像検出アルゴリズムの実行開始時刻から実行終了時刻までの期間はタスク実行期間であり、実行回数は画像検出アルゴリズムがタスク実行期間において処理する画像のフレーム数である。
CPUタイムスライス占用監視モジュール202は、統計した実行過程における画像検出アルゴリズムのCPUタイムスライス占用率を計算量分析モジュール204に送信することができ、アルゴリズム実行統計モジュール203は、統計した画像検出アルゴリズムの実行開始時刻、実行終了時刻及び実行回数を計算量分析モジュール204に送信し、さらに計算量分析モジュール204により画像検出アルゴリズムのシングルフレーム計算量と目的フレームレートでの画像検出アルゴリズムの計算量を順に決定することができる。
該実施形態では、画像検出アルゴリズムのシングルフレーム計算量を以下の式で得ることができる。
dmip=duration*total_DMIPS*cpu_usage/M
ただし、dmipは画像検出アルゴリズムのシングルフレーム計算量を表し、durationはタスク実行期間を表し、total_DMIPSは目的CPUコアの総計算力を表し、cpu_usageはタスク実行期間における画像検出アルゴリズムのCPUタイムスライス占用率を表し、Mは画像検出アルゴリズムがタスク実行期間において処理する画像のフレーム数を表す。
画像検出アルゴリズムのシングルフレームを決定した後、以下の式により目的フレームレートでの画像検出アルゴリズムの計算量を得ることができる。
DMIPS= dmip*fps
ただし、DMIPSは目的フレームレートでの画像検出アルゴリズムの計算量を表し、dmipは画像検出アルゴリズムのシングルフレーム計算量を表し、fpsは目的フレームレートを表す。
該実施形態では、目的フレームレートでの画像検出アルゴリズムの計算量を決定することで、画像検出アルゴリズムの性能を正確に測定評価することに有利であり、したがって、画像検出アルゴリズムを配置する際に、決定された目的フレームレートでの画像検出アルゴリズムの計算量に基づいて、機器のハードウェアタイプの選択に、より価値のある参考を提供することにより、画像検出アルゴリズムの適用を促進することができる。
好ましくは、上記方法は、上記目的タスクを上記目的CPUコアに実行する過程において、上記目的CPUコアの実行周波数を所定の周波数に制御することをさらに含む。
該実施形態では、システムの実行周波数の変化が目的タスクの計算量の決定に影響を及ぼすことを防止するために、目的タスクを目的CPUコアに実行する過程において、目的CPUコアの実行周波数を所定の周波数に制御するように、ロックすることができる。
該所定の周波数は、予め設定された周波数値であってもよいし、予め設定された周波数範囲であってもよい。目的タスク実行プロファイルにより目的CPUコアの実行周波数を設定することができる。
該実施形態では、目的タスクの実行過程において目的CPUコアの実行周波数を制御することにより、目的タスクの実行に安定した実行環境を提供し、本願が決定したタスクの計算量をより正確に確保することができる。
好ましくは、目的タスクを目的CPUコアに実行するように制御することは、上記目的タスクを所定の優先度で上記目的CPUコアに実行するように制御することを含む。
該実施形態では、目的タスクをより高い優先度で目的CPUコアに実行するように制御することにより、それほど長い時間待つことなく、目的タスクを優先的に実行することができ、目的タスクの実行効率を向上させ、目的タスクの計算量を速く決定することができる。
好ましくは、目的タスクを目的CPUコアに実行するように制御する前に、上記方法は、ユーザによりクラウドサーバに予めアップロードされた、上記クラウドサーバから送信された上記目的タスクを受信することをさらに含む。
該実施形態では、クラウドサーバにより目的タスクを測定評価機器にプッシュすることにより、測定評価機器は、クラウドサーバから目的タスクを受信し、タスクの計算量の決定を実現することができる。
該実施形態では、タスクの計算量の測定評価システムをクラウドサーバに配置し、外部に対して開放された測定評価環境を構築することができ、このように、開放された測定評価環境を構築することにより、タスクの計算量の測定評価効率及び測定評価効果を向上させることに有利である。
以下、図3を参照して、該実施形態の流れを例示的に説明する。
図3に示すように、クラウドサーバ301は目的タスクを異なる測定評価機器302にプッシュすることができる。ユーザは、webインタフェース303により測定対象のタスクをクラウドサーバ301にアップロードすることができ、クラウドサーバ301は、測定対象のタスクを受信した後に、測定対象のタスクのモデルを自動的にコンパイルし、測定対象のタスクのモデルを異なる測定評価機器302にプッシュすることができる。
好ましくは、上記目的タスクの計算量を計算する後、上記方法は、上記クラウドサーバに上記目的タスクの計算量を報告することをさらに含む。
図3に示すように、該実施形態では、測定評価機器302は、決定した目的タスクの計算量をクラウドサーバ301に報告し、クラウドサーバ301は、目的タスクの計算量をユーザにフィードバックすることができる。
該実施形態では、タスクの計算量の測定評価システムをクラウドサーバ301に配置することにより、タスクの設計、タスクのトレーニング、タスクの配信及びタスクの計算量の測定評価を閉ループにすることができる(図4に示すとおりである)。このように、タスクの設計者は、タスクの設計及びタスクのトレーニングを完了した後、タスクをクラウドサーバ301に配信することができ、クラウドサーバ301は直ちにタスクを測定評価機器にプッシュし、測定評価機器によりタスクの計算量の測定評価を行うことができ、測定評価機器は、さらにタスクの計算量の測定評価結果をクラウドサーバに報告することができ、このように、タスクの設計者がタスクの計算量の消費状況をタイムリーに把握し、タスクに対して指向性のある最適化を容易にすることに有利である。
なお、本願におけるタスク計算量決定方法における複数の好ましい実施形態は、互いに結合して実現されてもよいし、単独で実現されてもよいが、本願は、これについては限定しない。
本願の上記実施例は以下の利点又は有益な効果を有する。
本願では、目的タスクの計算量を測定評価する必要がある場合に、目的タスクを目的CPUコアに実行するように制御し、目的タスクが実行過程において占用するCPUタイムスライス占用率を取得することにより、目的CPUコアのDMIPSと目的タスクが占用するCPUタイムスライス占用率に基づいて、目的タスクの計算量を決定することができる。上記技術手段を採用することにより、本願が決定したタスクの計算量は、CPU側でのタスクの計算力占用状況をより忠実かつ正確に特徴付けることができる。したがって、タスクを配置する際に、本願が決定したタスクの計算量に基づいて、機器のハードウェアタイプの選択に、より価値のある参考を提供することができる。
本願は、タスク計算量決定装置をさらに提供し、図5に示すように、タスク計算量決定装置400は、目的タスクを目的CPUコアに実行するように制御する第1制御モジュール401と、上記目的タスクの実行開始から実行終了までの期間であるタスク実行期間における上記目的タスクのCPUタイムスライス占用率を取得する取得モジュール402と、上記目的CPUコアのDMIPS及び上記CPUタイムスライス占用率に基づいて、上記目的タスクの計算量を決定する決定モジュール403と、を備える。
好ましくは、取得モジュール402は、上記タスク実行期間における上記目的CPUコアのCPUタイムスライスを取得する第1取得サブモジュールと、上記目的タスクが占用するCPUタイムスライスを取得する第2取得サブモジュールと、上記タスク実行期間における上記目的CPUコアのCPUタイムスライスと上記目的タスクが占用するCPUタイムスライスに基づいて、上記タスク実行期間における上記目的タスクのCPUタイムスライス占用率を決定する第1決定サブモジュールと、を備える。
好ましくは、上記目的タスクの計算量は、画像検出アルゴリズムの計算量、音声認識アルゴリズムの計算量、又は計画及び制御アルゴリズムの計算量を含む。
好ましくは、上記目的タスクの計算量は、目的フレームレートでの画像検出アルゴリズムの計算量である。
決定モジュール403は、上記画像検出アルゴリズムが上記タスク実行期間において処理する画像のフレーム数を取得する第2取得サブモジュールと、上記目的CPUコアのDMIPS、上記CPUタイムスライス占用率、上記タスク実行期間及び上記画像のフレーム数に基づいて、上記画像検出アルゴリズムのシングルフレーム計算量を決定する第2決定サブモジュールと、上記シングルフレーム及び上記目的フレームレートに基づいて、目的フレームレートでの上記画像検出アルゴリズムの計算量を決定する第3決定サブモジュールと、を備える。
好ましくは、タスク計算量決定装置400は、上記目的タスクを上記目的CPUコアに実行する過程において、上記目的CPUコアの実行周波数を所定の周波数に制御する第2制御モジュールをさらに備える。
好ましくは、第1制御モジュール401は、具体的に、上記目的タスクを所定の優先度で上記目的CPUコアに実行するように制御する。
好ましくは、タスク計算量決定装置400は、ユーザによりクラウドサーバに予めアップロードされた、上記クラウドサーバから送信された上記目的タスクを受信する受信モジュールをさらに備える。
好ましくは、タスク計算量決定装置400は、上記クラウドサーバに上記目的タスクの計算量を報告する報告モジュールをさらに備える。
本願に係るタスク計算量決定装置400は、上記タスク計算量決定方法の実施例におけるタスク計算量決定装置が実現する各過程を実現し、同じ効果を達成することができ、重複を避けるため、ここでは説明を省略する。
本願の実施例では、本願は電子機器及び可読記憶媒体をさらに提供する。
図6に示すように、本願実施例に係るタスク計算量決定方法のための電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及びその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを意図する。電子機器は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブル機器及びその他の類似の計算装置などの様々な形態の携帯機器を表すこともできる。本明細書で示された部品、それらの接続及び関係、並びにそれらの機能は、単なる例に過ぎず、本明細書で説明及び/又は要求された本願の実現を限定することを意図しない。
図6に示すように、該電子機器は、1つ以上のプロセッサ501と、メモリ502と、各部品を接続し、高速インタフェース及び低速インタフェースを含むインタフェースとを備える。各部品は、異なるバスを用いて互いに接続され、共通のマザーボードに取り付けられてもよく、必要に応じて他の方式で取り付けられてもよい。プロセッサは、外部入力/出力装置(例えば、インタフェースに結合された表示機器)にGUIのグラフィック情報を表示するようにメモリ内又はメモリ上に記憶されている命令を含めて、電子機器内で実行される命令を処理することができる。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを、複数のメモリと共に使用してよい。同様に、複数の電子機器が接続されてもよく、各機器は、(例えば、サーバアレイ、ブレードサーバのグループ、又はマルチプロセッサシステムとして)必要な動作の一部を提供する。図6では、1つのプロセッサ501を例とする。
メモリ502は、本願に係る非一時的なコンピュータ可読記憶媒体である。上記メモリには、少なくとも1つのプロセッサによって実行されると、本願に係るタスク計算量決定方法を少なくとも1つのプロセッサに実行させる命令が記憶されている。本願に係る非一時的なコンピュータ可読記憶媒体には、本願に係るタスク計算量決定方法をコンピュータに実行させるコンピュータ命令が記憶されている。
メモリ502は、非一時的なコンピュータ可読記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュール、例えば、本願実施例におけるタスクの計算量の決定方に対応するプログラム命令/モジュール(例えば、図5に示す第1制御モジュール401、取得モジュール402及び決定モジュール403)を記憶することができる。プロセッサ501は、メモリ502内に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することにより、タスク計算量決定装置の様々な機能アプリケーション及びデータ処理を実行し、即ち上記方法実施例におけるタスク計算量決定方法を実現する。
メモリ502は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶できるプログラム記憶領域と、タスク計算量決定方法のための電子機器の使用に基づいて作成されたデータなどを記憶できるデータ記憶領域とを備えてもよい。また、メモリ502は、高速ランダムアクセスメモリを備えてもよく、少なくとも1つの磁気ディスクメモリ素子、フラッシュメモリ素子、又は他の非一時的な固体メモリ素子などの非一時的なメモリを備えてもよい。いくつかの実施例では、メモリ502は、好ましくは、プロセッサ501に対して遠隔に配置されたメモリを備え、これらのリモートメモリは、ネットワークを介してタスク計算量決定方法の電子機器に接続することができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク及びそれらの組み合わせを含むが、これらに限定されない。
タスク計算量決定方法のための電子機器は、入力装置503及び出力装置504をさらに備えてもよい。プロセッサ501、メモリ502、入力装置503及び出力装置504は、バス又は他の方式で接続でき、図6では、バスによる接続を例とする。
入力装置503は、入力された数字又は文字情報を受信し、タスク計算量決定方法のための電子機器のユーザ設定及び機能制御に関連するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ以上のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置504は、表示機器、補助照明装置(例えば、LED)及び触覚フィードバック装置(例えば、振動モータ)などを備えてもよい。該表示機器は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ及びプラズマディスプレイなどを含むが、それらに限定されない。いくつかの実施形態では、表示機器は、タッチスクリーンであってよい。
ここで説明されたシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、専用ASIC(専用集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、1つ以上のコンピュータプログラムにおける実施を含んでよく、該1つ以上のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行及び/又は解釈されてもよく、該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置及び少なくとも1つの出力装置からデータ及び命令を受信して、データ及び命令を該記憶システム、該少なくとも1つの入力装置及び該少なくとも1つの出力装置に伝送することができる。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードともいう)は、プログラマブルプロセッサの機械命令を含み、高水準手続き型プログラミング言語及び/又はオブジェクト指向のプログラミング言語、及び/又はアセンブリ言語/機械言語を用いて実施することができる。本明細書において、用語「機械可読媒体」及び「コンピュータ可読媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供する任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味し、機械可読信号である機械命令を受信する機械可読媒体を含む。用語「機械可読信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供する任意の信号を意味する。
ユーザとの対話を提供するために、コンピュータに対して、ここで説明されたシステム及び技術を実施でき、該コンピュータは、ユーザに情報を表示する表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、該キーボード及び該ポインティングデバイスにより入力をコンピュータに提供することができる。他の種類の装置も、ユーザとの対話を提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック又は触覚フィードバック)であってもよく、また、任意の形式(音響入力、音声入力又は触覚入力を含む)を用いてユーザからの入力を受信することができる。
ここで説明されたシステム及び技術は、バックエンド部品を(例えば、データサーバとして)備えるコンピュータシステム、ミドルウェア部品(例えば、アプリケーションサーバ)を備えるコンピュータシステム、フロントエンド部品(例えば、ユーザが、それを介して、ここで説明されたシステム及び技術の実施形態と対話できるグラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ)を備えるコンピュータシステム、又はこのようなバックエンド部品、ミドルウェア部品若しくはフロントエンド部品の任意の組み合わせを備えるコンピュータシステムにおいて実施することができる。システムの部品は、任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)により相互に接続できる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット及びブロックチェーンネットワークを含む。
コンピュータシステムは、クライアント及びサーバを備えてもよい。クライアントとサーバは、一般的に、互いに遠く離れ、通信ネットワークにより対話する。クライアントとサーバとの関係は、対応するコンピュータ上で実行され、相互にクライアント−サーバの関係を持つコンピュータプログラムによって生じる。
本願実施例の技術手段によれば、目的タスクの計算量を測定評価する必要がある場合に、目的タスクを目的CPUコアに実行するように制御し、かつ目的タスクが実行過程において占用するCPUタイムスライス占用率を取得することにより、目的CPUコアのDMIPSと目的タスクが占用するCPUタイムスライス占用率に基づいて、目的タスクの計算量を決定することができる。上記技術手段を採用することにより、本願が決定したタスクの計算量は、CPU側でのタスクの計算力占用状況をより忠実かつ正確に特徴付けることができる。したがって、タスクを配置する際に、本願が決定したタスクの計算量に基づいて、機器のハードウェアタイプの選択に、より価値のある参考を提供することができる。
上記様々な形式のプロセスを使用して、ステップの並べ替え、追加、又は削除を行うことができることを理解すべきである。例えば、本願に記載の各ステップは、本願に開示された技術手段の所望の結果を達成できる限り、並行して、順次、又は異なる順序で実行することができるが、本明細書には限定されない。
上記発明を実施するための形態は、本願の保護範囲に対する制限を構成するものではない。当業者は、設計要件及び他の要因に基づいて、様々な修正、組み合わせ、サブ組み合わせ及び置換を行うことができることを理解すべきである。本願の精神及び原則の範囲内で行われた修正、同等置換、及び改良などは、全て本願の保護範囲に含まれるべきである。

Claims (19)

  1. 目的タスクを目的CPUコアに実行するように制御することと、
    前記目的タスクの実行開始から実行終了までの期間であるタスク実行期間における前記目的タスクのCPUタイムスライス占用率を取得することと、
    前記目的CPUコアのDMIPS及び前記CPUタイムスライス占用率に基づいて、前記目的タスクの計算量を決定することと、
    を含むタスク計算量決定方法。
  2. タスク実行期間における前記目的タスクのCPUタイムスライス占用率を取得することが、
    前記タスク実行期間における前記目的CPUコアのCPUタイムスライスを取得することと、
    前記目的タスクが占用するCPUタイムスライスを取得することと、
    前記タスク実行期間における前記目的CPUコアのCPUタイムスライスと前記目的タスクが占用するCPUタイムスライスに基づいて、前記タスク実行期間における前記目的タスクのCPUタイムスライス占用率を決定することと、
    を含む請求項1に記載の方法。
  3. 前記目的タスクの計算量が、画像検出アルゴリズムの計算量、音声認識アルゴリズムの計算量、又は計画及び制御アルゴリズムの計算量を含む請求項1に記載の方法。
  4. 前記目的タスクの計算量は、目的フレームレートでの画像検出アルゴリズムの計算量であり、
    前記目的CPUコアのDMIPS及び前記CPUタイムスライス占用率に基づいて、前記目的タスクの計算量を決定することが、
    前記画像検出アルゴリズムが前記タスク実行期間において処理する画像のフレーム数を取得することと、
    前記目的CPUコアのDMIPS、前記CPUタイムスライス占用率、前記タスク実行期間及び前記画像のフレーム数に基づいて、前記画像検出アルゴリズムのシングルフレーム計算量を決定することと、
    前記シングルフレーム計算量及び前記目的フレームレートに基づいて、目的フレームレートでの前記画像検出アルゴリズムの計算量を決定することと、
    を含む請求項3に記載の方法。
  5. 前記目的タスクを前記目的CPUコアに実行する過程において、前記目的CPUコアの実行周波数を所定の周波数に制御することを含む請求項1から4のいずれか一項に記載の方法。
  6. 目的タスクを目的CPUコアに実行するように制御することが、前記目的タスクを所定の優先度で前記目的CPUコアに実行するように制御することを含む請求項1から4のいずれか一項に記載の方法。
  7. 目的タスクを目的CPUコアに実行するように制御する前に、
    ユーザによりクラウドサーバに予めアップロードされた、前記クラウドサーバから送信された前記目的タスクを受信することを含む請求項1から4のいずれか一項に記載の方法。
  8. 前記目的タスクの計算量を計算した後、
    前記クラウドサーバに前記目的タスクの計算量を報告することを含む請求項7に記載の方法。
  9. 目的タスクを目的CPUコアに実行するように制御する第1制御モジュールと、
    前記目的タスクの実行開始から実行終了までの期間であるタスク実行期間における前記目的タスクのCPUタイムスライス占用率を取得する取得モジュールと、
    前記目的CPUコアのDMIPS及び前記CPUタイムスライス占用率に基づいて、前記目的タスクの計算量を決定する決定モジュールと、
    を備えるタスク計算量決定装置。
  10. 前記取得モジュールが、
    前記タスク実行期間における前記目的CPUコアのCPUタイムスライスを取得する第1取得サブモジュールと、
    前記目的タスクが占用するCPUタイムスライスを取得する第2取得サブモジュールと、
    前記タスク実行期間における前記目的CPUコアのCPUタイムスライスと前記目的タスクが占用するCPUタイムスライスに基づいて、前記タスク実行期間における前記目的タスクのCPUタイムスライス占用率を決定する第1決定サブモジュールと、
    を備える請求項9の記載の装置。
  11. 前記目的タスクの計算量が、画像検出アルゴリズムの計算量、音声認識アルゴリズムの計算量、又は計画及び制御アルゴリズムの計算量を含む請求項9に記載の装置。
  12. 前記目的タスクの計算量は、目的フレームレートでの画像検出アルゴリズムの計算量であり、
    前記決定モジュールが、
    前記画像検出アルゴリズムが前記タスク実行期間において処理する画像のフレーム数を取得する第2取得サブモジュールと、
    前記目的CPUコアのDMIPS、前記CPUタイムスライス占用率、前記タスク実行期間及び前記画像のフレーム数に基づいて、前記画像検出アルゴリズムのシングルフレーム計算量を決定する第2決定サブモジュールと、
    前記シングルフレーム及び前記目的フレームレートに基づいて、目的フレームレートでの前記画像検出アルゴリズムの計算量を決定する第3決定サブモジュールと、
    を備える請求項11に記載の装置。
  13. 前記目的タスクを前記目的CPUコアに実行する過程において、前記目的CPUコアの実行周波数を所定の周波数に制御する第2制御モジュールを含む請求項9から12のいずれか一項に記載の装置。
  14. 前記第1制御モジュールが、前記目的タスクを所定の優先度で前記目的CPUコアに実行するように制御する請求項9から12のいずれか一項に記載の装置。
  15. ユーザによりクラウドサーバに予めアップロードされた、前記クラウドサーバから送信された前記目的タスクを受信する受信モジュールを備える請求項9から12のいずれか一項に記載の装置。
  16. 前記クラウドサーバに前記目的タスクの計算量を報告する報告モジュールを備える請求項15に記載の装置。
  17. 少なくとも1つのプロセッサと、
    該少なくとも1つのプロセッサに通信接続されるメモリと、
    を備え、
    前記メモリには、前記少なくとも1つのプロセッサに実行可能で、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに請求項1から8のいずれか一項に記載の方法を実行させる命令が記憶されている電子機器。
  18. 請求項1から8のいずれか一項に記載の方法をコンピュータに実行させるコンピュータ命令が記憶されている非一時的なコンピュータ可読記憶媒体。
  19. プロセッサによって実行されると、請求項1から8のいずれか一項に記載の方法が実現されるコンピュータプログラムを備えるコンピュータプログラム製品。
JP2021038109A 2020-03-17 2021-03-10 タスク計算量決定方法、装置、電子機器及びコンピュータプログラム製品 Active JP7223048B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010185070.4 2020-03-17
CN202010185070.4A CN111427758A (zh) 2020-03-17 2020-03-17 任务计算量确定方法、装置和电子设备

Publications (2)

Publication Number Publication Date
JP2021099860A true JP2021099860A (ja) 2021-07-01
JP7223048B2 JP7223048B2 (ja) 2023-02-15

Family

ID=71549540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021038109A Active JP7223048B2 (ja) 2020-03-17 2021-03-10 タスク計算量決定方法、装置、電子機器及びコンピュータプログラム製品

Country Status (3)

Country Link
JP (1) JP7223048B2 (ja)
KR (1) KR102542247B1 (ja)
CN (1) CN111427758A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590282A (zh) * 2021-07-19 2021-11-02 海宁奕斯伟集成电路设计有限公司 算力调度方法、系统、电子设备及计算机可读存储介质
CN114048857A (zh) * 2021-10-22 2022-02-15 天工量信(苏州)科技发展有限公司 算力分配方法、装置及算力服务器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913855A (zh) * 2020-09-21 2020-11-10 北京百度网讯科技有限公司 确定目标任务计算量的方法和装置
CN113419917A (zh) * 2021-06-23 2021-09-21 蔚然(南京)动力科技有限公司 一种嵌入式操作系统任务和中断的cpu负载率计算方法
CN117453486A (zh) * 2023-11-13 2024-01-26 摩尔线程智能科技(北京)有限责任公司 面向进程的gpu利用率的确定方法、装置、设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250905A (ja) * 2012-06-04 2013-12-12 Hitachi Ltd 仮想計算機システム及び仮想計算機システムの負荷制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797115A (en) * 1995-08-24 1998-08-18 Fuller; Billy Measuring direct and indirect usage of a central processing unit
JP2006338264A (ja) * 2005-06-01 2006-12-14 Toyota Infotechnology Center Co Ltd タスク割当装置およびタスク割当方法
CN101650685A (zh) * 2009-08-28 2010-02-17 曙光信息产业(北京)有限公司 设备能效的确定方法和装置
KR20120067825A (ko) * 2010-12-16 2012-06-26 한국전자통신연구원 임베디드 리눅스를 위한 적응형 프로세스 스케쥴링 방법
US9047067B2 (en) * 2011-04-22 2015-06-02 Qualcomm Incorporated Sensorless detection and management of thermal loading in a multi-processor wireless device
KR101545146B1 (ko) * 2013-11-28 2015-08-20 한국과학기술정보연구원 클라우드 스토리지 기반 작업 수행 시스템 및 방법
KR102237373B1 (ko) * 2014-07-02 2021-04-07 삼성전자 주식회사 전자 장치의 태스크 스케줄링 방법 및 이를 사용하는 전자 장치
CN106708709A (zh) * 2015-07-30 2017-05-24 中兴通讯股份有限公司 Cpu占用率检测方法及装置
CN107231264A (zh) * 2017-07-25 2017-10-03 北京百度网讯科技有限公司 用于管理云服务器的容量的方法和装置
CN107491378A (zh) * 2017-08-31 2017-12-19 杭州迪普科技股份有限公司 一种cpu占用率的确定方法及装置
CN109002377A (zh) * 2018-07-26 2018-12-14 郑州云海信息技术有限公司 一种处理器检测方法、处理器检测装置以及计算机设备
CN110362411B (zh) * 2019-07-25 2022-08-02 哈尔滨工业大学 一种基于Xen系统的CPU资源调度方法
CN110597639B (zh) * 2019-09-23 2021-07-30 腾讯科技(深圳)有限公司 Cpu分配控制方法、装置、服务器及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250905A (ja) * 2012-06-04 2013-12-12 Hitachi Ltd 仮想計算機システム及び仮想計算機システムの負荷制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590282A (zh) * 2021-07-19 2021-11-02 海宁奕斯伟集成电路设计有限公司 算力调度方法、系统、电子设备及计算机可读存储介质
CN114048857A (zh) * 2021-10-22 2022-02-15 天工量信(苏州)科技发展有限公司 算力分配方法、装置及算力服务器
CN114048857B (zh) * 2021-10-22 2024-04-09 天工量信(苏州)科技发展有限公司 算力分配方法、装置及算力服务器

Also Published As

Publication number Publication date
KR20210038455A (ko) 2021-04-07
KR102542247B1 (ko) 2023-06-12
JP7223048B2 (ja) 2023-02-15
CN111427758A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
JP2021099860A (ja) タスク計算量決定方法、装置、電子機器及びコンピュータプログラム製品
Park et al. Deep learning inference in facebook data centers: Characterization, performance optimizations and hardware implications
KR102482122B1 (ko) 태스크 병렬 처리 구현 방법, 장치, 기기 및 매체
TWI594116B (zh) 管理運算系統的操作之技術
CN110674936A (zh) 一种神经网络处理方法、装置、计算机设备及存储介质
CN110869909A (zh) 应用机器学习算法来计算健康分数以进行工作负载调度的系统和方法
CN111667054A (zh) 生成神经网络模型的方法、装置、电子设备以及存储介质
JP2021174516A (ja) ナレッジグラフ構築方法、装置、電子機器、記憶媒体およびコンピュータプログラム
US20180285107A1 (en) Branch prediction using a perceptron-based branch prediction technique
US20220374678A1 (en) Method for determining pre-training model, electronic device and storage medium
US9542294B2 (en) Method to apply perturbation for resource bottleneck detection and capacity planning
Dogani et al. Multivariate workload and resource prediction in cloud computing using CNN and GRU by attention mechanism
CN112784985A (zh) 神经网络模型的训练方法及装置、图像识别方法及装置
JP2021168128A (ja) 人材需要予測方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
US11354163B2 (en) Virtual machine placement method and virtual machine placement device implementing the same
Hafeez et al. Empirical analysis and modeling of compute times of cnn operations on aws cloud
Rang et al. Data life aware model updating strategy for stream-based online deep learning
CN108897673B (zh) 系统容量评估方法与装置
CN113419941A (zh) 评估方法及装置、电子设备和计算机可读存储介质
JP2021128779A (ja) データ拡張の方法及び装置、機器、記憶媒体
De Carvalho et al. Autonomous power management for embedded systems using a non-linear power predictor
JP2022095895A (ja) 交通データ予測方法、交通データ予測装置、電子機器、記憶媒体、コンピュータプログラム製品及びコンピュータプログラム
JP7265618B2 (ja) 深層学習トレーニングタスクに向けたプロセッサメモリを最適化するための方法及び装置
Aghapour et al. PELSI: Power-Efficient Layer-Switched Inference
Leech et al. Application control and monitoring in heterogeneous multiprocessor systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210310

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230203

R150 Certificate of patent or registration of utility model

Ref document number: 7223048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150