JP2016001417A - 計算機システム - Google Patents
計算機システム Download PDFInfo
- Publication number
- JP2016001417A JP2016001417A JP2014121170A JP2014121170A JP2016001417A JP 2016001417 A JP2016001417 A JP 2016001417A JP 2014121170 A JP2014121170 A JP 2014121170A JP 2014121170 A JP2014121170 A JP 2014121170A JP 2016001417 A JP2016001417 A JP 2016001417A
- Authority
- JP
- Japan
- Prior art keywords
- task
- priority
- core
- physical
- executed
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】汎用OS上でAPタスクとシステムタスクが実行されるシステムであっても、APタスクのリアルタイム性を保証すること。【解決手段】複数の物理コアを有するCPUと、物理コア上で動作するシステムタスク、APタスクとを有する計算機であって、システムタスクと、リアルタイム性の保証が必要なAPタスクを異なる物理コアで動作するよう割当てる。【選択図】図2
Description
本発明は、リアルタイム性の保証が必要なアプリケーションプログラムの処理時間を予測可能な計算機システムに関する。
制御システムにおいて、リアルタイム性を保証することが求められており、従来、専用ハードウェアやリアルタイムOS(Operating System)を導入したシステムでは、リアルタイム性を保証している。一方、近年、情報技術の発達により、汎用ハードウェア及び汎用OS上でもリアルタイム性の保証が求められている。ハードウェアにおいては、CPU(Central Processing Unit)として、複数のCPUコアを有するものを用いる共に、動作周波数の高いものを用い、CPUの時計として高精度のものを用いている。さらに、OSにおいては、リアルタイム性の保証に必要なFIFO(First-In First-Out)優先度制御や優先度逆転処理が導入されている(特許文献1参照)。
汎用ハードウェア及び汎用OS上で、リアルタイムシステムを構築した場合、リアルタイム性の保証が必要なアプリケーションプログラムであるリアルタイムタスク(以下、APタスクと称することがある。)以外に、汎用OSによって生成されたシステムタスクに属するタスク、例えば、割込み処理用タスクやディスク処理タスクなど、システム運用に必要なシステムタスクが実行される。また、システムの応答性の向上のため、外部デバイスからの割込み処理用タスクを高優先度で運用するケースも多い。このようなシステムにおいて、APタスクとシステムタスクが混在すると、APタスクの処理とシステムタスクの処理とが干渉し、特許文献1のような仕組みだけでは、APタスクのリアルタイム性を保証すること、即ち、APタスクの処理時間のデッドラインを守り、APタスクの処理時間の予測性(APタスクの最長処理時間の予測性)を高めることが困難になる。
本発明の目的は、汎用OS上でAPタスクとシステムタスクが実行されるシステムであっても、APタスクのリアルタイム性に与える影響を軽減する。
複数の物理コアを備えるCPUと、前記物理コアで実行されるオペレーティングシステムの処理を行うシステムタスクと、前記物理コアで実行されるリアルタイム処理を行うアプリケーションタスクとを備え、前記システムタスクと前記アプリケーションタスクを実行する物理コアを割当てるときに前記システムタスクを割当てる物理コアを、前記アプリケーションタスクを割当てる物理コアを異なる物理コアに割当てる割当部を備える計算機システムにより実現する。
本発明によれば、汎用OS上でAPタスクとシステムタスクが実行されるシステムであっても、APタスクのリアルタイム性に与えるシステムタスクの影響を軽減できる。
以下、本発明に係る計算機の実施例を図面に基づいて説明する。
実施例は、リアルタイム性の保証が必要な処理を行うアプリケーションプログラムであるAPタスク(リアルタイムタスク)と、汎用OSによって生成されるシステムタスクに対して、優先度割当ルールに従って優先度を設定すると共に、コア割当ルールに従って物理コアを割当て、APタスクの実行領域とシステムタスクの実行領域とを分離し、APタスクとシステムタスク間の性能干渉を抑制するものである。
図1は、本発明に係る実計算機の構成図の例である。図1において、実計算機100は、ハードウェア資源として、CPU101と、物理メモリ102と、ハードディスクドライブ等の外部記憶装置103と、ネットワークインタフェース104を有し、こられがバス110を介して接続される。なお、ネットワークインタフェース104又はバス110には、コンソール等のユーザ端末が接続される。また、ハードウェア資源上で動作するソフトウェア資源からの情報を表示する外部出力装置105が、ネットワークインタフェース104又はバス110に接続される。
CPU101は、情報を処理する複数の物理コアとして、複数のCPUコア106(以下、物理コアと称することがある。)を有し、実計算機100全体を統括制御する制御部として機能する。メモリ102は、CPU101が処理するためのプログラム等を格納する記憶領域として構成される。外部記憶装置103は、OS(Operating System)やデータを格納する記憶装置として構成される。ネットワークインタフェース104は、CPU101が、実計算機100外部の装置や通信ネットワーク等とデータや情報の授受を行うために構成される。外部出力装置105は、ハードウェア資源上で動作するソフトウェア資源からの情報を、実計算機100外部の装置やユーザ端末等に出力する出力部としても構成される。
CPU101は、実計算機100の電源が投入された後、外部記憶装置103の特定領域の内容を物理メモリ102に読み込み、物理メモリ102に読み込まれた内容を基に外部記憶装置103に格納されているOSの起動を実施する。以下の説明では、CPU101が外部記憶装置103から、プログラムを読み出して物理メモリ102に格納することを、プログラムをローディングする。また、CPU101が物理メモリ102に格納されているプログラムを実行することを、OSがOS上に存在するプログラムを実行する。
図2は、実計算機のソフトウェア構成図の例である。図2において、実計算機100は、ソフトウェア資源として、汎用OS200と、リアルタイム制御部210と、APタスク群250を有する。汎用OS200上では、システムの運用管理に必要なシステムタスク群201が動作する。システムタスク群201は、OSが生成するカーネルスレッドやハードウェアのデバイスを制御するデモンプロセス等、汎用OS200上で動作するタスクである。以下の説明では、システムタスク群201とリアルタイム制御部210をシステムタスクとして説明する。
リアルタイム制御部210は、汎用OS200によって実行されるミドルウェアであり、入力部211と、判定部212と、割当部213と、優先度/コア割当管理テーブル214と、APタスク情報テーブル215と、優先度/コア割当設定テーブル216と、システムタスク管理テーブル217と、物理コア状態テーブル218と、APタスク生成部220と、APタスク監視部230と、外部IO(Input Output)制御部240から構成される。なお、APタスク生成部220と、外部IO(Input Output)制御部240は、リアルタイム制御部210の起動時に、汎用OS200によって実行されるシステムタスクとして動作する。
入力部211は、ユーザ端末から入力されたAPタスクの特性情報を受け付ける。判定部212は、入力部211に入力されたAPタスクの特性情報の整合性を判定すると共に、APタスクの優先度及びシステムタスクの優先度を規定した優先度割当ルールに従ってAPタスクの特性情報に基づいてAPタスクの優先度を判定する。また、判定部212はAPタスクが予定された実行時間内に実行可能かどうかを判定する。割当部213は、入力部211に入力された特性情報を基に、汎用OS200上で実行する全てのシステムタスク及びAPタスクに対して、実優先度(実行優先度)と、物理コア(実行コア)を割り当てる。この際、割当部213は、優先度/コア割当管理テーブル214に格納されている、APタスクの優先度及びシステムタスクに対する物理コアの割当を規定したコア割当ルールに従ってAPタスクに、いずれかの物理コアを割当てる。判定部212は独立したモジュールとして実装されても、割当部213の処理の一部として実装されてもよい。
APタスク生成部220は、APタスクを生成するために、APタスク群250と、APタスクの周期や動作を管理するAPタスク監視部230が監視タスクを外部記憶装置103からローディングし、汎用OS200への要求により実行する。
図3は、優先度/コア割当規則テーブル214の構成図である。優先度/コア割当規則テーブル214は、優先度識別子フィールド214Aと、MIN(最小値)フィールド214Bと、MAX(最大値)フィールド214Cと、物理コア割当パラメータフィールド214Dと、実優先度重複許容度214Eと、実優先度の最大値214Fから構成される。優先度/コア割当管理テーブル214には、APタスクの優先度及びシステムタスクの優先度を規定した優先度割当ルールの情報が格納されると共に、APタスク及びシステムタスクに対する物理コアの割当規則を規定したコア割当ルールの情報が記録されている。
具体的には、優先度識別子フィールド214Aは、システムタスクやAPタスクを識別するための識別子である。システムタスクは、APタスクより高優先度のシステムタスクを識別するための識別子「SYS PRO」とAPタスクよりも低優先度のプロセスを識別するための識別子として、「PROCESS」で区別し、それぞれ優先度識別子フィールド214Aに格納される。また、優先度識別子フィールド214Aのエントリには、APタスクを識別するための識別子として、「AP」の情報が格納される。
「SYS PRO」に属するシステムタスクは、システムタスクの中でAPタスクより高優先度で実行する必要があるシステムタスクである。例えば、汎用OS200からの割込み処理を行うタスクやリアルタイム制御部210等、APタスクの管理に必要な処理を行うタスクである。また、APタスクの暴走などの異常状態が発生した場合、APタスクの処理の停止やそのときの操作ログやメモリダンプの処理を行うタスクである。
「AP」に属するAPタスクは、APタスク群250を構成するAPタスクである。「PROCESS」に属するシステムタスクは、「SYS PRO」に属するシステムタスク以外のシステムタスクである。例えば、APタスクの監視プロセスは、「PROCESS」の優先度に属するシステムタスクである。「PROCESS」の優先度に設定することにより、APタスクの監視プロセスは、APタスクの周期監視や処理時間の監視が可能である。即ち、汎用OS200は、優先度順にシステムタスクまたはAPタスクを実行するため、APタスクの実行後に、APタスクより低優先度の、APタスクの監視プロセスが実行することで、APタスクの監視プロセスは、APタスクが、その実行に使用したCPUコアの処理時間の監視が可能となる。
また、システムタスクの中で、高優先度処理が必要とされないディスク処理タスクは、「PROCESS」に属するシステムタスクとして設定される。「AP」に属するAPタスク群250の優先度と、「SYS PRO」に属するシステムタスク又は「PROCESS」に属するシステムタスクの優先度を異なる優先度に設定することで、APタスク群250の性能を保証することができると共に、APタスク群250の異常時の対策や監視を行うためのシステムタスクの優先度を変更することができる。
214BのMIN(最小値)は、仮想優先度範囲の最小値である。仮想優先度は、リアルタイムタスク210が管理しているAPタスクの実行順序を表す優先度であるが、汎用OS200で定義管理している実優先度と値及び範囲は異なる。MIN(最小値)フィールド214Bのエントリには、例えば、仮想優先度範囲の最小値として、「0」の情報が格納される。
MAX(最大値)は、仮想優先度範囲の最大値である。例えば、設定可能な仮想優先度の数を256個とした場合、「SYS PRO」のシステムタスクには、最も高い仮想優先度として、「0」〜「63」の値を設定し、「SYS_PRO」のシステムタスクで使用可能な仮想優先度の数は64個に設定する。「AP」のAPタスクには、中間の仮想優先度として、「64」〜「191」の値が設定し、APタスクの優先度として128個の仮想優先度が設定可能とする。また、「PROCESS」のシステムタスクには、最も低い仮想優先度として、「192」〜「255」の値が設定することが可能である。
仮想優先度は、割当部213によって、汎用OS200上の実優先度に変換される。この際、仮想優先度は、通常、実優先度に対して1対1で変換されるが、汎用OS200によっては、仮想優先度を実優先度に対して、1対1に変換できない場合がある。その場合、汎用OS200上で変換可能な優先度範囲を仮想優先度の範囲の比率で対応させる実優先度重複許容度214Eをもって実優先度を割り当てる。
例えば、「SYS PRO」のシステムタスクの場合、異なる仮想優先度を実優先度に変換するときに重複を許容しない実優先度許容度「0%」を設定する。性能や実行順序を守ることが不要な「PROCESS」のシステムタスクには、優先度重複許容度を「90%」と設定すると「192」〜「255」の64個の仮想優先度は、異なる「6」個の実優先度に変換される。「AP」のAPタスクの場合、「SYS PRO」のシステムタスクと、「PROCESS」のシステムタスクに割り当てられる実優先度を除く実優先度に重複を許容して実優先度が割り当てられる(図4)。
実優先度最大値214Fは汎用OS200で定義されている実優先度の最大値では実優先度の範囲が「0」〜「PRIO_MAX」であることを表す。
仮想優先度は、汎用OS200の優先度と異なる範囲で定義されていても良く、仮想優先度はAPタスクの実行までに汎用OSの定義範囲へ割付けられる。そのため、APタスクを設計するユーザは汎用OS200の種類などの仕様について考慮する必要がない。また、汎用OS200で運用しているAPタスクを他汎用OSへ移植する場合も、ユーザによる優先度の再設計が不要となり、高い移植性が保証可能である。例えば、標準Linux(登録商標)では、最高優先度139であり、優先度の値が大きければ高い優先度である。このような場合でもユーザが設定したAPタスクの仮想優先度は割当部213で実優先度に変換される。
物理コア割当パラメータ214Dは、物理コア106の割当方法を特定する情報である。この例では物理コア割当パラメータ214Dのエントリには、#0〜#nの番号が付与された複数の物理コア106に、番号の小さい#0の物理コアからSYS_PROの優先度識別子を持つシステムタスクに割当てることを示すため「0」が格納される。APタスクには最大値の番号(#n)の物理コアから、APの優先度識別子を持つAPタスクに割当てることを意味する情報として、最大値の番号(#n)の「CPU_MAX」が格納される。
物理コア割当では、APタスクとシステムタスクに、それぞれ異なる物理コアが割当てられるように、割当部213によって物理コアの割当が行われる。即ち、「SYS PRO」に属するシステムタスク又は「PROCESS」に属するシステムタスクには、物理コア割当として物理コアの識別子を示す「0」が格納されるので、これらのシステムタスクの処理は、同じ物理コア「0」で実行されることなる。
一方、「AP」に属するAPタスク群250には、コア割当として「CPU_MAX」の情報が格納されるので、APタスクの処理は、システムタスクとは異なるCPUコアで実行されることになる。そのため、システムタスクによるAPタスクへの性能の影響を軽減することができ、APタスクのリアルタイム性を保証することができる。逆に、APタスクの異常(APタスクの暴走等)によるシステムタスクへの影響を排除することができ、システムが不安定になることが防げ、システムの信頼性を確保することができる。
図5はシステムタスク管理テーブル217の構成図の例である。システムタスク管理テーブル217は、システムタスク識別子217Aと、優先度識別子217Bと、仮想優先度識別子217Cと、物理コア識別子217Dと、実優先度217Eと実行状態217Fで構成される。システムタスク管理テーブル217には、汎用OS200上で実行されるシステムタスクの実行する優先度と物理コアの情報が記録されている。
システムタスク識別子217Aはシステムタスクを識別するものである。識別子217Aには、大きく、汎用OS200上で管理されるシステムタスク群201と、リアルタイム制御部210で管理するシステムタスク群がある。リアルタイム制御部210で管理するシステムタスク群には、リアルタイム制御部210とAPタスク生成部220と外部IO制御部240と、APタスク管理プログラム(APタスク管理部230)の「AP_WDT」と、後述するユーザ設定のIO処理タスクの「IO_PROCESS」がある。
物理コア識別子217Cは、CPU101が、複数の物理コア106で構成される場合、各物理コアを識別するための識別子である。例えば、物理コアが#0〜#3の4つがある場合、物理コア#0を「C0」、#1を「C1」のように表す。前記システムタスク識別子217AのAPタスク管理プログラムの「AP_WDT」を除く、システムタスクは、物理コア#0の「C0」が設定される。APタスク管理プログラムの「AP_WDT」は、APタスク用物理コア毎に用意されてAPタスク用物理コアで動作するように設定される。APタスク管理プログラムの「AP_WDT」も、物理コア「C0」に割当て、APタスクと異なる物理コアで実行する運用にすれば物理コア数の制限を緩和できる。
リアルタイム制御部210の起動時に、各システムタスクの仮想優先度から実優先度への変換を行い、汎用OS200の実優先度変更要求に基づいて、各システムタスクの実優先度を変更する。また、リアルタイム制御部210が管理するシステムタスクは、汎用OS200へのタスク生成要求によって生成され、実優先度に変更し、物理コア識別子217Dで指定された物理コアで実行される。実行後は、実行状態217Eの状態をセットする。APタスク管理プログラムの「AP_WDT」と、後述するユーザ設定のIO処理タスクの「IO_PROCESS」は、APタスクを生成するには、APタスク生成部220から、汎用OS200へのタスク生成を要求し、優先度を変更し、物理コア識別子217Dで指定された物理コアで実行される。
図6は物理コア状態テーブル218の構成図である。物理コア状態テーブル218は、物理コア識別子218Aと、物理コアの用途218Bと、物理コアの運用状態218Cと当該物理コア上で実行がスケジュールされたタスクの処理時間の計算値218Dと、該当物理コア上で実行がスケジュールされたタスクの実際の処理時間である運用実績値218Eから構成される。計算値218Dは当該物理コアで実行されるタスクのうち最も実行周期が長いタスクの1周期が実行さるときに実行される全てのタスクの累積実行時間としても良い。
物理コアの用途218Bは、各物理コアの用途の情報が格納される。例えば、物理コア「C0」はシステムタスク用の「システム」、「C1」から「C3」はAPタスク用の「AP」が格納される。物理コアの運用状態218Cは、各物理コアの割当状況を表す。「C0」の場合、前記リアルタイム制御部210の起動時にシステムタスクの実優先度や物理コア割当後に、運用状態218Cは割当て済を示す「1」が設定される。また、APタスク用の「C1」から「C3」は、前記APタスク生成部220によってAPタスクが生成された時に「1」と生成される。
計算値218Dは、前記割当部213によって、前記入力部211からのAPタスクの特性情報から算出したAPタスクの処理時間が格納される。一方、実績運用値218Eは、前記APタスク管理プログラムの「AP_WDT」によって実際該当物理コアで処理されているAPタスクの処理時間が格納される。なお、前記APタスク管理プログラムは計算値218Dと実績運用値218EからAPタスクのデッドライン監視を行う。
図7はAPタスク情報テーブル215の構成図の例である。APタスク情報テーブル215は、ユーザ端末から入力された特性情報を記録するためのテーブルであって、タスク識別子フィールド215Aと、グループ識別子フィールド215Bと、論理コアフィールド215Cと、仮想優先度フィールド215Dと、実行周期フィールド215Eと、最長処理時間フィールド215Fと、デッドラインフィールド215Gと、IO処理フィールド215Hから構成される。各フィールドのエントリには、ユーザが、ユーザ端末を操作して入力した情報(ユーザ、例えば、設計者の設計によるAPタスクの特性に関するAPタスク特性情報)が前記入力211によって登録される。
タスク識別子215Aは、APタスク設計者であるユーザが、APタスクを識別するために設定した識別子である。識別子フィールド215Aのエントリには、例えば、APタスクを識別するための識別子として、「APタスク1」の情報が格納される。グループ識別子は、複数のAPタスクを複数のグループに分けた場合、ユーザが、各グループを識別するための識別子である。グループ識別子フィールド215Bのエントリには、例えば、APタスク1が、#0のグループに属する場合、「0」の情報が格納される。論理コアは、ユーザが、APタスクに割当てるための論理上のCPUコアである。論理コアフィールド215Cのエントリには、例えば、APタスク1に、#1の論理コアを割当てた場合、論理コア識別子の「V1」の情報が格納される。
論理コアは、仮想優先度と同様に、実計算機100の仕様によらない設計環境をユーザに提供し、APタスクの他ハードウェアや汎用OSへの移植性を高めるものである。そのため、前記割当部213によって実際の物理コア106を割り当てる設定を行う必要がある。その際、物理コア106はシステムタスクに割り当てること等により論理コア数より少ない場合が発生する。その場合、複数の論理コアに割当てられたタスクを一つの物理コアに割当てることになり、APタスクの周期やデッドラインを守ることが可能かどうかが割当て可能かどうかを判定する基準となる。このため、論理コアの値は異なるが、物理コア106が、同じ割り当てとなることがある(図9)。処理の詳細は後述する(図13)。
仮想優先度は、ユーザが、優先度/コア割当管理テーブル214の優先度識別子214Aの「AP」の範囲の中から任意の値を、APタスクに対して設定するための論理上の優先度である。仮想優先度フィールド215Dのエントリには、例えば、APタスク1に対する仮想優先度を「100」とした場合には、「100」の情報が格納される。実行周期は、APタスクの設計上の処理周期である。実行周期フィールド215Eのエントリには、例えば、#1のAPタスクに対する処理周期を、「100ms」に設定した場合、「100」の情報が格納される。この仮想優先度は、APタスクに論理コアが対応づけられたときの実行優先度として、APタスクに指定される。
最長処理時間は、APタスクの処理に要する最長処理時間である。最長処理時間フィールド215Fのエントリには、例えば、APタスク1の処理に要する最長処理時間が、「2ms」である場合、「2」の情報が格納される。デッドラインは、APタスクの処理に要する時間として許容できる限界値である。デッドラインフィールド215Gのエントリには、例えば、APタスク1の処理に要する時間の限界値が、「100ms」である場合、「100」の情報が格納される。ただし、最長処理時間215F及びデッドライン215GはAPタスクによって入力必須ではない。その場合、実行周期215Eの値を代用してもよい。
IO処理は、IO処理を特定するためのIO処理プログラムの名称である。IO処理フィールド215のエントリには、例えば、IO処理タスクの名称として、「F1」の情報が格納される。IO処理タスクは、外部IO制御部240によって管理制御され、APタスクとの外部IO情報のやり取りを行う。
図8はAPタスクに割当てられた情報を管理するための優先度/コア割当設定テーブル216の構成図の例である。タスク識別子216Aと、物理コア識別子216Bと、実優先度フィールド216Cと、実行状態216Dと、共有メモリ識別子フィールド216Eと、共有メモリ状態フィールド216Fから構成される。
物理コア識別子216Bと実優先度216Cは、割当部213によって該当APタスクへ割り当てる物理コア及び実優先度の情報が格納される。処理詳細は、後述する(図11と図13)。
実行状態216Dは、APタスク生成部220によって、APタスクの生成後にAPタスク実行中であることを示す「1」が設定される。共有メモリ識別子は、物理メモリ102に存在する複数の共有メモリを識別するための識別子である。共有メモリ識別子フィールド216Eのエントリには、APタスク生成部220によって、APタスク生成後に、汎用OS200へ共有メモリ割当要求を発行し、共有メモリを識別する情報が格納される。共有メモリ状態は、APタスク生成部220によって、共有メモリ割当後に共有メモリが割当てられたことを示す「1」の値が格納される。
図10は、APタスクの登録処理のフローチャートである。この処理は、ユーザが、実計算機100に対して、ユーザ端末を用いて、APタスクに関する情報を登録するための操作を実行した場合、リアルタイム制御部210によって実行される。
入力部211は、ユーザ端末から入力されたAPタスクに関する情報を読み込み、読み込んだAPタスクに関する情報であるAPタスク識別子をキーにAPタスク情報テーブル215に登録する(S1001)。次に、判定部212は、APタスク情報テーブル215を参照し、仮想優先度215Dのチェックを行い、仮想優先度215Dが優先度/コア割当管理テーブル214のMIN214BとMAX214Cの範囲外であれば、ユーザ端末へ処理失敗を出力し、処理を終了する(S1002のNO)。
MIN214BとMAX214Cの範囲の範囲内であれば(S1002のYES)、同論理コア内の全APタスクの最長処理時間215Fの合計が、同論理コア内の仮想優先度215Dの中で最低優先度のAPタスクのデッドライン215Gを超えないかチェックを行う(S1003)。ただし、APタスクによっては最長処理時間215F及びデッドライン215Gの値が設定されていない運用の場合、本処理は省略してもよい。デッドライン215Gを超える場合、ユーザ端末へ処理失敗を出力し、処理を終了する(S1003のNO)。デッドライン215Gを超えない場合、割当部213の実優先度変換処理が行われる(S1004)。次に、割当部213の物理コア割当設定が行われる(S1005)。次に、APタスク生成部220から汎用OS200へ、APタスクの生成及び変換した実優先度及び物理コアの割当要求を出し、APタスクの実優先度及び物理コアを割り当てる(S1006)。
図11は、前記割当部213による実優先度変換処理のフローチャートである。割当部213は、システムタスク管理テーブル217を読出し、全システムタスクの仮想優先度を読出し、設定されている仮想優先度の領域を高い順に並べたリストを作成し、前記仮想優先度の領域の数を算出する(S1101)。仮想優先度は値が小さいほど高い優先度である。例えば、図5の場合、仮想優先度「0、10、192、255」の4種類の優先度が設定されているため仮想化優先度領域の数は「4」となる。
次に、APタスク情報テーブル215を読出し(S1102)、処理対象の論理コアを選択し、論理コアに割り当てられている全APタスクの仮想優先度215Dを読出し、設定されている仮想優先度の領域を高優先度順に並べたリストを作成し、仮想優先度の領域の数を算出する(S1103)。例えば、図7では、論理コア「V3」の場合、仮想優先度「100、120」の「2」が仮想化優先度領域の数となる。
次に、S1102とS1103で作成したリストをマージし高優先度順に並べ替え、全システムタスクの設定仮想優先度の領域の数と、前記論理コア上の全APタスクの設定仮想優先度の領域の数の合計を算出する(S1104)。
次に、S1104で算出した仮想優先度の領域の数が、優先度/コア割当管理テーブル214の実優先度最大値214Fの以下であるか判断し、仮想優先度を実優先度に1対1に変換可能か判断する(S1105)。仮想優先度領域の数の合計が実優先度最大値214Fの以上である場合(S1105のNO)、実優先度論理マッピング処理を行う(S1111)。仮想優先度領域の数の合計が実優先度最大値214Fの以下で、仮想優先度を実優先度に1対1に変換可能な場合(1105のYES)、APタスクの実優先度を決定し、優先度/コア割当テーブル216の実優先度216Cに格納する(S1106)。汎用OS200の実優先度の変換時には、前記S1104でマージしたリストの行番号を用いる。例えば、汎用OS200が標準Linux(登録商標)の場合、実優先度の値が大きいほど高優先度のため、実優先度は、実優先度最大値214Fの「PRIO_MAX−前記リストの行番号」で変換する。システムタスク及びAPタスクの仮想優先度が設定されている領域のみについて、実優先度範囲内で設定可能かどうか判断することにより効率の良い実優先度への変換が可能となる。
未処理の論理コアがあれば処理を継続する(1107)。
図12は、前記割当部213による、実優先度論理マッピング処理のフローチャートである。APタスクの仮想優先度を汎用OS200の実優先度に1対1に変換できない場合の処理である。
優先度/コア割当管理テーブル214から、「SYS_PRO」及び「PROCESS」仮想優先度の実優先度重複許容度214Eを、それぞれ読み出す(S1201)。次に、全システムタスクの設定仮想優先度の領域の数と前記実優先度重複許容度214EからAPタスクに割当可能な実優先度の数を算出する(S1202)。例えば、汎用OS200の実優先度最大値214Fが「128」で、「SYS_PRO」のシステムタスクの設定仮想優先度領域の数が「32」、「PROCESS」のシステムタスクの設定仮想優先度領域が「32」とする。図5の場合、「SYS_PRO」の実優先度重複許容度214Eは「0」で、「PROCESS」の実優先度重複許容度214Eは「90」であるため、全システムタスクへ割り当てられる実優先度の数は、実優先度の重複を許容しない「SYS_PRO」で「32」と、「90」%の重複を許容する「PROECSS」のシステムタスク用に、「32×0.1」から「3」となる。即ち、全システムタスクへ割り当てられる実優先度の数は、「35」となり、APタスクに割当可能な実優先度の数は「93」(128−35)となる。
次に、算出した前記APタスクに割当可能な実優先度の数と、APタスクの設定仮想化優先度の領域の数からAPタスクの実優先度重複度を算出する。例えば、APタスクの設定仮想化優先度の領域の数が「114」の場合、APタスクの実優先度重複度は「18」{(1−93/114)×100(%)}となる。
次に、算出した前記APタスクの実優先度重複度から、APタスクの実優先度を決定する(S1204)。具体的に、前記S1104で作成したリストにおいて、APタスクの設定仮想優先度の領域が格納されている行番号とAPタスクの実優先度重複度を用いてOFFSETを算出する。OFFSETは、各設定優先度の領域の格納行番号から、先頭設定仮想優先の領域の格納行番号を減算し、その差分にAPタスクの実優先度重複度からの算出した割合「1−0.18」をかけ、その結果を、再び、各設定優先度の領域の格納行番号に加算し、その結果から整数値のみを取り出した値とする。APタスクの先頭の設定仮想優先度の領域の格納行番号は「33」となり、OFFSETは、「33+(行番号−33)×0.82」の整数値となる。APタスクの実優先度は、実優先度最大値214Fの「PRIO_MAX−OFFSET」で変換する。
次に、変換したAPタスクの実優先度で、論理コア内の全APタスクの最長処理時間215Fの合計が、変化した実優先度で最低優先度のAPタスクの実行完了時間を算出する(S1205)。実行完了時間がデッドラインを超えないか判定する(S1206)。ユーザで設定した仮想優先度と実優先度が1対1に変換できなかったため、デッドライン判定の結果に影響を及ぼす場合、実優先度の論理マッピングの処理を行わず、ユーザへ割当不可を通知するためである。
次に、前記算出したデッドラインを守ることが可能でなければユーザへ割当不可を通知する(S1211)。通知内容は、前記リアルタイム制御部210の管理テーブルである、優先度/コア割当管理テーブル214、APタスク情報テーブル215、優先度/コア割当設定テーブル216、システムタスク管理テーブル217及び物理コア状態テーブル218の内容である。通知手段としては、ユーザ端末でもよいし、ファイルでもよい。デッドラインを守ることが可能であれば、変換した実優先度を、優先度/コア割当設定テーブル216の各APタスクの実優先度216Cに格納する(S1207)。
図13は前記割当部213による、物理コア割当処理のフローチャートである。割当部213は、APタスク情報テーブル215を読出し、APタスクに割り当てられている論理コアの数を算出する(S1301)。次に、物理コア状態テーブル218から、APタスク用物理コア数を算出する(S1302)。
次に、前記論理コアに1つの物理コアを割り当てられるか判断する(S1303)。前記算出した物理コアの数が前記算出した論理コアの数より大きい場合(S1303のYES)、論理コアに割り当てる物理コアを決定し(S1304)、優先度/コア割当設定テーブル216に前記決定の物理コアの情報格納し、さらに物理コア状態テーブル218の運用状態218Cに運用中であることを示す「1」を格納する(S1305)。前記算出した物理コアの数が前記算出した論理コアの数より少ない場合(S1303のNO)、1つの物理コアに割り当てる複数の論理コアを選定する(S1311)。
次に、選択された論理コアの全APタスクを単一の物理コアで実行するときのAPタスクの実行完了時間を算出する(S1312)。選ばれた1つの論理コアで実行完了時間がデッドライン以内であれば、選ばれた複数の論理コアの全APタスクを単一の物理コアに割り当てる(S1313のYES)。選定した複数の論理コアの全APタスクのデッドラインを守ることが可能な物理コアが存在しない場合(S1313のNO)、ユーザ端末へ割当不可通知を行う(S1314)。通知内容は、リアルタイム制御部210の管理テーブルである、優先度/コア割当管理テーブル214、APタスク情報テーブル215、優先度/コア割当設定テーブル216、システムタスク管理テーブル217及び物理コア状態テーブル218の内容である。
図11から図13で説明した物理コアの実優先度への変換の可否判定処理やデッドラインを守ることができるかどうかの判定処理は判定部212で実施しても良い。判定部212でこれらの処理を実施することにより論理コアに割当てるときの判定基準と物理コアに割当てるときの判定基準を統一することができ、システムの信頼性向上につながる。この際、判定部212は、例えば、論理コアに対応づけられたAPタスクが指定された実行時間内に実行可能かどうかを判定する。前記判定部212が指定された実行時間内に実行できないと判定したとき、出力部である外部出力装置105は、論理コアの識別子と実行できないと判定されたAPタスクの識別子を含む情報をユーザ端末に出力する。また、前記判定部212は、論理コアに対応づけられたAPタスクに指定された仮想優先順位を設定可能かどうか判定する。この場合、前記判定部212が、指定された仮想優先順位を設定できないと判定したとき、外部出力装置105は、論理コアの識別子と、仮想優先順位を設定できないと判定されたAPタスクの識別子を含む情報をユーザ端末に出力する。さらに、前記判定部212は、APタスクが関連付けられた複数の論理コアを単一の物理コアに割当て、APタスクを実行するとき、APタスクを論理コアに関連付けられたときに指定された仮想優先順位を物理コアの実優先順位に変換可能かどうかを判定する。前記判定部212が、変換可能と判定したとき、割当部213は、変換可能と判定された物理コアへ複数の論理コアに関連付けられたAPタスクを実行するよう割当てることができる。また、外部出力装置105は、前記判定部212が、指定された実行時間内にAPタスクを実行可能な物理コアがCPU101に無いと判定した場合、物理コアを割付けることができなかった論理コアと指定された実行時間内に実行できないAPタスクを含む情報をユーザ端末に出力する。
図14はAPタスク生成部220による、APタスク生成処理のフローチャートである。APタスク生成部220は、APタスク情報テーブル215を読出す(S1401)。次に、IO処理識別子215Hに対応するIO処理プログラムを、外部IO制御部240へ登録する(S1402)。
次に汎用OS200に対してAPタスクの生成要求を行い(S1403)、さらに、優先度/コア割当設定テーブル216から実優先度216Cと、物理コア識別子216Bに格納されている前記生成要求したAPタスクの実優先度と物理コアの値を読出し、汎用OS200へ前記実優先度及び物理コアの割当を要求する(S1404)。汎用OS200からAPタスクの起動イベントを受信すると、優先度/コア割当設定テーブル216の実行状態216DにAPタスクが実行されていることを示す「1」を格納する(S1405)。
次に、汎用OS200へ共有メモリの割当を要求し、割り当てられた共有メモリの識別子を共有メモリ識別子216Eに格納し、共有メモリ状態216Fに共有メモリが割り当てられていることを示す「1」を格納する(S1406)。APタスク情報テーブル215に処理対象のAPタスクが存在すれば、S1401の処理を再開する(S1407のNO)。APタスクの生成が終了すると(S1407のYES)、物理コア状態テーブル218に、APタスクが割り当てられた物理コアの運用状態218Cに物理コアを運用していることを示す「1」を格納し、汎用OS200への要求によりAPタスク監視部230が監視タスクを生成し、システムタスク管理テーブル217のシステムタスク識別子217Aの「AP_WDT」の実優先度217E及び物理コア識別子217Dを読出し、汎用OS200へ前記実優先度及び物理コア割り当ての要求を行い、汎用OS200からのタスク生成イベントを受信し、前記「AP_WDT」の実行状態217Fに実行中であることを示す「1」を格納する(S1408)。
図15は監視タスクによる、APタスク監視処理のフローチャートである。監視タスクは、汎用OS200により起動されると、起動時間を、システムタスク管理テーブル217の実行状態217Fに格納する(S1501)。
APタスクよりも低優先度の「PROCESS」のシステムタスクである監視タスクは、同物理コア上で実行されている全APタスクの処理が終了してから、汎用OS200によって実行される。この際、監視タスクは、自身の実行時間を取得し、システムタスク管理テーブル217の実行状態217Eに格納している実行時間との差分を算出し、物理コア状態テーブル218の処理時間の運用実績値218Eに格納する(S1502)。前記取得した自身の実行時間を、システムタスク管理テーブル217の実行状態217Eに格納し、実行状態を更新する(S1503)。この例では実行状態を示すカラムに実行時間を格納しているが、実行状態を示すカラムとは別に実行時間を格納するカラムを設けても良い。AP監視タスクの実行状態は、実行開始時間として使っても明確に実行中だという判断することが可能なので、AP監視タスクの処理時間とは、今回取得した実行時間から、前回217Eに格納していた時間の差となります。その差は、218Eの運用実績として格納されます。この運用実績と、計算値218Dとの大小比較でデッドラインオーバー判定しています。
次に、物理コア状態テーブル218の当該物理コアで予め定められた期間(周期)に実行がスケジュールされたシステムタスクとAPタスクを実行したときの処理時間の合計値である運用実績値218Eと、スケジュールしたときの計算値218Dとの差分を算出する(S1504)。前記運用実績値が計算値を上回るとデッドラインオーバーと判断する(S1505のYES)。
次に、前記デッドラインオーバー発生時の処理を行う(S1506)。前記デッドラインオーバー発生時の処理としては、デッドラインが発生した物理コア上の全APタスクのみを止め、APタスク情報テーブル215の内容とともにデッドラインが発生した旨の情報をディスプレイに表示する。その場合、ユーザは、APタスクの処理が、APタスク情報テーブル215に登録されたAPタスクの周期内で実行されたか否かを確認することができる。デッドラインオーバーが発生していない場合(S1505のNO)、監視タスクは、前記S1502の処理を継続する。この場合、監視タスクは、物理コアで実行されるAPタスクの実実行時間を測定し、測定されたAPタスクの実実行時間がAPタスクに設定された周期を超えているかどうかを判断する。監視タスクが、測定されたAPタスクの実実行時間がAPタスクに設定された周期を超えていると判定した場合、判定部212は、APタスクの識別子、APタスクを実行した物理コアの識別子及びAPタスクが関連付けられた論理コアの識別子を、外部出力装置105が出力するよう指示する判断部として機能する。
図16は、外部IO制御部240のIO処理のフローチャートである。外部IOミドルプログラムである外部IO制御部240は、APタスク生成部220によって登録されたAPタスク情報テーブル215のIO処理識別子215Hに対応するIO処理タスクを、汎用OS200への要求によって生成し(S1601)、前記生成したIO処理タスクに対して、システムタスク管理テーブル217のシステムタスク識別子217Aの「IO_PROCESS」の実優先度217Dと物理コア識別子217Cに格納している情報を読出し、汎用OS200への要求より実優先度と物理コアを割り当てる(S1602)。
次に、外部IO制御部240は、汎用OS200から、IOイベントを受信すると(S1603)、前記生成したIO処理タスクの実優先度を、システムタスク管理テーブル217の「リアルタイム制御部210」の実優先度に調整する(S1004)。即ち、前記IO処理タスクは、APタスクよりも低優先度に設定されているが、汎用OS200から、IOイベントを受信した場合には、IO処理タスクの応答性を高めるために、リアルタイム制御部210と同じ実優先度に変更される。
この後、外部IOミドルプログラムである外部IO制御部240は、汎用OS200から受信したIOデータをIO処理タスクに受け渡し(S1605)、このルーチンでの処理を終了する。この際、IO処理タスクに受け渡されたデータは、優先度/コア割当設定テーブル216の共有メモリ識別子216Eに格納されている共有メモリに格納され、その後、APタスクに渡される。IOデータが共有メモリに格納されると、前記IO処理タスクは、システムタスク識別子217Aの「IO_PROCESS」の実優先度に戻される。IO処理タスクとAPタスクには、異なる実コア(CPUコア)が割当てられ、さらにIOデータの受け渡しを共有メモリで行うため、IO処理タスクの処理時間に対する予測性は保証される。
本実施例によれば、汎用OS200上でAPタスクとシステムタスクが実行されるシステムであっても、APタスクとシステムタスク間の性能が干渉するのを軽減することができ、結果として、APタスクのリアルタイム性を保証することができる。即ち、APタスクの処理時間のデッドラインを守り、APタスクの処理時間の予測性(APタスクの最長処理時間の予測性)を高めることができる。また、APタスクの処理時間や最長処理時間を容易に予測することができるので、APタスクの設計及びシステム設計が容易になる。
また、リアルタイム制御部210は、APタスクよりも高優先度のプログラムであって、APタスクの異常の有無を監視する機能を有し、APタスクの処理が暴走するような異常時でも、APタスクの処理を停止させることができるので、APタスクの異常によって、システム全体が不安定となるのを防止し、システムの安全性の向上に寄与することができる。
本発明のリアルタイムシステムが運用中で、新規APタスクを追加する実施例である。図13の処理においてシステム運用中であるかどうかを判断し、システム運用中の処理を追加・改良することで容易に実施可能である。
例えば、新規APタスクに割り当てる物理コアを選定する時に、APタスク情報テーブル215と優先度/コア割当設定テーブル216を読出し、新規追加APタスクの論理コアのみが割当てられた物理コアが無い場合新規追加APタスクを割当てる論理コアに既に割り当てられているAPタスクが割り当てられた物理コアをAPタスク情報テーブル215から見つけ出し、物理コア状態テーブル218の運用状態218Cが、運用中であれば、その物理コア上で実行されている全APタスクと、新規追加のAPタスクの実優先度及び処理時間、実行周期を取り入れ、単一物理コアでデッドラインを守ることが可能かどうか判断し、可能であれば、前記新規追加APタスクを前記物理コアへ割り当てる。
もし、新規追加APタスクの論理コアが物理コアに割り当てられていない場合、全物理コアに対して物理コア状態テーブル218の運用状態218Cを読出し、単一物理コアに割当可能かをチェックし、割当可能であれば割当を実施する。割当不可であれば、割当不可通知をユーザに対して行う。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)メモリカード、DVD(Digital Versatile Disc)等の記録媒体に記録して置くことができる。
100 実計算機、101 CPU、102 物理メモリ、103 外部記憶装置、104 ネットワークインタフェース、105 外部出力装置、106 物理コア、200 汎用OS、201 システムタスク群、210 リアルタイム制御部、211 入力部、212 判定部、213 割当部、214 優先度/コア割当管理テーブル、215 APタスク情報テーブル、216 優先度/コア割当設定テーブル、217システムタスク管理テーブル、218 物理コア状態テーブル、220 APタスク生成部、230 監視部、240 外部IO制御部、250 APタスク群。
Claims (10)
- 複数の物理コアを備えるCPUと、
前記物理コアで実行されるオペレーティングシステムの処理を行うシステムタスクと、
前記物理コアで実行されるリアルタイム処理を行うアプリケーションタスクとを備え、
前記システムタスクと前記アプリケーションタスクを実行する物理コアを割当てるときに前記システムタスクを割当てる物理コアを、前記アプリケーションタスクを割当てる物理コアを異なる物理コアに割当てる割当部を備えることを特徴とする計算機システム。 - 請求項1に記載の計算機システムにおいて、
前記アプリケーションタスクは論理コアに対応づけられており、
論理コアに対応づけられたアプリケーションタスクが実行時間内に実行可能かどうかを判定する判定部を備え、
前記判定部が指定された実行時間内に実行できないと判定したとき論理コアの識別子と実行できないと判定されたアプリケーションタスクの識別子を出力する出力部を備えることを特徴とする計算機システム。 - 請求項2に記載の計算機システムにおいて、
前記アプリケーションタスクは周期的に実行されるタスクであり、
前記判定部が指定された実行時間内に実行可能かどうかを判定するとき、
論理コアに関連付けられた全てのアプリケーションタスクが指定された周期内で実行可能かどうか判断することを特徴とする計算機システム。 - 請求項3に記載の計算機システムにおいて、
前記判定部は論理コアに対応づけられたアプリケーションタスクに指定された仮想優先順位を設定可能かどうか判定し、
前記判定部が指定された仮想優先順位を設定できないと判定したとき前記出力部は論理コアの識別子と仮想優先順位を設定できないと判定されたアプリケーションタスクの識別子を出力することを特徴とする計算機システム。 - 請求項4に記載の計算機システムにおいて、
前記判定部は論理コアに対応づけられたアプリケーションタスクに指定された実行時間内に前記物理コアで実行可能かどうかを判定し、
前記判定部が指定された実行時間内に前記アプリケーションタスクを実行可能と判定したとき前記割当部が実行可能と判定された物理コアで前記論理コアに対応づけられたアプリケーションタスクを実行するよう割当てることを特徴とする計算機システム。 - 請求項5に記載の計算機システムにおいて、
前記アプリケーションタスクには論理コアに対応づけられたときの実行優先度である仮想優先度が指定されており、
前記判定部は前記アプリケーションタスクを前記物理コアで実行するときに指定された仮想優先度を前記物理コアで前記アプリケーションタスクを実行するときの優先度である実優先度に変換可能かどうか判定し、
前記判定部が変換可能と判定したとき前記割当部が変換可能と判定された物理コアに前記論理コアに対応づけられたアプリケーションタスクを実行するよう割当てることを特徴とする計算機システム。 - 請求項6に記載の計算機システムにおいて、
前記判定部はアプリケーションタスクが関連付けられた複数の論理コアを単一の物理コアに割当て、前記アプリケーションタスクを実行するとき前記アプリケーションを論理コアに関連付けられたときに指定された実行時間内に前記アプリケーションの実行が可能かどうかを判定し、
前記判定部が実行可能と判定したとき前記割当部が実行可能と判定された物理コアへ前記複数の論理コアに関連付けられたアプリケーションタスクを実行するよう割当てることを特徴とする計算機システム。 - 請求項7に記載の計算機システムにおいて、
前記判定部はアプリケーションタスクが関連付けられた複数の論理コアを単一の物理コアに割当て、前記アプリケーションタスクを実行するとき前記アプリケーションを論理コアに関連付けられたときに指定された仮想優先順位を物理コアの実優先順位に変換可能かどうかを判定し、
前記判定部が変換可能と判定したとき前記割当部が変換可能と判定された物理コアへ前記複数の論理コアに関連付けられたアプリケーションタスクを実行するよう割当てることを特徴とする計算機システム。 - 請求項5に記載の計算機システムにおいて、
前記判定部が指定された実行時間内に前記アプリケーションタスクを実行可能な物理コアが前記CPUに無いとき、
前記出力部は物理コアを割付けることができなかった論理コアと指定された実行時間内に実行できない前記アプリケーションタスクを出力することを特徴とする計算機システム。 - 請求項8に記載の計算機システムにおいて、
物理コアで実行されるアプリケーションタスクの実実行時間を測定する監視タスクを備え、
測定されたアプリケーションタスクの実実行時間がアプリケーションタスクに設定された周期を超えているかどうかを判断し、
周期を超えたとき前記アプリケーションタスクの識別子、前記アプリケーションタスクを実行した物理コアの識別子及び前記アプリケーションタスクが関連付けられた論理コアの識別子を前記出力部が出力するよう指示する判断部を備えることを特徴とする計算機システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014121170A JP2016001417A (ja) | 2014-06-12 | 2014-06-12 | 計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014121170A JP2016001417A (ja) | 2014-06-12 | 2014-06-12 | 計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016001417A true JP2016001417A (ja) | 2016-01-07 |
Family
ID=55076980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014121170A Pending JP2016001417A (ja) | 2014-06-12 | 2014-06-12 | 計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016001417A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016105775A (ja) * | 2016-01-07 | 2016-06-16 | 株式会社大都技研 | 遊技台 |
KR20170111462A (ko) * | 2016-03-28 | 2017-10-12 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
WO2017188109A1 (ja) * | 2016-04-28 | 2017-11-02 | 日立オートモティブシステムズ株式会社 | 車両制御装置、及び車両システム |
JP2020505666A (ja) * | 2017-01-06 | 2020-02-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 面積高効率、再設定可能、エネルギ高効率、速度高効率のニューラル・ネットワーク基板 |
JP2020166427A (ja) * | 2019-03-28 | 2020-10-08 | 株式会社日立製作所 | アプリケーション実行装置およびアプリケーション実行方法 |
US11243806B2 (en) | 2018-11-09 | 2022-02-08 | Samsung Electronics Co., Ltd. | System on chip including a multi-core processor and task scheduling method thereof |
WO2022220143A1 (ja) * | 2021-04-16 | 2022-10-20 | 株式会社日立製作所 | 演算装置、プログラムの動作方法 |
-
2014
- 2014-06-12 JP JP2014121170A patent/JP2016001417A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016105775A (ja) * | 2016-01-07 | 2016-06-16 | 株式会社大都技研 | 遊技台 |
KR20170111462A (ko) * | 2016-03-28 | 2017-10-12 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
KR102509986B1 (ko) | 2016-03-28 | 2023-03-14 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
US10994675B2 (en) | 2016-04-28 | 2021-05-04 | Hitachi Automotive Systems, Ltd. | Vehicle control device and vehicle system |
EP3451168A4 (en) * | 2016-04-28 | 2019-12-11 | Hitachi Automotive Systems, Ltd. | VEHICLE CONTROL DEVICE AND VEHICLE SYSTEM |
WO2017188109A1 (ja) * | 2016-04-28 | 2017-11-02 | 日立オートモティブシステムズ株式会社 | 車両制御装置、及び車両システム |
JP2020505666A (ja) * | 2017-01-06 | 2020-02-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 面積高効率、再設定可能、エネルギ高効率、速度高効率のニューラル・ネットワーク基板 |
US11295204B2 (en) | 2017-01-06 | 2022-04-05 | International Business Machines Corporation | Area-efficient, reconfigurable, energy-efficient, speed-efficient neural network substrate |
JP7051854B2 (ja) | 2017-01-06 | 2022-04-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 面積高効率、再設定可能、エネルギ高効率、速度高効率のニューラル・ネットワーク基板 |
US11243806B2 (en) | 2018-11-09 | 2022-02-08 | Samsung Electronics Co., Ltd. | System on chip including a multi-core processor and task scheduling method thereof |
JP2020166427A (ja) * | 2019-03-28 | 2020-10-08 | 株式会社日立製作所 | アプリケーション実行装置およびアプリケーション実行方法 |
JP7046862B2 (ja) | 2019-03-28 | 2022-04-04 | 株式会社日立製作所 | アプリケーション実行装置およびアプリケーション実行方法 |
WO2022220143A1 (ja) * | 2021-04-16 | 2022-10-20 | 株式会社日立製作所 | 演算装置、プログラムの動作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016001417A (ja) | 計算機システム | |
US11182196B2 (en) | Unified resource management for containers and virtual machines | |
EP3944082A1 (en) | Extending the kubernetes api in-process | |
US20180097709A1 (en) | Methods and apparatus related to management of unit-based virtual resources within a data center environment | |
JP6294586B2 (ja) | 命令スレッドを組み合わせた実行の管理システムおよび管理方法 | |
CN108334396B (zh) | 一种数据处理方法和装置、资源组的创建方法和装置 | |
CN106569891B (zh) | 一种存储系统中任务调度执行的方法和装置 | |
US9298516B2 (en) | Verification of dynamic logical partitioning | |
CN107577523B (zh) | 一种任务执行的方法及装置 | |
JP2010282420A (ja) | 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム | |
WO2006035728A1 (ja) | 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム | |
US10275558B2 (en) | Technologies for providing FPGA infrastructure-as-a-service computing capabilities | |
US20180260257A1 (en) | Pld management method and pld management system | |
US20210357258A1 (en) | Method, device and medium for allocating resource based on type of pci device | |
CN114168302A (zh) | 任务调度方法、装置、设备及存储介质 | |
KR20070090649A (ko) | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
CN106708619B (zh) | 资源管理方法及装置 | |
JP2017162522A (ja) | マルチコアシステムのインターラプト割り当て方法及び装置 | |
US9684525B2 (en) | Apparatus for configuring operating system and method therefor | |
CN106354560B (zh) | 一种系统的维护进程运行方法及装置 | |
CN116414561A (zh) | 资源调度方法、装置、电子设备和存储介质 | |
WO2017006384A1 (ja) | 仮想マシン管理プログラム,仮想マシン管理装置および仮想マシン管理方法 | |
JP2011221634A (ja) | 計算機システム、論理区画管理方法及び論理分割処理プログラム |