JP6808090B1 - 制御装置および分散処理方法 - Google Patents

制御装置および分散処理方法 Download PDF

Info

Publication number
JP6808090B1
JP6808090B1 JP2020512628A JP2020512628A JP6808090B1 JP 6808090 B1 JP6808090 B1 JP 6808090B1 JP 2020512628 A JP2020512628 A JP 2020512628A JP 2020512628 A JP2020512628 A JP 2020512628A JP 6808090 B1 JP6808090 B1 JP 6808090B1
Authority
JP
Japan
Prior art keywords
information processing
processing unit
slave
processor
cpu
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.)
Active
Application number
JP2020512628A
Other languages
English (en)
Other versions
JPWO2020235088A1 (ja
Inventor
宏明 倉橋
宏明 倉橋
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6808090B1 publication Critical patent/JP6808090B1/ja
Publication of JPWO2020235088A1 publication Critical patent/JPWO2020235088A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • 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]
    • 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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14014Redundant processors and I-O
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24186Redundant processors are synchronised
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24187Redundant processors run identical programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24188Redundant processors run different programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24189Redundant processors monitor same point, common parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33334Load balancing, distribution between processors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Hardware Redundancy (AREA)
  • Programmable Controllers (AREA)
  • Multi Processors (AREA)

Abstract

制御装置(1)は、マスタ情報処理ユニット(10)とスレーブ情報処理ユニット(20)とを備える。スレーブ情報処理ユニット(20)は、汎用OSを介して情報処理を実行する情報処理CPU(220)と、リアルタイムOSを介して情報処理CPU(220)の稼働状態を測定する分散制御CPU(210)と、を備える。マスタ情報処理ユニット(10)は、スレーブ情報処理ユニット(20)の情報処理CPU(220)の稼働状態を表す情報をスレーブ情報処理ユニット(20)から取得し、取得した情報に基づいて情報処理の実行をスレーブ情報処理ユニット(20)に要求するか否かを判定し、要求すると判定した場合には情報処理の実行を要求する信号をスレーブ情報処理ユニット(20)に送信する。スレーブ情報処理ユニット(20)の情報処理CPU(220)は、情報処理の実行を要求する信号を受信すると、情報処理を実行する。

Description

本発明は、制御装置および分散処理方法に関する。
PLC(Programmable Logic Controller)が装置を制御する処理の負荷を分散する技術が研究されている。例えば、特許文献1には、処理対象データを生成する制御ユニットが、処理対象データをデータ処理ユニットに送信する際に、負荷が低い他の制御ユニットにデータ処理ユニットへの送信を代行させる技術が開示されている。
特開2004−094473号公報
装置を制御する処理に付随して、例えば、装置、センサ等から取得したデータの解析、装置動作のモデリング、異常検知等のための演算など、計算量の多い情報処理が必要となることがある。しかし、情報処理を実行するプロセッサの稼働状態によっては、計算の負荷が大きくなってしまい、全体的に処理が遅延するという問題がある。このような問題に対して、特許文献1に記載された技術では、データの送受信の負荷を軽減するだけであって、計算の負荷が軽減されないため、全体的な処理の遅延を解消することはできない。
本発明は、上記実情に鑑みてなされたものであり、プロセッサの稼働状態に応じて情報処理の負荷を分散することができる制御装置および分散処理方法を提供することを目的とする。
上記目的を達成するため、本発明の制御装置は、第1情報処理ユニットと第2情報処理ユニットとを備える制御装置である。第2情報処理ユニットは、汎用OS(Operating System)を介して情報処理を実行する第1プロセッサと、リアルタイムOSを介して第1プロセッサの稼働状態を測定する第2プロセッサと、を備える。第1情報処理ユニットは、第2情報処理ユニットの第1プロセッサの稼働状態を表す情報を第2情報処理ユニットから取得し、取得した情報に基づいて情報処理の実行を第2情報処理ユニットに要求するか否かを判定し、要求すると判定した場合には情報処理の実行を要求する信号を第2情報処理ユニットに送信する。第2情報処理ユニットの第1プロセッサは、情報処理の実行を要求する信号を受信すると、情報処理を実行する。
本発明によれば、他のユニットのプロセッサの稼働状態を表す情報を取得して、取得した情報に基づいて情報処理の実行を他のユニットに要求することによって、プロセッサの稼働状態に応じて情報処理の負荷を分散することができる。
本発明の実施の形態1に係る制御装置のハードウェア構成図 本発明の実施の形態1に係るタスク実行要求処理のフローチャート 本発明の実施の形態2に係る制御装置のハードウェア構成図 本発明の実施の形態2に係る情報処理ユニット管理情報の一例を表す図 本発明の実施の形態2に係るCPU稼働状態履歴情報の一例を表す図 本発明の実施の形態2に係るタスク実行要求履歴情報の一例を表す図 本発明の実施の形態2に係るタスク分散処理のフローチャート 本発明の実施の形態2に係るCPU稼働状態情報の一例を表す図
(実施の形態1)
以下、本発明の制御装置の実施の形態について、図面を参照して説明する。
本実施の形態に係る制御装置1は、各種の装置を制御するためのPLC(Programmable Logic Controller)である。制御装置1は、図1に示されるように、情報処理のタスクを実行するユニットであるマスタ情報処理ユニット10と、情報処理のタスクを実行するサブユニットであるスレーブ情報処理ユニット20と、各種の装置を制御する制御ユニット30と、定周期通信を行う通信路である定周期バス40と、非同期通信を行う通信路である非同期バス50と、を備える。
マスタ情報処理ユニット10は、制御ユニット30から装置データを受信して、受信した装置データに基づく演算処理のタスクを実行するユニットである。マスタ情報処理ユニット10は、タスク分散のための処理を制御する分散制御CPU(Central Processing Unit)110と、情報処理を実行する情報処理CPU120と、分散制御CPU110が処理するデータを格納する分散制御メモリ130と、情報処理CPU120が処理するデータを格納する情報処理メモリ140と、各種情報を格納するストレージ150と、専用バスを制御する専用バス制御回路160と、シリアルインターフェース170と、を備える。なお、マスタ情報処理ユニット10は、請求の範囲に記載された第1情報処理ユニットの一例である。
分散制御CPU110は、タスク分散のための処理を制御するCPUである。具体的には、分散制御CPU110は、情報処理CPU120の稼働状態を測定する。また、分散制御CPU110は、スレーブ情報処理ユニット20の接続状態を確認する。さらに、分散制御CPU110は、スレーブ情報処理ユニット20にタスク処理を要求するか否かを判定する。なお、分散制御CPU110は、請求の範囲に記載された第2プロセッサの一例である。
情報処理CPU120は、情報処理を実行するCPUである。具体的には、情報処理CPU120は、制御ユニット30から受信した装置データに基づく演算処理を実行する。また、情報処理CPU120は、スレーブ情報処理ユニット20にタスク処理を要求するために、装置データを分割する処理を実行する。なお、情報処理CPU120は、請求の範囲に記載された第1プロセッサの一例である。
分散制御メモリ130は、分散制御CPU110が処理するデータを格納する主記憶装置である。また、分散制御メモリ130は、分散制御CPU110が実行するためのリアルタイムOS(Operating System)を格納する。リアルタイムOSは、命令を受けてから演算処理を実行または完了するまでの時間的制限が規定されたOSである。分散制御メモリ130には、情報処理CPU120の稼働状態を監視して、稼働状態を表す情報を取得するためのアプリケーションが格納されている。
情報処理メモリ140は、情報処理CPU120が処理するデータを格納する主記憶装置である。情報処理メモリ140は、情報処理CPU120が実行するための汎用OSを格納する。汎用OSは、ネットワーク接続、ネットワーク経由送信、文字出力、プログラムの同時実行などの基本的な機能を有するOSである。分散制御メモリ130および情報処理メモリ140には、それぞれ通信用ドライバが格納されている。
ストレージ150は、各種情報を格納する外部記憶装置である。外部記憶装置は、具体的には、ハードディスクドライブ、SSD(Solid State Drive)、フラッシュメモリ、磁気テープ等である。ストレージ150には、情報処理CPU120が処理する装置データが格納される。なお、ストレージ150は、請求の範囲に記載された記憶部の一例である。
専用バス制御回路160は、専用バスを制御する電子回路である。専用バスは、マスタ情報処理ユニット10、スレーブ情報処理ユニット20および制御ユニット30を相互に接続する通信路である。専用バスは、定周期バス40と非同期バス50を含む。専用バス制御回路160は、マスタ情報処理ユニット10と定周期バス40との間の接続を制御する定周期IF(Interface)161と、マスタ情報処理ユニット10と非同期バス50との間の接続を制御する非同期IF162と、を備える。
シリアルインターフェース170は、分散制御CPU110と情報処理CPU120とを接続する通信路である。分散制御CPU110が、分散制御メモリ130に格納された通信用ドライバをリアルタイムOS上で実行し、情報処理CPU120が、情報処理メモリ140に格納された通信用ドライバを汎用OS上で実行する。これによって、シリアルインターフェース170を介して、分散制御CPU110と情報処理CPU120とは互いに各種データを高速に送受信する。例えば、分散制御CPU110は、分散制御メモリ130に格納されたアプリケーションをリアルタイムOS上で実行し、通信用ドライバによる通信によって、シリアルインターフェース170を介して、情報処理CPU120の稼働状態を表す情報を取得することができる。また、分散制御CPU110は、シリアルインターフェース170を介して情報処理メモリ140にアクセスすることができる。同様に、情報処理CPU120は、シリアルインターフェース170を介して分散制御メモリ130にアクセスすることができる。
スレーブ情報処理ユニット20は、マスタ情報処理ユニット10からタスク分散処理の実行要求を受けて情報処理タスクを実行するユニットである。スレーブ情報処理ユニット20は、マスタ情報処理ユニット10と同様のハードウェア構成を備える。具体的には、スレーブ情報処理ユニット20は、タスク分散のための処理を制御する分散制御CPU210と、情報処理を実行する情報処理CPU220と、分散制御CPU210が処理するデータを格納する分散制御メモリ230と、情報処理CPU220が処理するデータを格納する情報処理メモリ240と、各種情報を格納するストレージ250と、専用バスを制御する専用バス制御回路260と、シリアルインターフェース270と、を備える。専用バス制御回路260は、定周期バス40との接続を制御する定周期IF261と、非同期バス50との接続を制御する非同期IF262と、を備える。なお、スレーブ情報処理ユニット20は、請求の範囲に記載された第2情報処理ユニットの一例である。
制御ユニット30は、制御装置1の制御対象の装置を制御するためのユニットである。装置の制御とは、ラダー言語、FBD(Function Block Diagram)言語等の装置制御に特化した言語により開発されたアプリケーションによって、各種の装置のシーケンスを制御することを表す。具体的には、制御ユニット30は、各種ユニットを制御するためのCPUユニット、サーボアンプ、サーボモータ等を制御するためのモーションユニット、装置のON/OFF信号の受け渡しを実行するための入出力ユニット、センサを含むアナログデバイスとの間でデータを入出力するためのアナログユニット、上位の情報システム、他の制御システム等に接続するためのネットワークユニット等を含む。制御ユニット30は、演算の対象となる装置データをマスタ情報処理ユニット10に送信する。
定周期バス40は、あるユニットから他のユニットに対して、定期的にデータを転送するために使用される通信路である。例えば、モーションユニットは、同期制御、速度制御、位置決め制御等の定時性が求められるデータの受け渡しに定周期バス40を使用する。
非同期バス50は、あるユニットから他のユニットに不特定のタイミングでデータを転送するために使用される通信路である。例えば、非同期バス50は、マスタ情報処理ユニット10とスレーブ情報処理ユニット20との間で処理対象の装置データを転送するために使用される。
次に、制御装置1の動作について、図面を参照して説明する。マスタ情報処理ユニット10の分散制御メモリ130には、あらかじめ設定情報として応答を待機する基準時間が格納されている。また、スレーブ情報処理ユニット20の分散制御CPU210は、情報処理CPU220の稼働状態を定期的に測定して、測定した稼働状態を表すCPU稼働状態情報を分散制御メモリ230に格納する。CPU稼働状態情報は、具体的には、情報処理CPU220の使用率、情報処理メモリ240の使用率、I/O(Input Output)負荷等を含む情報である。I/O負荷は、例えば、ストレージ250への読み書きの単位時間あたりのブロック数によって表される。なお、ブロックとは、汎用OSが読み書きを行う単位データ量を表す。
さらに、マスタ情報処理ユニット10の分散制御メモリ130には、あらかじめ設定情報としてCPU稼働状態に基づいてタスク実行要求を行うための要求条件が格納されている。例えば、分散制御メモリ130には、「情報処理CPU220の使用率が50%以下、情報処理メモリ240の使用率が50%以下およびI/O負荷が5以下」という要求条件が格納されている。
制御装置1の制御ユニット30が装置データを取得して、取得した装置データを、非同期バス50を介してマスタ情報処理ユニット10に送信する。マスタ情報処理ユニット10は、専用バス制御回路160の非同期IF162を介して装置データを受信する。そして、分散制御CPU110は、受信した装置データを分散制御メモリ130に一時的にバッファリングする。さらに、制御ユニット30は、装置データの解析をする演算処理の実行要求信号を、非同期バス50を介してマスタ情報処理ユニット10に送信する。マスタ情報処理ユニット10の情報処理CPU120は、分散制御CPU110を介して演算処理の実行要求信号を受信すると、シリアルインターフェース170を介して、分散制御メモリ130にバッファリングされた装置データを読み込んで、ストレージ150に格納する。
続いて、マスタ情報処理ユニット10は、制御ユニット30から要求された演算処理をスレーブ情報処理ユニット20に要求するためのタスク実行要求処理を開始する。
マスタ情報処理ユニット10がタスク実行要求処理を開始すると、図2に示されるように、分散制御CPU110は、スレーブ情報処理ユニット20にスタンバイ要求信号を送信する(ステップS11)。スタンバイ要求信号を受信したスレーブ情報処理ユニット20は、演算処理が実行可能である場合には、スタンバイ状態であることを示す応答を送信する。
次に、分散制御CPU110は、スレーブ情報処理ユニット20から応答を受信したか否かを判定する(ステップS12)。具体的には、分散制御CPU110は、応答をする基準時間を分散制御メモリ130から取得する。そして、分散制御CPU110は、ステップS11の処理でスタンバイ要求信号を送信してから、基準時間を経過するまでに応答を受信したか否かを判定する。
分散制御CPU110は、応答を受信しなかったと判定すると(ステップS12:No)、タスク実行要求処理を終了する。一方、分散制御CPU110は、応答を受信したと判定すると(ステップS12:Yes)、スレーブ情報処理ユニット20にCPU稼働状態情報の送信要求信号を送信する(ステップS13)。スレーブ情報処理ユニット20の分散制御CPU210は、非同期IF262を介して、CPU稼働状態情報の送信要求信号を受信すると、分散制御メモリ230に格納されたCPU稼働状態情報を、非同期バス50を介して、マスタ情報処理ユニット10に送信する。
続いて、分散制御CPU110は、スレーブ情報処理ユニット20からCPU稼働状態情報を受信する(ステップS14)。分散制御CPU110は、非同期バス50を介して受信したCPU稼働状態情報を、分散制御メモリ130に格納する。
次に、分散制御CPU110は、CPU稼働状態が要求条件を満たすか否かを判定する(ステップS15)。例えば、「情報処理CPU220の使用率が50%以下、情報処理メモリ240の使用率が50%以下およびI/O負荷が5以下」という要求条件が分散制御メモリ130に格納されている場合、分散制御CPU110は、CPU稼働状態がこの要求条件を満たすか否かを判定する。
分散制御CPU110は、CPU稼働状態が要求条件を満たさないと判定すると(ステップS15:No)、タスク実行要求処理を終了する。一方、分散制御CPU110は、CPU稼働状態が要求条件を満たすと判定すると(ステップS15:Yes)、スレーブ情報処理ユニット20にタスク実行要求信号を送信する(ステップS16)。また、分散制御CPU110は、ストレージ150に格納された装置データを、シリアルインターフェース170を介して取得して、非同期バス50を介してスレーブ情報処理ユニット20に送信する。そして、マスタ情報処理ユニット10は、タスク実行要求処理を終了する。
マスタ情報処理ユニット10は、タスク実行要求処理を実行して、スレーブ情報処理ユニット20の稼働状態によって、タスクの実行をスレーブ情報処理ユニット20に要求する。また、スレーブ情報処理ユニット20が演算タスクを実行できない場合には、情報処理CPU120が演算タスクを実行する。
本実施の形態に係る制御装置1によれば、スレーブ情報処理ユニット20の情報処理CPU220の稼働状態を、リアルタイムOSを介して分散制御CPU210が測定することによって、情報処理CPU220の負荷に影響されない正確な稼働情報が得られる。また、マスタ情報処理ユニット10の分散制御CPU110が、タスク実行要求を行うか否かの判定を行うことによって、情報処理CPU120の負荷に影響されずにタスクの実行をスレーブ情報処理ユニット20に要求するか否かを判定することができる。
また、CPU稼働状態情報の送受信、装置データの送受信等を、定周期バス40とは異なる非同期バス50を介して行うことによって、定時性が求められるデータの送受信に影響を与えずに、タスクの実行を分散させることができる。
(実施の形態2)
実施の形態1では、情報処理ユニットのタスクの実行を他の情報処理ユニットに代行させる例を示した。本実施の形態では、複数の情報処理ユニットでタスクを計画的に分散して処理する例を示す。以下、本実施の形態については、実施の形態1と異なる部分を中心に説明する。
本実施の形態に係る制御装置2は、図3に示すように、1つのマスタ情報処理ユニット10と、複数のスレーブ情報処理ユニット20と、制御ユニット30と、を備える。
マスタ情報処理ユニット10の分散制御CPU110は、定期的に、例えば10秒ごとに、情報処理CPU120のCPU稼働状態を測定して、測定したCPU稼働状態を表す情報を分散制御メモリ130に更新して格納する。また、分散制御CPU110は、測定したCPU稼働状態を表す情報を、シリアルインターフェース170を介して、ストレージ150に追加して格納する。すなわち、ストレージ150には、CPU稼働状態の履歴情報が蓄積される。
同様に、スレーブ情報処理ユニット20の分散制御メモリ230には情報処理CPU220のCPU稼働状態を表す最新の情報が格納され、ストレージ250には、CPU稼働状態の履歴情報が蓄積される。
マスタ情報処理ユニット10の分散制御CPU110は、定期的に、例えば1日ごとに、各スレーブ情報処理ユニット20に対して、非同期バス50を介して、CPU稼働状態履歴情報の送信を要求する信号を送信する。各スレーブ情報処理ユニット20は、信号を受信すると、ストレージ250に格納されたCPU稼働状態履歴情報を、非同期バス50を介してマスタ情報処理ユニット10に送信する。マスタ情報処理ユニット10の分散制御CPU110は、受信した情報を集約して、図5に示されるようなCPU稼働状態履歴情報を作成して、ストレージ150に格納する。CPU稼働状態履歴情報は、情報処理ユニットを識別するためのユニットID、日付、時刻、情報処理CPU220の使用率を表すCPU使用率、情報処理メモリ240の使用率を表すメモリ使用率、情報処理CPU220のストレージ250への読み書きの負荷を表すI/O負荷等の情報を含む。
また、マスタ情報処理ユニット10の情報処理CPU120は、後述するタスク分散処理によって、各スレーブ情報処理ユニット20にタスクの実行を要求した履歴を表すタスク実行要求履歴情報をストレージ150に格納する。タスク実行要求履歴情報は、図6に示されるように、情報処理ユニットを識別するためのユニットID、日付、時刻、タスク実行の対象となる装置データのデータ量、タスクの種別を表す種別等の情報を含む。
さらにストレージ150には、タスクの分散を行うための学習済みモデルが格納される。学習済みモデルは、マスタ情報処理ユニット10および各スレーブ情報処理ユニット20のCPU稼働状態と、タスクのデータ量およびタスクの種別と、を入力要素とし、タスクの分割先のスレーブ情報処理ユニット20と、それぞれのスレーブ情報処理ユニット20に分割するデータ量とを出力要素とするモデル情報である。学習済みモデルは、ストレージ150に格納されたCPU稼働状態履歴情報と、タスク実行要求履歴情報とに基づいて、タスクのデータ量およびタスクの種別と、CPU稼働状態との相関関係をニューラルネットワーク、決定木、サポートベクターマシン、隠れマルコフモデル等の機械学習によって解析して、あらかじめ構築しておく。
マスタ情報処理ユニット10の情報処理CPU120は、定期的に、例えば1日ごとに、CPU稼働状態履歴情報とタスク実行要求履歴情報とを学習データとして、機械学習によって学習済みモデルを更新する。
また、マスタ情報処理ユニット10の分散制御CPU110は、定期的に、例えば1分ごとに、それぞれのスレーブ情報処理ユニット20に、定周期バス40を介して、接続状態を検知するためのパケットを送信する。それぞれのスレーブ情報処理ユニット20の分散制御CPU210は、パケットを受信した旨を表す信号を、定周期バス40を介して、マスタ情報処理ユニット10に送信する。マスタ情報処理ユニット10の分散制御CPU110は、それぞれのスレーブ情報処理ユニット20から送信された信号に基づいて、情報処理ユニット管理情報を作成して、分散制御メモリ130に格納する。情報処理ユニット管理情報は、図4に示されるように、情報処理ユニットを識別するためのユニットIDと、マスタかスレーブかを区別する種別と、接続状態とを含む。パケットに応答する信号が送信されたスレーブ情報処理ユニット20は、接続状態をONとし、信号が送信されなかったスレーブ情報処理ユニット20は、接続状態をOFFとする。
次に、本実施の形態に係る制御装置2の動作について、図面を参照して説明する。マスタ情報処理ユニット10は、制御ユニット30から要求された演算処理を各スレーブ情報処理ユニット20と分散して処理するためのタスク分散処理を開始する。
マスタ情報処理ユニット10がタスク分散処理を開始すると、図7に示されるように、分散制御CPU110は、各スレーブ情報処理ユニット20にスタンバイ要求信号を送信する(ステップS201)。具体的には、分散制御CPU110は、情報処理ユニット管理情報の接続状態がONとなっているスレーブ情報処理ユニット20に対して、スタンバイ要求信号を送信する。スタンバイ要求信号を受信した各スレーブ情報処理ユニット20は、演算処理が実行可能である場合には、スタンバイ状態であることを示す応答を送信する。
続いて、分散制御CPU110は、すべてのスレーブ情報処理ユニット20から応答を受信したか否かを判定する(ステップS202)。分散制御CPU110は、すべてのスレーブ情報処理ユニット20から応答を受信してはいないと判定すると(ステップS202:No)、最後にスレーブ情報処理ユニット20にスタンバイ要求信号を送信してから基準時間を経過したか否かを判定する(ステップS203)。そして、分散制御CPU110は、基準時間を経過していないと判定すると(ステップS203:No)、ステップS202の処理に戻る。一方、分散制御CPU110は、基準時間を経過したと判定すると(ステップS203:Yes)、情報処理ユニット管理情報を更新する(ステップS204)。具体的には、分散制御CPU110は、基準時間を経過しても応答が無いスレーブ情報処理ユニット20の接続状態をOFFに更新する。
ステップS202の処理においてすべてのスレーブ情報処理ユニット20から応答を受信したと判定した場合(ステップS202:Yes)、またはステップS204の処理に続いて、分散制御CPU110は、各スレーブ情報処理ユニット20にCPU稼働状態情報の送信を要求する信号を送信する(ステップS205)。
続いて、分散制御CPU110は、各スレーブ情報処理ユニット20からCPU稼働状態情報を受信する(ステップS206)。分散制御CPU110は、非同期バス50を介して受信したCPU稼働状態情報を、分散制御メモリ130に格納する。CPU稼働状態情報は、図8に示されるように、情報処理ユニットを識別するためのユニットID、情報処理CPU220の使用率を表すCPU使用率、情報処理メモリ240の使用率を表すメモリ使用率、情報処理CPU220のストレージ250への読み書きの負荷を表すI/O負荷等の情報を含む。
そして、情報処理CPU120は、タスクのデータ量、種別およびCPU稼働状態に基づいてタスク要求先とデータ量を決定する(ステップS207)。具体的には、情報処理CPU120は、分散制御メモリ130に格納されたCPU稼働状態情報と、ストレージ150に格納されたタスクのデータ量およびタスクの種別と、を学習済みモデルに入力し、出力要素としてタスク実行要求先のスレーブ情報処理ユニット20およびそれぞれのデータ量を取得する。
次に、情報処理CPU120は、ステップS207で決定したデータ量に装置データを分割する(ステップS208)。そして、情報処理CPU120は、分割された装置データをタスク実行要求先である各スレーブ情報処理ユニット20に転送する(ステップS209)。そして、分散制御CPU110は、各スレーブ情報処理ユニット20にタスク実行命令の信号を送信する(ステップS210)。
ステップS210の処理においてタスク実行命令の信号を受信したスレーブ情報処理ユニット20の情報処理CPU220は、ステップS209の処理において転送された装置データに対する演算処理を実行する。そして、スレーブ情報処理ユニット20の分散制御CPU210は、情報処理CPU220の演算処理の実行が終了すると、タスク実行完了通知をマスタ情報処理ユニット10に送信する。
続いて、分散制御CPU110は、すべてのタスク実行要求先のスレーブ情報処理ユニット20からタスク実行完了通知を受信したか否かを判定する(ステップS211)。そして、分散制御CPU110は、すべてのタスク実行要求先からタスク実行完了通知を受信してはいないと判定すると(ステップS211:No)、残ったタスクについてステップS201の処理から再度実行する。
一方、分散制御CPU110は、すべてのタスク実行要求先からタスク実行完了通知を受信したと判定すると(ステップS211:Yes)、処理済みデータを統合する(ステップS212)。具体的には、分散制御CPU110は、各スレーブ情報処理ユニット20に処理済みデータの送信を要求する信号を送信し、各スレーブ情報処理ユニット20から処理済みデータを受信する。そして、情報処理CPU120は、受信した処理済みデータを結合してストレージ150に格納する。
以上のようにして、本実施の形態に係る制御装置2は、演算タスクを複数の情報処理ユニットで分散して実行することによって、高い計算能力を得ることができる。また、情報処理ユニットのCPUの稼働状態に基づいて装置データを分割するデータ量を決定することによって、状況に応じた適切なデータ量に分けることができ、効率的な分散処理が実現される。
また、タスクの分割処理に機械学習によって得られた学習済みモデルを適用することによって、実績に即した現実的なデータ量の分割が実現される。さらに、学習済みモデルを実績に基づいて更新することによって、演算タスクを分散するアルゴリズムを継続して改良することができる。
(変形例)
本発明は、上述した実施の形態に限定されるわけではなく、その他の種々の変更が可能である。
実施の形態2に係る制御装置2のタスク分散処理において、複数のスレーブ情報処理ユニット20にタスクを分散する例を示した。しかし、マスタ情報処理ユニット10が分割された一部の装置データに対する情報処理を実行しても良い。この場合、マスタ情報処理ユニット10が処理する装置データについては、ステップS209からステップS211までの処理は不要である。
また、制御装置2は、外部の情報処理装置にタスク実行を要求しても良い。この場合、マスタ情報処理ユニット10は、分散制御CPU110または情報処理CPU120と接続されたネットワークカードをさらに備え、外部の情報処理装置と通信可能で接続され、スレーブ情報処理ユニット20と同様に、外部の情報処理装置のCPUの稼働状態を定期的に取得すれば良い。
マスタ情報処理ユニット10の一部の処理を分散制御CPU110が実行するか情報処理CPU120が実行するかについては、上述の実施の形態において例示したものから適宜変更しても良い。具体的には、それぞれの処理の頻度、負荷を考慮して分散制御CPU110が実行するか情報処理CPU120が実行するかを設計しても良い。同様に、スレーブ情報処理ユニット20の一部の処理について、分散制御CPU110が実行するか情報処理CPU120が実行するかは、上述の実施の形態において例示したものから適宜変更しても良い。また、通信路として定周期バス40を使用するか非同期バス50を使用するかについても、上述の実施の形態において例示したものから適宜変更しても良い。
上述の実施の形態に係るマスタ情報処理ユニット10の分散制御CPU110は、装置の制御を行っても良い。分散制御CPU110は、情報処理CPU120と並列に処理を実行することができるため、情報処理の負荷が高くなって情報処理CPU120がハングアップしたとしても、装置の制御に影響することが無い。その場合、情報処理CPU120のみを再起動することが可能である。
上述の実施の形態2のタスク分散処理において、各スレーブ情報処理ユニット20が演算処理を停止または中断した場合に、他のスレーブ情報処理ユニット20またはマスタ情報処理ユニット10が演算処理を引き継いで実行するようにしても良い。具体的には、各スレーブ情報処理ユニット20は、演算処理の途中の処理済みデータを、どの処理まで完了したかを示すデータとともに、他のスレーブ情報処理ユニット20およびマスタ情報処理ユニット10に転送する。そのために、各スレーブ情報処理ユニット20およびマスタ情報処理ユニット10は、ストレージ250もしくはストレージ150または情報処理メモリ240もしくは情報処理メモリ140に、情報処理ユニット管理情報の接続状態がONとなっている情報処理ユニットの分の処理済みデータを格納するための領域を確保しておく。
そして、各スレーブ情報処理ユニット20が演算処理を停止または中断した場合には、マスタ情報処理ユニット10は、各スレーブ情報処理ユニット20のCPU稼働状態情報を定期的に取得して、取得したCPU稼働状態情報に基づいて、演算処理が停止または中断したか否かを判定する。そして、マスタ情報処理ユニット10は、演算処理が停止または中断したと判定すると、どの処理まで完了したかを示すデータを参照して、続きの処理を実行するスレーブ情報処理ユニット20をCPU稼働状態情報に基づいて選定する。そして、マスタ情報処理ユニット10は、選定したスレーブ情報処理ユニット20にタスク実行を要求する。ここで、マスタ情報処理ユニット10自身が演算処理タスクを引き継いで実行しても良い。また、スレーブ情報処理ユニット20が演算処理を中断した後、汎用OSの再起動によって演算処理を再開できる場合には、演算の再開が可能であることを示すスタンバイ情報を、マスタ情報処理ユニット10に送信して待機する。スタンバイ情報を受信したマスタ情報処理ユニット10は、他のスレーブ情報処理ユニット20の演算処理が停止または中断するか、または新たにタスク分散処理を開始する際、当該スレーブ情報処理ユニット20を選定の候補とする。
このようにすれば、スレーブ情報処理ユニット20が演算処理の途中で処理を停止または中止した場合であっても、途中までの演算処理が無駄にならずに、演算処理を続けることができる。したがって、演算処理タスクの分散が、より効率的に実行される。
また、マスタ情報処理ユニット10が何らかの影響により動作を停止した場合のリスクヘッジとして、マスタ機能をスレーブ情報処理ユニット20に移行しても良い。具体的には、マスタ情報処理ユニット10は、CPU稼働状態情報に基づいて、マスタ機能の移行先を予め選定しておく。そして、選定されたスレーブ情報処理ユニット20は、マスタ情報処理ユニット10の稼働状態を監視しておくとともに、停止を検知した後にシームレスにマスタ機能を移行させるため、CPU稼働状態情報、情報処理ユニット管理情報、装置データおよび演算処理の途中の処理済みデータを、どの処理まで完了したかを示すデータとともに、分散制御メモリ230とストレージ250にそれぞれバックアップする。また、マスタ情報処理ユニット10は、選定されていないその他のスレーブ情報処理ユニット20に対し、選定されたスレーブ情報処理ユニット20の情報を通知しておく。選定されていないその他のスレーブ情報処理ユニット20は、マスタ情報処理ユニット10の停止を検知すると、前述の各情報の転送先の切り替えを実施する。
さらに、マスタ情報処理ユニット10が再起動、ユニット交換等によって動作が回復した際に、マスタ機能を回復させても良い。具体的には、スレーブ情報処理ユニット20は、マスタ情報処理ユニット10の動作が回復したことを検知すると、マスタ情報処理ユニット10に対してマスタ機能の回復要求を送信する。マスタ情報処理ユニット10は、回復要求を受信すると、マスタ機能を回復しても良いか否かを自身のCPU稼働状態に応じて判定し、マスタ機能を回復しても良いと判定すると、送信元のスレーブ情報処理ユニット20に対してマスタ機能の回復を通知する。すると、スレーブ情報処理ユニット20は、分散メモリ230とストレージ250にバックアップしたCPU稼働状態情報、情報処理ユニット管理情報、装置データを、演算処理の途中の処理済みデータおよびどの処理まで完了したかを示すデータとともに転送し、他のスレーブ情報処理ユニット20に対してマスタ機能の切替を通知する。転送が完了すると、マスタ情報処理ユニット10はマスタ機能の回復を各スレーブ情報処理ユニット20に通知する。各スレーブ情報処理ユニット20は、前述の各情報の転送先をマスタ情報処理ユニット10に戻す。
このようにすれば、マスタ情報処理ユニット10の動作が停止した場合でも演算機能を停止する事無く継続して実行することができる。また、マスタ情報処理ユニット10が復旧した場合には、元の構成に戻すことができる。
上述の実施の形態では、プロセッサがCPUである例を示したが、マイクロプロセッサ、DSP(Digital Signal Processor)等であっても良い。
上述の実施の形態では、CPUの稼働状態を表す情報として、CPU使用率、メモリ使用率およびI/O負荷を例示した。CPUの稼働状態を表す情報はこれらに限らず、仮想メモリ、空きメモリ、バッファメモリ、キャッシュメモリ等の量、単位時間当りの割り込み処理、プログラム切り替えの回数等であっても良い。
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。即ち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
1,2 制御装置、10 マスタ情報処理ユニット、20 スレーブ情報処理ユニット、30 制御ユニット、40 定周期バス、50 非同期バス、110,210 分散制御CPU、120,220 情報処理CPU、130,230 分散制御メモリ、140,240 情報処理メモリ、150,250 ストレージ、160,260 専用バス制御回路、161,261 定周期IF、162,262 非同期IF、170,270 シリアルインターフェース。

Claims (9)

  1. 第1情報処理ユニットと第2情報処理ユニットとを備える制御装置であって、
    前記第2情報処理ユニットは、
    汎用OSを介して情報処理を実行する第1プロセッサと、
    リアルタイムOSを介して前記第1プロセッサの稼働状態を測定する第2プロセッサと、を備え、
    前記第1情報処理ユニットは、前記第2情報処理ユニットの前記第1プロセッサの稼働状態を表す情報を前記第2情報処理ユニットから取得し、取得した前記情報に基づいて情報処理の実行を前記第2情報処理ユニットに要求するか否かを判定し、要求すると判定した場合には前記情報処理の実行を要求する信号を前記第2情報処理ユニットに送信し、
    前記第2情報処理ユニットの前記第1プロセッサは、前記情報処理の実行を要求する前記信号を受信すると、前記情報処理を実行する、
    制御装置。
  2. マスタ情報処理ユニットと複数のスレーブ情報処理ユニットとを備える制御装置であって、
    前記複数のスレーブ情報処理ユニットは、それぞれ、
    汎用OSを介して情報処理を実行する第1プロセッサと、
    リアルタイムOSを介して前記第1プロセッサの稼働状態を測定する第2プロセッサと、を備え、
    前記マスタ情報処理ユニットは、前記複数のスレーブ情報処理ユニットの前記第1プロセッサの稼働状態を表す情報を前記複数のスレーブ情報処理ユニットから取得し、取得した前記情報に基づいて情報処理の実行要求の対象を前記複数のスレーブ情報処理ユニットから選択し、前記情報処理の実行を要求する信号を選択した前記スレーブ情報処理ユニットに送信する、
    制御装置。
  3. 前記マスタ情報処理ユニットは、汎用OSを介して情報処理を実行する第1プロセッサと、リアルタイムOSを介して前記複数のスレーブ情報処理ユニットに接続状態を確認するためのパケットを定期的に送信する第2プロセッサと、を備え、
    前記マスタ情報処理ユニットは、前記パケットに対する応答を送信したスレーブ情報処理ユニットを前記情報処理の実行要求の対象としての前記選択の対象とする、
    請求項2に記載の制御装置。
  4. 前記マスタ情報処理ユニットは、前記情報処理の対象データを記憶する記憶部をさらに備え、
    前記マスタ情報処理ユニットの前記第1プロセッサは、前記複数のスレーブ情報処理ユニットから取得した前記第1プロセッサの稼働状態を表す前記情報に基づいて、前記情報処理の実行要求の対象となる前記スレーブ情報処理ユニットごとに処理するデータ量を決定して、決定した前記データ量に基づいて前記記憶部に格納された対象データを分割して、選択した前記スレーブ情報処理ユニットに送信する、
    請求項3に記載の制御装置。
  5. 前記マスタ情報処理ユニットの前記記憶部は、前記複数のスレーブ情報処理ユニットの前記第1プロセッサの稼働状態を表す情報と、前記対象データのデータ量と、を入力要素とする学習済みモデルをさらに記憶し、
    前記マスタ情報処理ユニットの前記第1プロセッサは、前記学習済みモデルを参照して、前記情報処理の実行要求の対象の選択と、前記データ量の決定と、を実行する、
    請求項4に記載の制御装置。
  6. 前記マスタ情報処理ユニットの前記記憶部は、前記複数のスレーブ情報処理ユニットの前記第1プロセッサの稼働状態の履歴を表す稼働状態履歴情報と、前記情報処理の実行を要求した履歴を表す要求履歴情報と、をさらに記憶し、
    前記マスタ情報処理ユニットの前記第1プロセッサは、前記稼働状態履歴情報と前記要求履歴情報とに基づいて、前記記憶部に格納された前記学習済みモデルを更新する、
    請求項5に記載の制御装置。
  7. 前記マスタ情報処理ユニットの前記第2プロセッサは、前記情報処理の結果に基づいて、装置を制御する処理を実行する、
    請求項3から6のいずれか1項に記載の制御装置。
  8. 第1情報処理ユニットと、汎用OSを介して情報処理を実行するプロセッサを備える第2情報処理ユニットとを備える制御装置において、前記情報処理の実行を要求する方法であって、
    前記第2情報処理ユニットにより、リアルタイムOSを介して前記プロセッサの稼働状態を測定するステップと、
    前記第1情報処理ユニットにより、前記プロセッサの稼働状態に基づいて前記情報処理の実行を前記第2情報処理ユニットに要求するか否かを判定し、要求すると判定した場合には前記情報処理の実行を要求する信号を前記第2情報処理ユニットに送信するステップと、を含む
    分散処理方法。
  9. マスタ情報処理ユニットと、汎用OSを介して情報処理を実行するプロセッサを備える複数のスレーブ情報処理ユニットとを備える制御装置において、前記情報処理を分散して実行する方法であって、
    前記複数のスレーブ情報処理ユニットのそれぞれにより、リアルタイムOSを介して前記プロセッサの稼働状態を測定するステップと、
    前記マスタ情報処理ユニットにより、前記プロセッサの前記稼働状態に基づいて前記情報処理の実行要求の対象を前記複数のスレーブ情報処理ユニットから選択し、前記情報処理の実行を要求する信号を選択した前記スレーブ情報処理ユニットに送信するステップと、を含む
    分散処理方法。
JP2020512628A 2019-05-23 2019-05-23 制御装置および分散処理方法 Active JP6808090B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020497 WO2020235088A1 (ja) 2019-05-23 2019-05-23 制御装置および分散処理方法

Publications (2)

Publication Number Publication Date
JP6808090B1 true JP6808090B1 (ja) 2021-01-06
JPWO2020235088A1 JPWO2020235088A1 (ja) 2021-06-10

Family

ID=73458967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020512628A Active JP6808090B1 (ja) 2019-05-23 2019-05-23 制御装置および分散処理方法

Country Status (4)

Country Link
US (1) US11340954B2 (ja)
JP (1) JP6808090B1 (ja)
CN (1) CN113841119B (ja)
WO (1) WO2020235088A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3987718A1 (en) * 2019-06-19 2022-04-27 Nokia Solutions and Networks Oy Controlling cognitive functions in a network
JP7416296B1 (ja) 2023-02-10 2024-01-17 横河電機株式会社 情報処理装置、情報処理方法、情報処理プログラム及び分散制御システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003009197A (ja) * 2001-06-25 2003-01-10 Ntt Docomo Inc 呼損回避方法及びマルチプロセッサ電子交換機及び呼損回避プログラム及び呼損回避プログラムを格納した記憶媒体
JP2008186173A (ja) * 2007-01-29 2008-08-14 Toyota Motor Corp 障害監視システム
US20130125117A1 (en) * 2011-09-28 2013-05-16 Siemens Aktiengesellschaft Method and Arrangement for Using a Resource of a Hardware Platform with at Least Two Virtual Machines
WO2013140518A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法
JP2017162337A (ja) * 2016-03-11 2017-09-14 富士通株式会社 情報処理装置および制御プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094473A (ja) 2002-08-30 2004-03-25 Hitachi Ltd コントローラ及びその制御方法
DE102010021825A1 (de) * 2010-05-28 2011-12-01 Christmann Informationstechnik + Medien Gmbh & Co. Kg Mehrprozessor-Computersystem
CN102571912B (zh) * 2010-12-08 2014-09-10 中国科学院声学研究所 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法
US9715413B2 (en) * 2012-01-18 2017-07-25 Nvidia Corporation Execution state analysis for assigning tasks to streaming multiprocessors
JP5752087B2 (ja) 2012-05-24 2015-07-22 三菱電機株式会社 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003009197A (ja) * 2001-06-25 2003-01-10 Ntt Docomo Inc 呼損回避方法及びマルチプロセッサ電子交換機及び呼損回避プログラム及び呼損回避プログラムを格納した記憶媒体
JP2008186173A (ja) * 2007-01-29 2008-08-14 Toyota Motor Corp 障害監視システム
US20130125117A1 (en) * 2011-09-28 2013-05-16 Siemens Aktiengesellschaft Method and Arrangement for Using a Resource of a Hardware Platform with at Least Two Virtual Machines
WO2013140518A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法
JP2017162337A (ja) * 2016-03-11 2017-09-14 富士通株式会社 情報処理装置および制御プログラム

Also Published As

Publication number Publication date
US20220121168A1 (en) 2022-04-21
WO2020235088A1 (ja) 2020-11-26
US11340954B2 (en) 2022-05-24
CN113841119A (zh) 2021-12-24
CN113841119B (zh) 2022-12-27
JPWO2020235088A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
WO2018148082A1 (en) Migrating accelerators between compute systems
JPS61110256A (ja) 複数の演算部を有するプロセツサ
JP6808090B1 (ja) 制御装置および分散処理方法
US7168075B1 (en) Automation device and updating method
US20230127112A1 (en) Sub-idle thread priority class
US10216679B2 (en) Semiconductor device and control method thereof
JP4168281B2 (ja) 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム
JP5155655B2 (ja) マイクロプロセッサ出力ポート、及び、そこから提供された命令の制御
JP2001285394A (ja) 情報処理装置および方法、並びに記録媒体
US10274922B2 (en) Programmable logic controller having low latency
US9058207B2 (en) Simulation apparatus, method, and computer-readable recording medium
JP2019160155A (ja) 情報処理装置、情報処理方法、及びプログラム
JP7236939B2 (ja) 制御装置および制御方法
KR102613979B1 (ko) 멀티 코어 프로세서 전력 관리 장치 및 방법
JP5371569B2 (ja) データ処理装置及び制御方法及びプログラム
CN104123195A (zh) 一种指令清除方法及装置
WO2021056277A1 (zh) 一种执行程序的方法
JP2006065658A (ja) 並列計算機システムおよびジョブ投入方法
JPS6158861B2 (ja)
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2024008514A (ja) 車両制御装置
US20200285472A1 (en) Context-Switching Method and Apparatus
JPS6226487B2 (ja)
WO2018180664A1 (ja) 車両制御装置
CN115934356A (zh) 一种资源确定方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200228

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200228

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200903

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: 20201110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201208

R150 Certificate of patent or registration of utility model

Ref document number: 6808090

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250