JP2017010421A - Information processing apparatus, processor management method, and program - Google Patents
Information processing apparatus, processor management method, and program Download PDFInfo
- Publication number
- JP2017010421A JP2017010421A JP2015127443A JP2015127443A JP2017010421A JP 2017010421 A JP2017010421 A JP 2017010421A JP 2015127443 A JP2015127443 A JP 2015127443A JP 2015127443 A JP2015127443 A JP 2015127443A JP 2017010421 A JP2017010421 A JP 2017010421A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- processor
- time
- processors
- cpus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、情報処理装置、プロセッサ管理方法、およびプログラムに関する。 The present invention relates to an information processing apparatus, a processor management method, and a program.
近年のコンピュータでは、1台のコンピュータ内に複数のプロセッサが搭載されている場合がある。プロセッサは、CPU(Central Processing Unit)とも呼ばれる。1つのプロセッサ内に、複数のプロセッサコアが搭載されている場合もある。この場合の複数のプロセッサコアそれぞれが、コンピュータ内の独立したプロセッサとして機能する。以下、プロセッサまたはCPUと呼んだ場合、プロセッサコアを含むものとする。 In recent computers, a plurality of processors may be mounted in one computer. The processor is also called a CPU (Central Processing Unit). In some cases, a plurality of processor cores are mounted in one processor. Each of the plurality of processor cores in this case functions as an independent processor in the computer. Hereinafter, when referred to as a processor or a CPU, a processor core is included.
マルチコアプロセッサの普及により、コンピュータ内のプロセッサ数は増加傾向にある。従来は、プロセッサが増加しても、システム全体の負荷を考慮せず、プロセッサをすべて使用していた。この場合、いずれか1つのプロセッサに訂正不可能なエラーが発生すると、OS(Operating System)の動作を継続できなくなり、システムがダウンする。 With the spread of multi-core processors, the number of processors in a computer tends to increase. Conventionally, even if the number of processors increases, all the processors are used without considering the load on the entire system. In this case, if an uncorrectable error occurs in any one of the processors, the operation of the OS (Operating System) cannot be continued and the system goes down.
なお、訂正不可能なエラーが発生しやすいプロセッサを、訂正可能なエラー数から判断し、運用中のシステムダウンの抑止措置を採ることも可能である。例えば訂正可能なエラー数が一定数に達したプロセッサが検出されると、そのプロセッサの使用を停止することができる。これにより、訂正不可能なエラーの発生が抑止される。 It is also possible to determine the processor that is likely to generate an uncorrectable error from the number of correctable errors, and take measures to prevent system down during operation. For example, when a processor in which the number of correctable errors reaches a certain number is detected, the use of the processor can be stopped. Thereby, the occurrence of an uncorrectable error is suppressed.
システムの障害発生時の対応に関する技術としては、例えば、命令再試行可能なエラー発生時、システムの負荷状況及びエラー頻度状況によりプロセッサリリーフ、命令再試行処理を行う技術がある。また、システムリセット時の初期化処理において異常が発生しても、システムが起動しなくなることを回避する技術もある。さらに、サーバ等の処理装置に障害が発生した場合の復旧時間の長期化をより確実に抑えられるようにする技術もある。 As a technique for dealing with a system failure, for example, there is a technique for performing processor relief and instruction retry processing according to the system load status and error frequency status when an error capable of retrying an instruction occurs. There is also a technique for avoiding that the system does not start even if an abnormality occurs in the initialization process at the time of system reset. In addition, there is a technology that can more reliably suppress an increase in recovery time when a failure occurs in a processing device such as a server.
複数のプロセッサを有するコンピュータシステムでは、そのシステムの性能を使い切っていないことがある。このような場合、訂正可能なエラー数が一定数に達したプロセッサが存在しなくても、システムの省電力化などの目的で、一部のプロセッサを停止させておくことができる。このように、性能に余力があるときに一部のプロセッサを停止させるという運用を継続すると、各プロセッサの稼働時間に大きな差が生じることがある。 A computer system having a plurality of processors may not use up the performance of the system. In such a case, even if there is no processor in which the number of correctable errors reaches a certain number, a part of the processors can be stopped for the purpose of power saving of the system. As described above, when the operation of stopping some processors is continued when there is a surplus in performance, there may be a large difference in the operating time of each processor.
各プロセッサの稼働時間の実績が大きく異なる場合に、プロセッサごとの訂正可能なエラー数だけでプロセッサの信頼性を判断すると、信頼性を正確には判断できない。例えば、他のプロセッサよりも長時間稼働したプロセッサは、他のプロセッサよりも訂正可能なエラーが多く検出されて当然であり、訂正可能なエラー数が他のプロセッサよりも多いからといって、信頼性が低いと評価することはできない。そこで、稼働実績を考慮して各プロセッサの信頼性を評価することが考えられる。 When the performance of each processor is greatly different, if the reliability of the processor is determined only by the number of errors that can be corrected for each processor, the reliability cannot be determined accurately. For example, a processor that has been operating for a longer time than other processors is likely to detect more correctable errors than other processors, and just because there are more correctable errors than other processors, It cannot be evaluated that the nature is low. Therefore, it is conceivable to evaluate the reliability of each processor in consideration of the operation results.
しかし、ほとんど使用されてないプロセッサが存在すると、そのプロセッサの稼働実績は存在せず、稼働実績に関する情報を取得できない。稼働実績を用いた信頼性評価において、稼働実績に関する情報が取得できないプロセッサがあると、プロセッサ間の信頼性の優劣を正しく判断することができない。その結果、訂正不可能なエラーが発生しやすいプロセッサの判断を誤る可能性が生じる。 However, if there is a processor that is hardly used, there is no operation record of the processor, and information on the operation record cannot be acquired. In the reliability evaluation using the operation results, if there is a processor for which information on the operation results cannot be obtained, it is not possible to correctly determine the superiority or inferiority of the reliability between the processors. As a result, there is a possibility that the determination of the processor that is likely to generate an uncorrectable error is erroneous.
1つの側面では、本件は、プロセッサの信頼性評価に有用な情報を確実に取得できるようにすることを目的とする。 In one aspect, the object is to ensure that information useful for processor reliability evaluation can be obtained.
1つの案では、記憶部と制御部とを有する情報処理装置が提供される。記憶部は、複数のプロセッサそれぞれの使用時間とエラー発生状況とを示す動作情報を記憶する。制御部は、プログラムの実行開始時に、動作情報に基づいて、複数のプロセッサのうちの使用時間が短い方から所定数のプロセッサを、動作させる第1のプロセッサとして選択する。次に制御部は、選択されていない第2のプロセッサを停止した状態で、第1のプロセッサにプログラムを実行させ、第1のプロセッサの使用時間とエラー発生状況とを取得する。そして制御部は、取得した該使用時間と該エラー発生状況とを記憶部に格納する。 In one proposal, an information processing apparatus having a storage unit and a control unit is provided. The storage unit stores operation information indicating usage times and error occurrence states of the plurality of processors. When starting execution of the program, the control unit selects a predetermined number of processors as the first processors to be operated from the ones having a shorter usage time among the plurality of processors based on the operation information. Next, the control unit causes the first processor to execute a program in a state where the second processor that has not been selected is stopped, and obtains the usage time and error occurrence status of the first processor. Then, the control unit stores the acquired usage time and the error occurrence status in the storage unit.
1態様によれば、プロセッサの信頼性評価に有用な情報を確実に取得できる。 According to one aspect, it is possible to reliably acquire information useful for processor reliability evaluation.
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理装置の一例を示す図である。情報処理装置10は、複数のプロセッサ(CPU)11〜14、記憶部15、および制御部16を有する。情報処理装置10内では、CPU11〜14それぞれに識別番号が付与されている。CPU11の識別番号は「1」、CPU12の識別番号は「2」、CPU13の識別番号は「3」、CPU14の識別番号は「4」である。
Hereinafter, the present embodiment will be described with reference to the drawings. Each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
FIG. 1 is a diagram illustrating an example of an information processing apparatus according to the first embodiment. The
記憶部15は、複数のCPU11〜14それぞれの使用時間とエラー発生状況とを示す動作情報を記憶する。エラー発生状況には、例えば訂正可能なエラーの発生回数が示されている。例えば記憶部15内には、動作情報管理テーブル15aが設けられ、動作情報管理テーブル15aに動作情報が登録される。動作情報管理テーブル15aには、例えばCPU11〜14ごとに、使用時間とエラー数とが登録されている。動作情報管理テーブル15aに示される各CPU11〜14のエラー数は、例えばそのCPUから繰り返し収集したエラー発生状況に示されるエラー数の積算値である。
The memory |
制御部16は、プログラムの実行開始時に、記憶部15内の動作情報に基づいて、複数のCPU11〜14のうちの使用時間が短い方から所定数のCPUを、動作させるCPUとして選択する。そして制御部16は、選択されていないCPUを停止した状態で、選択したCPUにプログラムを実行させる。すなわち、複数のCPU11〜14のうちの使用時間が長い方の所定数のCPUが、停止させるCPUとなる。さらに制御部16は、選択したCPUそれぞれの使用時間とエラー発生状況とを取得し、取得した使用時間とエラー発生状況とを記憶部15に格納する。
At the start of execution of the program, the
なお、制御部16は、エラーの発生状況に応じて、動作させるCPUの選択基準を変えることができる。例えば制御部16は、エラー発生状況に基づく複数のCPU11〜14それぞれの信頼性に差がない場合には、使用時間が短いCPUから順に、動作させるCPUとして選択することができる。そして、制御部16は、複数のCPUそれぞれの信頼性に差がある場合には、信頼性の高いCPUから順に、動作させるCPUとして選択する。
Note that the
なお制御部16は、信頼性の判断では、例えば、単位使用時間当たりのエラー数が少ないCPUほど信頼性が高いと判断することができる。また制御部16は、例えば、CPUの稼働時間にそのCPUの平均使用率を乗算した値を、そのCPUの使用時間とすることもできる。
In the determination of reliability, for example, the
このような情報処理装置10において、例えば、情報処理装置10の運用時に実行するプログラムが、3つのCPUで実行可能であるものとする。その場合、運用中、1つのCPUを停止させておくことができる。どのCPUを使用し、どのCPUを停止させるのかは、例えばプログラムの実行開始時に決定される。図1の例では、情報処理装置10を起動した際に、使用するCPUが決定され、そのCPUでプログラムが実行されるものとする。
In such an
情報処理装置10の1回目の起動時には、すべてのCPUの使用時間とエラー数が共に「0」である。この場合、制御部16は、任意の1つのCPUを停止させる。図1の例では、CPU11〜13が使用され、CPU14が停止されている。制御部16は、例えば、プログラムの実行停止時に、使用されているCPU11〜13から動作情報を取得し、記憶部15に格納する。その結果、CPU11〜13についての使用時間とエラー数とが、動作情報管理テーブル15aに登録される。
When the
なお、CPUの利用率を加味した値を使用時間として用いることで、同じ期間だけ稼働したCPUでも、使用時間が異なってくる。例えば図1の例では、識別番号「1」のCPU11の使用時間が最も長い。
It should be noted that, by using a value that takes into account the utilization rate of the CPU as the usage time, the usage time differs even for CPUs that have been operating for the same period. For example, in the example of FIG. 1, the usage time of the
情報処理装置10の2回目の起動時には、制御部16は、1回目のプログラムの実行により収集された動作情報に基づいて、使用するCPUと停止するCPUとを決定する。図1の例では、2回目の起動時には、いずれのCPUにもエラーが発生していない。そこで制御部16は、使用時間が短い方から3つのCPU12〜14を、使用対象として選択する。そして制御部16は、選択されなかったCPU11の動作を停止させる。そして制御部16は、使用しているCPU12〜14の動作情報を取得し、記憶部15に格納する。これにより、1回目で停止されていたCPU14の動作情報も取得することができる。
When the
以後、情報処理装置10を起動するごとに、制御部16は、使用時間が短いCPUを優先的に使用し、使用時間が長いCPUを停止させる。これにより、各CPU11〜14の使用時間を均等化させることができる。使用される複数のCPUの使用率に大きな差がなく、一回の起動での運用期間が毎回同じであれば、各CPUは、ローテーションで使用されることとなる。
Thereafter, each time the
情報処理装置10を運用しているうちに、いずれかのCPUにおいて、訂正可能なエラーが発生することがある。図1の例では、情報処理装置10のk回目(kは1以上の整数)の起動時には、各CPU11〜14で1回ずつのエラーが検出されている。この場合、各CPU11〜14のエラー数は同等であるが、使用時間を考慮して信頼性を評価すると、複数のCPU11〜14の信頼性は同等とはならない。すなわち、単位時間当たりのエラー数が多いほど、信頼性が低いと考えられる。エラー数が同じであれば、使用時間が短いほど信頼性が低いことになる。図1の例では、使用時間が最も短いのは、識別番号「2」のCPU12である。そこで制御部16は、単位時間当たりのエラー数が最大のCPU12以外のCPU11,13,14を動作させるCPUとして選択し、CPU12を停止させる。
While operating the
このように、第1の実施の形態では、いずれのCPUからもエラーが検出されていない状態では、使用時間が短いCPUを優先的に使用することで、使用時間の均等化が図られる。その結果、すべてのCPU11〜14から動作情報を確実に収集することができ、CPU11〜14それぞれの信頼性を同等の条件で評価し、適切に比較することができる。
As described above, in the first embodiment, in a state where no error is detected from any CPU, the use time is equalized by preferentially using the CPU having a short use time. As a result, operation information can be reliably collected from all the
すなわち、使用時間やエラー数を考慮しない規則で動作させるCPUを選択した場合、常に同じCPUが停止される可能性がある。常に停止しているCPUがあると、そのCPUからは動作情報を収集することができず、信頼性を評価できない。それに対し、第1の実施の形態では、CPUの信頼性に差がない状況では、すべてのCPUが平等に使用されるため、すべてのCPUから十分な動作情報を収集できる。 In other words, when a CPU that is operated according to a rule that does not take into account usage time and the number of errors is selected, there is a possibility that the same CPU is always stopped. If there is a CPU that is always stopped, operation information cannot be collected from the CPU, and reliability cannot be evaluated. On the other hand, in the first embodiment, in a situation where there is no difference in CPU reliability, all CPUs are used equally, so that sufficient operation information can be collected from all CPUs.
しかも、情報処理装置10の運用のために有用なプログラムを、すべてのCPUに順番に実行させることで、動作情報が収集される。そのため、例えば、使用していないCPUにテストプログラムを実行させて動作情報を収集するような余計な処理を実施せずに済み、情報収集を効率的に実施できる。
In addition, operation information is collected by causing all the CPUs to execute a program useful for the operation of the
また第1の実施の形態では、いずれかのCPUのエラー検出後は、単位使用時間当たりのエラー数が少ないCPUを優先的に使用することで、使用時間を考慮して信頼性を正しく評価できる。例えば、使用時間を考慮せずに信頼性を評価すると、エラー数が少ないCPUの信頼性が高いと評価されてしまう。しかし、他のCPUよりも長時間使用されたCPUであれば、単にエラー数が多いというだけで他のCPUよりも信頼性が低いと判定することはできない。単位使用時間当たりのエラー数で信頼性を判定することで、CPU間の使用時間の違いを相殺して、信頼性を正しく判定することができる。 Moreover, in the first embodiment, after detecting an error of any CPU, the reliability can be correctly evaluated in consideration of the usage time by preferentially using the CPU having a small number of errors per unit usage time. . For example, if the reliability is evaluated without considering the usage time, it is evaluated that the reliability of the CPU with a small number of errors is high. However, if a CPU has been used for a longer time than other CPUs, it cannot be determined that the reliability is lower than that of other CPUs simply because the number of errors is large. By determining the reliability based on the number of errors per unit usage time, the difference in usage time between CPUs can be offset and the reliability can be determined correctly.
そして信頼性の低いCPUを的確に停止させることで、使用中のCPUで訂正不可能なエラーが発生することによるシステムダウンを抑止することができる。
さらに、CPUの稼働時間に使用率を乗算した値を使用時間とすることで、使用時間を正確に算出することができる。すなわち、CPUのエラーは、処理の実行過程で発生する。そのため、何も処理を実行していないアイドル状態の期間を使用時間に含めてしまうと、信頼性を正確に判断できなくなる。第1の実施の形態では、使用率を加味して使用時間を計算することで、ほとんどアイドル状態にならないCPUと、通常アイドル状態になっているCPUとの違いを加味して信頼性を判断し、訂正不可能なエラーが発生しやすいCPUを正確に判断できる。
And by stopping the CPU with low reliability accurately, it is possible to prevent the system from being down due to the occurrence of an uncorrectable error in the CPU in use.
Furthermore, the usage time can be accurately calculated by setting the usage time to a value obtained by multiplying the operating time of the CPU by the usage rate. That is, the CPU error occurs in the process execution process. Therefore, if the idle time period during which no processing is performed is included in the usage time, the reliability cannot be accurately determined. In the first embodiment, by calculating the usage time in consideration of the usage rate, the reliability is determined in consideration of the difference between the CPU that is hardly in the idle state and the CPU that is in the normal idle state. Therefore, it is possible to accurately determine a CPU that easily generates an uncorrectable error.
なお、制御部16は、例えば情報処理装置10が有する、いずれか1つのプロセッサ(CPU)により実現することができる。また、記憶部15は、例えば情報処理装置10が有するメモリにより実現することができる。
In addition, the
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態では、サーバの起動時に、プロセッサ(CPU)の稼働時間を加味して、各CPUの信頼性を評価する。なお、CPUの稼働時間としては、CPUの使用率を加味した実質稼働時間が用いられる。実質稼働時間は、例えば「CPUの稼働時間×CPU使用率」で求められる。なお、実質稼働時間は、第1の実施の形態における使用時間の一例である。求められた実質稼働時間を用いて、使用するCPUを選択することで、各CPUの信頼性を正確に判断可能となる。
[Second Embodiment]
Next, a second embodiment will be described. In the second embodiment, when the server is started, the reliability of each CPU is evaluated in consideration of the operating time of the processor (CPU). In addition, as the operating time of the CPU, the actual operating time taking into account the usage rate of the CPU is used. The actual operating time is obtained by, for example, “CPU operating time × CPU usage rate”. The actual operating time is an example of the usage time in the first embodiment. By selecting the CPU to be used using the obtained actual operating time, the reliability of each CPU can be accurately determined.
なお第2の実施の形態では、訂正可能なエラーが発生したCPUが存在しない場合、実質稼働時間が長いCPUから順に、所定数のCPUの動作を停止させる。また、訂正可能なエラーが発生したCPUが存在する場合は、実質稼働時間あたりの訂正可能なエラー数が多いCPUから順に、所定数のCPUの動作を停止させる。 In the second embodiment, when there is no CPU in which a correctable error has occurred, the operations of a predetermined number of CPUs are stopped in order from the CPU having the longest actual operation time. Further, when there are CPUs in which a correctable error has occurred, the operation of a predetermined number of CPUs is stopped in order from the CPU having the largest number of correctable errors per actual operating time.
図2は、第2の形態に用いるサーバのハードウェアの一構成例を示す図である。サーバ100は、システムボード101内のCPUによって装置全体が制御されている。システムボード101は、複数のCPU(例えばマルチコアプロセッサ)とメモリとを有している。システムボード101には、バス109を介して複数の周辺機器が接続されている。システムボード101では、CPUがプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
FIG. 2 is a diagram illustrating a configuration example of server hardware used in the second embodiment. The
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)102、監視ユニット103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびFC(Fibre Channel)カード108a,108bがある。
Peripheral devices connected to the bus 109 include an HDD (Hard Disk Drive) 102, a
HDD102は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD102は、サーバ100の補助記憶装置として使用される。HDD102には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置(SSD:Solid State Drive)を使用することもできる。
The
監視ユニット103は、サーバ100の動作を監視する。例えば監視ユニット103は、システムボード101内のCPUにおける訂正可能なエラーの情報を収集し、蓄積する。
The
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、システムボード101内のCPUからの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
A
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をシステムボード101内のCPUに送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 22 and a mouse 23 are connected to the
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
機器接続インタフェース107は、サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
The
FCカード108a,108bは、ネットワーク20に接続されている。FCカード108a,108bは、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
図3は、システムボードの詳細とサーバ内で保持される情報の例を示す図である。システムボード101には、プロセッサ101−1、メモリ101−2、メモリブリッジ101−3,I/O(Input/Output)ブリッジ101−4などが搭載されている。
FIG. 3 is a diagram illustrating details of the system board and an example of information held in the server. The
プロセッサ101−1は、複数のCPU101a〜101e(プロセッサコア)を有している。複数のCPU101a〜101eそれぞれには、「0」〜「4」の識別番号が付与されている。識別番号「0」のCPU101aは、OSや、CPUの動作を管理する管理プログラム101fを実行する。識別番号「1」から「4」の4つのCPUは、アプリケーションプログラム101hを実行する。管理プログラム101fを実行するCPU101aは、図1に示す第1の実施の形態の制御部16の一例である。アプリケーションプログラム101hを実行するCPU101b〜101eは、図1に示す第1の実施の形態のCPU11〜14の一例である。
The processor 101-1 has a plurality of
メモリ101−2は、サーバ100の主記憶装置として使用される。メモリ101−2には、管理プログラム101f、稼働時間・エラー管理簿101g、アプリケーションプログラム101h、およびOS101iが記憶される。メモリ101−2としては、例えばRAMなどの揮発性の半導体記憶装置が使用される。メモリ101−2は、図1に示す第1の実施の形態の記憶部15の一例である。
The memory 101-2 is used as a main storage device of the
管理プログラム101fは、アプリケーションプログラム101hをどのCPUに実行させるかを管理するためのプログラムである。管理プログラム101fには、使用率採取モジュール、エラー情報収集モジュール、CPU数算出モジュール、CPU選定モジュールなどが含まれる。稼働時間・エラー管理簿101gは、各CPUの稼働時間や、発生したエラーが登録されたデータテーブルである。アプリケーションプログラム101hは、サーバ100が提供するサービスに関する情報処理を、CPU101b〜101eに実行させるためのプログラムである。OS101iは、サーバ100全体の動作を制御するためのプログラムである。
The
メモリブリッジ101−3は、プロセッサ101−1からのメモリ101−2へのアクセスを制御する制御回路である。I/Oブリッジ101−4は、プロセッサ101−1からHDD102などの周辺機器へのアクセスを制御する制御回路である。
The memory bridge 101-3 is a control circuit that controls access to the memory 101-2 from the processor 101-1. The I / O bridge 101-4 is a control circuit that controls access from the processor 101-1 to peripheral devices such as the
HDD102には、メモリ101−2と同様に、管理プログラム102a、稼働時間・エラー管理簿102b、アプリケーションプログラム102c、およびOS102dが記憶される。HDD102に記憶された各種情報が、メモリ101−2に読み出され、プロセッサ101−1内のいずれかのCPUで実行される。
Similar to the memory 101-2, the
監視ユニット103は、制御部103−1とメモリ103−2とを有している。制御部103−1は、システムボード101から送られたエラー情報を、エラーログ103aとしてメモリ103−2に格納する。なおシステムボード101から送られたエラー情報は、訂正可能なエラーに関する情報であり、エラー情報にはエラーを発生させたCPUの識別番号が含まれる。また制御部103−1は、システムボード101内のCPU101aからの要求に応じて、メモリ103−2内のエラーログ103aを、そのCPU101aに送信する。
The
以上のようなハードウェア構成およびデータによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、図2に示したサーバ100と同様のハードウェアにより実現することができる。
With the hardware configuration and data as described above, the processing functions of the second embodiment can be realized. The apparatus shown in the first embodiment can also be realized by hardware similar to that of the
プロセッサ101−1は、HDD102内のプログラムの少なくとも一部をメモリ101−2にロードし、プログラムを実行する。またサーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101−1からの制御により、HDD102にインストールされた後、実行可能となる。またプロセッサ101−1が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
The processor 101-1 loads at least a part of the program in the
次に、CPUの動作管理に用いる情報について詳細に説明する。
図4は、稼働時間・エラー管理簿の一例を示す図である。稼働時間・エラー管理簿101gには、Unit、実質稼働時間、訂正可能なエラー数、前回の平均使用率の欄が設けられている。Unitの欄には、管理対象のCPUの識別番号が設定される。実質稼働時間の欄には、対応するCPUの実質的な稼働時間が設定される。実質的な稼働時間とは、CPUがオンラインとなっていた時間に、そのCPUの平均使用率を乗算して得られる時間である。訂正可能なエラー数の欄には、対応するCPUで発生した訂正可能なエラーの数が設定される。前回の平均使用率の欄には、直近のシステム運用時における対応するCPUの平均使用率が設定される。
Next, information used for operation management of the CPU will be described in detail.
FIG. 4 is a diagram illustrating an example of an operating time / error management list. The operation time /
図5は、エラーログの一例を示す図である。エラーログ103aには、番号、時刻、およびUnitの欄が設けられている。番号の欄には、発生したエラーの識別番号が設定される。時刻の欄には、エラーの発生日時が設定される。Unitの欄は、エラーを発生させたCPUの識別番号が設定される。
FIG. 5 is a diagram illustrating an example of an error log. The
管理プログラム101fを実行するCPU101aは、図4、図5に示すような情報を用いて、他のCPU101b〜101eの動作管理を行う。
図6は、CPU動作管理機能を示すブロック図である。図6には、サーバ100が有する、CPU動作管理のための機能を、機能ブロックで表している。例えばサーバ100は、OS110、使用率採取部120、エラー情報収集部130、CPU数算出部140、およびCPU選定部150を有する。OS110は、メモリ101−2に格納されたOSのプログラム(OS101i)を、CPU101aが実行することで実現する機能である。使用率採取部120、エラー情報収集部130、CPU数算出部140、およびCPU選定部150は、管理プログラム101fをCPU101aが実行することで実現される機能である。
The
FIG. 6 is a block diagram showing the CPU operation management function. In FIG. 6, functions for CPU operation management included in the
OS110は、CPU101b〜101eの動作状況を監視し、使用率を算出する。使用率採取部120は、例えばシステムの停止時にCPU101b〜101eの使用率をOS110から採取する。使用率採取部120は、採取した使用率を稼働時間・エラー管理簿101gに設定する。エラー情報収集部130は、例えばシステムの停止時に、監視ユニット103からエラーログ103aを収集し、システム起動から停止までの訂正可能なエラー数を、CPUごとに集計する。そして、エラー情報収集部130は、集計したエラー数の値を、稼働時間・エラー管理簿101gに設定する。
The
CPU数算出部140は、例えばシステムの起動時に、稼働時間・エラー管理簿101gに基づいて、アプリケーションプログラム101hの実行に使用するCPU数を算出する。CPU選定部150は、例えばシステムの起動時に、稼働時間・エラー管理簿101gに基づいて、CPU数算出部140で算出されたCPU数分のCPUを、使用するCPUとして選定する。そしてCPU選定部150は、選定から漏れたCPUの動作を停止させる。
The CPU
なお、図6に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
次に、CPU動作管理処理について詳細に説明する。CPU動作管理処理は、システムの起動時と停止時とに行われる。以下、図7〜図9を参照してシステム起動時の処理を説明し、図10〜図12を参照してシステム停止時の処理を説明する。
In addition, the line which connects between each element shown in FIG. 6 shows a part of communication path, and communication paths other than the illustrated communication path can also be set.
Next, the CPU operation management process will be described in detail. The CPU operation management process is performed when the system is started and when it is stopped. Hereinafter, processing at the time of system startup will be described with reference to FIGS. 7 to 9, and processing at the time of system stop will be described with reference to FIGS. 10 to 12.
図7は、システム起動時のCPU動作管理処理の手順の一例を示すフローチャートである。
[ステップS101]CPU101aは、OS110を起動する。
FIG. 7 is a flowchart illustrating an example of a procedure of CPU operation management processing at the time of system startup.
[Step S101] The
[ステップS102]OS110は、管理プログラム101fのCPU数算出モジュールに基づいて、CPU数算出部140を起動する。CPU数算出部140は、アプリケーションプログラム101hの実行に使用するCPU数の算出処理を実行する。CPU数算出処理の詳細は後述する(図8参照)。
[Step S102] The
[ステップS103]OS110は、管理プログラム101fのCPU選定モジュールに基づいて、CPU選定部150を起動する。CPU選定部150は、CPU101b〜101eのなかから、ステップS102で算出されたCPU数分のCPU選定処理を行う。CPU選定処理の詳細は後述する(図9参照)。
[Step S103] The
[ステップS104]CPU101aは、ステップS103で選択されたCPUに、アプリケーションプログラム101hの実行を指示する。指示を受けたCPUが、アプリケーションを起動する。その後、アプリケーションに基づいて、サーバ100がサービスを提供する。
[Step S104] The
図8は、CPU数算出処理の手順の一例を示すフローチャートである。
[ステップS111]CPU数算出部140は、アプリケーションの使用CPU数が固定か否かを判断する。例えばCPU数算出部140は、アプリケーションプログラム101hのプロパティなどの管理情報に、使用CPU数が指定されているかどうかを調査する。CPU数算出部140は、使用CPU数が指定されていれば、使用CPU数固定であると判断する。使用CPU数が固定の場合、処理が終了する。使用CPU数が固定でなければ、処理がステップS112に進められる。
FIG. 8 is a flowchart illustrating an example of a procedure of CPU number calculation processing.
[Step S111] The CPU
[ステップS112]CPU数算出部140は、前回の平均使用率の合計の値を「0」に初期化する。
[ステップS113]CPU数算出部140は、アプリケーションプログラム101hの実行用に用意されたCPU数分(図3の例では「4」)だけ、ステップS114,S115の処理をループする。例えばCPU数算出部140は、稼働時間・エラー管理簿101gに登録されているCPUを、上から順に処理対象とする。
[Step S112] The CPU
[Step S113] The CPU
[ステップS114]CPU数算出部140は、処理対象のCPUの前回の平均使用率を、稼働時間・エラー管理簿101gから取得する。そしてCPU数算出部140は、取得した値を、前回の平均使用率の合計に加算する。
[Step S114] The CPU
[ステップS115]CPU数算出部140は、処理対象のCPUを、稼働時間・エラー管理簿101g上での次のCPUに移動する。
[ステップS116]CPU数算出部140は、アプリケーションプログラム101hの実行用に用意されたすべてのCPU101b〜101eについて処理が完了したら、処理をステップS117に進める。
[Step S115] The CPU
[Step S116] When the processing is completed for all the
[ステップS117]CPU数算出部140は、前回の平均使用率の合計を60%で割った値を、使用するCPU数として算出する。除算の小数点以下の値は、切り上げるものとする。これにより、平均使用率を60%以下とするための使用CPU数が求められる。
[Step S117] The CPU
次に、CPU選定処理について詳細に説明する。
図9は、CPU選定処理の手順の一例を示すフローチャートである。
[ステップS121]CPU選定部150は、稼働時間・エラー管理簿101gに登録されたCPU101b〜101eのエントリを、単位稼働時間当たりの訂正可能なエラー数で昇順に並べ替える。例えばCPU選定部150は、稼働時間・エラー管理簿101gの各CPUについて、訂正可能なエラー数を実質稼働時間で除算し、単位稼働時間当たりの訂正可能なエラー数を算出する。そしてCPU選定部150は、稼働時間・エラー管理簿101g内のCPU101b〜101eのエントリを、単位稼働時間当たりの訂正可能なエラー数が少ない順に並べる。
Next, the CPU selection process will be described in detail.
FIG. 9 is a flowchart illustrating an example of a procedure of CPU selection processing.
[Step S121] The
[ステップS122]CPU選定部150は、単位稼働時間当たりの訂正可能なエラー数が同じCPUについて、実質稼働時間で昇順に並べ替える。例えばCPU選定部150は、稼働時間・エラー管理簿101gから、単位稼働時間当たりの訂正可能なエラー数が同じCPU群を検出する。該当するCPU群がある場合、CPU選定部150は、稼働時間・エラー管理簿101g内の該当CPU群のエントリを、実質稼働時間が短い順に並べる。
[Step S122] The
[ステップS123]CPU選定部150は、アプリケーションプログラム101hの実行用に用意されたCPU数分(図3の例では「4」)だけ、ステップS124〜S126の処理をループする。例えばCPU選定部150は、稼働時間・エラー管理簿101gに登録されているCPUを、上から順に処理対象とする。すなわち単位時間当たりの訂正可能なエラー数が少ないCPUから順に、処理対象となる。また単位時間当たりの訂正可能なエラー数が同じCPUについては、実質稼働時間が短いCPUから順に処理対象となる。
[Step S123] The
[ステップS124]CPU選定部150は、ステップS124〜S126の処理のループ回数が、使用するCPU数以内か否かを判断する。ループ回数が使用するCPU数以内であれば、処理がステップS126に進められる。ループ回数が使用するCPU数を超えている場合、処理がステップS125に進められる。
[Step S124] The
[ステップS125]CPU選定部150は、処理対象のCPUをオフラインにする。オフラインとなったCPUは、アプリケーションプログラムの実行先から除外される。
[ステップS126]CPU選定部150は、処理対象のCPUを、稼働時間・エラー管理簿101g上での次のCPUに移動する。
[Step S125] The
[Step S126] The
[ステップS127]CPU選定部150は、アプリケーションプログラム101hの実行用に用意されたすべてのCPU101b〜101eについて処理が完了したら、CPU選定処理を終了する。
[Step S127] The
このようにして、システムの起動時に、単位稼働時間当たりのエラー数が多いCPUの使用が抑止される。これにより、信頼性の高いCPUを優先して使用することができる。なお、すべてのCPUの訂正可能なエラーの数が「0」の場合、単位稼働時間当たりのエラー数は、いずれのCPUも「0」となる。その場合、実質稼働時間が短いCPUが使用され、実質稼働時間が長いCPUの使用は抑止される。これにより、CPU間の信頼性の優劣が不明な場合には、システムが繰り返し起動されることで、すべてのCPUを均等に使用することができる。CPUが均等に使用されれば、単位稼働時間当たりのエラー数を算出結果で信頼性を判断したときの、判断結果の統計的な正確性が向上する。 In this way, the use of a CPU with a large number of errors per unit operating time is suppressed when the system is started. As a result, a highly reliable CPU can be preferentially used. If the number of correctable errors for all CPUs is “0”, the number of errors per unit operating time is “0” for any CPU. In that case, a CPU with a short actual operating time is used, and use of a CPU with a long actual operating time is suppressed. Thereby, when the superiority or inferiority of the reliability between CPUs is unknown, all the CPUs can be used equally by repeatedly starting the system. If the CPUs are used evenly, the statistical accuracy of the determination result when the reliability is determined from the calculation result of the number of errors per unit operating time is improved.
システムの停止時には、次回のシステム起動時に使用する情報の収集が行われる。
図10は、システム停止時のCPU動作管理処理の手順の一例を示すフローチャートである。
When the system is stopped, information used at the next system startup is collected.
FIG. 10 is a flowchart illustrating an example of the procedure of the CPU operation management process when the system is stopped.
[ステップS201]OS110は、アプリケーションプログラム101hを実行しているCPUに対して、実行を停止させる。
[ステップS202]OS110は、管理プログラム101fの使用率採取モジュールに基づいて、使用率採取部120を起動する。使用率採取部120は、システムの起動から停止までの各CPUの使用率の採取処理を実行する。使用率採取処理の詳細は後述する(図11参照)。
[Step S201] The
[Step S202] The
[ステップS203]OS110は、管理プログラム101fのエラー情報収集モジュールに基づいて、エラー情報収集部130を起動する。エラー情報収集部130は、システムの起動から停止までの各CPUのエラー情報を収集する。エラー情報収集処理の詳細は後述する(図12参照)。
[Step S203] The
[ステップS204]OS110は、動作を停止する。
次に、使用率採取処理の詳細について説明する。
図11は、使用率採取処理の手順の一例を示すフローチャートである。
[Step S204] The
Next, details of the usage rate collection process will be described.
FIG. 11 is a flowchart illustrating an example of a procedure of usage rate collection processing.
[ステップS211]使用率採取部120は、アプリケーションプログラム101hの実行用に用意されたCPU数分(図3の例では「4」)だけ、ステップS212,S213の処理をループする。例えば使用率採取部120は、稼働時間・エラー管理簿101gに登録されているCPUを、上から順に処理対象とする。
[Step S211] The usage
[ステップS212]使用率採取部120は、前回の平均使用率を設定する。例えば使用率採取部120は、処理対象CPUの平均使用率を、OS110から取得する。使用率採取部120は、取得した平均使用率を、処理対象のCPUに関する前回の平均使用率として、稼働時間・エラー管理簿101g内に設定する。
[Step S212] The usage
[ステップS213]使用率採取部120は、処理対象のCPUの実質稼働時間の値を更新する。例えば使用率採取部120は、OS110から、システムの最後の起動から現在までの時間(稼働時間)を取得する。そして使用率採取部120は、処理対象のCPUの平均使用率に取得した稼働時間を乗算した値を、稼働時間・エラー管理簿101g内の該当CPUの実質稼働時間に加算する。
[Step S213] The usage
[ステップS214]使用率採取部120は、アプリケーションプログラム101hの実行用に用意されたすべてのCPU101b〜101eについて処理が完了したら、使用率採取処理を終了する。
[Step S214] When the processing is completed for all the
次に、エラー情報収集処理について説明する。
図12は、エラー情報収集処理の手順の一例を示すフローチャートである。
[ステップS221]エラー情報収集部130は、アプリケーションプログラム101hの実行用に用意されたすべてのCPU101b〜101eの、訂正可能なエラー数を取得する。例えばエラー情報収集部130は、監視ユニット103から、システムの最後の起動から現在までの訂正可能なエラー情報を取得する。
Next, error information collection processing will be described.
FIG. 12 is a flowchart illustrating an example of a procedure of error information collection processing.
[Step S221] The error
[ステップS222]エラー情報収集部130は、アプリケーションプログラム101hの実行用に用意されたCPU数分(図3の例では「4」)だけ、ステップS223の処理をループする。例えばエラー情報収集部130は、稼働時間・エラー管理簿101gに登録されているCPUを、上から順に処理対象とする。
[Step S222] The error
[ステップS223]エラー情報収集部130は、訂正可能なエラー数を更新する。例えばエラー情報収集部130は、ステップS221で取得した訂正可能なエラー情報に基づいて、処理対象のCPUに関するエラーの数を計数する。そしてエラー情報収集部130は、計数した値を、稼働時間・エラー管理簿101g内の処理対象のCPUの訂正可能なエラー数に加算する。
[Step S223] The error
[ステップS224]エラー情報収集部130は、アプリケーションプログラム101hの実行用に用意されたすべてのCPU101b〜101eについて処理が完了したら、エラー情報収集処理を終了する。
[Step S224] The error
以上の処理により、第2の実施の形態では、使用するCPUを起動時にローテーションし、各CPUの使用率を加味した稼働時間の実績と、訂正可能なエラー数を収集することで、信頼性の低いCPUを適切に判断し、そのCPUの動作を停止させることができる。 As a result of the above processing, in the second embodiment, the CPU to be used is rotated at the time of startup, and the results of the operating time taking into account the usage rate of each CPU and the number of correctable errors are collected. It is possible to appropriately determine a low CPU and stop the operation of the CPU.
次に、システム全体の負荷に応じて使用するCPU数が3であり、その負荷が変動しないものとしたときの、単位時間あたりの訂正可能なエラー数の収集と、訂正不可能なエラーが発生しやすいCPUの判断の具体例を示す。 Next, when the number of CPUs used is 3 according to the load of the entire system and the load does not fluctuate, collection of the number of correctable errors per unit time and occurrence of uncorrectable errors occur A specific example of CPU judgment that is easy to perform will be described.
図13は、初回起動時における使用CPU選定の第1の例を示す図である。図13の例では、アプリケーションプログラム101hに対して、使用CPU数が「3」であることが予め定義されているものとする。この場合、システム起動時に、アプリケーションプログラム101h実行用に用意されている4つのCPU101b〜101eのうち、3つのCPUが使用される。
FIG. 13 is a diagram illustrating a first example of selecting a CPU to be used at the first activation. In the example of FIG. 13, it is assumed that the number of CPUs used is “3” in advance for the
初回の起動時には、いずれのCPU101b〜101eについても、実質稼働時間および訂正可能なエラー数の値が「0」である。そこでCPU選定部150は、例えば、識別番号が若番のCPUから順に、使用対象として選択する。その結果、識別番号が最も大きい値「4」であるCPU101eは、使用対象から除外される。
At the first activation, the values of the actual operation time and the number of correctable errors are “0” for any of the
CPU選定部150は、使用対象から除外されたCPU101eを、オフラインにする。そしてOS110は、オンラインとなっているCPU101b〜101dに対して、アプリケーションプログラム101hを実行させる。
The
なおアプリケーションプログラム101hで何個のCPUを使用するのかが、事前には定義されていない場合もある。
図14は、初回起動時における使用CPU選定の第2の例を示す図である。図14の例では、初回起動時には、アプリケーションプログラム101hの負荷が不明であるものとする。この場合、CPU選定部150は、システム全体の負荷を測定するため、1回目の起動時には、すべてのCPU101b〜101eを使用対象とする。OS110は、4つのCPU101b〜101eに対してアプリケーションプログラム101hを実行させる。
Note that the number of CPUs used in the
FIG. 14 is a diagram illustrating a second example of CPU usage selection at the time of initial activation. In the example of FIG. 14, it is assumed that the load of the
図13,図14に示した初回起動時の処理により、使用されたCPUの実質稼働時間が取得できる。また訂正可能なエラーが発生した場合、そのエラーがどのCPUから何回発生したのかについても取得できる。そしてシステム停止時に、稼働時間・エラー管理簿101gが更新される。次回以降のシステム起動時には、稼働時間・エラー管理簿101gの内容に応じて、使用するCPUが選定される。
The actual operating time of the used CPU can be acquired by the process at the first activation shown in FIGS. Further, when a correctable error occurs, it can be acquired how many times the error has occurred from which CPU. When the system is stopped, the operating time /
図15は、2回目起動時における使用CPU選定例を示す図である。図15の例では、1回目のシステム運用時には、いずれのCPU101b〜101eからも訂正可能なエラーは検出されていない。実質稼働時間は、「前々回までの実施稼働時間」+「前回の稼働時間の実績」×「前回の平均使用率」で算出される。なお2回目起動時には、「前々回までの実施稼働時間」は「0」である。例えば「CPU1」について、前回のシステム運用時の稼働時間が20時間であり、平均使用率が0.5(50%)であったものとする。この場合、「CPU1」の実質稼働時間は10時間(0h+20h×0.5=10h)となる。
FIG. 15 is a diagram illustrating an example of selecting a CPU to be used at the second activation. In the example of FIG. 15, no correctable error is detected from any of the
CPU選定部150は、すべてのCPU101b〜101eの訂正可能なエラー数が0の場合は、すべてのCPU101b〜101eの実質稼働時間を平等にするため、実質稼働時間が長いCPUは使用しない。図15の例では、識別番号「CPU1」CPU101bがオフラインとなり、使用が抑止される。なお、実質稼働時間が同じ場合は、CPU選定部150は、例えば識別番号が若番のCPUから使用対象として選定する。
When the number of errors that can be corrected by all the
このように、実質稼働時間が短いCPUお優先的に使用することで、初回起動時に停止していたCPU101eが使用されることとなり、CPU101eの動作情報を収集できるようになる。また実質稼働時間が最も長いCPU101bが停止されることで、実質稼働時間の差が縮まる。すなわち、実質稼働時間の均等化が図られる。
As described above, the
図16は、3回目起動時における使用CPU選定例を示す図である。図16の例では、1,2回目のシステム運用時には、いずれのCPU101b〜101eからも訂正可能なエラーは検出されていない。2回目のシステム運用時には、識別番号「CPU1」CPU101bの使用が抑止されたため、このCPU101bの実質稼働時間は増加していない。他のCPU101c〜101eは、実質稼働時間が増加している。その結果、識別番号「CPU2」CPU101cの実質稼働時間が最も大きくなっている。そこでCPU選定部150は、すべてのCPU101b〜101eの実質稼働時間を平等にするため、実質稼働時間が長いCPU101bの使用対象外としてオフライン化する。
FIG. 16 is a diagram illustrating an example of selecting a CPU to be used at the third activation. In the example of FIG. 16, no correctable error is detected from any of the
以後、すべてのCPUにおいて訂正可能なエラーが発生していない間は、実質稼働時間が同等になるように、システムの起動時点で、実質稼働時間が最も長いCPUが使用対象外とされる。システムn回目(nは4以上の整数)の起動時には、1以上のCPUにおいて訂正可能なエラーが発生したものとする。 Thereafter, while no correctable error has occurred in all the CPUs, the CPU with the longest actual operating time is excluded from use at the time of system startup so that the actual operating time is equal. It is assumed that a correctable error has occurred in one or more CPUs at the start of the system n-th (n is an integer of 4 or more).
図17は、n回目の起動時における使用CPU選定例を示す図である。図17の例では、すべてのCPU101b〜101eについて、1回ずつ訂正可能なエラーが検出されている。この場合、CPU選定部150は、単位時間当たりの訂正可能なエラー数が最大であるCPUを、使用対象外とする。図17の例では、各CPU101b〜101eの訂正可能なエラー数が同じであるため、実質稼働時間が最も短い識別番号「2」のCPU101cが、単位時間当たりの訂正可能なエラー数が最大のCPUとなる。そこでCPU選定部150は、CPU101cを使用対象外としてオフラインにする。
FIG. 17 is a diagram illustrating an example of selecting a CPU to be used at the n-th startup. In the example of FIG. 17, an error that can be corrected once is detected for all the
さらにm回(mは1以上の整数)のシステムの停止・起動が繰り返されると、各CPU101b〜101eの訂正可能なエラー数もばらついてくる。
図18は、n+m回目の起動時における使用CPU選定例を示す図である。図18の例では、訂正可能なエラー回数は、識別番号「4」のCPU101eが最大である。ただし、単位時間当たりの訂正可能なエラー数は、識別番号「2」のCPU101cが最大である。この場合、CPU選定部150は、単位時間当たりの訂正可能なエラー数が最大であるCPU101cを、使用対象外とする。
Further, when the system is repeatedly stopped and started m times (m is an integer of 1 or more), the number of errors that can be corrected by each of the
FIG. 18 is a diagram illustrating an example of selecting a CPU to be used at the time of n + m-th startup. In the example of FIG. 18, the number of correctable errors is the maximum for the
これにより各CPUの稼働時間の実績に差異があっても、訂正不可能なエラーが発生しやすいCPUを適切に判断でき、そのCPUを使用しないことで、システムがダウンすることを抑止できる。また第2の実施の形態では、使用率を加味した稼働時間の実績を使う。これは、単純な稼働時間のみでは、ほとんどアイドル状態にならないCPUと、通常アイドル状態になっているCPUとを同等に扱ってしまうためである。稼働時間の実績の算出に利用率を加味することで、CPUが実際に使用された実績を正確に求めることができる。 As a result, even if there is a difference in the operating time of each CPU, it is possible to appropriately determine a CPU that is likely to generate an uncorrectable error, and by not using that CPU, it is possible to prevent the system from going down. In the second embodiment, a record of operating hours is used in consideration of usage rates. This is because a CPU that is hardly in an idle state and a CPU that is normally in an idle state are treated equally with a simple operation time alone. By adding the utilization factor to the calculation of the actual operating time, the actual usage of the CPU can be accurately obtained.
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。 As mentioned above, although embodiment was illustrated, the structure of each part shown by embodiment can be substituted by the other thing which has the same function. Moreover, other arbitrary structures and processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.
10 情報処理装置
11〜14 プロセッサ(CPU)
15 記憶部
15a 動作情報管理テーブル
16 制御部
DESCRIPTION OF
DESCRIPTION OF
Claims (6)
プログラムの実行開始時に、前記動作情報に基づいて、前記複数のプロセッサのうちの使用時間が短い方から所定数のプロセッサを、動作させる第1のプロセッサとして選択し、選択されていない第2のプロセッサを停止した状態で、前記第1のプロセッサに前記プログラムを実行させ、前記第1のプロセッサの使用時間とエラー発生状況とを取得し、取得した該使用時間と該エラー発生状況とを前記記憶部に格納する制御部と、
を有する情報処理装置。 A storage unit for storing operation information indicating the usage time and error occurrence status of each of the plurality of processors;
At the start of program execution, based on the operation information, a predetermined number of processors are selected as the first processor to be operated from the one with the shorter usage time among the plurality of processors, and the second processor that is not selected In a state where the first processor is stopped, the first processor is caused to execute the program, the usage time and the error occurrence status of the first processor are acquired, and the acquired usage time and the error occurrence status are acquired in the storage unit. A control unit stored in
An information processing apparatus.
請求項1記載の情報処理装置。 In the selection of the first processor, when there is no difference in the reliability of each of the plurality of processors based on the error occurrence state, the control unit selects the first processor in order from the processor with the shortest usage time. When there is a difference in the reliability of each of the plurality of processors, the first processor is selected in descending order of reliability.
The information processing apparatus according to claim 1.
請求項2記載の情報処理装置。 In the selection of the first processor, the control unit determines that a processor having a smaller number of errors per unit usage time is more reliable,
The information processing apparatus according to claim 2.
請求項1乃至3のいずれかに記載の情報処理装置。 The control unit is a value obtained by multiplying the operating time of the processor by the average usage rate of the processor as the usage time of the processor.
The information processing apparatus according to claim 1.
プログラムの実行開始時に、複数のプロセッサそれぞれの使用時間とエラー発生状況とを示す動作情報に基づいて、前記複数のプロセッサのうちの使用時間が短い方から所定数のプロセッサを、動作させる第1のプロセッサとして選択し、
選択されていない第2のプロセッサを停止した状態で、前記第1のプロセッサに前記プログラムを実行させ、
前記第1のプロセッサの使用時間とエラー発生状況とを取得し、
取得した該使用時間と該エラー発生状況とを記憶部に格納する、
プロセッサ管理方法。 Computer
A first processor for operating a predetermined number of processors from a shorter usage time of the plurality of processors based on operation information indicating a usage time and an error occurrence status of each of the plurality of processors at the start of execution of the program; Select as processor,
With the second processor that has not been selected stopped, the first processor is caused to execute the program,
Obtaining the usage time and error occurrence status of the first processor;
Storing the obtained usage time and the error occurrence status in a storage unit;
Processor management method.
プログラムの実行開始時に、複数のプロセッサそれぞれの使用時間とエラー発生状況とを示す動作情報に基づいて、前記複数のプロセッサのうちの使用時間が短い方から所定数のプロセッサを、動作させる第1のプロセッサとして選択し、
選択されていない第2のプロセッサを停止した状態で、前記第1のプロセッサに前記プログラムを実行させ、
前記第1のプロセッサの使用時間とエラー発生状況とを取得し、
取得した該使用時間と該エラー発生状況とを記憶部に格納する、
処理を実行させるプログラム。 On the computer,
A first processor for operating a predetermined number of processors from a shorter usage time of the plurality of processors based on operation information indicating a usage time and an error occurrence status of each of the plurality of processors at the start of execution of the program; Select as processor,
With the second processor that has not been selected stopped, the first processor is caused to execute the program,
Obtaining the usage time and error occurrence status of the first processor;
Storing the obtained usage time and the error occurrence status in a storage unit;
A program that executes processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015127443A JP6558098B2 (en) | 2015-06-25 | 2015-06-25 | Information processing apparatus and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015127443A JP6558098B2 (en) | 2015-06-25 | 2015-06-25 | Information processing apparatus and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017010421A true JP2017010421A (en) | 2017-01-12 |
JP6558098B2 JP6558098B2 (en) | 2019-08-14 |
Family
ID=57763631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015127443A Active JP6558098B2 (en) | 2015-06-25 | 2015-06-25 | Information processing apparatus and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6558098B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200496A (en) * | 1993-12-28 | 1995-08-04 | Fujitsu Ltd | Processor allocation system |
WO2010050041A1 (en) * | 2008-10-31 | 2010-05-06 | 株式会社日立製作所 | Computer system |
JP2011013953A (en) * | 2009-07-02 | 2011-01-20 | Nec Corp | Information processing device and processor management method thereof |
JP2012003594A (en) * | 2010-06-18 | 2012-01-05 | Toyota Motor Corp | Parallel computer |
JP2012073784A (en) * | 2010-09-28 | 2012-04-12 | Fujitsu Ltd | Calculation processing system, and job distribution arrangement method and program thereof |
JP2014215765A (en) * | 2013-04-24 | 2014-11-17 | 株式会社三菱東京Ufj銀行 | Control device |
-
2015
- 2015-06-25 JP JP2015127443A patent/JP6558098B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200496A (en) * | 1993-12-28 | 1995-08-04 | Fujitsu Ltd | Processor allocation system |
WO2010050041A1 (en) * | 2008-10-31 | 2010-05-06 | 株式会社日立製作所 | Computer system |
JP2011013953A (en) * | 2009-07-02 | 2011-01-20 | Nec Corp | Information processing device and processor management method thereof |
JP2012003594A (en) * | 2010-06-18 | 2012-01-05 | Toyota Motor Corp | Parallel computer |
JP2012073784A (en) * | 2010-09-28 | 2012-04-12 | Fujitsu Ltd | Calculation processing system, and job distribution arrangement method and program thereof |
JP2014215765A (en) * | 2013-04-24 | 2014-11-17 | 株式会社三菱東京Ufj銀行 | Control device |
Also Published As
Publication number | Publication date |
---|---|
JP6558098B2 (en) | 2019-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9389937B2 (en) | Managing faulty memory pages in a computing system | |
US10223224B1 (en) | Method and system for automatic disk failure isolation, diagnosis, and remediation | |
CN110083494B (en) | Method and apparatus for managing hardware errors in a multi-core environment | |
US20150149822A1 (en) | Event handling in storage area networks | |
TW201730764A (en) | Method for performing data scrubbing management in a storage system, and associated apparatus | |
JP6369235B2 (en) | Storage control device and storage control program | |
US20100083043A1 (en) | Information processing device, recording medium that records an operation state monitoring program, and operation state monitoring method | |
US8122176B2 (en) | System and method for logging system management interrupts | |
US20160357623A1 (en) | Abnormality detection method and information processing apparatus | |
JP6558037B2 (en) | Operation management program, operation management method, and operation management apparatus | |
US20170149864A1 (en) | Distributed applications management with dependent resilient distributed services | |
US11860718B2 (en) | Register reading method and apparatus, device, and medium | |
US10613953B2 (en) | Start test method, system, and recording medium | |
US11113163B2 (en) | Storage array drive recovery | |
US9411695B2 (en) | Provisioning memory in a memory system for mirroring | |
JP5419819B2 (en) | Computer system management method and management system | |
US9411666B2 (en) | Anticipatory protection of critical jobs in a computing system | |
US11126486B2 (en) | Prediction of power shutdown and outage incidents | |
JP6558098B2 (en) | Information processing apparatus and program | |
JP2018133766A (en) | Processing apparatus, duplex system, processing method, and processing program | |
US9928154B2 (en) | Leveling stress factors among like components in a server | |
US20150261451A1 (en) | Lifecycle management of solid state memory adaptors | |
US20200110668A1 (en) | Intelligent handling of consistency level of virtual machines | |
US20220214910A1 (en) | Information processing system, information processing apparatus, and information processing method | |
JP7564447B2 (en) | Method and program for determining cause of abnormality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190319 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190514 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190514 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190514 |
|
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: 20190618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6558098 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |