WO2017195276A1 - Information processing device and reboot control method - Google Patents

Information processing device and reboot control method Download PDF

Info

Publication number
WO2017195276A1
WO2017195276A1 PCT/JP2016/063898 JP2016063898W WO2017195276A1 WO 2017195276 A1 WO2017195276 A1 WO 2017195276A1 JP 2016063898 W JP2016063898 W JP 2016063898W WO 2017195276 A1 WO2017195276 A1 WO 2017195276A1
Authority
WO
WIPO (PCT)
Prior art keywords
restart
information processing
processing apparatus
reference value
target
Prior art date
Application number
PCT/JP2016/063898
Other languages
French (fr)
Japanese (ja)
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 JP2016562601A priority Critical patent/JP6073004B1/en
Priority to PCT/JP2016/063898 priority patent/WO2017195276A1/en
Priority to TW105126047A priority patent/TWI632454B/en
Publication of WO2017195276A1 publication Critical patent/WO2017195276A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Definitions

  • the present invention relates to control when an operating system is restarted in an information processing apparatus that operates a plurality of operating systems.
  • OSs Operating Systems
  • hypervisor Software that controls a plurality of OSs
  • guest OS an OS controlled by the hypervisor
  • the virtualization technology is used in various fields including FA (Factory Automation). Specifically, the virtualization technology is used in an environment in which a real-time OS for performing processing with high real-time characteristics and a general-purpose OS such as Windows (registered trademark) are simultaneously executed on a single hardware platform. .
  • Patent Document 1 discloses a technique for performing processing when an abnormality occurs in the guest OS.
  • the master OS determines the operating status of each guest OS using a WDC (watchdog counter). If it is determined that the guest OS is in an abnormal state, the guest OS in the abnormal state is restarted.
  • WDC watchdog counter
  • An object of the present invention is to suppress a decrease in performance of an operating system that is in operation during the restart of the operating system.
  • the information processing apparatus of the present invention includes a multi-core processor having a plurality of processor cores, and operates a plurality of operating systems by the plurality of processor cores.
  • the information processing apparatus includes: A restart unit that causes a processor core included in the plurality of processor cores to restart the operating system in which an abnormality has occurred when an abnormality occurs in the operating system included in the plurality of operating systems; A state monitoring unit that monitors the state of the information processing apparatus during execution of the restart; A restart control unit configured to perform restriction control for restricting execution of the restart when a state of the information processing apparatus satisfies a restriction condition for restricting execution of the restart during execution of the restart;
  • FIG. 1 is a configuration diagram of an information processing apparatus 100 according to Embodiment 1.
  • FIG. FIG. 3 is a configuration diagram of a processor 110 according to the first embodiment.
  • 2 is a configuration diagram of a hypervisor unit 140 according to Embodiment 1.
  • FIG. 5 is a flowchart of a restart control method according to the first embodiment.
  • FIG. 10 is a flowchart of a restart control method according to the second embodiment. 10 is another flowchart of the restart control method according to the second embodiment.
  • FIG. 6 is a configuration diagram of an information processing apparatus 100 according to Embodiment 3.
  • FIG. 10 is a configuration diagram of a restart control unit 144 according to the third embodiment.
  • FIG. 10 is a flowchart of a restart control method according to Embodiment 3.
  • 10 is another flowchart of the restart control method according to Embodiment 3.
  • FIG. 6 is a configuration diagram of an information processing apparatus 100 according to a fourth embodiment.
  • FIG. 10 is a configuration diagram of a restart control unit 144 according to the fourth embodiment.
  • 10 is a flowchart of a restart control method according to the fourth embodiment.
  • Embodiment 1 An information processing apparatus 100 that operates a plurality of operating systems will be described with reference to FIGS.
  • the information processing apparatus 100 includes hardware such as a processor 110, a memory 121, a WDT 122, an I / O device 123, and a cache 129.
  • the processor 110 is connected to the memory 121, the WDT 122, the I / O device 123, and the cache 129 via the bus 120.
  • the processor 110 is a multi-core processor including a plurality of processor cores. Specifically, the processor 110 is a multi-core CPU (Central Processing Unit).
  • the processor 110 includes a core 111A and a core 111B as a plurality of processor cores.
  • the core 111A is a processor core that executes the hypervisor 101, the real-time OS 102, and the real-time application 103. The hypervisor 101, the real-time OS 102, and the real-time application 103 will be described later.
  • the core 111 ⁇ / b> B is a processor core that executes the general-purpose OS 104 and the general-purpose application 105. The general-purpose OS 104 and the general-purpose application 105 will be described later.
  • the core 111A and the core 111B are collectively referred to as the core 111.
  • the processor 110 includes hardware such as a frequency changing mechanism 112, a clock generator 113, and an interrupt controller 114.
  • the frequency changing mechanism 112 changes the operating frequency of the core 111 by controlling the clock generator 113.
  • the clock generator 113 generates a clock signal corresponding to the operating frequency.
  • the interrupt controller 114 detects an interrupt from the I / O device 123 and generates an interrupt signal.
  • the memory 121 is a storage device.
  • the memory 121 is also referred to as a main storage device or a main memory.
  • the memory 121 is a RAM (Random Access Memory).
  • WDT 122 is a watchdog timer used for detecting an abnormality in the operating system.
  • the I / O device 123 is an input / output device.
  • I / O is an abbreviation for input / output.
  • the cache 129 is a storage device that can be accessed faster than accessing the memory 121.
  • Hardware such as the memory 121, the WDT 122, the I / O device 123, and the cache 129 is accessed from the plurality of cores 111.
  • the information processing apparatus 100 executes software such as a hypervisor 101, a real-time OS 102, a real-time application 103, a general-purpose OS 104, and a general-purpose application 105.
  • software such as a hypervisor 101, a real-time OS 102, a real-time application 103, a general-purpose OS 104, and a general-purpose application 105.
  • the hypervisor 101 is software for executing a plurality of operating systems simultaneously.
  • the plurality of operating systems are a real-time OS 102 and a general-purpose OS 104.
  • OS is an abbreviation for operating system.
  • the real time OS 102 is an operating system for executing the real time application 103.
  • the real-time application 103 is an application program for real-time processing. Real-time processing is processing with high real-time characteristics.
  • the general purpose OS 104 is an operating system for executing the general purpose application 105.
  • the general application 105 is an application program for general processing.
  • General-purpose processing is processing other than real-time processing.
  • the functional configuration of the core 111 of the processor 110 will be described with reference to FIG.
  • the core 111A includes functional components such as an OS unit 131A, an application unit 132A, and a hypervisor unit 140.
  • the OS unit 131A operates the real-time OS 102 by executing the real-time OS 102.
  • the application unit 132A executes the real-time application 103.
  • the hypervisor unit 140 executes the hypervisor 101.
  • the core 111B includes functional components such as an OS unit 131B and an application unit 132B.
  • the OS unit 131B operates the general-purpose OS 104 by executing the general-purpose OS 104.
  • the application unit 132B executes the general-purpose application 105.
  • the functional configuration of the hypervisor unit 140 will be described based on FIG.
  • the hypervisor unit 140 includes an abnormality detection unit 141, a restart unit 142, a state monitoring unit 143, and a restart control unit 144. These functions will be described later.
  • the restart control method is a method for suppressing the influence of restart on the operation of an operating OS while any OS (operating system) is restarted.
  • the procedure of the restart control method corresponds to the procedure of the restart control program.
  • Step S110 is an abnormality detection process.
  • a plurality of OSs are operating.
  • the OS unit 131A of the core 111A operates the real-time OS 102
  • the OS unit 131B of the core 111B operates the general-purpose OS 104.
  • the abnormality detection unit 141 monitors the operation of the operating OS using the WDT 122 (watchdog timer). When an abnormality occurs in the operating OS, the abnormality detection unit 141 detects an abnormality that has occurred in the operating OS. If an abnormality that has occurred in the operating OS is detected, that is, if an abnormality has occurred in the operating OS, the process proceeds to step S120.
  • step S120 the OS in which an abnormality has occurred in step S110 is referred to as a target OS.
  • Step S120 is a restart process.
  • the restart unit 142 causes the core 111 to restart the target OS.
  • the restart unit 142 is one of the functions of the hypervisor unit 140 provided in the core 111A.
  • the core 111A starts restarting the real-time OS 102.
  • the restart unit 142 instructs the core 111B to restart the general-purpose OS 104, and the core 111B starts restarting the general-purpose OS 104.
  • Step S130 is a state monitoring process.
  • the state monitoring unit 143 performs state monitoring.
  • the state monitoring is an operation for monitoring the state of the information processing apparatus 100 during execution of restart. Specific status monitoring will be described in the second and subsequent embodiments.
  • Steps S141 to S143 are restart control processing.
  • the restart control unit 144 determines whether the state of the information processing apparatus 100 satisfies the restriction condition during the execution of the restart.
  • the restriction condition is a condition for restricting execution of restart. Specific restriction conditions will be described in the second and subsequent embodiments. If the state of the information processing apparatus 100 satisfies the restriction condition, the process proceeds to step S142.
  • step S142 the restart control unit 144 performs restriction control.
  • the restriction control is control for restricting execution of restart. Specific restriction control will be described in the second and subsequent embodiments.
  • step S143 the restart control unit 144 determines whether the restart has been completed. Specifically, the restart control unit 144 determines whether the restart has ended by referring to the state of the restart process. When the restart is finished, the process is finished. If the restart has not ended, the process returns to step S130.
  • the number of OSs may be three or more.
  • Each OS may be either the real-time OS 102 or the general-purpose OS 104, or may be another type of OS.
  • the number of cores 111 may be three or more.
  • the core 111B may include the hypervisor unit 140. That is, the hypervisor 101 may be executed by the core 111B.
  • the information processing apparatus 100 may include a core that executes the hypervisor 101 in addition to the core 111 that executes the OS. That is, the hypervisor unit 140 may be provided in a core different from the core 111 that executes the OS.
  • Embodiment 2 With respect to the form in which the number of accesses per unit time to the memory 121 at the time of restarting is the target of state monitoring, differences from the first embodiment will be mainly described with reference to FIGS.
  • the hardware configuration and software configuration of the information processing apparatus 100 are the same as those in FIG. 1 of the first embodiment.
  • the functional configuration of the core 111 is the same as that in FIG. 2 of the first embodiment.
  • the functional configuration of the hypervisor unit 140 is the same as that in FIG. 3 of the first embodiment.
  • the restart control unit 144 includes an access amount determination unit 151, a frequency determination unit 152, and a frequency change unit 153. These functions will be described later.
  • the state monitoring, the limiting conditions, and the limiting control in the second embodiment are as follows.
  • the state of the information processing apparatus 100 monitored by the state monitoring is the target access amount.
  • the target access amount is the number of accesses per unit time to the memory 121 upon restart. That is, the target access amount is the number of accesses that have occurred in the memory 121 per unit time due to restart.
  • the restriction condition is a condition that the target access amount exceeds the reference value.
  • the reference value is a predetermined value.
  • the restriction control is control for making the operating frequency of the target core lower than the operating frequency of the target core before the target access amount exceeds the reference value.
  • the target core is the core 111 that performs restart.
  • Step S210 and step S220 are the same as step S110 and step S120 of FIG. 4 in the first embodiment. That is, when an abnormality occurs in the operating OS in S210, restart of the OS in which the abnormality has occurred is started in step S220.
  • Step S230 corresponds to step S143 of FIG. 4 in the first embodiment.
  • the restart control unit 144 determines whether the restart has been completed. The determination method is the same as step S143 in FIG. 4 in the first embodiment. If the restart is completed, the process proceeds to step S260. If the restart has not ended, the process proceeds to step S240.
  • Step S240 corresponds to step S130 of FIG. 4 in the first embodiment.
  • the state monitoring unit 143 monitors the target access amount. Specifically, the state monitoring unit 143 functions as a performance monitor for the target core, and acquires the number of accesses per unit time to the memory 121 by the restart process. The obtained number of accesses is the target access amount.
  • Step S251 corresponds to step S141 of FIG. 4 in the first embodiment.
  • the access amount determination unit 151 compares the target access amount with a reference value. If the target access amount exceeds the reference value, the process proceeds to step S252. If the target access amount does not exceed the reference value, the process returns to step S230.
  • step S252 the access amount determination unit 151 determines whether the target access amount is the first time that exceeds the reference value. Specifically, the number flag is stored in the memory 121. The access amount determination unit 151 sets the number flag to 0 after step S220 and before step S230. Then, the access amount determination unit 151 determines whether or not the value of the count flag is 0 in step S252. A count flag value of 0 means the first time the target access amount exceeds the reference value. If the target access amount exceeds the reference value, the process proceeds to step S253. If it is not the first time that the target access amount exceeds the reference value, the process proceeds to step S254.
  • step S253 the frequency changing unit 153 stores the operating frequency of the target core. Specifically, the frequency changing unit 153 acquires the operating frequency of the target core from the target core, and stores the acquired operating frequency in the memory 121.
  • the operating frequency stored in step S253 is referred to as a normal frequency.
  • the normal frequency corresponds to the operating frequency of the target core before the target access amount exceeds the reference value.
  • Step S254 corresponds to step S142 of FIG. 4 in the first embodiment.
  • the frequency changing unit 153 makes the operating frequency of the target core lower than the normal frequency.
  • the low frequency is stored in the memory 121.
  • the low frequency is a predetermined frequency and is a frequency lower than the normal frequency.
  • the frequency determination unit 152 acquires a low frequency from the memory 121.
  • the frequency changing unit 153 uses the frequency changing mechanism 112 and the clock generator 113 to change the operating frequency of the target core to a low frequency.
  • the frequency changing unit 153 sets 1 to the number flag described in step S252.
  • the value 1 of the count flag means the second and subsequent times when the target access amount exceeds the reference value. After step S254, the process returns to step S230.
  • step S260 the frequency changing unit 153 returns the operating frequency of the target core to the normal frequency.
  • the frequency determination unit 152 refers to the number flag. When the value of the count flag is 0, it is not necessary to return the operating frequency of the target core to the normal frequency.
  • the frequency determination unit 152 acquires the normal frequency stored in step S253 from the memory 121. Then, the frequency changing unit 153 uses the frequency changing mechanism 112 and the clock generator 113 to change the operating frequency of the target core to the normal frequency.
  • the frequency changing unit 153 may change the operating frequency of the target core to a low frequency corresponding to the operating frequency of the target core.
  • the frequency determination unit 152 determines a low frequency using the frequency table.
  • the frequency table is a table in which a frequency range and a low frequency are associated with each other.
  • the frequency table is stored in the memory 121. Specifically, the frequency determination unit 152 selects a frequency range including the operating frequency of the target core from the frequency table, and acquires a low frequency associated with the selected frequency range from the frequency table.
  • the restart control unit 144 may pause the restart. Based on FIG. 7, a re-control method for pausing the restart when the target access amount exceeds the reference value will be described.
  • Steps S210 to S240 and step S260 are as described in FIG.
  • the access amount determination unit 151 compares the target access amount with the first reference value. If the target access amount exceeds the first reference value, the process proceeds to step S272. If the target access amount does not exceed the first reference value, the process returns to step S230.
  • Step S272 and step S273 are the same as step S252 and step S253 of FIG.
  • step S274 the access amount determination unit 151 compares the target access amount with the second reference value.
  • the second reference value is larger than the first reference value. That is, the number of accesses indicated by the second reference value is greater than the number of accesses indicated by the first reference value. If the target access amount exceeds the second reference value, the process proceeds to step S276. If the target access amount does not exceed the second reference value, the process proceeds to step S275.
  • Step S275 is the same as step S254 in FIG. After step S275, the process returns to step S230.
  • step S276 the restart control unit 144 pauses the restart. Specifically, the restart control unit 144 switches the restart process from the execution state or the executable state to the sleep state. Then, the restart control unit 144 sets the restart process to an execution state or an executable state when a pause time elapses after the restart process is set to the sleep state. After step S276, the process returns to step S230.
  • Embodiment 3 With respect to the form in which the amount of direct memory access that occurs in the memory 121 upon restart is the target of state monitoring, differences from the first embodiment will be mainly described with reference to FIGS.
  • the information processing apparatus 100 includes hardware such as a bus controller 124 and a DMA controller 125 in addition to the hardware described in the first embodiment.
  • DMA is an abbreviation for direct memory access.
  • the software configuration of the information processing apparatus 100 is the same as that in FIG. 1 of the first embodiment.
  • the functional configuration of the core 111 is the same as that in FIG. 2 of the first embodiment.
  • the functional configuration of the hypervisor unit 140 is the same as that in FIG. 3 of the first embodiment.
  • the restart control unit 144 includes an access amount determination unit 161 and an instruction conversion unit 162. These functions will be described later.
  • the state monitoring, the limiting conditions, and the limiting control in the third embodiment are as follows.
  • the state of the information processing apparatus 100 monitored by the state monitoring is the target access amount.
  • the target access amount is an access amount of direct memory access that occurs with respect to the memory 121 upon restart. Specifically, the access amount is the number of DMA instructions or the size of data to be accessed.
  • the DMA instruction is a direct memory access instruction and is executed by the DMA controller 125.
  • the restriction condition is a condition that the target access amount exceeds the reference value.
  • the reference value is a predetermined value.
  • the restriction control is a control for converting a direct memory access instruction generated to the memory 121 upon restart into a program control instruction.
  • the program control method is called PIO (Programmed I / O).
  • a program control type instruction is called a PIO instruction.
  • the PIO instruction is executed by the bus controller 124.
  • Step S310 and step S320 are the same as step S110 and step S120 of FIG. 4 in the first embodiment. That is, when an abnormality occurs in the operating OS in step S310, restart of the OS in which the abnormality has occurred is started in step S320.
  • Step S330 corresponds to step S143 of FIG. 4 in the first embodiment.
  • the restart control unit 144 determines whether the restart has been completed. The determination method is the same as step S143 in FIG. 4 in the first embodiment.
  • the process is finished. If the restart has not ended, the process proceeds to step S340.
  • Step S340 corresponds to step S130 of FIG. 4 in the first embodiment.
  • the state monitoring unit 143 monitors the target access amount. Specifically, the state monitoring unit 143 detects the DMA instruction generated by the restart and obtains the number of detected DMA instructions. Alternatively, the state monitoring unit 143 detects a DMA instruction and obtains the size of data accessed by the detected DMA instruction. The required number of DMA instructions or the size of data is the target access amount.
  • Step S351 corresponds to step S141 in FIG. 4 in the first embodiment.
  • the access amount determination unit 161 compares the target access amount with a reference value. If the target access amount exceeds the reference value, the process proceeds to step S352. If the target access amount does not exceed the reference value, the DMA instruction generated by the restart is executed by the DMA controller 125, and the process returns to step S330.
  • Step S352 corresponds to step S142 of FIG. 4 in the first embodiment.
  • the instruction conversion unit 162 converts the DMA instruction generated by the restart into a PIO instruction.
  • the converted PIO instruction is executed by the bus controller 124.
  • the process returns to step S330.
  • the restart control unit 144 may convert some or all of the DMA instructions generated by the restart into PIO instructions. Based on FIG. 11, a restart control method for converting a part or all of DMA instructions generated by restart into PIO instructions when the target access amount exceeds the reference value will be described.
  • Steps S310 to S340 are as described in FIG.
  • the access amount determination unit 161 compares the target access amount with the first reference value. If the target access amount exceeds the first reference value, the process proceeds to step S362. If the target access amount does not exceed the first reference value, the process returns to step S330.
  • step S362 the access amount determination unit 161 compares the target access amount with the second reference value.
  • the second reference value is larger than the first reference value. That is, the access amount indicated by the second reference value is larger than the access amount indicated by the first reference value. If the target access amount exceeds the second reference value, the process proceeds to step S364. If the target access amount does not exceed the second reference value, the process proceeds to step S363.
  • step S363 the instruction conversion unit 162 selects some DMA instructions from the DMA instructions generated by the restart, and converts the selected DMA instructions into PIO instructions. Specifically, the instruction conversion unit 162 converts half of the DMA instructions into PIO instructions. The DMA instruction that has not been converted is executed by the DMA controller 125, and the PIO instruction after conversion is executed by the bus controller 124. After step S363, the process returns to step S330.
  • step S364 the instruction conversion unit 162 converts the DMA instruction generated by the restart into a PIO instruction. Specifically, the instruction conversion unit 162 converts all DMA instructions generated by the restart into PIO instructions. The converted PIO instruction is executed by the bus controller 124. After step S364, the process returns to step S330.
  • Embodiment 4 FIG. Based on FIG. 12 to FIG. 14, the differences between the first embodiment and the first embodiment in which the miss rate of the cache miss that occurs when the cache 129 is accessed from the OS that is not the restart target are mainly monitored. explain.
  • the information processing apparatus 100 includes hardware called a cache controller 126 in addition to the hardware described in the first embodiment.
  • the software configuration of the information processing apparatus 100 is the same as that in FIG. 1 of the first embodiment.
  • the functional configuration of the core 111 is the same as that in FIG. 2 of the first embodiment.
  • the functional configuration of the hypervisor unit 140 is the same as that in FIG. 3 of the first embodiment.
  • the restart control unit 144 includes a miss rate determination unit 171 and an access control unit 172.
  • the function of the access control unit 172 will be described later.
  • the state monitoring, the limiting condition, and the limiting control in the fourth embodiment are as follows.
  • the state of the information processing apparatus 100 monitored by the state monitoring is a target error rate.
  • the target miss rate is a miss rate of a cache miss that occurs when the cache 129 is accessed from an operating system that is not the target of restart.
  • the limiting condition is a condition that the target error rate exceeds the reference value.
  • the reference value is a predetermined value.
  • the restriction control is control for prohibiting access to the cache 129 from the operating system being restarted.
  • Step S410 and step S420 are the same as step S110 and step S120 of FIG. 4 in the first embodiment. That is, when an abnormality occurs in the operating OS in step S410, restart of the OS in which the abnormality has occurred is started in step S420.
  • Step S430 corresponds to step S143 of FIG. 4 in the first embodiment.
  • the restart control unit 144 determines whether the restart has been completed. The determination method is the same as step S143 in FIG. 4 in the first embodiment.
  • the process is finished. If the restart has not ended, the process proceeds to step S440.
  • Step S440 corresponds to step S130 of FIG. 4 in the first embodiment.
  • the state monitoring unit 143 monitors the target error rate. Specifically, the state monitoring unit 143 counts the number of accesses to the cache 129 from the operating OS and the number of cache misses that occurred due to the access to the cache 129 from the operating OS. Then, the state monitoring unit 143 calculates the target miss rate using the number of accesses and the number of cache misses. Specifically, the target miss rate is a quotient obtained by dividing the number of cache misses by the number of accesses.
  • Step S451 corresponds to step S141 of FIG. 4 in the first embodiment.
  • the miss rate determination unit 171 compares the target miss rate with a reference value. If the target error rate exceeds the reference value, the process proceeds to step S452. If the target error rate does not exceed the reference value, the process returns to step S430.
  • Step S452 corresponds to step S142 of FIG. 4 in the first embodiment.
  • the access control unit 172 prohibits access to the cache 129 from the restarting OS. Specifically, the access control unit 172 sets the cache controller 126 to prohibit access to the cache 129 from the OS being restarted. After step S452, the process returns to step S430.
  • step S460 the access control unit 172 permits access to the cache 129 from the restarted OS. However, if access to the cache 129 from the OS being restarted is not prohibited, it is not necessary to permit access to the cache 129 from the OS after restarting. Specifically, the access control unit 172 acquires a setting value indicating a setting for access to the cache 129 from the OS after restart from the cache controller 126. When the acquired setting value is a value that means prohibition of access, the access control unit 172 performs setting for canceling the prohibition on the cache controller 126. After step S460, the process ends.
  • the information processing apparatus 100 includes “units” such as an abnormality detection unit 141, a restart unit 142, a state monitoring unit 143, and a restart control unit 144 as elements of the functional configuration.
  • the function of “part” is realized by software. Specifically, the function of “unit” is realized as a function of the hypervisor 101.
  • a program that realizes the function of “unit” is loaded into the memory 121 and executed by the processor 110. Data obtained by executing a program that implements the function of “unit” is stored in a storage device such as the memory 121 or the cache 129.
  • a program that realizes the function of “unit” can be stored in a computer-readable manner in a nonvolatile storage medium such as a magnetic disk, an optical disk, or a flash memory.
  • a non-volatile storage medium is a tangible medium that is not temporary.
  • Part may be read as “processing”, “process”, or “circuit”.
  • Hardware in which the processor 110, the memory 121, and the cache 129 are collected is referred to as a “processing circuit”.
  • the embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present invention.
  • the embodiment may be implemented partially or in combination with other embodiments.
  • the procedure described using the flowchart and the like may be changed as appropriate.
  • 100 information processing apparatus 101 hypervisor, 102 real-time OS, 103 real-time application, 104 general-purpose OS, 105 general-purpose application, 110 processor, 111 core, 112 frequency change mechanism, 113 clock generator, 114 interrupt controller, 120 bus, 121 memory, 122 WDT, 123 I / O device, 124 bus controller, 125 DMA controller, 126 cache controller, 129 cache, 131 OS unit, 132 application unit, 140 hypervisor unit, 141 error detection unit, 142 restart unit, 143 status monitoring Unit, 144 restart control unit, 151 access amount determination unit, 152 frequency determination unit, 153 frequency Additional unit, 161 access amount determination unit, 162 command converter, 171 error rate judgment section 172 access controller.

Abstract

According to the present invention, if an abnormality has arisen in one of a plurality of operating systems, a hypervisor (101) causes the core (111) running the operating system in which the abnormality has arisen to reboot the operating system in which the abnormality has arisen. During the reboot, the hypervisor monitors the state of an information processing device (100). If the information processing device assumes, during the reboot, a state meeting a restriction condition for restricting the reboot, then the hypervisor performs restriction control to restrict the reboot.

Description

情報処理装置および再起動制御方法Information processing apparatus and restart control method
 本発明は、複数のオペレーティングシステムを動作させる情報処理装置においてオペレーティングシステムを再起動する際の制御に関するものである。 The present invention relates to control when an operating system is restarted in an information processing apparatus that operates a plurality of operating systems.
 CPU(Central Processing Unit)の高性能化に伴う仮想化技術の発展により、一台の情報処理システムに複数のOS(Operating System)を搭載することが可能である。複数のOSを制御するソフトウェアはハイパーバイザと呼ばれ、ハイパーバイザによって制御されるOSはゲストOSと呼ばれる。
 仮想化技術は、FA(Factory Automation)をはじめ様々な分野で用いられている。
 具体的には、仮想化技術は、リアルタイム性が高い処理を行うためのリアルタイムOSと、Windows(登録商標)のような汎用OSと、を単一のハードウェアプラットフォームで同時に実行する環境で用いられる。
With the development of virtualization technology associated with high performance of CPUs (Central Processing Units), it is possible to install a plurality of OSs (Operating Systems) in one information processing system. Software that controls a plurality of OSs is called a hypervisor, and an OS controlled by the hypervisor is called a guest OS.
The virtualization technology is used in various fields including FA (Factory Automation).
Specifically, the virtualization technology is used in an environment in which a real-time OS for performing processing with high real-time characteristics and a general-purpose OS such as Windows (registered trademark) are simultaneously executed on a single hardware platform. .
 特許文献1には、ゲストOSに異常が発生した場合に異常時における処理を行うための技術が開示されている。
 この技術では、マスタOSがWDC(ウォッチドッグカウンタ)を用いて各ゲストOSの動作状況を判定する。ゲストOSが異常状態であると判定された場合には、異常状態のゲストOSが再起動される。
Patent Document 1 discloses a technique for performing processing when an abnormality occurs in the guest OS.
In this technique, the master OS determines the operating status of each guest OS using a WDC (watchdog counter). If it is determined that the guest OS is in an abnormal state, the guest OS in the abnormal state is restarted.
 しかし、異常状態のゲストOSが再起動されるときにはハイパーバイザによって再起動処理が行われるため、稼働中のリアルタイムOSに対してオーバーヘッドが発生してしまう。その結果、稼働中のリアルタイムOSの性能が低下してしまう。
 そこで、ハイパーバイザによる再起動処理が行われるときには、稼働中のリアルタイムOSの性能低下を抑えるため、稼働中のリアルタイムOSに対するオーバーヘッドを軽減することが求められる。
However, when a guest OS in an abnormal state is restarted, a restart process is performed by the hypervisor, which causes an overhead for a real-time OS that is in operation. As a result, the performance of the operating real-time OS is degraded.
Therefore, when the restart process by the hypervisor is performed, it is required to reduce the overhead for the operating real-time OS in order to suppress the performance degradation of the operating real-time OS.
 再起動処理では、入出力の初期化等が行われるため、バスへのアクセスが多発する可能性がある。バスへのアクセスの多発は、稼働中のリアルタイムOSに対するオーバーヘッドの要因となる。
 具体的には、稼働中のリアルタイムOSがバスにアクセスするときに再起動処理でバスへのアクセスが多発している場合、稼働中のリアルタイムOSは、バスの開放を待たなければならない。その結果、リアルタイム性が阻害されてしまう。
In the restart process, input / output initialization and the like are performed, so there is a possibility of frequent access to the bus. The frequent access to the bus causes an overhead for the operating real-time OS.
Specifically, when the operating real-time OS accesses the bus and the bus is frequently accessed in the restart process, the operating real-time OS must wait for the bus to be released. As a result, real-time properties are hindered.
特開2009-116699号公報JP 2009-116699 A
 本発明は、オペレーティングシステムの再起動中に稼働中のオペレーティングシステムの性能の低下を抑えることを目的とする。 An object of the present invention is to suppress a decrease in performance of an operating system that is in operation during the restart of the operating system.
 本発明の情報処理装置は、複数のプロセッサコアを有するマルチコアプロセッサを備えて前記複数のプロセッサコアによって複数のオペレーティングシステムを動作させる。
 前記情報処理装置は、
 前記複数のオペレーティングシステムに含まれるオペレーティングシステムに異常が発生した場合、異常が発生したオペレーティングシステムの再起動を前記複数のプロセッサコアに含まれるプロセッサコアに実行させる再起動部と、
 前記再起動の実行中に前記情報処理装置の状態を監視する状態監視部と、
 前記再起動の実行中に前記情報処理装置の状態が前記再起動の実行を制限する制限条件を満たした場合、前記再起動の実行を制限する制限制御を行う再起動制御部とを備える。
The information processing apparatus of the present invention includes a multi-core processor having a plurality of processor cores, and operates a plurality of operating systems by the plurality of processor cores.
The information processing apparatus includes:
A restart unit that causes a processor core included in the plurality of processor cores to restart the operating system in which an abnormality has occurred when an abnormality occurs in the operating system included in the plurality of operating systems;
A state monitoring unit that monitors the state of the information processing apparatus during execution of the restart;
A restart control unit configured to perform restriction control for restricting execution of the restart when a state of the information processing apparatus satisfies a restriction condition for restricting execution of the restart during execution of the restart;
 本発明によれば、オペレーティングシステムの再起動中に稼働中のオペレーティングシステムの性能の低下を抑えることが可能となる。 According to the present invention, it is possible to suppress a decrease in performance of the operating system that is in operation while the operating system is restarted.
実施の形態1における情報処理装置100の構成図。1 is a configuration diagram of an information processing apparatus 100 according to Embodiment 1. FIG. 実施の形態1におけるプロセッサ110の構成図。FIG. 3 is a configuration diagram of a processor 110 according to the first embodiment. 実施の形態1におけるハイパーバイザ部140の構成図。2 is a configuration diagram of a hypervisor unit 140 according to Embodiment 1. FIG. 実施の形態1における再起動制御方法のフローチャート。5 is a flowchart of a restart control method according to the first embodiment. 実施の形態2における再起動制御部144の構成図。The block diagram of the restart control part 144 in Embodiment 2. FIG. 実施の形態2における再起動制御方法のフローチャート。10 is a flowchart of a restart control method according to the second embodiment. 実施の形態2における再起動制御方法の別のフローチャート。10 is another flowchart of the restart control method according to the second embodiment. 実施の形態3における情報処理装置100の構成図。FIG. 6 is a configuration diagram of an information processing apparatus 100 according to Embodiment 3. 実施の形態3における再起動制御部144の構成図。FIG. 10 is a configuration diagram of a restart control unit 144 according to the third embodiment. 実施の形態3における再起動制御方法のフローチャート。10 is a flowchart of a restart control method according to Embodiment 3. 実施の形態3における再起動制御方法の別のフローチャート。10 is another flowchart of the restart control method according to Embodiment 3. 実施の形態4における情報処理装置100の構成図。FIG. 6 is a configuration diagram of an information processing apparatus 100 according to a fourth embodiment. 実施の形態4における再起動制御部144の構成図。FIG. 10 is a configuration diagram of a restart control unit 144 according to the fourth embodiment. 実施の形態4における再起動制御方法のフローチャート。10 is a flowchart of a restart control method according to the fourth embodiment.
 実施の形態および図面において、同じ要素または互いに相当する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略する。 In the embodiment and the drawings, the same reference numerals are given to the same elements or elements corresponding to each other. Description of elements having the same reference numerals will be omitted or simplified as appropriate.
 実施の形態1.
 複数のオペレーティングシステムを動作させる情報処理装置100について、図1から図4に基づいて説明する。
Embodiment 1 FIG.
An information processing apparatus 100 that operates a plurality of operating systems will be described with reference to FIGS.
***構成の説明***
 図1に基づいて、情報処理装置100のハードウェア構成およびソフトウェア構成を説明する。
 情報処理装置100は、プロセッサ110と、メモリ121と、WDT122と、I/Oデバイス123と、キャッシュ129といったハードウェアを備える。
 プロセッサ110は、バス120を介して、メモリ121と、WDT122と、I/Oデバイス123と、キャッシュ129とに接続されている。
*** Explanation of configuration ***
Based on FIG. 1, the hardware configuration and software configuration of the information processing apparatus 100 will be described.
The information processing apparatus 100 includes hardware such as a processor 110, a memory 121, a WDT 122, an I / O device 123, and a cache 129.
The processor 110 is connected to the memory 121, the WDT 122, the I / O device 123, and the cache 129 via the bus 120.
 プロセッサ110は、複数のプロセッサコアを備えるマルチコアプロセッサである。具体的には、プロセッサ110は、マルチコアCPU(Central Processing Unit)である。
 プロセッサ110は、複数のプロセッサコアとして、コア111Aとコア111Bとを備える。
 コア111Aは、ハイパーバイザ101と、リアルタイムOS102と、リアルタイムアプリケーション103とを実行するプロセッサコアである。ハイパーバイザ101とリアルタイムOS102とリアルタイムアプリケーション103とについては後述する。
 コア111Bは、汎用OS104と汎用アプリケーション105とを実行するプロセッサコアである。汎用OS104と汎用アプリケーション105とについては後述する。
 コア111Aとコア111Bとを総称してコア111という。
The processor 110 is a multi-core processor including a plurality of processor cores. Specifically, the processor 110 is a multi-core CPU (Central Processing Unit).
The processor 110 includes a core 111A and a core 111B as a plurality of processor cores.
The core 111A is a processor core that executes the hypervisor 101, the real-time OS 102, and the real-time application 103. The hypervisor 101, the real-time OS 102, and the real-time application 103 will be described later.
The core 111 </ b> B is a processor core that executes the general-purpose OS 104 and the general-purpose application 105. The general-purpose OS 104 and the general-purpose application 105 will be described later.
The core 111A and the core 111B are collectively referred to as the core 111.
 さらに、プロセッサ110は、周波数変更機構112と、クロックジェネレータ113と、割り込みコントローラ114といったハードウェアを備える。
 周波数変更機構112は、クロックジェネレータ113を制御することによって、コア111の動作周波数を変更する。
 クロックジェネレータ113は、動作周波数に対応するクロック信号を生成する。
 割り込みコントローラ114は、I/Oデバイス123からの割り込みを検出して割り込み信号を発生する。
Furthermore, the processor 110 includes hardware such as a frequency changing mechanism 112, a clock generator 113, and an interrupt controller 114.
The frequency changing mechanism 112 changes the operating frequency of the core 111 by controlling the clock generator 113.
The clock generator 113 generates a clock signal corresponding to the operating frequency.
The interrupt controller 114 detects an interrupt from the I / O device 123 and generates an interrupt signal.
 メモリ121は記憶装置である。メモリ121は、主記憶装置またはメインメモリともいう。具体的には、メモリ121はRAM(Random Access Memory)である。 The memory 121 is a storage device. The memory 121 is also referred to as a main storage device or a main memory. Specifically, the memory 121 is a RAM (Random Access Memory).
 WDT122は、オペレーティングシステムの異常を検出するために用いられるウォッチドッグタイマである。 WDT 122 is a watchdog timer used for detecting an abnormality in the operating system.
 I/Oデバイス123は、入出力デバイスである。I/Oは入出力の略称である。 The I / O device 123 is an input / output device. I / O is an abbreviation for input / output.
 キャッシュ129は、メモリ121にアクセスするよりも高速にアクセスすることが可能な記憶装置である。 The cache 129 is a storage device that can be accessed faster than accessing the memory 121.
 メモリ121とWDT122とI/Oデバイス123とキャッシュ129といったハードウェアは、複数のコア111からアクセスされる。 Hardware such as the memory 121, the WDT 122, the I / O device 123, and the cache 129 is accessed from the plurality of cores 111.
 情報処理装置100は、ハイパーバイザ101と、リアルタイムOS102と、リアルタイムアプリケーション103と、汎用OS104と、汎用アプリケーション105といったソフトウェアを実行する。 The information processing apparatus 100 executes software such as a hypervisor 101, a real-time OS 102, a real-time application 103, a general-purpose OS 104, and a general-purpose application 105.
 ハイパーバイザ101は、複数のオペレーティングシステムを同時に実行するためのソフトウェアである。
 具体的には、複数のオペレーティングシステムは、リアルタイムOS102および汎用OS104である。OSはオペレーティングシステムの略称である。
The hypervisor 101 is software for executing a plurality of operating systems simultaneously.
Specifically, the plurality of operating systems are a real-time OS 102 and a general-purpose OS 104. OS is an abbreviation for operating system.
 リアルタイムOS102は、リアルタイムアプリケーション103を実行するためのオペレーティングシステムである。
 リアルタイムアプリケーション103は、リアルタイム処理用のアプリケーションプログラムである。リアルタイム処理はリアルタイム性が高い処理である。
The real time OS 102 is an operating system for executing the real time application 103.
The real-time application 103 is an application program for real-time processing. Real-time processing is processing with high real-time characteristics.
 汎用OS104は、汎用アプリケーション105を実行するためのオペレーティングシステムである。
 汎用アプリケーション105は、汎用処理用のアプリケーションプログラムである。汎用処理はリアルタイム処理以外の処理である。
The general purpose OS 104 is an operating system for executing the general purpose application 105.
The general application 105 is an application program for general processing. General-purpose processing is processing other than real-time processing.
 図2に基づいて、プロセッサ110のコア111の機能構成を説明する。
 コア111Aは、OS部131Aと、アプリケーション部132Aと、ハイパーバイザ部140といった機能構成の要素を備える。
 OS部131Aは、リアルタイムOS102を実行することによって、リアルタイムOS102を動作させる。
 アプリケーション部132Aは、リアルタイムアプリケーション103を実行する。
 ハイパーバイザ部140は、ハイパーバイザ101を実行する。
The functional configuration of the core 111 of the processor 110 will be described with reference to FIG.
The core 111A includes functional components such as an OS unit 131A, an application unit 132A, and a hypervisor unit 140.
The OS unit 131A operates the real-time OS 102 by executing the real-time OS 102.
The application unit 132A executes the real-time application 103.
The hypervisor unit 140 executes the hypervisor 101.
 コア111Bは、OS部131Bと、アプリケーション部132Bといった機能構成の要素を備える。
 OS部131Bは、汎用OS104を実行することによって、汎用OS104を動作させる。
 アプリケーション部132Bは、汎用アプリケーション105を実行する。
The core 111B includes functional components such as an OS unit 131B and an application unit 132B.
The OS unit 131B operates the general-purpose OS 104 by executing the general-purpose OS 104.
The application unit 132B executes the general-purpose application 105.
 図3に基づいて、ハイパーバイザ部140の機能構成を説明する。
 ハイパーバイザ部140は、異常検出部141と、再起動部142と、状態監視部143と、再起動制御部144とを備える。これらの機能については後述する。
The functional configuration of the hypervisor unit 140 will be described based on FIG.
The hypervisor unit 140 includes an abnormality detection unit 141, a restart unit 142, a state monitoring unit 143, and a restart control unit 144. These functions will be described later.
***動作の説明***
 再起動制御方法について説明する。
 再起動制御方法は、いずれかのOS(オペレーティングシステム)の再起動中に稼働中のOSの動作に対する再起動の影響を抑えるための方法である。
 再起動制御方法の手順は再起動制御プログラムの手順に相当する。
*** Explanation of operation ***
A restart control method will be described.
The restart control method is a method for suppressing the influence of restart on the operation of an operating OS while any OS (operating system) is restarted.
The procedure of the restart control method corresponds to the procedure of the restart control program.
 図4に基づいて、再起動制御方法を説明する。
 ステップS110は異常検出処理である。
 ステップS110において、複数のOSが稼働中である。具体的には、コア111AのOS部131AがリアルタイムOS102を動作させており、コア111BのOS部131Bが汎用OS104を動作させている。
 異常検出部141は、WDT122(ウォッチドッグタイマ)を用いて、稼働中のOSの動作を監視する。
 そして、稼働中のOSに異常が発生した場合、異常検出部141は、稼働中のOSに発生した異常を検出する。
 稼働中のOSに発生した異常が検出された場合、つまり、稼働中のOSに異常が発生した場合、処理はステップS120に進む。
The restart control method will be described based on FIG.
Step S110 is an abnormality detection process.
In step S110, a plurality of OSs are operating. Specifically, the OS unit 131A of the core 111A operates the real-time OS 102, and the OS unit 131B of the core 111B operates the general-purpose OS 104.
The abnormality detection unit 141 monitors the operation of the operating OS using the WDT 122 (watchdog timer).
When an abnormality occurs in the operating OS, the abnormality detection unit 141 detects an abnormality that has occurred in the operating OS.
If an abnormality that has occurred in the operating OS is detected, that is, if an abnormality has occurred in the operating OS, the process proceeds to step S120.
 ステップS120以降の説明において、ステップS110で異常が発生したOSを対象OSという。 In the description after step S120, the OS in which an abnormality has occurred in step S110 is referred to as a target OS.
 ステップS120は再起動処理である。
 ステップS120において、再起動部142は、対象OSの再起動をコア111に実行させる。再起動部142は、コア111Aに備わるハイパーバイザ部140の機能の1つである。
 対象OSがリアルタイムOS102である場合、コア111AがリアルタイムOS102の再起動を開始する。
 対象OSが汎用OS104である場合、再起動部142がコア111Bに汎用OS104の再起動を命令し、コア111Bが汎用OS104の再起動を開始する。
Step S120 is a restart process.
In step S120, the restart unit 142 causes the core 111 to restart the target OS. The restart unit 142 is one of the functions of the hypervisor unit 140 provided in the core 111A.
When the target OS is the real-time OS 102, the core 111A starts restarting the real-time OS 102.
When the target OS is the general-purpose OS 104, the restart unit 142 instructs the core 111B to restart the general-purpose OS 104, and the core 111B starts restarting the general-purpose OS 104.
 ステップS130は状態監視処理である。
 ステップS130において、状態監視部143は状態監視を行う。
 状態監視は、再起動の実行中に情報処理装置100の状態を監視する動作である。
 具体的な状態監視については、実施の形態2以降で説明する。
Step S130 is a state monitoring process.
In step S130, the state monitoring unit 143 performs state monitoring.
The state monitoring is an operation for monitoring the state of the information processing apparatus 100 during execution of restart.
Specific status monitoring will be described in the second and subsequent embodiments.
 ステップS141からステップS143は再起動制御処理である。
 ステップS141において、再起動制御部144は、再起動の実行中に情報処理装置100の状態が制限条件を満たしたか判定する。
 制限条件は、再起動の実行を制限する条件である。
 具体的な制限条件については、実施の形態2以降で説明する。
 情報処理装置100の状態が制限条件を満たした場合、処理はステップS142に進む。
Steps S141 to S143 are restart control processing.
In step S141, the restart control unit 144 determines whether the state of the information processing apparatus 100 satisfies the restriction condition during the execution of the restart.
The restriction condition is a condition for restricting execution of restart.
Specific restriction conditions will be described in the second and subsequent embodiments.
If the state of the information processing apparatus 100 satisfies the restriction condition, the process proceeds to step S142.
 ステップS142において、再起動制御部144は制限制御を行う。
 制限制御は、再起動の実行を制限する制御である。
 具体的な制限制御については、実施の形態2以降で説明する。
In step S142, the restart control unit 144 performs restriction control.
The restriction control is control for restricting execution of restart.
Specific restriction control will be described in the second and subsequent embodiments.
 ステップS143において、再起動制御部144は、再起動が終了したか判定する。
 具体的には、再起動制御部144は、再起動のプロセスの状態を参照することによって、再起動が終了したか判定する。
 再起動が終了した場合、処理は終了する。
 再起動が終了していない場合、処理はステップS130に戻る。
In step S143, the restart control unit 144 determines whether the restart has been completed.
Specifically, the restart control unit 144 determines whether the restart has ended by referring to the state of the restart process.
When the restart is finished, the process is finished.
If the restart has not ended, the process returns to step S130.
***実施の形態1の効果***
 OSの再起動中に、再起動の実行を制限することにより、稼働中のOSの性能の低下を抑えることが可能となる。
*** Effects of Embodiment 1 ***
By limiting the execution of the restart during the restart of the OS, it is possible to suppress a decrease in the performance of the operating OS.
***他の構成***
 OSの数は、3つ以上であってもよい。
 それぞれのOSは、リアルタイムOS102と汎用OS104とのいずれであってもよいし、その他の種類のOSであってもよい。
*** Other configurations ***
The number of OSs may be three or more.
Each OS may be either the real-time OS 102 or the general-purpose OS 104, or may be another type of OS.
 コア111の数は、3つ以上であってもよい。
 コア111Bが、ハイパーバイザ部140を備えてもよい。つまり、ハイパーバイザ101は、コア111Bによって実行されてもよい。
 情報処理装置100は、OSを実行するコア111とは別に、ハイパーバイザ101を実行するコアを備えてもよい。つまり、ハイパーバイザ部140は、OSを実行するコア111とは別のコアに備わってもよい。
The number of cores 111 may be three or more.
The core 111B may include the hypervisor unit 140. That is, the hypervisor 101 may be executed by the core 111B.
The information processing apparatus 100 may include a core that executes the hypervisor 101 in addition to the core 111 that executes the OS. That is, the hypervisor unit 140 may be provided in a core different from the core 111 that executes the OS.
 実施の形態2.
 再起動でのメモリ121への単位時間当たりのアクセス数を状態監視の対象とする形態について、主に実施の形態1と異なる点を、図5から図7に基づいて説明する。
Embodiment 2. FIG.
With respect to the form in which the number of accesses per unit time to the memory 121 at the time of restarting is the target of state monitoring, differences from the first embodiment will be mainly described with reference to FIGS.
***構成の説明***
 情報処理装置100のハードウェア構成およびソフトウェア構成は、実施の形態1の図1と同じである。
 コア111の機能構成は、実施の形態1の図2と同じである。
 ハイパーバイザ部140の機能構成は、実施の形態1の図3と同じである。
*** Explanation of configuration ***
The hardware configuration and software configuration of the information processing apparatus 100 are the same as those in FIG. 1 of the first embodiment.
The functional configuration of the core 111 is the same as that in FIG. 2 of the first embodiment.
The functional configuration of the hypervisor unit 140 is the same as that in FIG. 3 of the first embodiment.
 図5に基づいて、再起動制御部144の機能構成を説明する。
 再起動制御部144は、アクセス量判定部151と、周波数決定部152と、周波数変更部153とを備える。これらの機能については後述する。
Based on FIG. 5, the functional configuration of the restart control unit 144 will be described.
The restart control unit 144 includes an access amount determination unit 151, a frequency determination unit 152, and a frequency change unit 153. These functions will be described later.
***動作の説明***
 実施の形態2における状態監視、制限条件および制限制御は、以下の通りである。
 状態監視で監視される情報処理装置100の状態は、対象アクセス量である。
 対象アクセス量は、再起動でのメモリ121への単位時間当たりのアクセス数である。つまり、対象アクセス量は、再起動で単位時間当たりにメモリ121に発生したアクセスの回数である。
*** Explanation of operation ***
The state monitoring, the limiting conditions, and the limiting control in the second embodiment are as follows.
The state of the information processing apparatus 100 monitored by the state monitoring is the target access amount.
The target access amount is the number of accesses per unit time to the memory 121 upon restart. That is, the target access amount is the number of accesses that have occurred in the memory 121 per unit time due to restart.
 制限条件は、対象アクセス量が基準値を超えるという条件である。基準値は予め決められた値である。
 制限制御は、対象コアの動作周波数を、対象アクセス量が基準値を超える前の対象コアの動作周波数よりも低くする制御である。対象コアは、再起動を実行するコア111である。
The restriction condition is a condition that the target access amount exceeds the reference value. The reference value is a predetermined value.
The restriction control is control for making the operating frequency of the target core lower than the operating frequency of the target core before the target access amount exceeds the reference value. The target core is the core 111 that performs restart.
 図6に基づいて、再起動制御方法を説明する。
 ステップS210およびステップS220は、実施の形態1における図4のステップS110およびステップS120と同じである。
 つまり、S210で稼働中のOSに異常が発生した場合、異常が発生したOSの再起動がステップS220で開始される。
The restart control method will be described based on FIG.
Step S210 and step S220 are the same as step S110 and step S120 of FIG. 4 in the first embodiment.
That is, when an abnormality occurs in the operating OS in S210, restart of the OS in which the abnormality has occurred is started in step S220.
 ステップS230は、実施の形態1における図4のステップS143に相当する。
 ステップS230において、再起動制御部144は、再起動が終了したか判定する。判定方法は、実施の形態1における図4のステップS143と同じである。
 再起動が終了した場合、処理はステップS260に進む。
 再起動が終了していない場合、処理はステップS240に進む。
Step S230 corresponds to step S143 of FIG. 4 in the first embodiment.
In step S230, the restart control unit 144 determines whether the restart has been completed. The determination method is the same as step S143 in FIG. 4 in the first embodiment.
If the restart is completed, the process proceeds to step S260.
If the restart has not ended, the process proceeds to step S240.
 ステップS240は、実施の形態1における図4のステップS130に相当する。
 ステップS240において、状態監視部143は対象アクセス量を監視する。
 具体的には、状態監視部143は、対象コアのパフォーマンスモニタとして機能し、再起動のプロセスによるメモリ121への単位時間当たりのアクセス数を取得する。取得されるアクセス数が対象アクセス量である。
Step S240 corresponds to step S130 of FIG. 4 in the first embodiment.
In step S240, the state monitoring unit 143 monitors the target access amount.
Specifically, the state monitoring unit 143 functions as a performance monitor for the target core, and acquires the number of accesses per unit time to the memory 121 by the restart process. The obtained number of accesses is the target access amount.
 ステップS251は、実施の形態1における図4のステップS141に相当する。
 ステップS251において、アクセス量判定部151は、対象アクセス量を基準値と比較する。
 対象アクセス量が基準値を超えている場合、処理はステップS252に進む。
 対象アクセス量が基準値を超えていない場合、処理はステップS230に戻る。
Step S251 corresponds to step S141 of FIG. 4 in the first embodiment.
In step S251, the access amount determination unit 151 compares the target access amount with a reference value.
If the target access amount exceeds the reference value, the process proceeds to step S252.
If the target access amount does not exceed the reference value, the process returns to step S230.
 ステップS252において、アクセス量判定部151は、対象アクセス量が基準値を超えた1回目であるか判定する。
 具体的には、回数フラグがメモリ121に記憶される。アクセス量判定部151は、ステップS220の後、ステップS230の前に、回数フラグに0を設定する。そして、アクセス量判定部151は、ステップS252で回数フラグの値が0であるか判定する。回数フラグの値0は、対象アクセス量が基準値を超えた1回目を意味する。
 対象アクセス量が基準値を超えた1回目である場合、処理はステップS253に進む。
 対象アクセス量が基準値を超えた1回目でない場合、処理はステップS254に進む。
In step S252, the access amount determination unit 151 determines whether the target access amount is the first time that exceeds the reference value.
Specifically, the number flag is stored in the memory 121. The access amount determination unit 151 sets the number flag to 0 after step S220 and before step S230. Then, the access amount determination unit 151 determines whether or not the value of the count flag is 0 in step S252. A count flag value of 0 means the first time the target access amount exceeds the reference value.
If the target access amount exceeds the reference value, the process proceeds to step S253.
If it is not the first time that the target access amount exceeds the reference value, the process proceeds to step S254.
 ステップS253において、周波数変更部153は、対象コアの動作周波数を記憶する。
 具体的には、周波数変更部153は、対象コアの動作周波数を対象コアから取得し、取得された動作周波数をメモリ121に記憶する。
In step S253, the frequency changing unit 153 stores the operating frequency of the target core.
Specifically, the frequency changing unit 153 acquires the operating frequency of the target core from the target core, and stores the acquired operating frequency in the memory 121.
 ステップS253で記憶された動作周波数を通常周波数という。
 通常周波数は、対象アクセス量が基準値を超える前の対象コアの動作周波数に相当する。
The operating frequency stored in step S253 is referred to as a normal frequency.
The normal frequency corresponds to the operating frequency of the target core before the target access amount exceeds the reference value.
 ステップS254は、実施の形態1における図4のステップS142に相当する。
 ステップS254において、周波数変更部153は、対象コアの動作周波数を通常周波数よりも低くする。
 具体的には、低周波数がメモリ121に記憶されている。低周波数は、予め決められた周波数であり、通常周波数よりも低い周波数である。周波数決定部152は、低周波数をメモリ121から取得する。そして、周波数変更部153は、周波数変更機構112とクロックジェネレータ113とを用いて、対象コアの動作周波数を低周波数に変更する。
Step S254 corresponds to step S142 of FIG. 4 in the first embodiment.
In step S254, the frequency changing unit 153 makes the operating frequency of the target core lower than the normal frequency.
Specifically, the low frequency is stored in the memory 121. The low frequency is a predetermined frequency and is a frequency lower than the normal frequency. The frequency determination unit 152 acquires a low frequency from the memory 121. Then, the frequency changing unit 153 uses the frequency changing mechanism 112 and the clock generator 113 to change the operating frequency of the target core to a low frequency.
 また、周波数変更部153は、ステップS252で説明した回数フラグに1を設定する。回数フラグの値1は、対象アクセス量が基準値を超えた2回目以降を意味する。
 ステップS254の後、処理はステップS230に戻る。
Further, the frequency changing unit 153 sets 1 to the number flag described in step S252. The value 1 of the count flag means the second and subsequent times when the target access amount exceeds the reference value.
After step S254, the process returns to step S230.
 ステップS260において、周波数変更部153は、対象コアの動作周波数を通常周波数に戻す。但し、対象コアの動作周波数が通常周波数から変更されていない場合、対象コアの動作周波数を通常周波数に戻す必要はない。
 具体的には、周波数決定部152は、回数フラグを参照する。回数フラグの値が0である場合、対象コアの動作周波数を通常周波数に戻す必要はない。回数フラグの値1である場合、周波数決定部152は、ステップS253で記憶された通常周波数をメモリ121から取得する。そして、周波数変更部153は、周波数変更機構112とクロックジェネレータ113とを用いて、対象コアの動作周波数を通常周波数に変更する。
In step S260, the frequency changing unit 153 returns the operating frequency of the target core to the normal frequency. However, when the operating frequency of the target core is not changed from the normal frequency, it is not necessary to return the operating frequency of the target core to the normal frequency.
Specifically, the frequency determination unit 152 refers to the number flag. When the value of the count flag is 0, it is not necessary to return the operating frequency of the target core to the normal frequency. When the value of the count flag is 1, the frequency determination unit 152 acquires the normal frequency stored in step S253 from the memory 121. Then, the frequency changing unit 153 uses the frequency changing mechanism 112 and the clock generator 113 to change the operating frequency of the target core to the normal frequency.
***実施の形態2の効果***
 再起動を行うコア111の動作周波数を低くすることにより、再起動でのメモリ121への単位時間当たりのアクセス数を減らすことが可能になる。
 その結果、再起動におけるバス120の占有率が低くなり、バス120を介してハードウェアにアクセスする際の稼働中のOSの待ち時間が少なくなる。
 したがって、稼働中のOSの性能の低下を抑えることが可能となる。
*** Effects of Embodiment 2 ***
By lowering the operating frequency of the core 111 that is to be restarted, it is possible to reduce the number of accesses per unit time to the memory 121 upon restart.
As a result, the occupancy rate of the bus 120 at the time of restart is reduced, and the waiting time of the operating OS when accessing the hardware via the bus 120 is reduced.
Therefore, it is possible to suppress a decrease in the performance of the operating OS.
***他の構成***
 図6のステップS254で、周波数変更部153は、対象コアの動作周波数を、対象コアの動作周波数に対応する低周波数に変更してもよい。
 その場合、周波数決定部152は、周波数テーブルを用いて、低周波数を決定する。
 周波数テーブルは、周波数範囲と低周波数とが互いに関連付けられたテーブルである。周波数テーブルはメモリ121に記憶される。
 具体的には、周波数決定部152は、対象コアの動作周波数を含んだ周波数範囲を周波数テーブルから選択し、選択された周波数範囲に関連付けられた低周波数を周波数テーブルから取得する。
*** Other configurations ***
In step S254 of FIG. 6, the frequency changing unit 153 may change the operating frequency of the target core to a low frequency corresponding to the operating frequency of the target core.
In that case, the frequency determination unit 152 determines a low frequency using the frequency table.
The frequency table is a table in which a frequency range and a low frequency are associated with each other. The frequency table is stored in the memory 121.
Specifically, the frequency determination unit 152 selects a frequency range including the operating frequency of the target core from the frequency table, and acquires a low frequency associated with the selected frequency range from the frequency table.
 対象アクセス量が多い場合、再起動制御部144は、再起動を休止させてもよい。
 図7に基づいて、対象アクセス量が基準値を超えている場合に再起動を休止させる再制御方法を説明する。
When the target access amount is large, the restart control unit 144 may pause the restart.
Based on FIG. 7, a re-control method for pausing the restart when the target access amount exceeds the reference value will be described.
 ステップS210からステップS240およびステップS260は、図6で説明した通りである。
 ステップS271において、アクセス量判定部151は、対象アクセス量を第1基準値と比較する。
 対象アクセス量が第1基準値を超えている場合、処理はステップS272に進む。
 対象アクセス量が第1基準値を超えていない場合、処理はステップS230に戻る。
Steps S210 to S240 and step S260 are as described in FIG.
In step S271, the access amount determination unit 151 compares the target access amount with the first reference value.
If the target access amount exceeds the first reference value, the process proceeds to step S272.
If the target access amount does not exceed the first reference value, the process returns to step S230.
 ステップS272およびステップS273は、図6のステップS252およびステップS253と同じである。 Step S272 and step S273 are the same as step S252 and step S253 of FIG.
 ステップS274において、アクセス量判定部151は、対象アクセス量を第2基準値と比較する。第2基準値は、第1基準値よりも大きい値である。つまり、第2基準値が示すアクセス数は、第1基準値が示すアクセス数よりも多い。
 対象アクセス量が第2基準値を超えている場合、処理はステップS276に進む。
 対象アクセス量が第2基準値を超えていない場合、処理はステップS275に進む。
In step S274, the access amount determination unit 151 compares the target access amount with the second reference value. The second reference value is larger than the first reference value. That is, the number of accesses indicated by the second reference value is greater than the number of accesses indicated by the first reference value.
If the target access amount exceeds the second reference value, the process proceeds to step S276.
If the target access amount does not exceed the second reference value, the process proceeds to step S275.
 ステップS275は、図6のステップS254と同じである。ステップS275の後、処理はステップS230に戻る。 Step S275 is the same as step S254 in FIG. After step S275, the process returns to step S230.
 ステップS276において、再起動制御部144は、再起動を休止させる。
 具体的には、再起動制御部144は、再起動のプロセスを実行状態または実行可能状態からスリープ状態にする。そして、再起動制御部144は、再起動のプロセスをスリープ状態にしたときから休止時間が経過したときに、再起動のプロセスを実行状態または実行可能状態にする。
 ステップS276の後、処理はステップS230に戻る。
In step S276, the restart control unit 144 pauses the restart.
Specifically, the restart control unit 144 switches the restart process from the execution state or the executable state to the sleep state. Then, the restart control unit 144 sets the restart process to an execution state or an executable state when a pause time elapses after the restart process is set to the sleep state.
After step S276, the process returns to step S230.
 実施の形態3.
 再起動でメモリ121に対して発生するダイレクトメモリアクセスのアクセス量を状態監視の対象とする形態について、主に実施の形態1と異なる点を、図8から図11に基づいて説明する。
Embodiment 3 FIG.
With respect to the form in which the amount of direct memory access that occurs in the memory 121 upon restart is the target of state monitoring, differences from the first embodiment will be mainly described with reference to FIGS.
***構成の説明***
 図8に基づいて、情報処理装置100のハードウェア構成を説明する。
 情報処理装置100は、実施の形態1で説明したハードウェアに加えて、バスコントローラ124とDMAコントローラ125といったハードウェアを備える。DMAはダイレクトメモリアクセスの略称である。
*** Explanation of configuration ***
Based on FIG. 8, the hardware configuration of the information processing apparatus 100 will be described.
The information processing apparatus 100 includes hardware such as a bus controller 124 and a DMA controller 125 in addition to the hardware described in the first embodiment. DMA is an abbreviation for direct memory access.
 情報処理装置100のソフトウェア構成は、実施の形態1の図1と同じである。
 コア111の機能構成は、実施の形態1の図2と同じである。
 ハイパーバイザ部140の機能構成は、実施の形態1の図3と同じである。
The software configuration of the information processing apparatus 100 is the same as that in FIG. 1 of the first embodiment.
The functional configuration of the core 111 is the same as that in FIG. 2 of the first embodiment.
The functional configuration of the hypervisor unit 140 is the same as that in FIG. 3 of the first embodiment.
 図9に基づいて、再起動制御部144の機能構成を説明する。
 再起動制御部144は、アクセス量判定部161と、命令変換部162とを備える。これらの機能については後述する。
Based on FIG. 9, the functional configuration of the restart control unit 144 will be described.
The restart control unit 144 includes an access amount determination unit 161 and an instruction conversion unit 162. These functions will be described later.
***動作の説明***
 実施の形態3における状態監視、制限条件および制限制御は、以下の通りである。
 状態監視で監視される情報処理装置100の状態は、対象アクセス量である。
 対象アクセス量は、再起動でメモリ121に対して発生するダイレクトメモリアクセスのアクセス量である。具体的には、アクセス量は、DMA命令の数またはアクセスされるデータのサイズである。DMA命令は、ダイレクトメモリアクセスの命令であり、DMAコントローラ125によって実行される。
*** Explanation of operation ***
The state monitoring, the limiting conditions, and the limiting control in the third embodiment are as follows.
The state of the information processing apparatus 100 monitored by the state monitoring is the target access amount.
The target access amount is an access amount of direct memory access that occurs with respect to the memory 121 upon restart. Specifically, the access amount is the number of DMA instructions or the size of data to be accessed. The DMA instruction is a direct memory access instruction and is executed by the DMA controller 125.
 制限条件は、対象アクセス量が基準値を超えるという条件である。基準値は予め決められた値である。
 制限制御は、再起動でメモリ121に対して発生するダイレクトメモリアクセスの命令を、プログラム制御方式の命令に変換する、という制御である。プログラム制御方式は、PIO(Programmed I/O)と呼ばれる。プログラム制御方式の命令をPIO命令という。PIO命令はバスコントローラ124によって実行される。
The restriction condition is a condition that the target access amount exceeds the reference value. The reference value is a predetermined value.
The restriction control is a control for converting a direct memory access instruction generated to the memory 121 upon restart into a program control instruction. The program control method is called PIO (Programmed I / O). A program control type instruction is called a PIO instruction. The PIO instruction is executed by the bus controller 124.
 図10に基づいて、再起動制御方法を説明する。
 ステップS310およびステップS320は、実施の形態1における図4のステップS110およびステップS120と同じである。
 つまり、ステップS310で稼働中のOSに異常が発生した場合、異常が発生したOSの再起動がステップS320で開始される。
Based on FIG. 10, the restart control method will be described.
Step S310 and step S320 are the same as step S110 and step S120 of FIG. 4 in the first embodiment.
That is, when an abnormality occurs in the operating OS in step S310, restart of the OS in which the abnormality has occurred is started in step S320.
 ステップS330は、実施の形態1における図4のステップS143に相当する。
 ステップS330において、再起動制御部144は、再起動が終了したか判定する。判定方法は、実施の形態1における図4のステップS143と同じである。
 再起動が終了した場合、処理は終了する。
 再起動が終了していない場合、処理はステップS340に進む。
Step S330 corresponds to step S143 of FIG. 4 in the first embodiment.
In step S330, the restart control unit 144 determines whether the restart has been completed. The determination method is the same as step S143 in FIG. 4 in the first embodiment.
When the restart is finished, the process is finished.
If the restart has not ended, the process proceeds to step S340.
 ステップS340は、実施の形態1における図4のステップS130に相当する。
 ステップS340において、状態監視部143は対象アクセス量を監視する。
 具体的には、状態監視部143は、再起動で発生したDMA命令を検出し、検出されたDMA命令の数を求める。または、状態監視部143は、DMA命令を検出し、検出されたDMA命令でアクセスされるデータのサイズを求める。求められるDMA命令の数またはデータのサイズが対象アクセス量である。
Step S340 corresponds to step S130 of FIG. 4 in the first embodiment.
In step S340, the state monitoring unit 143 monitors the target access amount.
Specifically, the state monitoring unit 143 detects the DMA instruction generated by the restart and obtains the number of detected DMA instructions. Alternatively, the state monitoring unit 143 detects a DMA instruction and obtains the size of data accessed by the detected DMA instruction. The required number of DMA instructions or the size of data is the target access amount.
 ステップS351は、実施の形態1における図4のステップS141に相当する。
 ステップS351において、アクセス量判定部161は、対象アクセス量を基準値と比較する。
 対象アクセス量が基準値を超えている場合、処理はステップS352に進む。
 対象アクセス量が基準値を超えていない場合、再起動で発生したDMA命令はDMAコントローラ125によって実行され、処理はステップS330に戻る。
Step S351 corresponds to step S141 in FIG. 4 in the first embodiment.
In step S351, the access amount determination unit 161 compares the target access amount with a reference value.
If the target access amount exceeds the reference value, the process proceeds to step S352.
If the target access amount does not exceed the reference value, the DMA instruction generated by the restart is executed by the DMA controller 125, and the process returns to step S330.
 ステップS352は、実施の形態1における図4のステップS142に相当する。
 ステップS352において、命令変換部162は、再起動で発生したDMA命令をPIO命令に変換する。変換後のPIO命令は、バスコントローラ124によって実行される。
 ステップS352の後、処理はステップS330に戻る。
Step S352 corresponds to step S142 of FIG. 4 in the first embodiment.
In step S352, the instruction conversion unit 162 converts the DMA instruction generated by the restart into a PIO instruction. The converted PIO instruction is executed by the bus controller 124.
After step S352, the process returns to step S330.
***実施の形態3の効果***
 再起動で発生するDMA命令をPIO命令に変換することにより、再起動でのメモリ121への単位時間当たりのアクセス数を減らすことが可能になる。
 その結果、再起動におけるバス120の占有率が低くなり、バス120を介してハードウェアにアクセスする際の稼働中のOSの待ち時間が少なくなる。
 したがって、稼働中のOSの性能の低下を抑えることが可能となる。
*** Effects of Embodiment 3 ***
By converting the DMA instruction generated at the restart into the PIO instruction, the number of accesses per unit time to the memory 121 at the restart can be reduced.
As a result, the occupancy rate of the bus 120 at the time of restart is reduced, and the waiting time of the operating OS when accessing the hardware via the bus 120 is reduced.
Therefore, it is possible to suppress a decrease in the performance of the operating OS.
***他の構成***
 対象アクセス量が多い場合、再起動制御部144は、再起動で発生したDMA命令の一部または全部をPIO命令に変換してもよい。
 図11に基づいて、対象アクセス量が基準値を超えている場合に、再起動で発生したDMA命令の一部または全部をPIO命令に変換する再起動制御方法を説明する。
*** Other configurations ***
When the target access amount is large, the restart control unit 144 may convert some or all of the DMA instructions generated by the restart into PIO instructions.
Based on FIG. 11, a restart control method for converting a part or all of DMA instructions generated by restart into PIO instructions when the target access amount exceeds the reference value will be described.
 ステップS310からステップS340は、図10で説明した通りである。
 ステップS361において、アクセス量判定部161は、対象アクセス量を第1基準値と比較する。
 対象アクセス量が第1基準値を超えている場合、処理はステップS362に進む。
 対象アクセス量が第1基準値を超えていない場合、処理はステップS330に戻る。
Steps S310 to S340 are as described in FIG.
In step S361, the access amount determination unit 161 compares the target access amount with the first reference value.
If the target access amount exceeds the first reference value, the process proceeds to step S362.
If the target access amount does not exceed the first reference value, the process returns to step S330.
 ステップS362において、アクセス量判定部161は、対象アクセス量を第2基準値と比較する。第2基準値は、第1基準値よりも大きい値である。つまり、第2基準値が示すアクセス量は、第1基準値が示すアクセス量よりも多い。
 対象アクセス量が第2基準値を超えている場合、処理はステップS364に進む。
 対象アクセス量が第2基準値を超えていない場合、処理はステップS363に進む。
In step S362, the access amount determination unit 161 compares the target access amount with the second reference value. The second reference value is larger than the first reference value. That is, the access amount indicated by the second reference value is larger than the access amount indicated by the first reference value.
If the target access amount exceeds the second reference value, the process proceeds to step S364.
If the target access amount does not exceed the second reference value, the process proceeds to step S363.
 ステップS363において、命令変換部162は、再起動で発生したDMA命令から一部のDMA命令を選択し、選択されたDMA命令をPIO命令に変換する。具体的には、命令変換部162は、半分のDMA命令をPIO命令に変換する。変換されなかったDMA命令はDMAコントローラ125によって実行され、変換後のPIO命令はバスコントローラ124によって実行される。
 ステップS363の後、処理はステップS330に戻る。
In step S363, the instruction conversion unit 162 selects some DMA instructions from the DMA instructions generated by the restart, and converts the selected DMA instructions into PIO instructions. Specifically, the instruction conversion unit 162 converts half of the DMA instructions into PIO instructions. The DMA instruction that has not been converted is executed by the DMA controller 125, and the PIO instruction after conversion is executed by the bus controller 124.
After step S363, the process returns to step S330.
 ステップS364において、命令変換部162は、再起動で発生したDMA命令をPIO命令に変換する。具体的には、命令変換部162は、再起動で発生したDMA命令の全てをPIO命令に変換する。変換後のPIO命令はバスコントローラ124によって実行される。
 ステップS364の後、処理はステップS330に戻る。
In step S364, the instruction conversion unit 162 converts the DMA instruction generated by the restart into a PIO instruction. Specifically, the instruction conversion unit 162 converts all DMA instructions generated by the restart into PIO instructions. The converted PIO instruction is executed by the bus controller 124.
After step S364, the process returns to step S330.
 実施の形態4.
 再起動の対象でないOSからのキャッシュ129へのアクセスで発生するキャッシュミスのミス率を状態監視の対象とする形態について、主に実施の形態1と異なる点を、図12から図14に基づいて説明する。
Embodiment 4 FIG.
Based on FIG. 12 to FIG. 14, the differences between the first embodiment and the first embodiment in which the miss rate of the cache miss that occurs when the cache 129 is accessed from the OS that is not the restart target are mainly monitored. explain.
***構成の説明***
 図12に基づいて、情報処理装置100のハードウェア構成を説明する。
 情報処理装置100は、実施の形態1で説明したハードウェアに加えて、キャッシュコントローラ126というハードウェアを備える。
*** Explanation of configuration ***
Based on FIG. 12, the hardware configuration of the information processing apparatus 100 will be described.
The information processing apparatus 100 includes hardware called a cache controller 126 in addition to the hardware described in the first embodiment.
 情報処理装置100のソフトウェア構成は、実施の形態1の図1と同じである。
 コア111の機能構成は、実施の形態1の図2と同じである。
 ハイパーバイザ部140の機能構成は、実施の形態1の図3と同じである。
The software configuration of the information processing apparatus 100 is the same as that in FIG. 1 of the first embodiment.
The functional configuration of the core 111 is the same as that in FIG. 2 of the first embodiment.
The functional configuration of the hypervisor unit 140 is the same as that in FIG. 3 of the first embodiment.
 図13に基づいて、再起動制御部144の機能構成を説明する。
 再起動制御部144は、ミス率判定部171と、アクセス制御部172とを備える。アクセス制御部172の機能については後述する。
Based on FIG. 13, a functional configuration of the restart control unit 144 will be described.
The restart control unit 144 includes a miss rate determination unit 171 and an access control unit 172. The function of the access control unit 172 will be described later.
***動作の説明***
 実施の形態4における状態監視、制限条件および制限制御は、以下の通りである。
 状態監視で監視される情報処理装置100の状態は、対象ミス率である。
 対象ミス率は、再起動の対象でないオペレーティングシステムからのキャッシュ129へのアクセスで発生するキャッシュミスのミス率である。
*** Explanation of operation ***
The state monitoring, the limiting condition, and the limiting control in the fourth embodiment are as follows.
The state of the information processing apparatus 100 monitored by the state monitoring is a target error rate.
The target miss rate is a miss rate of a cache miss that occurs when the cache 129 is accessed from an operating system that is not the target of restart.
 制限条件は、対象ミス率が基準値を超えるという条件である。基準値は予め決められた値である。
 制限制御は、再起動中のオペレーティングシステムからのキャッシュ129へのアクセスを禁止する制御である。
The limiting condition is a condition that the target error rate exceeds the reference value. The reference value is a predetermined value.
The restriction control is control for prohibiting access to the cache 129 from the operating system being restarted.
 図14に基づいて、再起動制御方法を説明する。
 ステップS410およびステップS420は、実施の形態1における図4のステップS110およびステップS120と同じである。
 つまり、ステップS410で稼働中のOSに異常が発生した場合、異常が発生したOSの再起動がステップS420で開始される。
Based on FIG. 14, the restart control method will be described.
Step S410 and step S420 are the same as step S110 and step S120 of FIG. 4 in the first embodiment.
That is, when an abnormality occurs in the operating OS in step S410, restart of the OS in which the abnormality has occurred is started in step S420.
 ステップS430は、実施の形態1における図4のステップS143に相当する。
 ステップS430において、再起動制御部144は、再起動が終了したか判定する。判定方法は、実施の形態1における図4のステップS143と同じである。
 再起動が終了した場合、処理は終了する。
 再起動が終了していない場合、処理はステップS440に進む。
Step S430 corresponds to step S143 of FIG. 4 in the first embodiment.
In step S430, the restart control unit 144 determines whether the restart has been completed. The determination method is the same as step S143 in FIG. 4 in the first embodiment.
When the restart is finished, the process is finished.
If the restart has not ended, the process proceeds to step S440.
 ステップS440は、実施の形態1における図4のステップS130に相当する。
 ステップS440において、状態監視部143は対象ミス率を監視する。
 具体的には、状態監視部143は、稼働中のOSからのキャッシュ129へのアクセスの回数と、稼働中のOSからのキャッシュ129へのアクセスで発生したキャッシュミスの回数とを数える。そして、状態監視部143は、アクセスの回数とキャッシュミスの回数とを用いて、対象ミス率を算出する。具体的には、対象ミス率は、キャッシュミスの回数をアクセスの回数で割って得られる商である。
Step S440 corresponds to step S130 of FIG. 4 in the first embodiment.
In step S440, the state monitoring unit 143 monitors the target error rate.
Specifically, the state monitoring unit 143 counts the number of accesses to the cache 129 from the operating OS and the number of cache misses that occurred due to the access to the cache 129 from the operating OS. Then, the state monitoring unit 143 calculates the target miss rate using the number of accesses and the number of cache misses. Specifically, the target miss rate is a quotient obtained by dividing the number of cache misses by the number of accesses.
 ステップS451は、実施の形態1における図4のステップS141に相当する。
 ステップS451において、ミス率判定部171は、対象ミス率を基準値と比較する。
 対象ミス率が基準値を超えている場合、処理はステップS452に進む。
 対象ミス率が基準値を超えていない場合、処理はステップS430に戻る。
Step S451 corresponds to step S141 of FIG. 4 in the first embodiment.
In step S451, the miss rate determination unit 171 compares the target miss rate with a reference value.
If the target error rate exceeds the reference value, the process proceeds to step S452.
If the target error rate does not exceed the reference value, the process returns to step S430.
 ステップS452は、実施の形態1における図4のステップS142に相当する。
 ステップS452において、アクセス制御部172は、再起動中のOSからのキャッシュ129へのアクセスを禁止する。
 具体的には、アクセス制御部172は、キャッシュコントローラ126に対して、再起動中のOSからのキャッシュ129へのアクセスを禁止する設定を行う。
 ステップS452の後、処理はステップS430に戻る。
Step S452 corresponds to step S142 of FIG. 4 in the first embodiment.
In step S452, the access control unit 172 prohibits access to the cache 129 from the restarting OS.
Specifically, the access control unit 172 sets the cache controller 126 to prohibit access to the cache 129 from the OS being restarted.
After step S452, the process returns to step S430.
 ステップS460において、アクセス制御部172は、再起動後のOSからのキャッシュ129へのアクセスを許可する。但し、再起動中のOSからのキャッシュ129へのアクセスが禁止されていない場合、再起動後のOSからのキャッシュ129へのアクセスを許可する必要はない。
 具体的には、アクセス制御部172は、再起動後のOSからのキャッシュ129へのアクセスに対する設定を示す設定値をキャッシュコントローラ126から取得する。取得された設定値がアクセスの禁止を意味する値である場合、アクセス制御部172は、キャッシュコントローラ126に対して、禁止を解除する設定を行う。
 ステップS460の後、処理は終了する。
In step S460, the access control unit 172 permits access to the cache 129 from the restarted OS. However, if access to the cache 129 from the OS being restarted is not prohibited, it is not necessary to permit access to the cache 129 from the OS after restarting.
Specifically, the access control unit 172 acquires a setting value indicating a setting for access to the cache 129 from the OS after restart from the cache controller 126. When the acquired setting value is a value that means prohibition of access, the access control unit 172 performs setting for canceling the prohibition on the cache controller 126.
After step S460, the process ends.
***実施の形態4の効果***
 再起動でのキャッシュ129へのアクセスを禁止することにより、再起動によるキャッシュ129の更新を抑止することが可能になる。
 その結果、稼働中のOSがキャッシュ129にアクセスした際のキャッシュミスが減る。したがって、稼働中のOSの性能の低下を抑えることが可能となる。
*** Effects of Embodiment 4 ***
By prohibiting access to the cache 129 at restart, updating of the cache 129 by restart can be suppressed.
As a result, cache misses when the operating OS accesses the cache 129 are reduced. Therefore, it is possible to suppress a decrease in the performance of the operating OS.
***実施の形態の補足***
 情報処理装置100は、異常検出部141と再起動部142と状態監視部143と再起動制御部144といった「部」を機能構成の要素として備える。「部」の機能はソフトウェアで実現される。具体的には、「部」の機能は、ハイパーバイザ101の機能として実現される。
 「部」の機能を実現するプログラムは、メモリ121にロードされて、プロセッサ110によって実行される。
 「部」の機能を実現するプログラムを実行して得られるデータは、メモリ121またはキャッシュ129といった記憶装置に記憶される。
 「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
 「部」は「処理」、「工程」または「回路」に読み替えてもよい。プロセッサ110とメモリ121とキャッシュ129とをまとめたハードウェアを「プロセッシングサーキットリ」という。
*** Supplement to the embodiment ***
The information processing apparatus 100 includes “units” such as an abnormality detection unit 141, a restart unit 142, a state monitoring unit 143, and a restart control unit 144 as elements of the functional configuration. The function of “part” is realized by software. Specifically, the function of “unit” is realized as a function of the hypervisor 101.
A program that realizes the function of “unit” is loaded into the memory 121 and executed by the processor 110.
Data obtained by executing a program that implements the function of “unit” is stored in a storage device such as the memory 121 or the cache 129.
A program that realizes the function of “unit” can be stored in a computer-readable manner in a nonvolatile storage medium such as a magnetic disk, an optical disk, or a flash memory. A non-volatile storage medium is a tangible medium that is not temporary.
“Part” may be read as “processing”, “process”, or “circuit”. Hardware in which the processor 110, the memory 121, and the cache 129 are collected is referred to as a “processing circuit”.
 実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。 The embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present invention. The embodiment may be implemented partially or in combination with other embodiments. The procedure described using the flowchart and the like may be changed as appropriate.
 100 情報処理装置、101 ハイパーバイザ、102 リアルタイムOS、103 リアルタイムアプリケーション、104 汎用OS、105 汎用アプリケーション、110 プロセッサ、111 コア、112 周波数変更機構、113 クロックジェネレータ、114 割り込みコントローラ、120 バス、121 メモリ、122 WDT、123 I/Oデバイス、124 バスコントローラ、125 DMAコントローラ、126 キャッシュコントローラ、129 キャッシュ、131 OS部、132 アプリケーション部、140 ハイパーバイザ部、141 異常検出部、142 再起動部、143 状態監視部、144 再起動制御部、151 アクセス量判定部、152 周波数決定部、153 周波数変更部、161 アクセス量判定部、162 命令変換部、171 ミス率判定部、172 アクセス制御部。 100 information processing apparatus, 101 hypervisor, 102 real-time OS, 103 real-time application, 104 general-purpose OS, 105 general-purpose application, 110 processor, 111 core, 112 frequency change mechanism, 113 clock generator, 114 interrupt controller, 120 bus, 121 memory, 122 WDT, 123 I / O device, 124 bus controller, 125 DMA controller, 126 cache controller, 129 cache, 131 OS unit, 132 application unit, 140 hypervisor unit, 141 error detection unit, 142 restart unit, 143 status monitoring Unit, 144 restart control unit, 151 access amount determination unit, 152 frequency determination unit, 153 frequency Additional unit, 161 access amount determination unit, 162 command converter, 171 error rate judgment section 172 access controller.

Claims (10)

  1.  複数のプロセッサコアを有するマルチコアプロセッサを備えて前記複数のプロセッサコアによって複数のオペレーティングシステムを動作させる情報処理装置であって、
     前記複数のオペレーティングシステムに含まれるオペレーティングシステムに異常が発生した場合、異常が発生したオペレーティングシステムの再起動を前記複数のプロセッサコアに含まれるプロセッサコアに実行させる再起動部と、
     前記再起動の実行中に前記情報処理装置の状態を監視する状態監視部と、
     前記再起動の実行中に前記情報処理装置の状態が前記再起動の実行を制限する制限条件を満たした場合、前記再起動の実行を制限する制限制御を行う再起動制御部と
    を備える情報処理装置。
    An information processing apparatus comprising a multi-core processor having a plurality of processor cores and operating a plurality of operating systems with the plurality of processor cores,
    A restart unit that causes a processor core included in the plurality of processor cores to restart the operating system in which an abnormality has occurred when an abnormality occurs in the operating system included in the plurality of operating systems;
    A state monitoring unit that monitors the state of the information processing apparatus during execution of the restart;
    An information processing comprising: a restart control unit configured to perform restriction control for restricting execution of the restart when a state of the information processing apparatus satisfies a restriction condition for restricting execution of the restart during execution of the restart apparatus.
  2.  前記情報処理装置は、前記複数のプロセッサコアからアクセスされるメモリを備え、
     前記制限条件は、前記再起動での前記メモリへの単位時間当たりのアクセス数である対象アクセス量が基準値を超えるという条件であり、
     前記状態監視部は、前記情報処理装置の状態として、前記対象アクセス量を監視し、
     前記再起動制御部は、前記対象アクセス量が前記基準値を超えた場合、前記制限制御として、前記再起動を実行するプロセッサコアである対象コアの動作周波数を、前記対象アクセス量が前記基準値を超える前の前記対象コアの動作周波数よりも低くする
    請求項1に記載の情報処理装置。
    The information processing apparatus includes a memory accessed from the plurality of processor cores,
    The restriction condition is a condition that a target access amount that is the number of accesses per unit time to the memory at the restart exceeds a reference value,
    The state monitoring unit monitors the target access amount as the state of the information processing apparatus,
    When the target access amount exceeds the reference value, the restart control unit, as the restriction control, sets an operation frequency of a target core that is a processor core that executes the restart, and the target access amount is the reference value. The information processing apparatus according to claim 1, wherein the information processing apparatus is set to be lower than an operating frequency of the target core before exceeding.
  3.  前記再起動制御部は、前記対象コアの動作周波数を前記対象アクセス量が前記基準値を超える前の前記対象コアの動作周波数である通常周波数よりも低くした後に前記再起動が終了した場合、前記対象コアの動作周波数を前記通常周波数に戻す
    請求項2に記載の情報処理装置。
    The restart control unit, when the restart is completed after the operating frequency of the target core is lower than the normal frequency that is the operating frequency of the target core before the target access amount exceeds the reference value, The information processing apparatus according to claim 2, wherein the operating frequency of the target core is returned to the normal frequency.
  4.  前記再起動制御部は、前記対象アクセス量が前記基準値である第1基準値よりも大きい第2基準値を超えた場合、前記再起動を休止させる
    請求項2に記載の情報処理装置。
    The information processing apparatus according to claim 2, wherein the restart control unit pauses the restart when the target access amount exceeds a second reference value that is larger than a first reference value that is the reference value.
  5.  前記情報処理装置は、前記複数のプロセッサコアからアクセスされるメモリを備え、
     前記制限条件は、前記再起動で前記メモリに対して発生するダイレクトメモリアクセスのアクセス量である対象アクセス量が基準値を超えるという条件であり、
     前記状態監視部は、前記情報処理装置の状態として、前記対象アクセス量を監視し、
     前記再起動制御部は、前記対象アクセス量が前記基準値を超えた場合、前記制限制御として、前記再起動で前記メモリに対して発生するダイレクトメモリアクセスの命令を、プログラム制御方式の命令に変換する
    請求項1に記載の情報処理装置。
    The information processing apparatus includes a memory accessed from the plurality of processor cores,
    The restriction condition is a condition that a target access amount that is an access amount of direct memory access that occurs to the memory by the restart exceeds a reference value,
    The state monitoring unit monitors the target access amount as the state of the information processing apparatus,
    When the target access amount exceeds the reference value, the restart control unit converts, as the restriction control, a direct memory access instruction generated for the memory by the restart into a program control instruction. The information processing apparatus according to claim 1.
  6.  前記再起動制御部は、前記対象アクセス量が前記基準値を超えた場合、前記再起動で前記メモリに対して発生するダイレクトメモリアクセスのうちの一部のダイレクトメモリアクセスの命令を、プログラム制御方式の命令に変換する
    請求項5に記載の情報処理装置。
    The restart control unit, when the target access amount exceeds the reference value, a part of direct memory access instructions among the direct memory access generated for the memory by the restart The information processing apparatus according to claim 5, wherein the information processing apparatus converts the instruction into an instruction.
  7.  前記再起動制御部は、前記対象アクセス量が前記基準値である第1基準値よりも大きい第2基準値を超えた場合、前記再起動で前記メモリに対して発生するダイレクトメモリアクセスの全ての命令を、プログラム制御方式の命令に変換する
    請求項6に記載の情報処理装置。
    When the target access amount exceeds a second reference value that is larger than the first reference value, which is the reference value, all the direct memory accesses that occur to the memory by the restart are performed. The information processing apparatus according to claim 6, wherein the instruction is converted into a program control instruction.
  8.  前記情報処理装置は、前記複数のプロセッサコアからアクセスされるキャッシュを備え、
     前記制限条件は、前記再起動の対象でないオペレーティングシステムからの前記キャッシュへのアクセスで発生するキャッシュミスのミス率である対象ミス率が基準値を超えるという条件であり、
     前記状態監視部は、前記情報処理装置の状態として、前記対象ミス率を監視し、
     前記再起動制御部は、前記対象ミス率が前記基準値を超えた場合、前記制限制御として、再起動中のオペレーティングシステムからの前記キャッシュへのアクセスを禁止する
    請求項1に記載の情報処理装置。
    The information processing apparatus includes a cache accessed from the plurality of processor cores,
    The restriction condition is a condition that a target miss rate that is a miss rate of a cache miss that occurs when accessing the cache from an operating system that is not the target of restart exceeds a reference value,
    The state monitoring unit monitors the target error rate as the state of the information processing apparatus,
    The information processing apparatus according to claim 1, wherein when the target miss rate exceeds the reference value, the restart control unit prohibits access to the cache from the operating system being restarted as the restriction control. .
  9.  前記再起動制御部は、再起動中のオペレーティングシステムからの前記キャッシュへのアクセスを禁止した後に前記再起動が終了した場合、再起動後のオペレーティングシステムからの前記キャッシュへのアクセスを許可する
    請求項8に記載の情報処理装置。
    The restart control unit permits access to the cache from the operating system after restarting when the restarting is terminated after prohibiting access to the cache from the operating system being restarted. The information processing apparatus according to 8.
  10.  複数のプロセッサコアを有するマルチコアプロセッサを備えて前記複数のプロセッサコアによって複数のオペレーティングシステムを動作させる情報処理装置による再起動制御方法であって、
     再起動部が、前記複数のオペレーティングシステムに含まれるオペレーティングシステムに異常が発生した場合、異常が発生したオペレーティングシステムの再起動を前記複数のプロセッサコアに含まれるプロセッサコアに実行させ、
     状態監視部が、前記再起動の実行中に前記情報処理装置の状態を監視し、
     再起動制御部が、前記再起動の実行中に前記情報処理装置の状態が前記再起動の実行を制限する制限条件を満たした場合、前記再起動の実行を制限する制限制御を行う再起動制御方法。
    A restart control method by an information processing apparatus including a multi-core processor having a plurality of processor cores and operating a plurality of operating systems by the plurality of processor cores,
    When an abnormality occurs in the operating system included in the plurality of operating systems, the restart unit causes the processor core included in the plurality of processor cores to restart the operating system in which the abnormality has occurred,
    A state monitoring unit monitors the state of the information processing apparatus during execution of the restart;
    Reboot control for performing a restriction control for restricting the execution of the restart when the restart control unit satisfies a restriction condition for restricting the execution of the restart during the execution of the restart Method.
PCT/JP2016/063898 2016-05-10 2016-05-10 Information processing device and reboot control method WO2017195276A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016562601A JP6073004B1 (en) 2016-05-10 2016-05-10 Information processing device
PCT/JP2016/063898 WO2017195276A1 (en) 2016-05-10 2016-05-10 Information processing device and reboot control method
TW105126047A TWI632454B (en) 2016-05-10 2016-08-16 Information processing device and restart control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/063898 WO2017195276A1 (en) 2016-05-10 2016-05-10 Information processing device and reboot control method

Publications (1)

Publication Number Publication Date
WO2017195276A1 true WO2017195276A1 (en) 2017-11-16

Family

ID=57937630

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/063898 WO2017195276A1 (en) 2016-05-10 2016-05-10 Information processing device and reboot control method

Country Status (3)

Country Link
JP (1) JP6073004B1 (en)
TW (1) TWI632454B (en)
WO (1) WO2017195276A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050712A (en) * 2001-08-06 2003-02-21 Canon Inc Microcomputer system
JP2006209487A (en) * 2005-01-28 2006-08-10 Hitachi Ltd Computer system, computer, storage device, and management terminal
JP2009080692A (en) * 2007-09-26 2009-04-16 Toshiba Corp Virtual machine system and service taking-over control method for same system
WO2013080288A1 (en) * 2011-11-28 2013-06-06 富士通株式会社 Memory remapping method and information processing device
JP2014182576A (en) * 2013-03-19 2014-09-29 Hitachi Ltd Configuration management device, configuration management method and configuration management program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2927108B2 (en) * 1992-07-22 1999-07-28 日本電気株式会社 In-circuit emulator
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US6961806B1 (en) * 2001-12-10 2005-11-01 Vmware, Inc. System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems
GB2411254B (en) * 2002-11-18 2006-06-28 Advanced Risc Mach Ltd Monitoring control for multi-domain processors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050712A (en) * 2001-08-06 2003-02-21 Canon Inc Microcomputer system
JP2006209487A (en) * 2005-01-28 2006-08-10 Hitachi Ltd Computer system, computer, storage device, and management terminal
JP2009080692A (en) * 2007-09-26 2009-04-16 Toshiba Corp Virtual machine system and service taking-over control method for same system
WO2013080288A1 (en) * 2011-11-28 2013-06-06 富士通株式会社 Memory remapping method and information processing device
JP2014182576A (en) * 2013-03-19 2014-09-29 Hitachi Ltd Configuration management device, configuration management method and configuration management program

Also Published As

Publication number Publication date
JP6073004B1 (en) 2017-02-01
JPWO2017195276A1 (en) 2018-05-31
TW201740274A (en) 2017-11-16
TWI632454B (en) 2018-08-11

Similar Documents

Publication Publication Date Title
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
US9354943B2 (en) Power management for multi-core processing systems
US10198332B2 (en) System on chip integrity verification method and system
EP3306470A1 (en) Method and apparatus for executing non-maskable interrupt
DE102014003540A1 (en) GENERATING AN ISOLATED EMBODIMENT ENVIRONMENT IN A CO-DESIGNED PROCESSOR
WO2016101519A1 (en) Method and device for realizing restart of operating system
US20130263149A1 (en) Dynamically Adjusting Global Heap Allocation in Multi-Thread Environment
CN105404559B (en) Debugging in a data processing apparatus
JP2013520748A5 (en)
WO2017090364A1 (en) Vehicle control device
WO2015045507A1 (en) Vehicular control device
US9128754B2 (en) Resource starvation management in a computer system
JP6073004B1 (en) Information processing device
US10269194B2 (en) Multiprocessor system and vehicle control system
JP2011008702A (en) Fault processor
EP3246821B1 (en) Semiconductor device and its memory access control method
US20180089012A1 (en) Information processing apparatus for analyzing hardware failure
WO2012104950A1 (en) Activation control device, information apparatus, and activation control method
US20140059389A1 (en) Computer and memory inspection method
JP6349444B2 (en) Vehicle control device
US20230237010A1 (en) Power efficient memory value updates for arm architectures
US20160266960A1 (en) Information processing apparatus and kernel dump method
WO2013057769A1 (en) Information processing device, control method for information processing device and control program
JP5299681B2 (en) Program inspection method
JP2009271597A (en) Processor

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2016562601

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16901625

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16901625

Country of ref document: EP

Kind code of ref document: A1