[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4567586B2 - 処理装置 - Google Patents

処理装置 Download PDF

Info

Publication number
JP4567586B2
JP4567586B2 JP2005352895A JP2005352895A JP4567586B2 JP 4567586 B2 JP4567586 B2 JP 4567586B2 JP 2005352895 A JP2005352895 A JP 2005352895A JP 2005352895 A JP2005352895 A JP 2005352895A JP 4567586 B2 JP4567586 B2 JP 4567586B2
Authority
JP
Japan
Prior art keywords
processing
cpu
transaction
input
load
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.)
Expired - Fee Related
Application number
JP2005352895A
Other languages
English (en)
Other versions
JP2007156940A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005352895A priority Critical patent/JP4567586B2/ja
Priority to US11/277,622 priority patent/US7353366B2/en
Publication of JP2007156940A publication Critical patent/JP2007156940A/ja
Application granted granted Critical
Publication of JP4567586B2 publication Critical patent/JP4567586B2/ja
Expired - Fee Related 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、複数のCPUにより冗長処理を実行するための技術に関する。
近年のIT(Information Technology)の社会への普及により、ITを利用した各種情報システムが社会に提供されてきている。これらシステムを実現する情報通信機器は、現代社会において必要不可欠な社会インフラ・ライフラインとなりつつあり、膨大な量の情報処理を常に停止させることなく実行できることが求められている。このような要求に応じるには、情報システムを構成する情報通信機器が、膨大な量の情報を迅速に滞りなく処理する必要がある。そこで、このような要求に応えるため、例えば通信システム等の大量の情報を迅速に確実に処理することが求められるシステムにおいては、CPUを複数備え、負荷分散制御を行うためのハード構成が採用された装置が使用されている。
図16は、従来における処理回路の構成図である。処理回路100は、複数の(図16においては0番からm番までの)CPU101が、CPU間で同期処理を行うための共通メモリ102、外部との入出力を行うための複数の(図16においては0番からn番までの)I/O103を含み、互いに共通バス104に接続されている。図16に示す構成を採用する処理回路においては、負荷を分散するために、I/O103からの割り込み処理を並列に複数のCPU101に入力し、その割込みを最初に取りに行ったCPU101が、その処理について実行する方法、あるいは、各CPU101に対してトランザクションを転送し、処理を実行させる方法がとられていた。この他、負荷分散制御を行うためのハード構成としては、全ての処理回路を現用として使用する全現用構成や、冗長構成であるN+1構成が使用されていた。
この他には、多重系計算機システムにおいて、CPUの台数やデータの重要度等に応じて冗長化システムを変更することのできる技術が提供されている(例えば、特許文献1)。
特開昭60−55464号公報
従来の処理回路のような構成では、共通バスに複数のCPUが並列に接続されているため、ハードウェアの共通バス・インタフェースに障害が発生した場合には、システムとして動作不能になってしまう。また、負荷が増大してCPUの共通バスアクセスの頻度が増大すると、バスのボトルネックにより性能が頭打ちになっていた。更には、CPUに障害が発生した場合等は、その障害の発生したCPUにおいて処理中のトランザクションについては救済する方法がなかった。
本発明は、CPUのトランザクションの実行速度および障害耐力をより向上させることのできる技術を提供することを目的とする。
上記の課題を解決するために、本発明は、入力された実行すべき処理に対して、該処理の実行結果を出力する入出力CPUと、前記入出力CPUからの指示にしたがって、前記処理を実行する複数の処理CPUと、各処理CPUに対応付けられ、前記入出力CPUに入力された処理および該処理の実行結果を格納する複数の記憶部と、前記複数の記憶部間で共通する格納先を示す格納先情報を格納する格納部と、を備え、前記処理CPUは、前記格納先情報を前記格納部から読み出し、各処理CPUに対応付けられた記憶部における前記処理の格納先から該処理を読み出して実行する構成とする。
処理回路への処理の入出力に関わる入出力CPUを、処理を実行する複数の処理CPUとは別個に設け、複数の処理CPUは、各処理CPUに対応する記憶部から格納先情報に基づいて処理を読み出して実行する。大量の実行すべき処理が処理回路に入力/出力される場合であっても、各処理CPUは自装置に対応する記憶部から処理を読み出して実行するので、処理の実行速度に与える影響が小さく抑えられる。また、複数の処理CPUにより処理が実行されるので、処理を実行中のある処理CPUに障害が発生した場合であっても、その処理については他の処理CPUでも実行されるので、障害耐力が高まる。
更には、前記格納部には、入力された処理を複数の処理CPUにおいて並列に実行するための冗長度あるいは該処理の優先度についての重み付け情報が更に格納され、前記入出力CPUは、前記処理回路にかかる負荷の状態あるいは入力された処理に含まれる優先度に基づいて前記重み付け情報を設定して前記格納部に格納することとしてもよい。
更には、前記複数の処理CPUの負荷が前記所定の値を超えていると判定されると、前記入出力CPUは、2以上の処理CPUにより冗長的に実行されている処理について、1以上の処理CPUにおいて該処理を廃棄することとしてもよい。前記入出力CPUは、より小さい値の前記冗長度を再設定することとしてもよいし、あるいは、前記入出力CPUは、該処理CPUの負荷に応じて、複数の処理CPUにより冗長的に実行されている処理について、段階的に冗長度を上げる、あるいは段階的に冗長度を下げることとしてもよい。
本発明によれば、簡易な回路構成で、処理の実行速度および障害耐力を向上させることができる。
以下、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態に係る処理回路の構成図である。図1に示す処理回路1は、トランザクション入出力処理CPU11、複数の処理CPU12(12A、12B、12C)、複数の入力メモリ13(13A、13B、13C)、複数の出力メモリ14(14A、14B、14C)、ポインタセットFIFO(first in first out)15、ポインタリードレジスタ16、通信用バス17およびバス18を含んで構成される。
トランザクション入出力処理CPU(以下、トランザクションCPU)11は、処理回路1の外部からのトランザクションの入力に対して、そのトランザクションの処理結果を外部に対して出力する。入力メモリ13は、処理回路1に入力されたトランザクションを格納する。処理CPU12は、処理回路1に入力されたトランザクションを入力メモリ13から読み出して実行する。出力メモリ14は、処理CPU12によるトランザクションの処理結果を格納する。ポインタリードレジスタ16は、入力メモリ13上におけるトランザクションの格納先であるアドレス等の、各処理CPU12が入力メモリ13からトランザクションを読み出して実行するために必要な情報を格納する。ポインタセットFIFO15は、ポインタリードレジスタ16に格納されている情報数、すなわちトランザクション数(キューの数)をFIFOで管理する。通信用バス17は、トランザクションCPU11と各処理CPU12との間の通信のために用いられるバスである。バス18は、各処理CPU12がトランザクションを実行するとき、および実行結果を出力するときに使用されるバスである。
なお、図1においては処理CPU12、入力メモリ13および出力メモリ14は3組備えた構成とされているがこれに限らない。処理CPU12、入力メモリ13および出力メモリ14を2組以上備えた構成であれば、以下に説明する冗長構成を備えた処理CPU12によるトランザクションの実行が可能とされる。
本実施形態に係る処理回路1においては、複数の処理CPU12が並列に配置され、1つの処理CPU12に対し、入力メモリ13や出力メモリ14が1対1に対応づけて設けられている。そして、トランザクションCPU11において検出されたトランザクションについては、全ての入力メモリ13上の共通するアドレスに同期書き込みされ、そのアドレスを含む情報はポイントリードレジスタ16に格納される。処理CPU12は、ポインタリードレジスタ16から処理CPU12間で共通するアドレス等の情報を読み出し、読み出した情報を用いて、入力メモリ13に格納されているトランザクションを取り出す。トランザクションの実行は、複数の処理CPU12により並列に行われる。処理CPU12は、自装置に対応する出力メモリ14に実行結果を格納する。出力メモリ14に格納された処理結果は、トランザクションCPU11からI/Oを介して出力される。
なお、処理回路1内でトランザクションを入力メモリ13に格納する処理、そのアドレスを含む情報を、ポインタセットFIFO15を介してポインタリードレジスタ16に保持する処理、その情報に基づいてトランザクションを処理CPU12が読み出して実行する処理、実行結果を出力メモリ14に格納する処理、トランザクションが完了したことを処理CPU12がトランザクションCPU11に割り込み通知する処理および出力メモリ14から実行結果を読み出してトランザクションCPU11に転送する処理は、通信用バス17とは別個のバス18を介して行われる。
詳しくは後述するが、上記のトランザクションを実行するための情報には、共通するアドレスを表すポインタの他、ポインタ値の有効/無効を判定するためのフラグを含む。フラグにより重み付けがされており、フラグには、多重処理構成とされる処理CPU12の冗長度や、トランザクションの優先度等の情報が格納される。
以下の説明においては、トランザクションとは、例えば無線通信ネットワークにおけるインフラ側の装置において処理される一連の処理を指し、インフラ側の装置としては、例えば、基地局制御装置が挙げられる。基地局制御装置において実行される一連の処理の一例としては、基地局制御装置が、自装置を介して相手端末と通信を開始しようとしている端末からの要求を受けて、相手端末側の基地局制御装置との間でネゴシエーションをし、通話パスを確立するために実行する処理が挙げられる。トランザクションは無線通信に関する処理に限定するものではなく、一般的なトランザクションについても含むものであるが、以下の説明においては、通信における基地局制御装置に備えられた処理回路1について述べることとし、以下において「装置」とは、基地局制御装置を指すこととする。
以下、図2から図8を参照して、本実施形態に係る処理回路1の基本的な動作について説明する。
図2は、トランザクションCPU11におけるトランザクションの入出力処理についてのフローチャートである。図2(a)は、外部からトランザクションが入力されたときのフローチャートである。まず、ステップS1で、あるトランザクションがI/Oから入力されると、ステップS2で、入力メモリ13にトランザクションのデータを転送する。ステップS3で、ポインタセットFIFO15に入力メモリ13におけるトランザクションの格納先等の情報を書き込み、処理を終了する。図2(a)の処理終了後、処理CPU12によりトランザクションが実行され、実行結果は、トランザクションCPU11に割り込み通知される。
図2(b)は、トランザクションの処理結果を外部に出力するときのフローチャートである。まず、ステップS11で、処理CPU12から割り込み通知を受けると、ステップS12で、その処理CPU12に対応する出力メモリ14から処理結果のデータを引き取る。ステップS13で、引き取ったデータをI/Oに出力し、処理を終了する。
図3は、処理CPU12におけるトランザクションの実行に関する基本動作を示したフローチャートである。なお、本実施形態においては、例えばフラグに「3」が設定されている場合は、3個の処理CPU12によりトランザクションが実行されることを意味する。
まず、ステップS21で、ポインタリードレジスタ16からデータを読み出し、ステップS22で、読み出したデータのうち、処理CPU12の冗長度を示すフラグの値が「0」であるか否かを判定する。冗長度を示すフラグに「0」が設定されている場合は、特に処理を行わずに処理を終了する。フラグにゼロ以外の値が設定されている場合は、ステップS23に進み、入力メモリ13の所定のポインタから実行すべきトランザクションを引き取る。ステップS24では、トランザクションを処理するに際し、そのトランザクションの優先度を判断して処理する必要があるか否かを判定する。優先度を考慮する必要がない場合は、ステップS25に進み、トランザクションを実行し、ステップS26で、出力メモリ14に処理結果を書き込む。最後に、ステップS27で、トランザクションCPU11に対して割り込み(IRQ)通知を送信して、処理を終了する。
一方、ステップS24の判定において、優先度を考慮する必要があると判定された場合は、ステップS28に進み、トランザクションの優先度を示すフラグの値に、「優先」が格納されているか否かを判定し、優先処理を行うべきトランザクションであると判定された場合は、ステップS29で、処理キューの先頭に、そのトランザクションのタスクを設定して上記のステップS25に戻り、トランザクションを実行する。ステップS25以降は上記と同様の処理を行う。処理キューの先頭にタスクを設定することで、そのトランザクションについては、先に処理が開始されていた他のトランザクションよりも先に実行される。優先トランザクションが先に実行されることで、緊急性の高い処理、例えばVIP CALLや110番、119番等への接続等が保障される。
一方、ステップS28で、フラグに「優先」以外、すなわち「普通」処理や「低優先」処理を示す値が格納されている場合は、ステップS30に進み、処理キューの最後尾にそのトランザクションのタスクを設定して、優先処理の場合と同様にステップS25に戻り、トランザクションを実行し、ステップS26からステップS27の処理を実行して終了する。
図3に示すように、各処理CPU12は、ポインタリードレジスタ16からポインタを読み出すときに冗長度フラグを参照し、フラグの値が「0」でなければそのトランザクションを実行する。以下、図4を参照して、冗長度を示すフラグにより複数の処理CPU12においてトランザクションを実行する方法を説明する。
図4は、トランザクションの実行によるフラグの値の設定処理を示したフローチャートである。図4に示す一連の処理は、トランザクションCPU11があるトランザクションについてI/Oを介して受け付けたことを契機として開始され、トランザクションCPU11により実行される。
ステップS41で、ポインタセットFIFO15を介してフラグに値を設定すると、ステップS42で、処理CPU12からポインタリードレジスタ16のフラグの読み出しがあるまで待機する。処理CPU12からの読み出しを認識すると、ステップS43に進み、フラグの値を1減算する。ステップS44で、フラグの値がゼロであるか否かを判定する。フラグに1以上の値が格納されている場合は、先のステップでフラグを読み出した処理CPU以外の処理CPU12にそのトランザクションを実行させる必要があると判断して、ステップS42に戻る。フラグの値が「0」になると、処理を終了する。フラグの値が「0」に設定された後は、対応するトランザクションについてのポインタ値は無効となり、入力メモリ13からそのトランザクションを破棄する。
ポインタリードレジスタ16のフラグにより、そのトランザクションを実行すべき処理CPU12の数が示されている。フラグが示す数の処理CPU12が、それぞれポインタリードレジスタから必要な情報を読み出して自装置と対応付けられた入力メモリ13からトランザクションを読み出して実行する。各処理CPU12が入力メモリ13からトランザクションを読み出すごとに図4に示す処理が実行され、フラグが「0」になるまで、各処理CPU12において図3の処理が実行される。あるトランザクションについては複数の処理CPU12において実行されるので、例えある処理CPU12において障害が発生してトランザクションが実行不可能となった場合であっても、他の処理CPU12において実行することができるので、処理回路1の障害耐力の向上に資する。
なお、3個以上の処理CPU12によりトランザクションが実行された場合は、例えば処理の実行結果を互いに比較して多数決でトランザクションCPU11に渡す結果を選択することとしてもよい。これにより、更に処理の信頼度を向上させることができる。
フラグの値は、例えば予めプログラムに定義しておくこととしてもよいし、あるいは、処理回路1を備えた装置の局データにより設定することとしてもよい。更に、プログラムや局データにおいて、処理すべきトランザクションが実行される環境等に応じて適切な値が設定されることとしてもよい。
本実施形態に係る処理回路1は、処理CPU12の冗長度やトランザクションの優先度等の情報がフラグに含まれていることを用いて、例えば処理CPU12にかかる負荷の度合等に応じて、トランザクションを実行させることができる。例えば、処理CPU12が定期的にポインタリードレジスタ16を読み出す処理(図3においてはステップS21の処理)を行う時間の間隔を、処理CPU12にかかる負荷に応じて変化させることができる。以下、処理CPU12がポインタリードレジスタ16の読み出しを実行する時間間隔を、リード間隔とする。
図5は、処理CPU12にかかる負荷に応じてリード間隔を設定する処理を示したフローチャートである。図5の処理は、各処理CPU12において、定期的に実行される。
ステップS51で、処理CPU12における負荷状況を判断するための値を計測する。ここで、負荷状況を判断するための値とは、例えば図5のフローチャートに示すCPU使用率等の負荷率の他、ポインタセットFIFO15のFIFOの深さ(キューの長さ)、単位時間当たりに読み出されるポインタ数(冗長度の変化量、処理中のトランザクション数)等を指し、以下の説明においては、このステップで計測された値を測定値aと表記する。
ステップS52で、測定値aが、閾値nを超えているか否かを判定し、測定値aが閾値nを超えている場合はステップS53に進み、ポインタリードレジスタ16のリード間隔の値に、過負荷時のリード間隔として予め用意されている値を設定する。CPU使用率を測定して判定する場合、例えば閾値n=50%であり、過負荷時のリード間隔として20[ms]が設定される。測定値aが閾値n以下の場合は、ステップS54に進む。
ステップS54で、設定されているポインタリードレジスタ16のリード間隔として、通常負荷時の値が設定されているか否かを判定する。リード間隔として通常負荷時の値が設定されている場合は、ステップS55に進み、通常負荷時の値を設定して処理を終了する。通常負荷時のリード間隔は、例えば10[ms]である。なお、ステップS55は、処理CPU12にかかっている負荷は比較的低いけれどもリード間隔として過負荷時の値が設定されているとして、通常負荷時の値に設定し直すための処理である。ステップS54の判定でリード間隔には通常負荷時の値が設定されていると判定された場合は、ステップS51に戻る。以降、測定値a(図5の例においてはCPU使用率a)等が閾値n以下である期間内は、値の計測および閾値nとの比較を繰り返す。
なお、閾値nや設定するリード間隔は、プログラムや局データにより予め設定されているほか、トランザクションCPU11からの指示により変更されることとしてもよい。
図5の処理により、CPU使用率aが高いときはリード間隔を長く、使用率が低いときはリード間隔を短く設定される。処理CPU12の負荷状態に応じてポインタリードレジスタ16を読み出す間隔を設定することで、各処理CPU12の負荷を均一になるように制御される。
図6は、処理CPUの負荷状態に応じて、処理の冗長度を設定する処理を示したフローチャートである。図6の処理は、図5のステップS51で処理CPU12において測定された測定値aを用いて、トランザクションCPU11により、定期的にトランザクションの処理により処理CPU12にかかる負荷を監視することで実現される。
まず、ステップS61で、測定値aを読み出し、ステップS62で、閾値nを超えているか否かを判定する。測定値aが閾値n以下の場合はステップS63に進み、冗長度として所定の値xを設定し、処理を終了する。ここで所定の値xとは、既に述べた通り、プログラムや局データにより設定される。
ステップS63の判定において測定値aが閾値nを超えている場合はステップS64に進み、処理CPU12が過負荷状態にあるとして処理CPU12に通知を行う。ステップS65で、フラグの冗長度を1に設定し、処理を終了する。
図6の処理を実行することにより、トランザクションCPU11が、各処理CPU12において計測した上記測定値aに基づいて処理CPU12の負荷状態に応じた適切な冗長度が設定される。負荷状態に応じて冗長度を設定することで、負荷が高い状態のときは、トランザクションを実行する処理CPU12について、並列処理を実行する多重処理構成から一重処理構成へとその構成が変更される。これにより、負荷が低いときは多重処理構成で処理の信頼性が高められ、負荷が高いときは一重処理構成に変更して処理CPU12にかかる負荷が低減される。
図7は、ポインタリードレジスタ16に格納されるデータ構成を示した図である。図7(a)に示すように、1つのトランザクションについてのポインタリードレジスタ16の構成は、フラグおよびポインタ値を含んで構成される。図7(b)は、フラグの構成を示した図である。フラグが示す内容は、トランザクションが実行する環境等に応じて決定される。例えば、図7(b)における「ケース1」の処理を実行するときは、冗長度すなわち処理CPU12の冗長構成についての情報が含まれる。「ケース2」の処理を実行するときは冗長度とトランザクションの優先度についての情報が、「ケース3」の処理を実行するときは優先度および優先度に応じて設定される冗長度についての情報が含まれる。
ケース1のフラグ構成をとるときは、トランザクションを実行する処理CPU12の数がフラグにより決定され、1つの処理CPU12がトランザクションの実行を開始するごとに、図4に示す処理によってフラグの値がゼロになるまで1ずつ減算されていく。
ケース2のフラグ構成をとるときは、フラグには冗長度および優先度がそれぞれ別個に設定されており、トランザクション実行時にそれぞれ必要な値を読み出すことにより、処理CPU12の冗長構成、優先度に応じたトランザクション処理が実行される。
ケース3のフラグ構成をとるときは、トランザクションに予め設定されている優先度に応じて処理CPU12の冗長度およびそのトランザクションの処理回路1における優先度を示すフラグにより決定される。優先度の高いトランザクションが入力された場合は、これに応じてフラグには大きい値が設定され、トランザクション処理がより多重化される。
なお、優先度の高いトランザクションとしては、例えば、VIP CALLや、あるいは110や119、すなわち警察署や消防署への接続が挙げられる。あるいは、装置の設置箇所に応じて優先度を設定する等でもよい。
上記の3つのケースのうちいずれのケースでトランザクションを実行するかについては、予めプログラムや局データにおいて定義して固定されたケースで実行することとしてもよいし、あるいは、例えば本実施形態に係る処理回路1を備えた装置の初期化時等の所定のタイミングで、いずれのケースによってトランザクションを実行するかについて選択することとしてもよい。
図8は、フラグの構成を選択する処理を示したフローチャートである。まず、ステップS71で、装置の初期化処理が開始したことをトランザクションCPU11が認識すると、ステップS72で、優先度を考慮に入れてトランザクションを実行するか否かを示す値を不図示のメモリを参照し、「優先度を考慮しない」を示す値が格納されている場合はステップS73に進み、使用するフラグの構成として上記の「ケース1」を設定し、ステップS77に進む。
ステップS72の判定において「優先度を考慮する」を示す値が格納されている場合は、ステップS74に進み、更に、フラグの冗長度はトランザクションの優先度を兼ねるか否か、すなわち冗長度はトランザクションの優先度に応じて設定するか否かについて判定する。冗長度と優先度とを別個に設定する場合はステップS75に進み、使用するフラグの構成として上記の「ケース2」を設定し、ステップS77に進む。冗長度を優先度に応じて設定する場合は、ステップS76に進み、フラグの構成として「ケース3」を設定し、ステップS77に進む。ステップS77で、フラグ構成を各処理CPU12に対して通知し、処理を終了する。
ステップS72やステップS74の処理においてフラグ構成を決定するために参照される値の他、トランザクションを冗長構成で実行するためや、優先度の高いトランザクションについては優先的に実行するため、更には、処理CPU12の負荷状態を適切に保つための各種の値(設定データ)が、予めプログラムや装置の局データに設定されている。
図9は、本実施形態に係る処理回路1において参照される設定データの一例である。トランザクションCPU11は、図1においては不図示のメモリに格納された設定データを参照して、上記の各種設定や判定等を行う。設定データは、上記の優先度の考慮の有無を判定するための優先度考慮有無情報や、冗長度と優先度とを兼用するか否かを判定するための兼用可否情報の他に、ポインタリードレジスタ16のリード間隔の初期値、設定すべき冗長度を含む。更には、ポインタリードレジスタ16のリード間隔を負荷状態に応じて設定するためのデータ、処理CPU12の負荷状態に応じて冗長度を変更するためのデータ、処理CPU12の負荷が高いと判定してトランザクションを廃棄するためのデータおよび処理CPUにより異なるリード間隔を設定して、特定の処理CPUについては負荷の低い状態を保つためのデータ等が格納されている。
本実施形態に係る処理回路1は、図9に示すデータを用いて、処理CPU12の負荷率や、FIFOの深さ(FIFO長)、単位時間当たりの冗長度の変化量等に基づいて、トランザクションの実行を制御する。以下、図面を参照して、上記以外の制御方法について説明する。
図10は、処理CPU12の負荷率に応じて冗長度を設定する処理を示したフローチャートである。図10に示す処理は、例えばI/Oから入力されたトランザクションをトランザクションCPU11において受け付けるタイミングで実行される。
まず、ステップS81で、処理CPU12の負荷率Xを測定する。ここで、負荷率Xとは、既述の通り、例えば処理CPU12の使用率、FIFOの深さ等のいずれかについての測定値である。次に、ステップS82で、負荷率Xが所定の閾値Aよりも小さいか否かを判定する。ステップS82においては、負荷率Xが、冗長度を最大に設定しても処理速度に影響が小さいと予想されるほどに十分小さいか否かを判定している。負荷率Xが閾値A未満であると判定されると、ステップS83に進み、冗長度として最大値n(nは正の整数)を設定し、処理を終了する。
ステップS82の判定において負荷率Xが閾値A以上であると判定されると、ステップS84に進み、更に、負荷率Xが閾値B未満であるか否かを判定する。閾値Bは、上記の閾値Aよりも小さい値が設定されている。負荷率Xが閾値B未満である場合はステップS85に進み、冗長度として(n−1)を設定して処理を終了する。負荷率Xが閾値B以上である場合は、順次先の判定において使用された閾値(ここでは閾値Bよりも小さい閾値C)と負荷率Xとを比較していき、冗長度を設定すると、負荷率Xが大きいほど冗長度としては小さい値が設定される。ステップS86においては、負荷率Xを閾値の最大値(図10の「full」)と比較するが、この場合は、閾値の最大値との大小関係によらず、ステップS87で冗長度としては最小値である1を設定し、処理を終了する。
図10に示す処理を、I/Oから入力されたトランザクションをトランザクションCPU11において受け付けるタイミング以外にも、定期的に実行することとしてもよい。定期的に図10の一連の処理を実行することで、処理CPU12の負荷状態に応じて段階的に冗長度を上げていく、あるいは下げていくこともできる。例えば、トランザクションをI/Oから受け付けた時点においては(冗長度)=3が設定されたとすると、その後各処理CPU12が他のトランザクションを実行することにより負荷率Xが上昇したような場合であっても、負荷率Xが上がるにつれて冗長度を順次2、1と下げていくことができる。逆に、トランザクションを受け付けた時点においては(冗長度)=1が設定されたとしても、その後負荷率Xが下がるにつれて冗長度を順次2、3と上げていくこともできる。すなわち、トランザクションを実行する処理CPU12の負荷状態に応じて冗長度を変化させることで、トランザクションの実行の信頼度を最大限に高め、且つ負荷の上昇による処理性能の低下を防ぐことができる。
なお、図10においては負荷率Xの大きさに応じて冗長度を設定する処理について示しているが、これに限るものではない。例えば、冗長度を設定する代わりに、ポインタリードレジスタ16のリード間隔を設定することとしてもよい。負荷率Xが小さいほどリード間隔として小さい値を設定し、負荷率Xが大きいほどリード間隔として大きい値を設定することで、上記と同様の効果が得られる。
図11は、優先処理のトランザクションが入力されたときの処理を示したフローチャートである。ステップS91で、処理回路1を構成する複数の処理CPU12のうちの1つ(ここでは、処理CPU12Nとする)について、予め他の処理CPU12よりもリード間隔を長く、例えば最長となるように値を設定する。リード間隔を大きく取ることで、処理CPU12Nは、他の処理CPU12と比べて負荷を低く保たれる。ステップS92で、トランザクションCPU11において優先度の高いトランザクションがI/Oから入力されたことを検出すると、ステップS93で、処理CPU12Nに対して割り込み通知を送信し、ステップS94で、検出した優先度の高いトランザクションをポインタセットFIFO15に設定する。
トランザクションCPU11から割り込み通知を受けた処理CPU12Nにおいては、そのリード間隔が最短となるように値を設定し直し、ステップS96で、ポインタリードレジスタ16の値を読み出す。トランザクションCPU11は、処理CPU12Nがポインタリードレジスタ16を読み出したことを処理CPU12Nから通知されると、ステップS97で、ポインタリードレジスタ16の値を再設定し、処理を終了する。処理CPU12Nは、ステップS98で、優先トランザクションを入力メモリ13から読み出して実行し、処理を終了する。なお、ステップS98の処理においては、優先トランザクションについてはキューの先頭に設定し、他のトランザクションについてはキュー最後尾に順に配置していく。図11に示す処理を実行することにより、優先トランザクションの実行の信頼性が高まる。
なお、図11の例においては、ステップS91で優先トランザクションが検出された場合の処理について示しているが、これに限らない。例えば、処理CPU12の負荷が急激に変動したことをトランザクションCPU11において認識したことを契機として、複数の処理CPU12のうちある処理CPUについてリード間隔を設定し直すこととしてもよい。このような場合は、例えば、処理CPU12の負荷が急激に増大すると、ある処理CPU12についてはリード間隔が最長となるように再設定することで、負荷を低減させるのに効果がある。
図12は、処理CPU12の負荷を低減させる処理の一例を示したフローチャートである。図12を参照して、処理CPU12の負荷状態を判定するための指標の一つであるFIFOの深さを監視することにより、処理CPU12にかかる負荷を低減させる処理について説明する。なお、「FIFOの深さ」とは、FIFOにたまっているポインタ数を意味する。
まず、ステップS101で、ポインタセットFIFO15の深さXを測定し、ステップS102で、測定値Xは閾値Aを超えているか否かを判定し、閾値Aよりも大きいと判定されるまで、定期的にFIFOの深さXを測定する。閾値Aは、上記のCPU使用率等についての閾値と同様に、プログラムや局データであらかじめ定義されている。
FIFOの深さXが閾値Aを超えると、ステップS103に進み、処理CPU12に対して割り込み通知を送信する。割り込み通知を受けた処理CPU12においては、冗長度を示すフラグの値が「1」であるときに読み出されたトランザクション以外を廃棄して、処理を終了する。
FIFOの深さが閾値Aを超えると、未処理のトランザクションが蓄積されているために処理CPU12の負荷が増大することを予測し、複数の処理CPU12のうち1つの処理CPU12にのみトランザクションを実行させることとし、他の処理CPU12が読み出したトランザクションについては廃棄する。これにより、処理すべきトランザクションが未処理のまま蓄積されているような場合には、各トランザクションについては実行する処理CPU12の数を限定し、上記の例においては1つに限定し、負荷が増大しないようにすることができる。なお、トランザクションを廃棄せずに処理を続行させる処理CPU12については、任意の値を設定することができる。
図13は、処理CPU12の負荷を低減させる処理の他の例を示したフローチャートである。図13を参照して、処理CPUの負荷状態を判定するための他の指標の一つであるCPU使用率を監視して、図12と同様にトランザクションを実行する処理CPU12の数を限定して負荷を低減させる処理について説明する。
まず、ステップS111で、処理CPU12において自装置の使用率Xを測定し、ステップS112で、測定の結果得られたCPU使用率XをトランザクションCPU11に報告する。報告を受信したトランザクションCPU11においては、ステップS113で、各処理CPU12から受信した値に基づいて、平均の処理CPU12の使用率を算出する。ステップS114で、トランザクションCPU11は、平均のCPU使用率が、閾値Aを超えているか否かを判定する。閾値Aについては図12の説明において既に記したのと同様、プログラムや局データに予め定義されている。ステップS114において平均CPU使用率は閾値A未満と判定されると、ステップS111の処理に戻る。以降、平均CPU使用率が閾値Aを超えるまで、ステップS111からステップS114の処理を繰り返す。
平均CPU使用率が閾値Aを超えると、ステップS115に進む。図13に示すステップS115およびステップS116の処理については、図12におけるステップS103およびステップS104の処理とそれぞれ同様であるのでここでは説明を割愛する。
図13に示す処理を実行することで、トランザクションを実行すること等によってCPU使用率が上昇し、処理CPU12の負荷の増大が生じた場合等であっても、各トランザクションを実行する処理CPU12の数を限定することで図12に示す処理を実行する場合と同様の効果が得られる。
図14は、処理CPU12の負荷を低減させる処理の更に他の例を示したフローチャートである。図14に示す処理において、処理CPUの負荷状態を判定するための他の指標の一つとして用いるのは、単位時間当たりのフラグすなわち冗長度の変化量である。
まず、ステップS121で、フラグの冗長度を示す値を、所定の時間間隔で、ここではT[s]ごとにサンプリングする。次にステップS122で、単位時間当たりの冗長度の変化量Xを算出する。例えば時刻T1における冗長度をFLG(T1)、時刻T1からT[s]後の時刻T2(=T1+T)における冗長度をFLG(T2)とすると、変化量Xは、X=(FLG(T1)−FLG(T2))/Tで求められる。
ステップS123で、算出した変化量Xは、所定の閾値A未満であるか否かを判定し、冗長度の単位時間当たりの変化量Xが閾値A未満になるまで、ステップS121からステップS123までの処理を繰り返す。ここでの閾値Aに関しては、冗長度の単位時間当たりの変化量についての閾値である。プログラムや局データにより予め定義されることについては上記の他の閾値についてと同様である。
ステップS124で変化量Xが閾値A未満の条件を満たすと、ステップS124に進む。ステップS124およびステップS125の処理については、図12のステップS103およびステップS104の処理とそれぞれ同様であるので、これらの処理の説明については割愛する。
あるトランザクションについて、単位時間当たりの冗長度の変化量、すなわちそのトランザクションを実行すべき複数の処理CPU12が実際にフラグ等の情報をレジスタから読み出して処理を開始する頻度が下降すると、処理CPU12の負荷が増大したと判断する。処理CPU12の負荷を低減させるため、そのトランザクションを実行する処理CPU12の数を限定することで、図12や図13に示す処理を実行する場合と同様の効果が得られる。
図12から図14を参照して、処理回路1内で処理CPU12の負荷が増大したときに、処理CPU12にかかる負荷を低減させるための処理方法を説明してきた。本実施形態に係る処理回路1は、回路外から入力されるトランザクションの量に応じた処理を実行することもできる。
図15は、処理回路1に入力されるトランザクション量を監視してトランザクションを実行する処理を示したフローチャートである。まず、ステップS131で、ある1個以上の処理CPU12において、ポインタリードレジスタ16を読み出すリード間隔として、設定しうる範囲で最長となる値を設定する。一方、トランザクションCPU11は、ステップS132で、処理回路1がI/Oを介して入力されるトランザクションの単位時間当たりの量Xが、所定の閾値A以上であるか否かを監視している。ステップS132の判定においてトランザクションの単位時間当たり入力量Xが閾値Aを超えると、ステップS133に進む。ステップS133以降のトランザクションCPU11、処理CPU12において実行される処理については、図11のステップS93以降の処理と同様であるのでここでは説明を省略する。
処理回路1に入力されるトランザクション量が急激に増大すると、トランザクションを実行する処理CPU12の負荷が急激に変動する前に、予め前記のポインタリードレジスタ16を読み出すリード間隔として最長となる値を設定した処理CPU12のポインタリードレジスタ16のリード間隔を短く、図15の例においては最短に設定しておく。処理CPU12がポインタリードレジスタ16からデータを読み出す頻度を高く設定することで、多量のトランザクションを処理する効率が高まる。
なお、図15においては、処理はトランザクションの優先度によっては異ならず、同様の処理を実行することとしているが、これに限定されるものではない。例えば、優先トランザクションが入力された場合は、ステップS138で、優先トランザクションの実行については、キューの先頭に配置し、他のトランザクションよりも先に実行させることとしてもよい。
以上説明したように、本実施形態に係る処理回路1によれば、処理回路1を備えた装置等のシステムの負荷状態に合わせた処理CPUの冗長構成や優先度処理構成が構築される。これにより、ある処理CPUに障害が発生したような場合であっても、トランザクションの救済を図ることが可能とされる。また、トランザクションの実行には共通バスを介した通信はなされず、また、各処理CPUについて設けられた入力/出力メモリを用いてトランザクションの入出力を行う。これにより、従来のように共通バスのボトルネックの発生が起こらない。以上より、本実施形態に係る処理回路を用いることで、安定性の高いシステムを構築することができる。
(付記1)
入力された実行すべき処理に対して、該処理の実行結果を出力する入出力CPUと、
前記入出力CPUからの指示にしたがって、前記処理を実行する複数の処理CPUと、
各処理CPUに対応付けられ、前記入出力CPUに入力された処理および該処理の実行結果を格納する複数の記憶部と、
前記複数の記憶部間で共通する格納先を示す格納先情報を格納する格納部と、
を備え、
前記処理CPUは、前記格納先情報を前記格納部から読み出し、各処理CPUに対応付けられた記憶部における前記処理の格納先から該処理を読み出して実行する
ことを特徴とする処理装置。
(付記2)
前記複数の処理CPUは、設定された時間間隔で前記格納部に格納された格納先情報を読み出す処理を実行する
ことを特徴とする付記1記載の処理装置。
(付記3)
前記時間間隔は、処理CPUごとに設定されている
ことを特徴とする付記2記載の処理装置。
(付記4)
前記格納部には、入力された処理を複数の処理CPUにおいて並列に実行するための冗長度あるいは該処理の優先度についての重み付け情報が更に格納され、
前記入出力CPUは、前記処理回路にかかる負荷の状態あるいは入力された処理に含まれる優先度に基づいて前記重み付け情報を設定して前記格納部に格納する
ことを特徴とする付記1記載の処理装置。
(付記5)
前記処理CPUは、1の処理CPUにより前記処理が実行されるごとに前記冗長度を所定の値ずつ減算し、
前記複数の処理CPUは前記冗長度が無効値になるまで前記処理の読み出しを行う
ことを特徴とする付記4記載の処理装置。
(付記6)
前記処理CPUは、入力された処理に含まれる優先度とは独立して前記冗長度を設定する
ことを特徴とする付記4記載の処理装置。
(付記7)
前記処理CPUは、入力された処理に含まれる優先度が高いときは、該優先度に依存する高い値の前記冗長度を設定する
ことを特徴とする付記4記載の処理装置。
(付記8)
前記複数の処理CPUは、処理CPUごとに予め設定された時間間隔で前記格納先情報および前記重み付け情報を読み出す処理を実行し、
より時間間隔の短い読み出し処理を実行可能な処理CPUは、入力された処理に含まれる優先度が高いときは、該処理を優先的に実行する
ことを特徴とする付記4記載の処理装置。
(付記9)
前記複数の処理CPUは、該処理CPUの使用率に基づいて、該処理CPUの負荷が所定の値を超えているか否かを判定する
ことを特徴とする付記1記載の処理装置。
(付記10)
前記入出力CPUは、前記記憶部に格納されている処理数に基づいて、前記複数の処理CPUの負荷が所定の値を超えているか否かを判定する
ことを特徴とする付記1記載の処理装置。
(付記11)
前記入出力CPUは、前記複数の処理CPUが格納先情報を読み出す単位時間当たりの読み出し処理数に基づいて、該処理CPUの負荷が所定の値を超えているか否かを判定する、
ことを特徴とする付記1記載の処理装置。
(付記12)
前記複数の処理CPUの負荷が前記所定の値を超えていると判定されると、前記入出力CPUは、2以上の処理CPUにより冗長的に実行されている処理について、1以上の処理CPUにおいて該処理を廃棄する
ことを特徴とする付記9記載の処理装置。
(付記13)
前記複数の処理CPUの負荷が前記所定の値を超えていると判定されると、前記入出力CPUは、より小さい値の前記冗長度を再設定する
ことを特徴とする付記9記載の処理装置。
(付記14)
前記複数の処理CPUの負荷が所定の値を超えていると判定されると、前記入出力CPUは、該処理CPUの負荷に応じて、複数の処理CPUにより冗長的に実行されている処理について、段階的に冗長度を上げる、あるいは段階的に冗長度を下げる
ことを特徴とする付記9記載の処理装置。
本実施形態に係る処理回路の構成図である。 トランザクションCPUにおけるトランザクションの入出力処理についてのフローチャートである。 処理CPUにおけるトランザクションの実行に関する基本動作を示したフローチャートである。 トランザクションの実行によるフラグの値の設定処理を示したフローチャートである。 処理CPUにかかる負荷に応じてリード間隔を設定する処理を示したフローチャートである。 処理CPUの負荷状態に応じて、処理の冗長度を設定する処理を示したフローチャートである。 ポインタリードレジスタに格納されるデータ構成を示した図である。 フラグの構成を選択する処理を示したフローチャートである。 参照される設定データの一例である。 処理CPUの負荷率に応じて冗長度を設定する処理を示したフローチャートである。 優先処理のトランザクションが入力されたときの処理を示したフローチャートである。 処理CPUの負荷を低減させる処理の一例を示したフローチャートである。 処理CPUの負荷を低減させる処理の他の例を示したフローチャートである。 処理CPUの負荷を低減させる処理の更に他の例を示したフローチャートである。 処理回路に入力されるトランザクション量を監視してトランザクションを実行する処理を示したフローチャートである。 従来における処理回路の構成図である。
符号の説明
1 処理回路
11 トランザクション入出力処理CPU(トランザクションCPU)
12、12A、12B、12C 処理CPU
13、13A、13B、13C 入力メモリ
14、14A、14B、14C 出力メモリ
15 ポインタセットFIFO
16 ポインタリードレジスタ
17 通信用バス
18 バス

Claims (4)

  1. 入力された実行すべき処理に対して、該処理の実行結果を出力する入出力CPUと、
    前記入出力CPUからの指示にしたがって、前記処理を実行する複数の処理CPUと、
    各処理CPUに対応付けられ、前記入出力CPUに入力された処理および該処理の実行結果を格納する複数の記憶部と、
    前記複数の記憶部間で共通する格納先を示す格納先情報と、入力された処理を複数の処理CPUにおいて並列に実行するための冗長度あるいは該処理の優先度についての重み付け情報とを格納する格納部と、
    を備え、
    前記入出力CPUは、前記複数の処理CPUにかかる負荷の状態あるいは入力された処理に含まれる優先度に基づいて前記重み付け情報を設定して前記格納部に格納し、
    前記処理CPUは、前記格納先情報を前記格納部から読み出し、各処理CPUに対応付けられた記憶部における前記処理の格納先から該処理を読み出して実行する
    ことを特徴とする処理装置。
  2. 前記複数の処理CPUの負荷が所定の値を超えていると判定されると、前記入出力CPUは、2以上の処理CPUにより冗長的に実行されている処理について、1以上の処理CPUにおいて該処理を廃棄する
    ことを特徴とする請求項1記載の処理装置。
  3. 前記複数の処理CPUの負荷が所定の値を超えていると判定されると、前記入出力CPUは、より小さい値の前記冗長度を再設定する
    ことを特徴とする請求項1記載の処理装置。
  4. 前記複数の処理CPUの負荷が所定の値を超えていると判定されると、前記入出力CPUは、該処理CPUの負荷に応じて、複数の処理CPUにより冗長的に実行されている処理について、段階的に前記冗長度を上げる、あるいは段階的に前記冗長度を下げる
    ことを特徴とする請求項1記載の処理装置。
JP2005352895A 2005-12-07 2005-12-07 処理装置 Expired - Fee Related JP4567586B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005352895A JP4567586B2 (ja) 2005-12-07 2005-12-07 処理装置
US11/277,622 US7353366B2 (en) 2005-12-07 2006-03-28 Processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005352895A JP4567586B2 (ja) 2005-12-07 2005-12-07 処理装置

Publications (2)

Publication Number Publication Date
JP2007156940A JP2007156940A (ja) 2007-06-21
JP4567586B2 true JP4567586B2 (ja) 2010-10-20

Family

ID=38241210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005352895A Expired - Fee Related JP4567586B2 (ja) 2005-12-07 2005-12-07 処理装置

Country Status (2)

Country Link
US (1) US7353366B2 (ja)
JP (1) JP4567586B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7784054B2 (en) * 2004-04-14 2010-08-24 Wm Software Inc. Systems and methods for CPU throttling utilizing processes
US20150195174A1 (en) * 2012-08-02 2015-07-09 Nec Corporation Traffic data collection apparatus, traffic data collection method and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09113587A (ja) * 1995-10-18 1997-05-02 Advantest Corp 半導体試験装置
JPH09185593A (ja) * 1995-12-26 1997-07-15 Internatl Business Mach Corp <Ibm> マルチプロセッサ装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6055464A (ja) 1983-09-07 1985-03-30 Hitachi Ltd 冗長度管理方法及び多重系計算機システム
US6202149B1 (en) * 1998-09-30 2001-03-13 Ncr Corporation Automated application fail-over for coordinating applications with DBMS availability
JP3683133B2 (ja) * 1999-08-17 2005-08-17 日本電気株式会社 パケットスケジューリング装置
US6982956B2 (en) * 2000-04-26 2006-01-03 International Business Machines Corporation System and method for controlling communications network traffic through phased discard strategy selection
US7099350B2 (en) * 2001-04-24 2006-08-29 Atitania, Ltd. Method and apparatus for converting data between two dissimilar systems
US6948088B1 (en) * 2001-06-13 2005-09-20 Cisco Technology, Inc. Methods and apparatus for efficient transaction processing on redundant systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09113587A (ja) * 1995-10-18 1997-05-02 Advantest Corp 半導体試験装置
JPH09185593A (ja) * 1995-12-26 1997-07-15 Internatl Business Mach Corp <Ibm> マルチプロセッサ装置

Also Published As

Publication number Publication date
US20070174591A1 (en) 2007-07-26
JP2007156940A (ja) 2007-06-21
US7353366B2 (en) 2008-04-01

Similar Documents

Publication Publication Date Title
CA2849565C (en) Method, apparatus, and system for scheduling processor core in multiprocessor core system
JP4961833B2 (ja) クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム
JP5405320B2 (ja) 仮想計算機制御装置、仮想計算機制御方法及び仮想計算機制御プログラム
JP4747307B2 (ja) ネットワーク処理制御装置,プログラムおよび方法
JP5099090B2 (ja) マルチコアシステム、マルチコアシステムの制御方法、及びマルチプロセッサ
JP2007109238A (ja) 回復可能なエラーのロギングのためのシステム及び方法
US7752507B2 (en) Circuit arrangement and method for supporting and monitoring a microcontroller
EP2157723B1 (en) Data retransmission method and system
JP4387970B2 (ja) データ入出力プログラム,装置,および方法
JP2008046890A (ja) マルチプロセッサシステム
JP4567586B2 (ja) 処理装置
JPWO2004046926A1 (ja) イベント通知方法、デバイス及びプロセッサシステム
JP6123487B2 (ja) 制御装置、制御方法及び制御プログラム
JP2007323256A (ja) 割込制御方法および情報処理装置
JP5176743B2 (ja) 通信制御装置および通信制御方法
JP2021043725A (ja) 計算システム、計算方法及びプログラム
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法
Hasler et al. Mitigating Message Passing Interference in Trusted Embedded Platforms
JP6384218B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2007128396A (ja) 割込制御方法および情報処理装置
JP2007264856A (ja) Cpu監視システム、装置、及び方法
WO2017037863A1 (ja) 計算機装置及び制御方法及び制御プログラム
CN114691590A (zh) 一种用于数据传送的方法和相关产品
JP2020047140A (ja) ジョブ実行システムおよびジョブ実行方法
JP2004208181A (ja) 通信制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100714

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100805

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees