WO2013121502A1 - プロセッサシステム - Google Patents

プロセッサシステム Download PDF

Info

Publication number
WO2013121502A1
WO2013121502A1 PCT/JP2012/053236 JP2012053236W WO2013121502A1 WO 2013121502 A1 WO2013121502 A1 WO 2013121502A1 JP 2012053236 W JP2012053236 W JP 2012053236W WO 2013121502 A1 WO2013121502 A1 WO 2013121502A1
Authority
WO
WIPO (PCT)
Prior art keywords
core
wdt
storage device
abnormality
processor
Prior art date
Application number
PCT/JP2012/053236
Other languages
English (en)
French (fr)
Inventor
寿郎 徳永
真一 落合
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201280069607.4A priority Critical patent/CN104137077B/zh
Priority to US14/373,418 priority patent/US20150006978A1/en
Priority to KR1020147020828A priority patent/KR101581608B1/ko
Priority to PCT/JP2012/053236 priority patent/WO2013121502A1/ja
Priority to EP12868810.8A priority patent/EP2816480A4/en
Priority to JP2013558596A priority patent/JP5726340B2/ja
Priority to TW101112004A priority patent/TW201333686A/zh
Publication of WO2013121502A1 publication Critical patent/WO2013121502A1/ja

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Definitions

  • the present invention relates to a processor system including a plurality of processor units.
  • the description will be focused on a multi-core CPU in which a plurality of processing systems (CPU cores, hereinafter simply referred to as cores) are arranged in one CPU (Central Processing Unit) package.
  • CPU Central Processing Unit
  • the description in the present specification is also applied to a multi-CPU system and a multi-processor system in which a CPU (single-core CPU or multi-core CPU) is arranged. That is, the “core” of the multi-core CPU shown below can be read as “CPU” and “processor” in the multi-CPU system and multi-processor system.
  • the term “processor unit” is used as a concept including “core” in a multi-core CPU and “CPU” and “processor” in a multi-CPU system and a multi-processor system.
  • the RAS method detects an abnormality of one core of a multi-core CPU with a watchdog timer (hereinafter abbreviated as “WDT”), and logs information on a memory (hereinafter simply referred to as “WDT”). This is an error handling method in which a log is also saved in a backup storage device.
  • WDT is a hardware time meter of a computer.
  • WDT reset operation when the main program falls into an illegal state such as a hang-up and a regular watchdog operation (WDT reset operation) is not performed (WDT timeout), exception processing (WDT exception) is performed. Executed.
  • Exception handling is often performed when the system is reset for the purpose of returning the hung system to normal operation, but it is performed when the system is forcibly stopped or when the power is turned off and then on again. There is also.
  • WDT performs more complicated processing. For example, if the log information saving process started due to WDT time-out does not complete within a certain time, WDT will ensure the system after a certain delay time has passed, whether or not the log information is saved. To reset.
  • WDT is most often used in embedded systems, and the microcontroller may have a built-in WDT.
  • a method of applying WDT not only to a single CPU but also to a system having a plurality of CPUs such as a multicore CPU and a multiprocessor has been proposed.
  • a processor in a multiprocessor system, notifies another processor that its own processor is in an abnormal operation state with a WDT exception, and the other processor performs an abnormal recovery operation to a processor in an abnormal operation state.
  • a method is disclosed in which an interrupt that triggers the operation is notified and when a processor in an abnormal operation state does not accept the interrupt, another processor resets the processor in an abnormal operation state.
  • the present invention has been made in view of the above points, and is intended to be able to save log information of other processor units in which no abnormality has occurred when an abnormality occurs in any of the processor units. With a purpose.
  • a processor system includes: Multiple processor units; A first storage device for storing log information of each processor unit; A second storage device different from the first storage device; Each processor unit When an abnormality occurs in any of the processor units, the log information of the own processor unit stored in the first storage device is written into the second storage device.
  • each processor unit writes log information of its own processor unit of the first storage device to the second storage device when an abnormality occurs in any of the processor units. For this reason, log information of the processor unit in which no abnormality has occurred can be saved.
  • FIG. 3 shows a configuration example of a CPU board according to the first embodiment.
  • FIG. 5 illustrates an example of normal operation according to Embodiment 1;
  • FIG. 6 illustrates an operation example when an abnormality occurs according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example when an abnormality occurs according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example when an abnormality occurs according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example when an abnormality occurs according to the first embodiment.
  • FIG. 6 is a diagram illustrating a configuration example of a CPU board according to the second embodiment.
  • FIG. 10 illustrates an example of normal operation according to Embodiment 2.
  • FIG. 5 illustrates an example of normal operation according to Embodiment 1
  • FIG. 6 illustrates an operation example when an abnormality occurs according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example when an abnormality occurs according to the first embodiment.
  • FIG. 3
  • FIG. 6 is a diagram for explaining an operation example when an abnormality occurs according to Embodiment 2.
  • FIG. 9 is a flowchart showing an operation example when an abnormality occurs according to the second embodiment.
  • FIG. 9 is a flowchart showing an operation example when an abnormality occurs according to the second embodiment.
  • FIG. 9 is a flowchart showing an operation example when an abnormality occurs according to the second embodiment.
  • FIG. 9 is a flowchart showing an operation example when an abnormality occurs according to the second embodiment.
  • FIG. 1 is a block diagram illustrating a configuration example of the CPU board 100 according to the present embodiment.
  • the hardware components of the CPU board 100 include N cores 116 to 118, N WDTs 120 to 122 corresponding to the cores, a memory 125, a backup storage device 126, an interrupt controller 119, and a delay device 123.
  • Each of the cores 116 to 118 corresponds to an example of a processor unit.
  • the memory 125 corresponds to an example of a first storage device.
  • the backup storage device 126 corresponds to an example of a second storage device.
  • the interrupt controller 119 corresponds to an example of an abnormality notification device.
  • the software components of the cores 116 to 118 include applications (periodic processing APP) 101 to 103 for periodically resetting WDT, OSs (Operating System) 104 to 106, RAS processing units 107 to 109, and WDT drivers 110 to 112, and WDT exception handlers 113-115.
  • applications periodic processing APP
  • OSs Operating System
  • RAS processing units 107 to 109
  • WDT drivers 110 to 112
  • WDT exception handlers 113-115 The software components of the cores 116 to 118 include applications (periodic processing APP) 101 to 103 for periodically resetting WDT, OSs (Operating System) 104 to 106, RAS processing units 107 to 109, and WDT drivers 110 to 112, and WDT exception handlers 113-115.
  • an external WDT having a mechanism for notifying the occurrence of a CPU abnormality by performing a timer operation may be used. Further, in the following description, it is described that “each WDT is set to notify the interrupt controller 119 of WDT exceptions for all the cores when a WDT timeout occurs”, but the same is used instead of the WDTs 120 to 122. You may use the hardware which performs operation
  • Each WDT is set to notify the interrupt controller 119 of WDT exceptions for all the cores when a WDT timeout occurs.
  • the interrupt controller 119 receives the WDT exception, the interrupt controller 119 is set to notify the WDT exception to all the cores in a round robin manner.
  • the WDT notifies the interrupt controller 119 of WDT exceptions for all the cores when a WDT timeout occurs. That is, the WDT outputs WDT exception occurrence notifications (N WDT exception occurrence notifications) for the number of cores to the interrupt controller 119 for one occurrence of WDT timeout.
  • the interrupt controller 119 receives the WDT exception occurrence notification from the WDT, the interrupt controller 119 notifies each core of the occurrence of an abnormality sequentially in a round robin manner. As a result, the occurrence of abnormality is sequentially notified to all the cores for one occurrence of WDT timeout.
  • the RAS processing unit of each core that has received the notification of occurrence of abnormality stores the log of its own core in the backup storage device 126.
  • the RAS processing unit of each core that has received the abnormality occurrence notification can know which core WDT has output the WDT exception occurrence notification by the type of WDT exception.
  • the RAS processing unit of the core other than the abnormal core determines whether or not the storage of the log of the abnormal core in the backup storage device 126 is started. When the saving of the log of the abnormal core has not been started, the RAS processing unit of the core other than the abnormal core stores the log of the abnormal core in the backup storage device 126.
  • the cyclic processing APP-1 (101) of the core 1 (116) periodically performs WDT reset.
  • the periodic process APP-1 (101) resets the WDT-1 (120) via the WDT driver 110.
  • the WDT reset is performed before the WDT timeout occurs, so that no WDT exception occurs.
  • the same processing (102 ⁇ 111 ⁇ 121, 103 ⁇ 112 ⁇ 122 arrows) is performed in the core 2 (117) and the core N (118).
  • WDT-1 calls a process for resetting the board after a predetermined time delay (an arrow from 120 to 123 in FIG. 3). After a predetermined time delay in S101, the board reset process S102 is called (arrow from 123 to 124 in FIG. 3). This delay time is sufficiently longer than the time when the RAS processing unit finishes saving the logs of all the cores in the backup storage device 126. In S113, WDT-1 (120) notifies the interrupt controller 119 of WDT exceptions for the number of cores (arrow from 120 to 119 in FIG. 3).
  • the interrupt controller 119 inputs WDT exception notifications for all the cores from WDT-1 (120), and notifies the WDT-1 (120) exception to the WDT exception handler of each core in round robin (FIG. 3). 119 to 113, 114, 115).
  • the WDT exception handler 113 of the abnormal core determines whether or not copying of the log of the abnormal core to the backup storage device 126 has started, and if the copy has not started, the abnormal core in S125.
  • the interrupt controller 119 notifies the occurrence of the WDT exception to the WDT exception handler of each core by round robin, and therefore, other than the RAS processing unit 1 (107) of the abnormal core (core 1),
  • the RAS processing of the core may have started copying the log of the abnormal core (S135 in FIG. 6). Therefore, the RAS processing unit 1 (107) confirms whether or not log copying has been started by the RAS processing unit of another core in S124.
  • step S126 the RAS processing unit 1 (107) determines whether or not log copying has been completed for all the cores. If log copying has not been completed for any of the cores, the RAS processing unit 1 (107) performs RAS processing. The processing of part 1 (107) is completed. On the other hand, if the log copy of all the cores has been completed in S125, the RAS processing unit 1 (107) calls the board reset processing of S102 (in FIG. 3, the RAS processing unit of the core N completes all the copies. This is an example of confirming that this is an arrow from 109 to 124).
  • the board reset processing of the board reset device 124 of FIG. 3 is also called after the delay of the delay device 123. However, when the completion of all RAS processing is confirmed, the board reset is performed without waiting for the delay. The board can be reset as much as that.
  • the RAS processing unit 2 (108) of the core 2 (117) resets the WDT-2 (121) via the WDT driver 111 (arrow from 108 to 111 in FIG. 3). This is a process for preventing a WDT timeout other than that in the abnormal core from occurring during the RAS process by receiving the exception occurrence notification of WDT-1 (120).
  • the WDT exception handler 114 of the core 2 (117) notifies the RAS processing unit 2 (108) of the core 2 (117) of an abnormality (an arrow from 114 to 108 in FIG. 3).
  • the RAS processing unit 2 (108) copies the log of the core 2 (117) to the backup storage device 126 (arrows from 108 to 128, 131 in FIG.
  • the RAS processing unit 2 (108) confirms whether or not copying of the log of the abnormal core (core 1) to the backup storage device 126 is started in S134, and if not, the abnormal core is detected in S135. Is copied to the backup storage device 126 (the arrow from 127 to 130 in FIG. 3 is replaced by the RAS processing unit 2 (108) of the core 2). As a result, the RAS processing unit other than the abnormal core can substitute and copy the log of the abnormal core to the backup storage device 126.
  • the RAS processing unit 2 (108) determines whether or not all log copies have been completed. If the log copy has not been completed in any of the cores, the RAS processing unit 2 The process of (108) is completed. On the other hand, if the log copy of all the cores has been completed in S136, the RAS processing unit 2 (108) calls the board reset process in S102.
  • Embodiment 2 FIG. In the first embodiment described above, one WDT exception is generated for all the cores. However, in this embodiment, there is a hypervisor, and the WDT exception received by one core is transferred to the other via the hypervisor. An example of performing WDT abnormality notification to all cores by notifying the core will be described.
  • the hypervisor in the present embodiment refers to a hypervisor for embedded devices, and is software that simultaneously executes a plurality of OSs on a multi-core, and realizes cooperation between OSs and protection of the execution environment.
  • FIG. 14 shows a simple block diagram of an embedded hypervisor in a 2-core CPU. As shown in FIG. 14, the hypervisor 1 operates on the core 1 and links the core 1 and the OS 1, and the hypervisor 2 operates on the core 2 and links the core 2 and the OS 2. Cooperation between the hypervisor 1 and the hypervisor 2 is also achieved.
  • FIG. 7 is a block diagram showing a configuration example of the CPU board 200 according to the present embodiment. Since the hardware components of the CPU board 200 are the same as those described in the first embodiment, a description thereof will be omitted. As for the software components of the cores 216 to 218, the elements having the same names as those in the first embodiment are the same as those described in the first embodiment, so the description is omitted and only the elements different from the first embodiment are described. To do. Between each core and the OS, there is a hypervisor (250 for the entire hypervisor and 251 to 253 for the hypervisor on each core constituting the entire hypervisor). Each hypervisor includes abnormality notification sending / receiving sections 254 to 256 for notifying other hypervisors of the abnormality notification received from the WDT exception handler.
  • Each hypervisor includes abnormality notification sending / receiving sections 254 to 256 for notifying other hypervisors of the abnormality notification received from the WDT exception handler.
  • an external WDT having a mechanism for notifying the occurrence of an abnormality of the CPU by performing a timer operation may be used instead of the WDTs 220 to 222.
  • the hypervisor may be replaced with other means having a mechanism for sending and receiving abnormality notifications between the CPUs.
  • the abnormality notification giving / receiving unit in the hypervisor of each core notifies the RAS processing unit of the core of the abnormality, and the RAS processing unit of each core starts processing execution in parallel.
  • the RAS processing unit of each core Upon receipt of the abnormality notification, stores the log of its own core in the backup storage device 226.
  • the RAS processing unit of each core that has received the abnormality notification can know which core WDT has notified the abnormality by the type of the WDT exception.
  • the RAS processing unit of the core other than the abnormal core determines whether saving of the log of the abnormal core to the backup storage device is started. If the saving of the log of the abnormal core has not been started, the RAS processing unit of the core other than the abnormal core stores the log of the abnormal core in the backup storage device.
  • the cyclic processing APP-1 (201) of the core 1 (216) periodically performs WDT reset.
  • the periodic process APP-1 (201) resets the WDT-1 (220) via the WDT driver 210.
  • the WDT reset is performed before the WDT timeout occurs, so that no WDT exception occurs.
  • the same processing (arrows 202 ⁇ 211 ⁇ 221 and 203 ⁇ 212 ⁇ 222) is performed in the core 2 (217) and the core N (218).
  • WDT-1 calls a process for performing a board reset after a delay of a predetermined time (an arrow from 220 to 223 in FIG. 9). After a predetermined time delay in S201, the board reset process S202 is called (arrow from 223 to 224 in FIG. 9). This delay time is sufficiently longer than the time when the RAS processing unit finishes saving the logs of all the cores in the backup storage device 226. In S213, the WDT-1 (220) notifies the interrupt controller 219 of the WDT exception (an arrow from 220 to 219 in FIG. 9).
  • step S271 the interrupt controller 219 receives a WDT exception from the WDT-1 (220), and notifies the WDT exception handler of each core by multicast to notify the WDT-1 (220) exception (from 219 to 213, 214, 215 in FIG. 9). Arrow to).
  • the RAS processing unit 1 (207) cannot save the log of the abnormal core in the backup storage device 126 (S222).
  • the abnormal core WDT exception handler 213 operates normally in S221
  • the RAS processing unit 1 (207) does nothing in S223 and S224.
  • the core 2 (217) since the core 2 (217) first receives the WDT exception, the RAS processing unit 1 (207) does nothing.
  • the core 1 (216) operates after receiving an abnormality notification from the hypervisor (in this example, the hypervisor of the core 2) that first receives the WDT exception (described later).
  • the RAS processing unit N (209) does nothing (S252). Thereafter, the core N (218) operates after receiving an abnormality notification from the hypervisor (in this example, the hypervisor of the core 2) that first receives the WDT exception (described later).
  • the RAS processing unit 2 (208) resets its own core WDT-2 (221) (arrow from 208 to 211 in FIG. 9). This is a process for preventing a WDT timeout other than that in the abnormal core from occurring during the RAS process by receiving the exception occurrence notification of WDT-1 (220).
  • the abnormality notification giving / receiving unit 255 notifies the RAS processing unit 2 (208) of the own core of the abnormality (an arrow from 255 to 208 in FIG. 9).
  • the RAS processing unit 2 (208) copies the log of its own core to the backup storage device 226 (arrow from 208 to 227, 230 in FIG. 9).
  • the RAS processing unit 2 (208) confirms whether or not copying of the log of the abnormal core has started in S238, and if not, copies the log of the abnormal core to the backup storage device 226 in S239. (The arrow from 226 to 229 in FIG. 9 is replaced by the RAS processing unit 2 (208) of the core 2). As a result, the RAS processing unit other than the abnormal core can substitute and copy the log of the abnormal core to the backup storage device 226.
  • the RAS processing unit 2 (208) determines whether or not the log copy of all the cores has been completed. The processing of part 2 (208) is completed. On the other hand, when the log copy of all the cores is completed in S240, the RAS processing unit 2 (108) calls the board reset process of S102 (FIG. 9 shows an example in which the core N calls this process. Arrow from 209 to 224).
  • the RAS processing unit 1 (207) of the abnormality occurrence core does not operate normally in S226, the RAS processing unit 1 (207) of the abnormality occurrence core (core 1) does not operate.
  • the processes of S227 to S229 and S280 are performed.
  • S227 is the same as S236,
  • S228 is the same as S238,
  • S229 is the same as S237, and
  • S280 is the same as S240. For this reason, description of each step is omitted.
  • the WDT exception handler 213 of the core 1 (216) first obtains a WDT exception, S223 is YES, and the processing of S233 and S234 of FIG. 12 is performed as shown in S225. Thereafter, the processing after S227 is performed.
  • the processing of the core N (218) notified of the abnormality of WDT-1 (220) by the processing of S234 in FIG. 12 will be described with reference to FIG.
  • the abnormality notification giving / receiving unit 256 receives the abnormality notification of WDT-1 (220).
  • the processing of S255 to S260 is performed.
  • S255 to S260 are the same as S235 to S240 in FIG. For this reason, description of each step is omitted. If the WDT exception handler 215 of the core N (218) first acquires a WDT exception, the result of S251 is YES, and the processing of S233 and S234 of FIG. 12 is performed as shown in S253. Thereafter, the processing after S255 is performed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 メモリ225は、各コア116~118のログ情報を記憶している。いずれかのコアに異常が発生した場合に、各コアは、メモリ225に記憶されている、自コアのログ情報をバックアップ記憶装置126に書き込む。これにより、異常が発生したコア以外のコアのログ情報をバックアップ記憶装置116に保存することができる。

Description

プロセッサシステム
 本発明は、複数のプロセッサユニットが含まれるプロセッサシステムに関する。
 本明細書では、以降、1つのCPU(Central Processing Unit)パッケージ内に複数の処理系(CPUコア、以下、単にコアという)が配置されているマルチコアCPUを中心にして説明を進めるが、複数のCPU(シングルコアCPU又はマルチコアCPU)が配置されているマルチCPUシステム、マルチプロセッサシステムにも本明細書に記載の説明は適用される。
 つまり、以下で示すマルチコアCPUの「コア」は、マルチCPUシステム、マルチプロセッサシステムにおける個々の「CPU」、「プロセッサ」と読み替えることができる。
 また、「プロセッサユニット」との語は、マルチコアCPUにおける「コア」と、マルチCPUシステム、マルチプロセッサシステムにおける「CPU」及び「プロセッサ」のいずれも含む概念として用いている。
 RAS方式(RAS: Reliability, Availability, Serviceability))は、マルチコアCPUの1つのコアの異常をwatchdog timer(以下、「WDT」と略記とする)で検知して、メモリ上のログ情報(以下、単に「ログ」ともいう)をバックアップ記憶装置に保存する異常対処方式である。
 WDTはコンピュータのハードウェア時間計測器である。
 RAS方式では、メインのプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作(WDTのリセット操作)が行なわれなかった(WDTタイムアウト)場合に、例外処理(WDT例外)が実行される。
 例外処理は、ハングアップしたシステムを正常動作に戻すことを目的としてシステムをリセットする場合に実行させることが多いが、システムを強制停止させる場合や電源を切断した後の再投入時に実行されることもある。
 障害を引き起こした問題のデバッグに役立つ情報などを媒体に保存する機能を持つRAS方式の場合、WDTはより複雑な処理を行う。
 たとえば、WDTのタイムアウトによって開始されたログ情報の保存処理がある時間内に完了しなかった場合に、ログ情報が保存されていてもいなくても、WDTは、一定のディレイ時間経過後にシステムを確実にリセットさせる。
 WDTが最も多く使われているのは組み込みシステムで、マイクロコントローラにWDTが内蔵されることもある。
 単体のCPUだけでなく、マルチコアCPU、マルチプロセッサなど複数のCPUを持つシステムに対してWDTを適用する方法も提案されている。
 また、特許文献1では、マルチプロセッサシステムにおいて、あるプロセッサが、自プロセッサが動作異常状態であることを別のプロセッサにWDT例外で通知し、その別のプロセッサが動作異常状態のプロセッサへ異常回復動作のトリガとなる割込みを通知し、動作異常状態のプロセッサが割込みを受付けない場合には、その別のプロセッサが動作異常状態のプロセッサをリセットする方式が開示されている。
特開2000-311155号公報
 あるプロセッサに異常が発生した場合に、異常が発生したプロセッサのログ情報に加え、異常が発生していない他のプロセッサのログ情報も障害解析やシステム復旧のための重要な手掛かりとなる。
 特許文献1の技術では、異常が発生したプロセッサのログ情報はバックアップ記憶装置に保存されるが、異常が発生していない他のプロセッサのログ情報は保存されない。
 この発明は、このような点に鑑みたものであり、いずれかのプロセッサユニットに異常が発生した場合に、異常が発生していない他のプロセッサユニットのログ情報を保存できるようにすることを主な目的とする。
 本発明に係るプロセッサシステムは、
 複数のプロセッサユニットと、
 各プロセッサユニットのログ情報を記憶する第1の記憶装置と、
 前記第1の記憶装置とは異なる第2の記憶装置とを有し、
 各プロセッサユニットは、
 いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする。
 本発明によれば、各プロセッサユニットは、いずれかのプロセッサユニットにおいて異常が発生した場合に、第1の記憶装置の自プロセッサユニットのログ情報を第2の記憶装置に書き込む。
 このため、異常が発生していないプロセッサユニットのログ情報を保存することができる。
実施の形態1に係るCPUボードの構成例を示す図。 実施の形態1に係る正常時の動作例を説明する図。 実施の形態1に係る異常発生時の動作例を説明する図。 実施の形態1に係る異常発生時の動作例を示すフローチャート図。 実施の形態1に係る異常発生時の動作例を示すフローチャート図。 実施の形態1に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係るCPUボードの構成例を示す図。 実施の形態2に係る正常時の動作例を説明する図。 実施の形態2に係る異常発生時の動作例を説明する図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係るハイパーバイザとOS、コア、アプリケーションとの関係を示す図。
 以下に示す実施の形態1及び実施の形態2では、いずれかのコアに異常が発生した場合に、異常が発生していない他のコアのログ情報をバックアップ記憶装置に保存できる構成を説明する。
 また、実施の形態1及び実施の形態2では、異常発生が発生した異常発生コアの異常対処機能(RAS機能)が正常に動作しない場合でも、異常発生コアのログ情報を、バックアップ記憶装置に保存できる構成を説明する。
 従来の技術では、マルチコアCPUの一つのコアの異常をWDTで検知してメモリ上のログをバックアップ記憶装置に保存して最終的にボードリセットするような異常対処方式(RAS方式)において、異常発生コア上のRAS機能が正常に動作しない場合、異常発生コアの異常発生時のログを保存することができないという課題がある。
 例えば、特許文献1の技術では、WDTで検知した1つのプロセッサの異常を他のプロセッサに通知して、他のプロセッサ経由で異常発生プロセッサに対して異常回復動作のトリガをかけるが、この異常回復動作は異常発生プロセッサ自身が行うため、この異常回復動作が正常に動作しない場合、異常発生プロセッサのログをバックアップ記憶装置に保存することはできない。
 実施の形態1及び実施の形態2では、このような点に鑑み、異常発生コアのログを、異常発生コアのRAS機能が正常に動作しない場合でも、バックアップ記憶装置に保存できるようにする構成、及び、異常が発生していない他のコアのログをバックアップ記憶装置に保存できる構成を説明する。
 実施の形態1.
[実施の形態1:構成の説明]
 図1は、本実施の形態に係るCPUボード100の構成例を示すブロック図である。
 CPUボード100のハードウェア構成要素は、N個のコア116~118と、各コアに対応するN個のWDT120~122と、メモリ125と、バックアップ記憶装置126と、割込みコントローラ119と、ディレイ装置123と、ボードリセット装置124である。
 コア116~118は、それぞれ、プロセッサユニットの例に相当する。
 また、メモリ125は、第1の記憶装置の例に相当する。
 また、バックアップ記憶装置126は、第2の記憶装置の例に相当する。
 また、割込みコントローラ119は、異常通知装置の例に相当する。
 コア116~118のソフトウェア構成要素は、WDTを周期的にリセットするアプリケーション(周期処理APP)101~103と、OS(Operating System)104~106と、RAS処理部107~109と、WDTドライバ110~112と、WDT例外ハンドラ113~115である。
 なお、WDT120~122に代えて、タイマ動作をして、CPUの異常発生を通知する仕組みをもつ外部WDTを用いてもよい。
 また、後述では、「各WDTは、WDTタイムアウトが発生すると全コア数分のWDT例外を割込みコントローラ119に通知するよう設定される」旨を説明しているが、WDT120~122に代えて、同じ動作を行うハードウェアを用いてもよい。
[実施の形態1:設定の説明]
 実施の形態1における、WDT120~122と割込みコントローラ119のハードウェア設定について説明する。
 各WDTは、WDTタイムアウトが発生すると全コア数分のWDT例外を割込みコントローラ119に通知するよう設定される。
 割込みコントローラ119は、WDT例外を受付けると、ラウンドロビンで全コアに対してWDT例外を通知するよう設定される。
[実施の形態1:動作の概要説明]
 次に動作について説明する。
 実施の形態1では、WDT例外発生時に全コアのRAS処理部に順番に異常発生が通知され、各コアのRAS処理部は、自コアのログをバックアップ記憶装置126に保存する。
 また、異常発生コアのRAS処理部が正常に動作しない場合は、正常動作する他コアのRAS処理部が代替して異常発生コアのログの保存を行う。
 本実施の形態に係る動作の概要は以下の通りである。
 i)前述の[実施の形態1:設定の説明]の通り、WDTは、WDTタイムアウトが発生すると全コア数分のWDT例外を割込みコントローラ119に通知する。
 つまり、WDTは、1回のWDTタイムアウト発生に対して、コア数分のWDT例外発生通知(N個のWDT例外発生通知)を割込みコントローラ119に出力する。
 割込みコントローラ119は、WDTからのWDT例外発生通知を入力すると、各コアへラウンドロビンで順番に異常発生の通知を行う。
 これらにより、1回のWDTのタイムアウト発生に対して、全てのコアへ順番に異常の発生が通知される。
 ii)異常発生通知を受けた各コアのRAS処理部では、各自のコアのログをバックアップ記憶装置126に保存する。
 iii)異常発生通知を受けた各コアのRAS処理部は、どのコアのWDTがWDT例外発生通知を出力したかをWDT例外の種類で知ることができる。
 異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置126への保存が開始されているかどうかを判定する。
 そして、異常発生コアのログの保存が開始されていない場合には、異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置126への保存を行う。
[実施の形態1:動作の詳細説明]
 次に、本実施の形態に係る動作の詳細について説明する。
(動作の詳細説明:正常時の動作)
 まず正常時の動作を、図2を用いて説明する。
 コア1(116)の周期処理APP-1(101)は周期的にWDTリセットを行う。
 周期処理APP-1(101)は、WDTドライバ110を経由してWDT-1(120)をリセットする。
 正常時はWDTタイムアウトが発生する前にWDTリセットが行われるため、WDT例外は発生しない。
 コア2(117)、コアN(118)においても同様の処理(102→111→121、103→112→122の矢印)が行われる。
(動作の詳細説明:異常発生時の動作)
 次に、異常発生時の動作を、図4、図5及び図6のフローチャートを用いて説明する。
 この時のブロック図上での処理の流れは図3を使って補足する。
 ここでは、コア1(116)に異常が発生し、WDT-1(120)でWDT例外が発生した例で説明する。
 S111において、WDTタイムアウトが発生する。
 S112において、WDT-1(120)は一定時間ディレイ後にボードリセットを行う処理を呼出す(図3の120から123への矢印)。
 S101において一定時間ディレイした後に、ボードリセット処理S102が呼出される(図3の123から124への矢印)。
 このディレイ時間はRAS処理部が全てのコアのログをバックアップ記憶装置126に保存を終える時間に比べて十分大きい時間とする。
 S113において、WDT-1(120)はコア数分のWDT例外を割込みコントローラ119に通知する(図3の120から119への矢印)。
 S171において、割込みコントローラ119はWDT-1(120)より全コア数分のWDT例外通知を入力し、ラウンドロビンで各コアのWDT例外ハンドラにWDT-1(120)の例外を通知する(図3の119から113,114,115への矢印)。
 次に、コア1(116)への例外通知後の動作(S120:ログバックアップ処理)を、図5を参照して説明する。
 S121において異常発生コア(コア1)のWDT例外ハンドラ113が正常に動作せず、異常発生コアのRAS処理部1(107)が実行されなかった場合には、異常発生コアのRAS処理部1(107)による異常発生コアのログのバックアップ記憶装置126への保存はできない(S122)。
 S121において異常発生コアのWDT例外ハンドラ113が正常に動作した場合、S123において、WDT例外ハンドラ113は、自コアのRAS処理部1(107)に異常を通知する(図3の113から107への矢印)。
 S124において、RAS処理部1(107)は、異常発生コアのログのバックアップ記憶装置126へのコピーが開始されているかどうかを判断し、コピーが開始されていない場合には、S125で異常発生コアのログをバックアップ記憶装置へコピーする(図3の107から127,130への矢印)。
 ここで各コアのログのバックアップ記憶装置126へのコピーが開始されたかどうかは、メモリ125上のフラグやセマフォなどの共有資源を使って確認できるものとする。
 前述したように、割込みコントローラ119はラウンドロビンにより各コアのWDT例外ハンドラにWDT例外の発生を通知するため、異常発生コア(コア1)のRAS処理部1(107)よりも先に、他のコアのRAS処理が、異常発生コアのログのコピーを開始している場合がある(図6のS135)。
 このため、RAS処理部1(107)は、S124で他のコアのRAS処理部によりログのコピーが開始されているか否かを確認する。
 次に、RAS処理部1(107)は、S126において、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、RAS処理部1(107)の処理が完了する。
 一方、S125において全てのコアのログコピーが完了していた場合には、RAS処理部1(107)は、S102のボードリセット処理を呼出す(図3ではコアNのRAS処理部が全てのコピー完了したことを確認した例であり、109から124への矢印となる)。
 ここで、全てのコアのログコピーが完了したかどうかは、メモリ125上のフラグやセマフォなどの共有資源を使って確認できるものとする。
 また、図3のボードリセット装置124のボードリセット処理は、ディレイ装置123のディレイ後にも呼出されるが、全てのRAS処理の完了を確認した時点でボードリセットを行う方が、ディレイを待たずにその分だけ早くボードリセットできる効果がある。
 次に、コア2(117)及びコアN(118)への例外通知後の動作(S130:ログバックアップ処理)を、図6を参照して説明する。
 以下では、コア2(117)の処理として説明するが、コアN(118)でも同様の処理が行われる。
 S131において、コア2(117)のRAS処理部2(108)がWDTドライバ111を経由してWDT-2(121)をリセットする(図3の108から111経由で121への矢印)。
 これは、WDT-1(120)の例外発生通知の受信によるRAS処理を行っている間に、異常発生コア以外のWDTタイムアウトが発生しないようにするための処理である。
 次に、S132において、コア2(117)のWDT例外ハンドラ114がコア2(117)のRAS処理部2(108)に異常を通知する(図3の114から108への矢印)。
 次に、RAS処理部2(108)は、S133において、コア2(117)のログをバックアップ記憶装置126へコピーする(図3の108から128,131への矢印)。
 次に、RAS処理部2(108)は、S134において異常発生コア(コア1)のログのバックアップ記憶装置126へのコピーが開始されているか確認し、開始されていなければ、S135で異常発生コアのログをバックアップ記憶装置126へコピーする(図3の127から130への矢印をコア2のRAS処理部2(108)が代替して実施)。
 これにより、異常発生コア以外のRAS処理部が代替して異常発生コアのログをバックアップ記憶装置126へコピーすることができる。
 次に、S136において、RAS処理部2(108)は、全てのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、RAS処理部2(108)の処理が完了する。
 一方、S136において全てのコアのログコピーが完了していた場合には、RAS処理部2(108)は、S102のボードリセット処理を呼出す。
[実施の形態1:効果]
 以上のように、全コアのRAS処理部に順番に異常発生を通知し、各コアのRAS処理部が、自コアのログ情報をバックアップ記憶装置に保存する。
 このため、異常発生コア以外の他のコアのログ情報も、バックアップ記憶装置に保存することができ、ボード全体の障害解析に役立てることができる。
 また、異常発生コアのRAS処理部が正常に動作しない場合でも、異常発生コアのログ情報の保存を正常動作する他のコアが代替することにより、異常発生コアのログ情報をバックアップ記憶装置に保存することができる。
 また、本実施の形態では、WDTの設定や割込みコントローラの設定は既存の技術を利用しているため、本実施の形態に係る仕組みを簡易かつ安価に実現することが可能である。
 実施の形態2.
 以上の実施の形態1では、1回のWDT例外を全コア数分発生させたが、本実施の形態では、ハイパーバイザが存在し、1つのコアが受取ったWDT例外をハイパーバイザ経由で他のコアへ通知することにより、全コアへWDT異常通知を行う例を説明する。
 なお、本実施の形態におけるハイパーバイザは、組込み機器向けハイパーバイザを指し、マルチコア上で複数のOSを同時実行し、かつOS間の連携と実行環境保護を実現するソフトウェアである。
 図14に、2コアCPUにおける組込みハイパーバイザの簡単なブロック図を示す。
 図14に示すように、ハイパーバイザ1は、コア1で動作し、コア1とOS1との連携を行い、ハイパーバイザ2は、コア2で動作し、コア2とOS2との連携を行う。
 また、ハイパーバイザ1とハイパーバイザ2との間でも連携が図られる。
[実施の形態2:構成の説明]
 図7は、本実施の形態に係るCPUボード200の構成例を示すブロック図である。
 CPUボード200のハードウェア構成要素は、実施の形態1で説明したものと同じであるため、説明を割愛する。
 コア216~218のソフトウェア構成要素については、実施の形態1と同じ名称の要素は実施の形態1で説明したものと同様であるため、説明を割愛し、実施の形態1と異なる要素だけを説明する。
 各コアとOSの間にはハイパーバイザ(ハイパーバイザ全体は250,ハイパーバイザ全体を構成する各コア上のハイパーバイザは251~253)が存在する。
 各ハイパーバイザにはWDT例外ハンドラより受取った異常通知を他のハイパーバイザに通知するための異常通知授受部254~256が含まれている。
 また、実施の形態1において説明したように、WDT220~222に代えて、タイマ動作をして、CPUの異常発生を通知する仕組みをもつ外部WDTを用いてもよい。
 また、ハイパーバイザも、各CPU間で異常通知を授受する仕組みを持つ他の手段に代えてもよい。
[実施の形態2:設定の説明]
 実施の形態2における、割込みコントローラ219のハードウェア設定について説明する。
 割込みコントローラ219は、WDT例外発生通知を入力すると、マルチキャストで全コアに対してWDT例外を通知するよう設定される。
[実施の形態2:動作の概要説明]
 次に動作について説明する。
 本実施の形態では、マルチキャストにより、ハイパーバイザ経由で全コアのRAS処理部に異常発生が通知され、各コアのRAS処理部は、自コアのログをバックアップ記憶装置226に保存する。
 また、異常発生コアのRAS処理部が正常に動作しない場合は、正常動作する他コアのRAS処理部が代替して異常発生コアのログの保存を行う。
 本実施の形態に係る動作の概要は以下の通りである。
 i)前述の[実施の形態2:構成の説明]の通り、割込みコントローラ219は、WDT例外の発生が通知されると、各コアへマルチキャストで一斉に異常通知する。
 ii)コアの上位にはハイパーバイザが存在する。
 上記の割込みコントローラ219から各コアへの異常通知は、各コアのWDT例外ハンドラに対して行われる。
 WDT例外ハンドラは早いもの勝ちでその異常通知を受取る。
 最初に異常通知を受取ったWDT例外ハンドラは、自分のコアのハイパーバイザ内の異常通知授受部に対して異常を通知する。
 異常通知授受部は、他のコアのハイパーバイザ内の異常通知授受部に対して異常を通知する。
 各コアのハイパーバイザ内の異常通知授受部は、そのコアのRAS処理部に異常を通知し、各コアのRAS処理部は同時並行に処理実行を開始する。
 iii)異常通知を受けた各コアのRAS処理部は、各自のコアのログをバックアップ記憶装置226に保存する。
 iv)異常通知を受けた各コアのRAS処理部は、どのコアのWDTが異常通知を行ったかをWDT例外の種類で知ることができる。
 異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置への保存が開始されているかどうかを判定する。
 そして、異常発生コアのログの保存が開始されていない場合には、異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置への保存を行う。
[実施の形態2:動作の詳細説明]
 次に、本実施の形態に係る動作の詳細について説明する。
(動作の詳細説明:正常時の動作)
 まず正常時の動作を、図8を用いて説明する。
 コア1(216)の周期処理APP-1(201)は周期的にWDTリセットを行う。
 周期処理APP-1(201)は、WDTドライバ210を経由してWDT-1(220)をリセットする。
 正常時はWDTタイムアウトが発生する前にWDTリセットが行われるため、WDT例外は発生しない。
 コア2(217)、コアN(218)においても同様の処理(202→211→221、203→212→222の矢印)が行われる。
(動作の詳細説明:異常発生時の動作)
 次に、異常発生時の動作を、図10~図13のフローチャートを用いて説明する。
 この時のブロック図上での処理の流れは図9を使って補足する。
 ここでは、コア1(216)に異常が発生し、WDT-1(220)でWDT例外が発生し、割込みコントローラ219からのWDT例外を最初に受取るのはコア2(217)である例で説明する。
 S211において、WDTタイムアウトが発生する。
 S212において、WDT-1(220)は一定時間ディレイ後にボードリセットを行う処理を呼出す(図9の220から223への矢印)。
 S201において一定時間ディレイした後に、ボードリセット処理S202が呼出される(図9の223から224への矢印)。
 このディレイ時間はRAS処理部が全てのコアのログをバックアップ記憶装置226に保存を終える時間に比べて十分大きい時間とする。
 S213において、WDT-1(220)はWDT例外を割込みコントローラ219に通知する(図9の220から219への矢印)。
 S271において、割込みコントローラ219はWDT-1(220)よりWDT例外を受け、マルチキャストで各コアのWDT例外ハンドラにWDT-1(220)の例外を通知する(図9の219から213,214,215への矢印)。
 本実施の形態では、コア2(217)が最初にWDT例外を受取った場合について説明する(このため図9の219から213への矢印は実線、219から213の矢印と219から215の矢印は点線としている)。
 次に、コア1(116)の動作(S220:ログバックアップ処理)を、図11を参照して説明する。
 S221において異常発生コア(コア1)のWDT例外ハンドラ213が正常に動作せず、異常発生コアのRAS処理部1(207)が実行されなかった場合には、異常発生コアのRAS処理部1(207)による異常発生コアのログのバックアップ記憶装置126への保存はできない(S222)。
 S221において異常発生コアのWDT例外ハンドラ213が正常に動作した場合、本例では、S223及びS224において、RAS処理部1(207)は何もしない。
 本例では、コア2(217)が最初にWDT例外を受け取るので、RAS処理部1(207)は何もしない。
 以降、コア1(216)は、最初にWDT例外を受取ったハイパーバイザ(本例ではコア2のハイパーバイザ)からの異常通知を受けてから動作する(後述)。
 次に、コアN(218)の動作(S250:ログバックアップ処理)を、図13を参照して説明する。
 S251において、本例ではコア2が最初にWDT例外を受け取るので、RAS処理部N(209)は何もしない(S252)。
 以降、コアN(218)は、最初にWDT例外を受取ったハイパーバイザ(本例ではコア2のハイパーバイザ)からの異常通知を受けてから動作する(後述)。
 次に、WDT例外を最初に受取ったコア2(217)の動作(S230:ログバックアップ処理)を、図12を参照して説明する。
 S231において、本例ではコア2(217)のWDT例外ハンドラ214がWDT例外を最初に受取るので、S233へ進み、WDT例外ハンドラ214は自コアの異常通知授受部255にWDT-1(220)の異常を通知する(図9の214から255への矢印)。
 S234において、異常通知授受部255は他コアの異常通知授受部254、256にWDT-1(220)の例外発生を伝える(図9の255から254,256への2つの矢印)。
 なお、例外発生を受取った後の、コア1とコアNの動作は後述する。
 S235において、RAS処理部2(208)は、自コアのWDT-2(221)をリセットする(図9の208から211経由で221への矢印)。
 これは、WDT-1(220)の例外発生通知の受信によるRAS処理を行っている間に、異常発生コア以外のWDTタイムアウトが発生しないようにするための処理である。
 次に、S236において、異常通知授受部255は自コアのRAS処理部2(208)に異常を通知する(図9の255から208への矢印)。
 次に、S237において、RAS処理部2(208)は自コアのログをバックアップ記憶装置226にコピーする(図9の208から227,230への矢印)。
 次に、RAS処理部2(208)は、S238において異常発生コアのログのコピーが開始されているか確認し、開始されていなければ、S239で異常発生コアのログをバックアップ記憶装置226へコピーする(図9の226から229への矢印をコア2のRAS処理部2(208)が代替して実施)。
 これにより、異常発生コア以外のRAS処理部が代替して異常発生コアのログをバックアップ記憶装置226へコピーすることができる。
 次に、S240において、RAS処理部2(208)は、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、RAS処理部2(208)の処理が完了する。
 一方、S240において全てのコアのログコピーが完了していた場合には、RAS処理部2(108)は、S102のボードリセット処理を呼出す(図9はコアNがこの処理を呼出している例で209から224への矢印)。
 次に、図12のS234の処理によりWDT-1(220)の異常を通知されたコア1(216)の処理を、図11を参照して説明する。
 S226においてコア1の異常通知授受部254が正常に動作しなければ、異常発生コア(コア1)のRAS処理部1(207)は動作しない。
 一方、異常通知授受部254が正常に動作すれば、S227~S229及びS280の処理が行われる。
 S227はS236と同じであり、S228はS238と同じであり、S229はS237と同じであり、S280はS240と同じである。
 このため、各ステップの説明を割愛する。
 なお、コア1(216)のWDT例外ハンドラ213がWDT例外を最初に取得した場合は、S223でYESとなり、S225に示すように、図12のS233及びS234の処理が行われる。
 その後、S227以降の処理が行われる。
 次に、図12のS234の処理によりWDT-1(220)の異常を通知されたコアN(218)の処理を、図13を参照して説明する。
 S254において、異常通知授受部256はWDT-1(220)の異常通知を受取る。
 以降は、S255~S260の処理が行われる。
 なお、S255~S260は、図12のS235~S240と同じである。
 このため、各ステップの説明を割愛する。
 なお、コアN(218)のWDT例外ハンドラ215がWDT例外を最初に取得した場合は、S251でYESとなり、S253に示すように、図12のS233及びS234の処理が行われる。
 その後、S255以降の処理が行われる。
[実施の形態2:効果]
 実施の形態1の方式では各コアへ順番に異常通知するためのに例外通知の遅延が発生するのに対し、実施の形態2の方式では各コアへの異常通知は一斉に行われるため、この遅延が発生せず、RAS処理部の同時並行処理を早く完了することができる効果がある。
 それ以外の効果は実施の形態1の効果と同様である。
 100 CPUボード、101 周期処理APP-1、102 周期処理APP-2、103 周期処理APP-N、104 OS-1、105 OS-2、106 OS-N、107 RAS処理部1、108 RAS処理部2、109 RAS処理部N、110 WDTドライバ、111 WDTドライバ、112 WDTドライバ、113 WDT例外ハンドラ、114 WDT例外ハンドラ、115 WDT例外ハンドラ、116 コア1、117 コア2、118 コアN、119 割込みコントローラ、120 WDT-1、121 WDT-2、122 WDT-N、123 ディレイ装置、124 ボードリセット装置、125 メモリ、126 バックアップ記憶装置、200 CPUボード、201 周期処理APP-1、202 周期処理APP-2、203 周期処理APP-N、204 OS-1、205 OS-2、206 OS-N、207 RAS処理部1、208 RAS処理部2、209 RAS処理部N、210 WDTドライバ、211 WDTドライバ、212 WDTドライバ、213 WDT例外ハンドラ、214 WDT例外ハンドラ、215 WDT例外ハンドラ、216 コア1、217 コア2、218 コアN、219 割込みコントローラ、220 WDT-1、221 WDT-2、222 WDT-N、223 ディレイ装置、224 ボードリセット装置、225 メモリ、226 バックアップ記憶装置、250 ハイパーバイザ、251 ハイパーバイザ1、252 ハイパーバイザ2、253 ハイパーバイザN、254 異常通知授受部、255 異常通知授受部、256 異常通知授受部。

Claims (7)

  1.  複数のプロセッサユニットと、
     各プロセッサユニットのログ情報を記憶する第1の記憶装置と、
     前記第1の記憶装置とは異なる第2の記憶装置とを有し、
     各プロセッサユニットは、
     いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とするプロセッサシステム。
  2.  各プロセッサユニットは、
     自プロセッサユニットに異常が発生していなくても、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする請求項1に記載のプロセッサシステム。
  3.  各プロセッサユニットは、
     他のプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始しているか否かを判定し、
     前記異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始していない場合に、前記第1の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする請求項1に記載のプロセッサシステム。
  4.  前記プロセッサシステムは、更に、
     いずれかのプロセッサユニットにおいて異常が発生した場合に、ラウンドロビンにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
     各プロセッサユニットは、
     前記異常発生通知装置により異常の発生が通知された際に、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする請求項1に記載のプロセッサシステム。
  5.  前記プロセッサシステムは、更に、
     いずれかのプロセッサユニットにおいて異常が発生した場合に、マルチキャストにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
     各プロセッサユニットは、
     前記複数のプロセッサユニットの中で最初に前記異常発生通知装置からの通知を取得した場合に、異常の発生を他のプロセッサユニットに通知し、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする請求項1に記載のプロセッサシステム。
  6.  各プロセッサユニットは、
     いずれかのプロセッサユニットにおいて異常が発生したことを他のプロセッサユニットから通知された際に、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする請求項5に記載のプロセッサシステム。
  7.  複数のプロセッサユニットと、
     各プロセッサユニットのログ情報を記憶する第1の記憶装置と、
     いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されているログ情報が書き込まれる第2の記憶装置とを有し、
     各プロセッサユニットは、
     他のプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始しているか否かを判定し、
     前記異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始していない場合に、前記第1の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とするプロセッサシステム。
PCT/JP2012/053236 2012-02-13 2012-02-13 プロセッサシステム WO2013121502A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201280069607.4A CN104137077B (zh) 2012-02-13 2012-02-13 处理器系统
US14/373,418 US20150006978A1 (en) 2012-02-13 2012-02-13 Processor system
KR1020147020828A KR101581608B1 (ko) 2012-02-13 2012-02-13 프로세서 시스템
PCT/JP2012/053236 WO2013121502A1 (ja) 2012-02-13 2012-02-13 プロセッサシステム
EP12868810.8A EP2816480A4 (en) 2012-02-13 2012-02-13 PROCESSOR SYSTEM
JP2013558596A JP5726340B2 (ja) 2012-02-13 2012-02-13 プロセッサシステム
TW101112004A TW201333686A (zh) 2012-02-13 2012-04-05 處理器系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/053236 WO2013121502A1 (ja) 2012-02-13 2012-02-13 プロセッサシステム

Publications (1)

Publication Number Publication Date
WO2013121502A1 true WO2013121502A1 (ja) 2013-08-22

Family

ID=48983668

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/053236 WO2013121502A1 (ja) 2012-02-13 2012-02-13 プロセッサシステム

Country Status (7)

Country Link
US (1) US20150006978A1 (ja)
EP (1) EP2816480A4 (ja)
JP (1) JP5726340B2 (ja)
KR (1) KR101581608B1 (ja)
CN (1) CN104137077B (ja)
TW (1) TW201333686A (ja)
WO (1) WO2013121502A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5877533B2 (ja) * 2013-01-31 2016-03-08 三菱電機株式会社 計算機装置及び計算機装置の制御方法
JP6816345B2 (ja) * 2015-04-24 2021-01-20 富士電機株式会社 駆動制御装置
WO2016204070A1 (ja) * 2015-06-16 2016-12-22 オリンパス株式会社 Cpu監視装置
US10585755B2 (en) * 2016-11-29 2020-03-10 Ricoh Company, Ltd. Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US11150973B2 (en) * 2017-06-16 2021-10-19 Cisco Technology, Inc. Self diagnosing distributed appliance
JP6919597B2 (ja) * 2018-03-01 2021-08-18 オムロン株式会社 コンピュータおよびその制御方法
CN112527541A (zh) * 2019-09-19 2021-03-19 华为技术有限公司 一种确定多核处理器中故障计算核的方法及电子设备
CN110673976A (zh) * 2019-09-20 2020-01-10 Oppo广东移动通信有限公司 一种多核系统的异常检测方法、异常检测装置及电子设备
US11354182B1 (en) * 2019-12-10 2022-06-07 Cisco Technology, Inc. Internal watchdog two stage extension

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288603A (ja) * 1996-04-24 1997-11-04 Hokkaido Nippon Denki Software Kk マルチプロセッサシステムの障害情報記録方式
JP2000311155A (ja) 1999-04-27 2000-11-07 Seiko Epson Corp マルチプロセッサシステム及び電子機器
JP2011159136A (ja) * 2010-02-02 2011-08-18 Seiko Epson Corp 制御装置、制御装置の異常検出・復旧方法および電子機器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761739A (en) * 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
US5790772A (en) * 1996-04-30 1998-08-04 International Business Machines Corporation Communications method involving groups of processors of a distributed computing environment
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
JP4489802B2 (ja) * 2005-02-07 2010-06-23 富士通株式会社 マルチcpuコンピュータおよびシステム再起動方法
US7984341B2 (en) * 2008-02-25 2011-07-19 International Business Machines Corporation Method, system and computer program product involving error thresholds
CN101650674A (zh) * 2009-09-11 2010-02-17 杭州中天微系统有限公司 主处理器与协处理器接口之间的异常处理方法及实现装置
CN102971715B (zh) * 2010-07-06 2015-07-08 三菱电机株式会社 处理器装置以及程序

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288603A (ja) * 1996-04-24 1997-11-04 Hokkaido Nippon Denki Software Kk マルチプロセッサシステムの障害情報記録方式
JP2000311155A (ja) 1999-04-27 2000-11-07 Seiko Epson Corp マルチプロセッサシステム及び電子機器
JP2011159136A (ja) * 2010-02-02 2011-08-18 Seiko Epson Corp 制御装置、制御装置の異常検出・復旧方法および電子機器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2816480A4

Also Published As

Publication number Publication date
CN104137077A (zh) 2014-11-05
KR20140105034A (ko) 2014-08-29
EP2816480A1 (en) 2014-12-24
US20150006978A1 (en) 2015-01-01
KR101581608B1 (ko) 2015-12-30
JPWO2013121502A1 (ja) 2015-05-11
EP2816480A4 (en) 2016-05-04
JP5726340B2 (ja) 2015-05-27
CN104137077B (zh) 2017-07-14
TW201333686A (zh) 2013-08-16

Similar Documents

Publication Publication Date Title
JP5726340B2 (ja) プロセッサシステム
JP4887150B2 (ja) コプロセッサを監視及びリセットするための方法及び装置
US9026865B2 (en) Software handling of hardware error handling in hypervisor-based systems
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US11526411B2 (en) System and method for improving detection and capture of a host system catastrophic failure
US8219851B2 (en) System RAS protection for UMA style memory
US20130238882A1 (en) Multi-core processor system, monitoring control method, and computer product
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
WO2008101386A1 (fr) Procédé de récupération d'une exception à noyau unique dans un système à plusieurs noyaux
US9148479B1 (en) Systems and methods for efficiently determining the health of nodes within computer clusters
US20210081234A1 (en) System and Method for Handling High Priority Management Interrupts
US20160170912A1 (en) Safely discovering secure monitors and hypervisor implementations in systems operable at multiple hierarchical privilege levels
US9535772B2 (en) Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple levels hierarchical privilege levels
US10635554B2 (en) System and method for BIOS to ensure UCNA errors are available for correlation
TWI772024B (zh) 減少停機時間的方法及系統
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法
JP4867896B2 (ja) 情報処理システム
JP5299681B2 (ja) プログラム検査方法
JP6024742B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
Liao et al. Configurable reliability in multicore operating systems
JP2007004364A (ja) デバッグシステム、デバッグ方法およびプログラム
CN116627702A (zh) 虚拟机的宕机重启方法及装置
JP2016076152A (ja) エラー検出システム、エラー検出方法およびエラー検出プログラム
CN115904607A (zh) 基于虚拟机的容器的可靠设备分配
TW201820134A (zh) 電子裝置及電子裝置之操作方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12868810

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013558596

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2012868810

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14373418

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20147020828

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE