JP6545399B2 - INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM - Google Patents

INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM Download PDF

Info

Publication number
JP6545399B2
JP6545399B2 JP2018550855A JP2018550855A JP6545399B2 JP 6545399 B2 JP6545399 B2 JP 6545399B2 JP 2018550855 A JP2018550855 A JP 2018550855A JP 2018550855 A JP2018550855 A JP 2018550855A JP 6545399 B2 JP6545399 B2 JP 6545399B2
Authority
JP
Japan
Prior art keywords
cpu
execution
unit
lock
cpus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2018550855A
Other languages
Japanese (ja)
Other versions
JPWO2018179149A1 (en
Inventor
整 山本
整 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2018179149A1 publication Critical patent/JPWO2018179149A1/en
Application granted granted Critical
Publication of JP6545399B2 publication Critical patent/JP6545399B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Description

本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and an information processing program.

特許文献1には、従来のLHP問題を解決する方式が開示されている。特許文献1に開示された方式では、OSのロックを獲得しているvCPU(仮想CPU)に、優先してpCPU(実CPU)を割当てる。これにより、特許文献1に開示された方式では、LHP状態の解決をはかりGPOS(汎用OS)の性能劣化を抑制する。なお、LHPは、Lock Holder Preemptionの略語である。OSは、Operating Systemの略語である。CPUは、Central Processing Unitの略語である。
また、非特許文献1には、GPOSのロックを獲得しているvCPUに割当てられていたpCPUが、RTOS(リアルタイムOS)のvCPUとして割当てられた場合に、LHP状態の解決をはかる方式が開示されている。非特許文献1では、GPOSのロックを獲得しているvCPUに、GPOS配下の別のvCPUに割当てられているpCPUを割当てなおすことによりロックを解放させることで、LHP問題の解決をはかっている。
Patent Document 1 discloses a method for solving the conventional LHP problem. In the method disclosed in Patent Document 1, pCPUs (real CPUs) are preferentially allocated to vCPUs (virtual CPUs) that have acquired lock of the OS. Thus, in the method disclosed in Patent Document 1, the solution of the LHP state is performed to suppress the performance deterioration of GPOS (general-purpose OS). LHP is an abbreviation of Lock Holder Preemption. OS is an abbreviation of Operating System. CPU is an abbreviation of Central Processing Unit.
Further, Non-Patent Document 1 discloses a method for solving the LHP state when a pCPU assigned to a vCPU that has acquired a GPOS lock is assigned as a RTOS (Real-Time OS) vCPU. ing. In Non-Patent Document 1, the LHP problem is solved by causing a vCPU that has acquired a GPOS lock to release a lock by reassigning a pCPU assigned to another vCPU under the GPOS.

特開2006−099182号公報Unexamined-Japanese-Patent No. 2006-099182

三嶽 仁著、「リアルタイム仮想マシンモニタでのLock Holder Preemption問題の解決」2011年度修士論文、2012年1月31日発行、p.4〜23Hitoshi Mishima, "Resolution of the Lock Holder Preemption Problem with Real-Time Virtual Machine Monitor" 2011 Master's Thesis, 31 January 2012, p. 4 to 23

しかしながら、LHP問題を解決する従来の方式では、RTOSのvCPUにpCPUを受け渡したGPOSのvCPUを、他のpCPUにマイグレーションするために要する処理量が多くなる。よって、この従来の方式では、GPOSの性能劣化を十分に改善することができないという課題がある。   However, in the conventional method for solving the LHP problem, the amount of processing required to migrate the vPOS of GPOS, which has passed the pCPU to the vCPU of RTOS, to another pCPU is increased. Therefore, this conventional method has a problem that the performance degradation of GPOS can not be sufficiently improved.

本発明は、RTOSの応答性能を保ちつつGPOSの性能劣化を防ぐことを目的とする。   An object of the present invention is to prevent GPOS performance degradation while maintaining RTOS response performance.

本発明に係る情報処理装置は、複数のCPUをマルチプロセッサとして備え、前記複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOSを実行する第1実行部であって前記実行CPUが前記第1のOSの実行に用いられていることを表すロックを獲得した上で前記第1のOSを実行する第1実行部を備えた情報処理装置において、
第2のOSを実行する割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する確認部と、
前記実行CPUについて前記ロックが獲得されている場合に、前記第2のOSの実行を移譲する先のCPUを移譲先CPUとして前記複数のCPUから選定する選定部と、
前記移譲先CPUに前記第2のOSを実行させる第2実行部とを備えた。
An information processing apparatus according to the present invention is a first execution unit that includes a plurality of CPUs as multiprocessors and executes a first OS using any CPU of the plurality of CPUs as an execution CPU, the execution CPU An information processing apparatus comprising a first execution unit that executes a first OS after acquiring a lock indicating that the second OS is being used to execute the first OS;
A confirmation unit that confirms whether the lock has been acquired for the execution CPU when an interrupt process for executing the second OS occurs;
A selection unit that selects a CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as a transfer destination CPU when the lock is acquired for the execution CPU;
And a second execution unit that causes the transfer destination CPU to execute the second OS.

本発明に係る情報処理装置は、複数のCPUをマルチプロセッサとして備える。また、第1実行部は、複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOSを実行する。また、第1実行部は、実行CPUが第1のOSの実行に用いられていることを表すロックを獲得した上で第1のOSを実行する。また、確認部が、第2のOSを実行する割込み処理が発生すると、実行CPUについてロックが獲得されているかを確認する。また、選定部が、実行CPUについてロックが獲得されている場合に、第2のOSの実行を移譲する先のCPUを移譲先CPUとして複数のCPUから選定する。そして、第2実行部が、移譲先CPUに第2のOSを実行させる。よって、本発明に係る情報処理装置によれば、第2のOSであるRTOSの応答性能を保ちつつ、第1のOSであるGPOSの性能劣化を防ぐことができる。   An information processing apparatus according to the present invention includes a plurality of CPUs as multiprocessors. The first execution unit executes the first OS using any one of the plurality of CPUs as an execution CPU. The first execution unit executes the first OS after acquiring a lock indicating that the execution CPU is being used to execute the first OS. Further, when an interrupt process for executing the second OS occurs, the confirmation unit confirms whether the lock is acquired for the execution CPU. In addition, when the lock is acquired for the execution CPU, the selection unit selects the CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as the transfer destination CPU. Then, the second execution unit causes the transfer destination CPU to execute the second OS. Therefore, according to the information processing apparatus of the present invention, it is possible to prevent the performance deterioration of the GPOS which is the first OS while maintaining the response performance of the RTOS which is the second OS.

実施の形態1に係る情報処理装置100のハードウェア構成図。FIG. 2 is a hardware configuration diagram of the information processing apparatus 100 according to the first embodiment. 実施の形態1に係る情報処理装置100の機能構成図。FIG. 2 is a functional configuration diagram of the information processing apparatus 100 according to the first embodiment. 実施の形態1に係るロック獲得処理S30のフロー図。FIG. 7 is a flowchart of lock acquisition processing S30 according to the first embodiment. 実施の形態1に係るロック解放処理S40のフロー図。FIG. 8 is a flowchart of lock release processing S40 according to the first embodiment. 実施の形態1に係る移譲元CPU処理S50のフロー図。FIG. 7 is a flowchart of transfer source CPU processing S50 according to the first embodiment. 実施の形態1に係る確認処理S51のフロー図。FIG. 7 is a flowchart of confirmation processing S51 according to the first embodiment. 実施の形態1に係る選定処理S52のフロー図。FIG. 7 is a flowchart of selection processing S52 according to the first embodiment. 実施の形態1に係る要求送信処理S53のフロー図。FIG. 7 is a flowchart of request transmission processing S53 according to the first embodiment. 実施の形態1に係る移譲先CPU処理S60のフロー図。FIG. 7 is a flowchart of a transfer destination CPU process S60 according to the first embodiment. 実施の形態1に係る確認応答処理S61のフロー図。FIG. 10 is a flowchart of acknowledgment processing S61 according to the first embodiment. 実施の形態1に係る実行準備処理S62のフロー図。FIG. 10 is a flowchart of an execution preparation process S62 according to the first embodiment. 実施の形態2に係るロックテーブル219aの構成図。5 is a configuration diagram of a lock table 219a according to Embodiment 2. FIG. 実施の形態2に係る選定処理S52aのフロー図。FIG. 16 is a flowchart of a selection process S52a according to the second embodiment.

以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals. In the description of the embodiment, the description of the same or corresponding parts will be omitted or simplified as appropriate.

実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係る情報処理装置100のハードウェア構成について説明する。
情報処理装置100は、CPU101、CPU102、CPU103、およびCPU104を、マルチプロセッサとして備える。CPU101、CPU102、CPU103、およびCPU104は、マルチプロセッサを構成する。以下において、CPU101、CPU102、CPU103、およびCPU104をCPU101〜104と記載する場合がある。
マルチプロセッサ機構105は、CPU101〜104をマルチプロセッサとして構成する機構である。
メモリ106は、CPU101〜104からアクセスされるデータを記憶する素子である。
デバイス107およびデバイス108は、CPU101〜104から操作されるデバイスである。
割込み管理機構109は、デバイス107およびデバイス108が発生させる割込み要因により、CPU101〜104の任意の組合せで関連付けられたCPUに対して割込み処理を発生させる。マルチプロセッサ用の割込み管理機構109は、一つの割込み要因を複数のCPUへ関連付けることができる。割込み要因を関連付けられた複数のCPUのうち、最も早く割込みを受け付けたCPUが割込みを処理し、他のCPUへの割込み要求はキャンセルされる。
Embodiment 1
*** Description of the configuration ***
The hardware configuration of the information processing apparatus 100 according to the present embodiment will be described using FIG. 1.
The information processing apparatus 100 includes a CPU 101, a CPU 102, a CPU 103, and a CPU 104 as a multiprocessor. The CPU 101, the CPU 102, the CPU 103, and the CPU 104 constitute a multiprocessor. In the following, the CPU 101, the CPU 102, the CPU 103, and the CPU 104 may be described as the CPUs 101 to 104.
The multiprocessor mechanism 105 is a mechanism that configures the CPUs 101 to 104 as a multiprocessor.
The memory 106 is an element for storing data accessed by the CPUs 101 to 104.
The device 107 and the device 108 are devices operated by the CPUs 101 to 104.
The interrupt management mechanism 109 generates interrupt processing for the CPUs associated with any combination of the CPUs 101 to 104 according to the interrupt factors generated by the device 107 and the device 108. The interrupt management mechanism 109 for multiprocessors can associate one interrupt cause with a plurality of CPUs. Among the plurality of CPUs associated with the interrupt factor, the CPU that receives the interrupt the earliest processes the interrupt, and the interrupt request to the other CPUs is cancelled.

図2を用いて、本実施の形態に係る情報処理装置100の機能構成について説明する。
情報処理装置100は、複数のCPUであるCPU201、CPU202、CPU203、およびCPU204を、マルチプロセッサとして備えるコンピュータである。情報処理装置100は、機能構成として、CPUスイッチ211、LHP抑制部212、記憶部220、第1実行部25、および第2実行部26を備える。記憶部220には、ロックテーブル219、CPU番号141、移譲先CPU番号142、および割込み番号144が記憶されている。記憶部220は、メモリにより実現される。
The functional configuration of the information processing apparatus 100 according to the present embodiment will be described using FIG.
The information processing apparatus 100 is a computer including a plurality of CPUs 201, 202, 203, and 204, which are a plurality of CPUs, as a multiprocessor. The information processing apparatus 100 includes a CPU switch 211, an LHP suppression unit 212, a storage unit 220, a first execution unit 25, and a second execution unit 26 as a functional configuration. The storage unit 220 stores a lock table 219, a CPU number 141, a transfer destination CPU number 142, and an interrupt number 144. The storage unit 220 is realized by a memory.

図2において、CPU201、CPU202、CPU203、およびCPU204の各々は、図1のCPU101、CPU102、CPU103、およびCPU104の各々に対応している。以下において、CPU201、CPU202、CPU203、およびCPU204をCPU201〜204と記載する場合がある。   In FIG. 2, each of a CPU 201, a CPU 202, a CPU 203 and a CPU 204 corresponds to each of the CPU 101, the CPU 102, the CPU 103 and the CPU 104 in FIG. 1. Hereinafter, the CPU 201, the CPU 202, the CPU 203, and the CPU 204 may be described as the CPUs 201 to 204.

第1実行部25は、複数のCPUのいずれかのCPUを実行CPU31として用いてGPOS205を実行する。また、第1実行部25は、実行CPU31がGPOS205の実行に用いられていることを表すロックを獲得した上でGPOS205を実行する。すなわち、GPOS205は、CPU201〜204上で動作する。GPOS205は、汎用OSである第1のOS205xの例である。
CTX207、CTX208、CTX209、およびCTX210は、それぞれCPU201〜204上で動作するGPOS205のコンテキストである。
第2実行部26は、複数のCPUのいずれかのCPUを用いてRTOS206を実行する。すなわち、RTOS206は、CPU201〜204上で動作する。RTOS206は、リアルタイムOSである第2のOS206xの例である。
The first execution unit 25 executes the GPOS 205 using any one of a plurality of CPUs as the execution CPU 31. In addition, the first execution unit 25 executes the GPOS 205 after acquiring a lock indicating that the execution CPU 31 is used for the execution of the GPOS 205. That is, the GPOS 205 operates on the CPUs 201 to 204. The GPOS 205 is an example of the first OS 205 x which is a general-purpose OS.
CTX 207, CTX 208, CTX 209, and CTX 210 are contexts of GPOS 205 operating on CPUs 201-204, respectively.
The second execution unit 26 executes the RTOS 206 using any one of a plurality of CPUs. That is, the RTOS 206 operates on the CPUs 201 to 204. The RTOS 206 is an example of a second OS 206x that is a real time OS.

ロックテーブル219は、複数のCPUの各々と、ロックが獲得されているか否かを表すロック情報190とを対応付ける。
ロックテーブル219は、CPU番号191と、ロックカウンタ192とを有する。ロックカウンタ192は、対応するCPUについてロックが獲得されているか否かを表すロック情報190の例である。CPU番号191は、複数のCPUの各々に割り当てられた番号である。ロックカウンタ192は、第1実行部25により、対応するCPUについてクリティカルセクションを保護するためのロックを獲得した場合にインクリメントされる。また、ロックカウンタ192は、第1実行部25により、対応するCPUについてロックを解放、すなわちアンロックした場合にデクリメントされる。
The lock table 219 associates each of a plurality of CPUs with lock information 190 indicating whether a lock has been acquired.
The lock table 219 has a CPU number 191 and a lock counter 192. The lock counter 192 is an example of the lock information 190 indicating whether the lock is acquired for the corresponding CPU. The CPU number 191 is a number assigned to each of a plurality of CPUs. The lock counter 192 is incremented by the first execution unit 25 when the lock for protecting the critical section is acquired for the corresponding CPU. The lock counter 192 is decremented by the first execution unit 25 when the lock is released, ie, unlocked, for the corresponding CPU.

CPUスイッチ211は、LHP抑制部212の指示に基づいて、RTOS206を実行するCPUをCPU201〜204のうちのいずれかに切替える。   The CPU switch 211 switches the CPU executing the RTOS 206 to one of the CPUs 201 to 204 based on an instruction of the LHP suppressing unit 212.

LHP抑制部212は、RTOS206をアイドル状態から実行状態へ遷移させる場合に、RTOS206を実行するCPUを選択する。
LHP抑制部212は、確認部213と、選定部214と、要求送信部215と、応答部28と、実行準備部218とを有する。応答部28は、要求受信部216と、確認応答部217とを有する。
確認部213は、ロックテーブル219を参照し、自CPUのロックカウンタ192を確認する。確認部213は、ロック状態確認部ともいう。
選定部214は、CPUごとのロックカウンタ192に基づいて、RTOS206の実行を移譲する先のCPUを選択する。RTOS206の実行を移譲する先のCPUを移譲先CPU33ともいう。選定部214は、移譲先CPU選定部ともいう。
要求送信部215は、選定部214により選定された移譲先CPU33にRTOS206の実行の移譲を要求する移譲要求151を送信する。
確認部213と、選定部214と、要求送信部215とは、移譲元CPU32で動作する。
The LHP suppressing unit 212 selects a CPU that executes the RTOS 206 when transitioning the RTOS 206 from the idle state to the execution state.
The LHP suppression unit 212 includes a confirmation unit 213, a selection unit 214, a request transmission unit 215, a response unit 28, and an execution preparation unit 218. The response unit 28 includes a request reception unit 216 and a confirmation response unit 217.
The confirmation unit 213 refers to the lock table 219 and confirms the lock counter 192 of its own CPU. The confirmation unit 213 is also referred to as a lock state confirmation unit.
The selection unit 214 selects a CPU to which the execution of the RTOS 206 is to be transferred based on the lock counter 192 for each CPU. The CPU to which the execution of the RTOS 206 is transferred is also referred to as a transfer destination CPU 33. The selection unit 214 is also referred to as a transfer destination CPU selection unit.
The request transmission unit 215 transmits a transfer request 151 requesting transfer of the execution of the RTOS 206 to the transfer destination CPU 33 selected by the selection unit 214.
The confirmation unit 213, the selection unit 214, and the request transmission unit 215 operate in the transfer source CPU 32.

応答部28は、要求送信部215から移譲要求151を受信すると、移譲先CPU33についてロックが獲得されているかを確認し、確認応答を要求送信部215に送信する。応答部28の要求受信部216は、要求送信部215から送信された移譲要求151を受信する。応答部28の確認応答部217は、ロックテーブル219を参照し、自CPUのロックカウンタ192を確認し、その確認の結果を要求受信部216へ送信する。そして、応答部28の要求受信部216は、確認応答を要求送信部215に送信する。
実行準備部218は、自CPU上でRTOS206を実行する準備を行う。実行準備部218は、CPUスイッチ211に対して、RTOS206を実行するCPUを移譲先CPU33に切替える指示を送信する。
要求受信部216と、確認応答部217と、実行準備部218とは、移譲先CPU33で動作する。
When receiving the transfer request 151 from the request transmission unit 215, the response unit 28 confirms whether the lock is acquired for the transfer destination CPU 33, and transmits a confirmation response to the request transmission unit 215. The request reception unit 216 of the response unit 28 receives the transfer request 151 transmitted from the request transmission unit 215. The confirmation response unit 217 of the response unit 28 refers to the lock table 219, confirms the lock counter 192 of its own CPU, and transmits the result of the confirmation to the request reception unit 216. Then, the request reception unit 216 of the response unit 28 transmits a confirmation response to the request transmission unit 215.
The execution preparation unit 218 prepares to execute the RTOS 206 on its own CPU. The execution preparation unit 218 transmits, to the CPU switch 211, an instruction to switch the CPU executing the RTOS 206 to the transfer destination CPU 33.
The request reception unit 216, the confirmation response unit 217, and the execution preparation unit 218 operate in the transfer destination CPU 33.

図1および図2を用いて、本実施の形態に係る情報処理装置100のハードウェア構成についてさらに説明する。
上述したように、情報処理装置100は、複数のCPUであるCPU201、CPU202、CPU203、およびCPU204を、マルチプロセッサとして備えるコンピュータである。
CPUは、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。CPUは、演算処理を行うIC(Integrated Circuit)である。情報処理装置100では、複数のCPUが、情報処理装置100の各部の機能を実現するプログラムを連携して実行する。
The hardware configuration of the information processing apparatus 100 according to the present embodiment will be further described using FIGS. 1 and 2.
As described above, the information processing apparatus 100 is a computer including a plurality of CPUs 201, 202, 203, and 204, which are CPUs, as a multiprocessor.
The CPU is connected to other hardware via signal lines to control these other hardware. The CPU is an IC (Integrated Circuit) that performs arithmetic processing. In the information processing apparatus 100, a plurality of CPUs cooperate and execute programs for realizing the functions of the respective units of the information processing apparatus 100.

メモリ106は、データを一時的に記憶する記憶装置である。メモリ106の具体例は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。   The memory 106 is a storage device that temporarily stores data. Specific examples of the memory 106 are a static random access memory (SRAM) and a dynamic random access memory (DRAM).

ストレージ110は、データを保管する記憶装置である。ストレージ110の具体例は、HDD(Hard Disk Drive)である。また、ストレージ110は、SD(登録商標)(Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体であってもよい。   The storage 110 is a storage device for storing data. A specific example of the storage 110 is an HDD (Hard Disk Drive). In addition, the storage 110 is a portable memory such as a SD (Secure Digital) memory card, a CF (Compact Flash), a NAND flash, a flexible disc, an optical disc, a compact disc, a Blu-ray (registered trademark) disc, and a DVD (Digital Versatile Disc). It may be a storage medium.

ストレージ110には、情報処理装置100の機能を実現するプログラムが記憶されている。情報処理装置100の機能を実現するプログラムを情報処理プログラム620ともいう。また、情報処理装置100の機能を実現する方法を情報処理方法610ともいう。   The storage 110 stores a program for realizing the function of the information processing apparatus 100. A program for realizing the function of the information processing apparatus 100 is also referred to as an information processing program 620. Further, a method for realizing the function of the information processing apparatus 100 is also referred to as an information processing method 610.

情報処理装置100の各部の処理の結果を示す情報、データ、信号値、および変数値は、情報処理装置100のストレージ110、メモリ106、または、CPU内のレジスタまたはキャッシュメモリに記憶される。   Information, data, signal values, and variable values indicating the results of processing of each unit of the information processing apparatus 100 are stored in the storage 110 of the information processing apparatus 100, the memory 106, or a register or cache memory in the CPU.

情報処理装置100の各部の機能を実現するプログラムは、可搬記録媒体に記憶されてもよい。可搬記録媒体とは、具体的には、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disc)、あるいはSD(登録商標)カードといったメモリカードである。
なお、情報処理プログラムプロダクトとは、情報処理プログラム620が記録された記憶媒体および記憶装置である。
The program for realizing the function of each part of the information processing apparatus 100 may be stored in a portable recording medium. The portable recording medium is specifically a memory card such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, a DVD (Digital Versatile Disc), or an SD (registered trademark) card.
The information processing program product is a storage medium and a storage device in which the information processing program 620 is recorded.

***動作の説明***
図3を用いて、本実施の形態に係るロック獲得処理S30について説明する。ロック獲得処理S30は、第1実行部25が、GPOS205の実行に用いる実行CPUについて、クリティカルセクションを保護するためのロックを獲得する処理である。
ステップS301において、第1実行部25は、ロックテーブル219から自CPUである実行CPUのロックカウンタ192を選択する。ステップS302において、第1実行部25は、選択したロックカウンタ192をインクリメント、すなわち1加算する。ステップS303において、第1実行部25は、通常のロック獲得処理を実行する。
*** Description of operation ***
The lock acquisition processing S30 according to the present embodiment will be described with reference to FIG. The lock acquisition process S30 is a process in which the first execution unit 25 acquires a lock for protecting a critical section for an execution CPU used to execute the GPOS 205.
In step S301, the first execution unit 25 selects, from the lock table 219, the lock counter 192 of the execution CPU that is its own CPU. In step S302, the first execution unit 25 increments the selected lock counter 192, that is, adds one. In step S303, the first execution unit 25 executes a normal lock acquisition process.

図4を用いて、本実施の形態に係るロック解放処理S40について説明する。ロック解放処理S40は、第1実行部25が、GPOS205の実行に用いる実行CPUについて、ロックを解放する処理である。
ステップS401において、第1実行部25は、通常のロック解放処理を実行する。ステップS402において、第1実行部25は、ロックテーブル219から自CPUである実行CPUのロックカウンタを選択する。ステップS403において、第1実行部25は、選択したロックカウンタをデクリメント、すなわち1減算する。
The lock release processing S40 according to the present embodiment will be described with reference to FIG. The lock release process S40 is a process in which the first execution unit 25 releases the lock for the execution CPU used to execute the GPOS 205.
In step S401, the first execution unit 25 executes a normal lock release process. In step S402, the first execution unit 25 selects, from the lock table 219, the lock counter of the execution CPU that is its own CPU. In step S403, the first execution unit 25 decrements the selected lock counter, that is, subtracts one.

図5から図11を用いて、本実施の形態に係るLHP抑制部212のLHP抑制処理について説明する。LHP抑制処理は、RTOS206に関連付けられた割込み処理が発生した場合のLHP抑制部212の動作である。RTOS206に関連付けられた割込み処理とは、RTOS206を実行する割込み処理である。LHP抑制処理は、移譲元CPU処理S50と、移譲先CPU処理S60とを有する。   The LHP suppression processing of the LHP suppression unit 212 according to the present embodiment will be described using FIGS. 5 to 11. The LHP suppression process is an operation of the LHP suppression unit 212 when an interrupt process associated with the RTOS 206 occurs. The interrupt process associated with the RTOS 206 is an interrupt process that executes the RTOS 206. The LHP suppression process has a transfer source CPU process S50 and a transfer destination CPU process S60.

<移譲元CPU処理S50>
図5を用いて、本実施の形態に係る移譲元CPU処理S50について説明する。
ここで、移譲元CPU32とは、割込み処理を受け付けた実行CPUである。
<Transfer source CPU processing S50>
The transfer source CPU processing S50 according to the present embodiment will be described using FIG.
Here, the transfer source CPU 32 is an execution CPU that has accepted the interrupt processing.

まず、ステップS501aにおいて、移譲元CPU32の確認部213は、割込み処理を受け付けた時点で移譲元CPU32がRTOS206を実行しているか否かを判定する。移譲元CPU32がRTOS206を実行していない場合、処理はステップS501に進む。移譲元CPU32がRTOS206を実行している場合、処理はステップS508に進む。
すなわち、移譲元CPU32の確認部213は、割込み処理が発生すると、実行CPUである移譲元CPU32についてロックが獲得されているかを確認する前に、第2実行部26が第2のOS206xであるRTOS206を実行しているか否かを判定する。第2実行部26は、確認部213によりRTOS206を実行していると判定された場合は、RTOS206の実行を継続する。
First, in step S501a, the confirmation unit 213 of the transfer source CPU 32 determines whether the transfer source CPU 32 is executing the RTOS 206 when accepting the interrupt processing. If the transfer source CPU 32 has not executed the RTOS 206, the process proceeds to step S501. If the transfer source CPU 32 is executing the RTOS 206, the process proceeds to step S508.
That is, the RTOS 206 whose second execution unit 26 is the second OS 206x before the confirmation unit 213 of the transfer source CPU 32 confirms that the lock is acquired for the transfer source CPU 32 that is the execution CPU when the interrupt processing occurs. To determine if it is running. If the checking unit 213 determines that the RTOS 206 is being executed, the second executing unit 26 continues the execution of the RTOS 206.

ステップS501において、移譲元CPU32の確認部213は、移譲元CPU32のロック状態を確認する確認処理S51を実行する。   In step S501, the confirmation unit 213 of the transfer source CPU 32 executes a confirmation process S51 of confirming the lock state of the transfer source CPU 32.

図6を用いて、本実施の形態に係る確認処理S51について説明する。確認処理S51において、確認部213は、RTOS206を実行する割込み処理が発生すると、実行CPU、すなわち移譲元CPU32である自CPUについてロックが獲得されているかを確認する。確認部213は、ロックテーブル219を用いて、実行CPUに対応するロック情報190を参照し、実行CPUについてロックが獲得されているかを確認する。   The confirmation process S51 according to the present embodiment will be described using FIG. In the confirmation process S51, when the interrupt process for executing the RTOS 206 occurs, the confirmation unit 213 confirms whether the lock is acquired for the execution CPU, that is, the own CPU that is the transfer source CPU 32. The confirmation unit 213 refers to the lock information 190 corresponding to the execution CPU using the lock table 219 to confirm whether the lock is acquired for the execution CPU.

ステップS701において、確認部213は、ロックテーブル219から自CPUのロックカウンタを選択する。ステップS702において、確認部213は、ロックカウンタがゼロかゼロ以外かを確認する。ロックカウンタがゼロ以外の場合は、確認部213は、ステップS703に進み、自CPUがロックを獲得していると判断する。ロックカウンタがゼロの場合は、確認部213は、ステップS704に進み、自CPUがロックを獲得していないと判断する。以上で、確認処理S51は終了する。   In step S 701, the confirmation unit 213 selects the lock counter of its own CPU from the lock table 219. In step S702, the confirmation unit 213 confirms whether the lock counter is zero or not. If the lock counter is not zero, the confirmation unit 213 proceeds to step S703 and determines that the own CPU has acquired a lock. If the lock counter is zero, the confirmation unit 213 proceeds to step S704 and determines that the own CPU has not acquired the lock. This is the end of the confirmation process S51.

図5に戻り説明を続ける。
ステップS502において、確認部213は、自CPUがロックを獲得しているか獲得していないかを確認する。自CPUがロックを獲得している場合、ステップS503において、選定部214は選定処理S52を実行する。自CPUがロックを獲得していない場合、移譲が不要であることを意味するので、ステップS508において、第2実行部26は、自CPU上で、RTOS206を実行する第2実行処理S2を実行する。
Returning to FIG. 5, the explanation will be continued.
In step S502, the confirmation unit 213 confirms whether or not the own CPU has acquired the lock. If the own CPU has acquired the lock, the selection unit 214 executes selection processing S52 in step S503. If the own CPU does not acquire the lock, it means that the transfer is not necessary. Therefore, in step S508, the second execution unit 26 executes the second execution process S2 for executing the RTOS 206 on the own CPU. .

図7を用いて、本実施の形態に係る選定処理S52について説明する。
選定処理S52において、選定部214は、実行CPUについてロックが獲得されている場合に、RTOS206の実行を移譲する先のCPUを移譲先CPU33として複数のCPUから選定する。選定部214は、ロックテーブル219を用いて、複数のCPUのうちロックが獲得されていないCPUを移譲先CPU33として選定する。
The selection process S52 according to the present embodiment will be described with reference to FIG.
In the selection process S52, when the lock is acquired for the execution CPU, the selection unit 214 selects the CPU to which the execution of the RTOS 206 is to be transferred from the plurality of CPUs as the transfer destination CPU 33. The selection unit 214 uses the lock table 219 to select a CPU for which the lock has not been acquired among the plurality of CPUs as the transfer destination CPU 33.

ステップS901において、選定部214は、ロックテーブル219を参照するために使用するCPU番号141をゼロに初期化する。ステップS902において、選定部214は、移譲先のCPU番号を格納する移譲先CPU番号142を、システム内に搭載されたCPU番号の最大値である最大CPU番号に1を加算した値で初期化する。
ステップS903において、選定部214は、CPU番号が自CPU番号と等しいか異なるかを確認する。異なる場合は、選定部214は、ステップS904に進み、ロックテーブル219からCPU番号141に対応するロックカウンタ192を選択する。CPU番号141が自CPU番号と等しい場合は、選定部214は、ステップS907に進む。
ステップS905において、選定部214は、選択したロックカウンタ192がゼロかゼロ以外かを確認する。ゼロの場合は、選定部214は、ロックを獲得していないと判断し、ステップS906に進み、移譲先CPU番号142へCPU番号141を設定する。ゼロ以外の場合は、選定部214は、ステップS907へ進む。
ステップS907において、選定部214は、次のCPUを参照するため、CPU番号141に1加算する。ステップS908において、選定部214は、CPU番号141が最大CPU番号以下か、超えているかを確認する。CPU番号141が最大CPU番号以下の場合、選定部214は、ステップS903へ戻り、ロックテーブル219の確認を継続する。CPU番号141が最大CPU番号を超えている場合、選定部214は、ステップS909に進み、移譲先CPU番号142が最大CPU番号を超えているか、それ以下かを確認する。移譲先CPU番号が最大CPU番号を超えている場合、選定部214は、移譲先CPU33が見つからなかったと判断し、ステップS910に進み、移譲先CPU番号142に自CPU番号を設定する。移譲先CPU番号が最大CPU番号以下の場合、選定部214は、処理を終了する。
In step S 901, the selection unit 214 initializes the CPU number 141 used to reference the lock table 219 to zero. In step S902, the selection unit 214 initializes the transfer destination CPU number 142 storing the transfer destination CPU number to a value obtained by adding 1 to the maximum CPU number which is the maximum value of the CPU numbers installed in the system. .
In step S903, the selection unit 214 confirms whether the CPU number is equal to or different from the own CPU number. If not, the selection unit 214 proceeds to step S 904 and selects the lock counter 192 corresponding to the CPU number 141 from the lock table 219. If the CPU number 141 is equal to the own CPU number, the selection unit 214 proceeds to step S 907.
In step S 905, the selection unit 214 confirms whether the selected lock counter 192 is zero or not. In the case of zero, the selecting unit 214 determines that the lock has not been acquired, and proceeds to step S 906 to set the CPU number 141 in the transfer destination CPU number 142. If it is other than zero, the selection unit 214 proceeds to step S 907.
In step S 907, the selection unit 214 adds 1 to the CPU number 141 in order to refer to the next CPU. In step S 908, the selection unit 214 checks whether the CPU number 141 is less than or greater than the maximum CPU number. If the CPU number 141 is less than or equal to the maximum CPU number, the selection unit 214 returns to step S 903 and continues checking the lock table 219. If the CPU number 141 exceeds the maximum CPU number, the selection unit 214 proceeds to step S 909, and checks whether or not the transfer destination CPU number 142 exceeds the maximum CPU number. If the transfer destination CPU number exceeds the maximum CPU number, the selection unit 214 determines that the transfer destination CPU 33 has not been found, and proceeds to step S 910 to set the own CPU number in the transfer destination CPU number 142. If the transfer destination CPU number is less than or equal to the maximum CPU number, the selection unit 214 ends the process.

図5に戻り説明を続ける。
ステップS504において、選定部214は、選定処理S52により選定された移譲先CPU33が自CPUと等しいか異なるかを判断する。移譲先CPU33が自CPUと等しい場合、移譲が不要であることを意味する。よって、ステップS508において、第2実行部26は、自CPU上でRTOS206を実行する。移譲先CPU33が自CPUと異なる場合、ステップS505において、要求送信部215は、要求送信処理S53を実行し、移譲先CPU33に対してRTOS206の実行を要求する移譲要求151を送信する。
Returning to FIG. 5, the explanation will be continued.
In step S504, the selection unit 214 determines whether the transfer destination CPU 33 selected in the selection process S52 is equal to or different from its own CPU. If the transfer destination CPU 33 is equal to its own CPU, it means that no transfer is necessary. Therefore, in step S508, the second execution unit 26 executes the RTOS 206 on its own CPU. When the transfer destination CPU 33 is different from the own CPU, in step S505, the request transmission unit 215 executes the request transmission process S53, and transmits the transfer request 151 requesting the execution of the RTOS 206 to the transfer destination CPU 33.

図8を用いて、本実施の形態に係る要求送信処理S53について説明する。要求送信処理S53において、要求送信部215は、選定部214により選定された移譲先CPU33にRTOS206の実行の移譲を要求する移譲要求151を送信する。
ステップS111において、要求送信部215は、CPU間通信を用いて移譲先CPU33へ移譲要求151を送信する。ステップS112において、要求送信部215は、移譲先CPU33からの確認応答を受信したか受信していないかを確認する。受信していない場合は、要求送信部215は、移譲先CPU33からの確認応答を受信したかの確認を繰り返す。受信した場合は、移譲要求送信部215は、処理を終了する。
The request transmission process S53 according to the present embodiment will be described with reference to FIG. In request transmission processing S53, the request transmission unit 215 transmits a transfer request 151 for requesting transfer of the execution of the RTOS 206 to the transfer destination CPU 33 selected by the selection unit 214.
In step S111, the request transmission unit 215 transmits the transfer request 151 to the transfer destination CPU 33 using inter-CPU communication. In step S112, the request transmission unit 215 confirms whether the confirmation response from the transfer destination CPU 33 has been received or not. If not received, the request transmission unit 215 repeats the confirmation as to whether the confirmation response from the transfer destination CPU 33 has been received. When the transfer request is received, the transfer request transmission unit 215 ends the process.

図5に戻り説明を続ける。
ステップS506において、要求送信部215は、移譲先CPUからの確認応答を確認する。確認応答が移譲可能であれば、ステップS507において、第1実行部25は、GPOS205を実行する第1実行処理S1実行する。確認応答が移譲不可であれば、ステップS503に戻り、選定部214は、選定処理S52の実行から処理を繰り返す。
すなわち、第1実行部25は、要求送信部215が、応答部28から移譲先CPU33についてロックが獲得されていないことを表す確認応答を受信すると、GPOS205の実行を継続する。また、選定部214は、要求送信部215が、応答部28から、移譲先CPU33についてロックが獲得されていることを表す確認応答を受信すると、複数のCPUから移譲先CPUを選定し直す。
移譲先CPU33についてロックが獲得されていないことを表す確認応答とは、確認応答が移譲可能であることを意味する。また、移譲先CPU33についてロックが獲得されていることを表す確認応答とは、確認応答が移譲不可であることを意味する。
以上で、移譲元CPU処理S50についての説明を終わる。
Returning to FIG. 5, the explanation will be continued.
In step S506, the request transmission unit 215 confirms the confirmation response from the transfer destination CPU. If the confirmation response can be transferred, in step S507, the first execution unit 25 executes the first execution process S1 of executing the GPOS 205. If the confirmation response is not transferable, the process returns to step S503, and the selection unit 214 repeats the process from the execution of the selection process S52.
That is, when the request transmission unit 215 receives a confirmation response indicating that the lock has not been acquired for the transfer destination CPU 33 from the response unit 28, the first execution unit 25 continues the execution of the GPOS 205. Further, when the request transmission unit 215 receives from the response unit 28 a confirmation response indicating that the lock is acquired for the transfer destination CPU 33, the selection unit 214 reselects the transfer destination CPU from the plurality of CPUs.
The confirmation response indicating that the lock has not been acquired for the transfer destination CPU 33 means that the confirmation response can be transferred. Further, the confirmation response indicating that the lock is acquired for the transfer destination CPU 33 means that the confirmation response can not be transferred.
This is the end of the description of the transfer source CPU process S50.

<移譲先CPU処理S60>
図9を用いて、本実施の形態に係る移譲先CPU処理S60について説明する。
ステップS601において、移譲先CPU33の要求受信部216は、移譲元CPU32から送信された移譲要求151を受信する。
ステップS602において、確認応答部217は、確認応答処理S61を実行する。
<Transfer destination CPU process S60>
The transfer destination CPU process S60 according to the present embodiment will be described with reference to FIG.
In step S601, the request reception unit 216 of the transfer destination CPU 33 receives the transfer request 151 transmitted from the transfer source CPU 32.
In step S602, the confirmation response unit 217 executes confirmation response processing S61.

図10を用いて、本実施の形態に係る確認応答処理S61について説明する。
確認応答処理S61において、確認応答部217は、移譲先CPU33である自CPUがロックを獲得しているかを確認する。
ステップS801において、確認応答部217は、ロックテーブル219から自CPUのロックカウンタ192を選択する。ステップS802において、確認応答部217は、ロックカウンタ192がゼロかゼロ以外かを確認する。
ロックカウンタ192がゼロ以外の場合は、ステップS803において、確認応答部217は、自CPUがロックを獲得していると判断する。そして、ステップS804において、確認応答部217は、確認応答を移譲不可に設定する。
ロックカウンタ192がゼロの場合は、ステップS805において、確認応答部217は、自CPUがロックを獲得していないと判断する。そして、ステップS806において、確認応答部217は、確認応答を移譲可能に設定する。
ステップS808において、確認応答部217は、確認応答を移譲元CPU32へ送信する。確認応答部217は、確認応答処理S61を終了する。
The confirmation response process S61 according to the present embodiment will be described using FIG.
In the confirmation response process S61, the confirmation response unit 217 confirms whether or not the own CPU as the transfer destination CPU 33 has acquired the lock.
In step S801, the confirmation response unit 217 selects the lock counter 192 of its own CPU from the lock table 219. In step S802, the confirmation response unit 217 confirms whether the lock counter 192 is zero or not.
If the lock counter 192 is not zero, in step S803, the confirmation response unit 217 determines that its own CPU has acquired the lock. Then, in step S804, the confirmation response unit 217 sets the confirmation response as nontransferable.
When the lock counter 192 is zero, in step S805, the confirmation response unit 217 determines that the own CPU has not acquired the lock. Then, in step S806, the confirmation response unit 217 sets the confirmation response to be transferable.
In step S 808, the confirmation response unit 217 transmits a confirmation response to the transfer source CPU 32. The confirmation response unit 217 ends the confirmation response process S61.

図9に戻り説明を続ける。
ステップS603において、確認応答部217は、自CPUがロックを獲得しているか獲得していないかを確認する。自CPUがロックを獲得していない場合、ステップS604において、実行準備部218は、実行準備処理S62を実行する。自CPUがロックを獲得している場合、移譲が不可であるため、ステップS607において、第1実行部25は、自CPU上でGPOS205の実行をする第1実行処理S1を継続する。そして、実行準備部218は、移譲先CPU処理S60を終了する。
Returning to FIG. 9, the description will be continued.
In step S603, the confirmation response unit 217 confirms whether or not the own CPU has acquired the lock. If the own CPU has not acquired the lock, in step S604, the execution preparation unit 218 executes the execution preparation process S62. If the own CPU has acquired the lock, the transfer is not possible, so the first execution unit 25 continues the first execution process S1 of executing the GPOS 205 on the own CPU in step S607. Then, the execution preparation unit 218 ends the transfer destination CPU process S60.

図11を用いて、本実施の形態に係る実行準備処理S62について説明する。
実行準備処理S62において、実行準備部218は、RTOS206に関連付けられた割込み要因による割込み処理を、移譲先CPU33である自CPUに対して関連付ける。
ステップS101において、実行準備部218は、割込み要因を選択するための割込み番号144をゼロに初期化する。
ステップS102において、実行準備部218は、割込み番号144が示す割込み要因が関連付けられた宛先CPUを割込み宛先CPUとして割込み管理機構109から読み出す。
ステップS103において、実行準備部218は、読み出した割込み宛先CPUに移譲元CPU32が含まれるか、含まれないかを確認する。含まれない場合は、実行準備部218は、次の割込み要因を確認するためステップS107に進む。含まれている場合は、ステップS104において、実行準備部218は、割込み宛先CPUに移譲先CPU33が含まれるか、含まれないかを確認する。含まれる場合は、実行準備部218は、次の割込み要因を確認するためステップS107に進む。含まれない場合は、ステップS105において、実行準備部218は、割込み宛先CPUから移譲元CPU32を削除する。また、ステップS106において、実行準備部218は、割込み宛先CPUへ移譲先CPU33を追加する。
ステップS107において、実行準備部218は、次の割込み要因を選択するため、割込み番号144をインクリメントする。
ステップS108において、実行準備部218は、割込み番号144が最大割込み番号以下か、超えているかを確認する。最大割込み番号以下の場合は、実行準備部218は、ステップS102からの処理を繰り返す。最大割込み番号を超えている場合は、実行準備部218は、実行準備処理S62を終了する。
The execution preparation process S62 according to the present embodiment will be described using FIG.
In the execution preparation process S62, the execution preparation unit 218 associates the interrupt process by the interrupt cause associated with the RTOS 206 with the own CPU that is the transfer destination CPU 33.
In step S101, the execution preparation unit 218 initializes an interrupt number 144 for selecting an interrupt cause to zero.
In step S102, the execution preparation unit 218 reads from the interrupt management mechanism 109 the destination CPU associated with the interrupt cause indicated by the interrupt number 144 as the interrupt destination CPU.
In step S103, the execution preparation unit 218 confirms whether or not the transfer source CPU 32 is included in the read out interrupt destination CPU. If not included, the execution preparation unit 218 proceeds to step S107 in order to confirm the next interrupt factor. If it is included, in step S104, the execution preparation unit 218 checks whether the transfer destination CPU 33 includes or does not include the transfer destination CPU 33. If it is included, the execution preparation unit 218 proceeds to step S107 in order to confirm the next interrupt factor. If not included, the execution preparation unit 218 deletes the transfer source CPU 32 from the interrupt destination CPU in step S105. In addition, in step S106, the execution preparation unit 218 adds the transfer destination CPU 33 to the interrupt destination CPU.
In step S107, the execution preparation unit 218 increments the interrupt number 144 in order to select the next interrupt factor.
In step S108, the execution preparation unit 218 confirms whether the interrupt number 144 is less than or greater than the maximum interrupt number. If it is less than or equal to the maximum interrupt number, the execution preparation unit 218 repeats the process from step S102. If the maximum interrupt number is exceeded, the execution preparation unit 218 ends the execution preparation process S62.

図9に戻り説明を続ける。
ステップS605において、CPUスイッチ211は、RTOS206を実行するCPUを移譲先CPU33へ切替える。
ステップS606において、第2実行部26は、移譲先CPU33においてRTOS206を実行する第2実行処理S2を実行する。
Returning to FIG. 9, the description will be continued.
In step S605, the CPU switch 211 switches the CPU executing the RTOS 206 to the transfer destination CPU 33.
In step S606, the second execution unit 26 executes a second execution process S2 for executing the RTOS 206 in the transfer destination CPU 33.

***他の構成***
本実施の形態では、LHP抑制部の機能がソフトウェアで実現される。しかし、変形例として、LHP抑制部一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
*** Other configuration ***
In the present embodiment, the function of the LHP suppressing unit is realized by software. However, as a modification, some functions of the LHP suppressing unit may be realized by dedicated hardware, and the remaining functions may be realized by software.

情報処理装置100のCPUおよび記憶部を、総称して「プロセッシングサーキットリ」という。つまり、情報処理装置100のLHP抑制部の機能および記憶部は、プロセッシングサーキットリにより実現される。
また、「部」を「工程」または「手順」または「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。
The CPU and the storage unit of the information processing apparatus 100 are collectively referred to as “processing circuitry”. That is, the function and storage unit of the LHP suppressing unit of the information processing apparatus 100 are realized by processing circuitry.
Also, "part" may be read as "step" or "procedure" or "treatment". Also, the function of "part" may be realized by firmware.

***本実施の形態の効果の説明***
以上のように本実施の形態に係る情報処理装置100によれば、RTOSを実行するCPUとして、GPOSのロックを獲得していないCPUを選択するようにしているので、LHPの発生を抑制することができる。さらに、本実施の形態に係る情報処理装置100によれば、GPOSのロックを獲得していないCPUが存在しない場合は、RTOSを実行するCPUの選定を即時終了し、RTOSの実行を開始することでRTOSの応答性能を保つことができる。
*** Explanation of the effect of the present embodiment ***
As described above, according to the information processing apparatus 100 according to the present embodiment, the CPU that has not acquired the GPOS lock is selected as the CPU that executes the RTOS, so the occurrence of LHP can be suppressed. Can. Furthermore, according to the information processing apparatus 100 according to the present embodiment, when there is no CPU that has not acquired the GPOS lock, the selection of the CPU that executes the RTOS is immediately ended, and the RTOS execution is started. Can maintain the response performance of RTOS.

また、本実施の形態に係る情報処理装置100は、RTOSに関連付けられている割込み処理が発生し、RTOSを実行状態へ遷移する場合、割込み処理を受付けた時点で動作していたOSがRTOSか否かを判定する。割込み処理を受付けた時点で動作していたOSがRTOSである場合は、情報処理装置100は、CPUを移譲せずRTOSを実行するので、RTOSの応答性能を保つことができる。   Further, in the information processing apparatus 100 according to the present embodiment, when the interrupt processing associated with the RTOS occurs and the RTOS is transitioned to the execution state, whether the OS operating at the time of receiving the interrupt processing is the RTOS It is determined whether or not. When the OS operating at the time of receiving the interrupt processing is the RTOS, the information processing apparatus 100 executes the RTOS without transferring the CPU, so the response performance of the RTOS can be maintained.

また、本実施の形態に係る情報処理装置100は、選定部により移譲先CPUが選定され、CPUの移譲を実行している間に、移譲先CPUがGPOSのロックを獲得した場合は、移譲先CPUの選定から再実行する。よって、本実施の形態に係る情報処理装置100によれば、RTOSの応答性能を保ちつつGPOSの性能劣化を防ぐことができる。   In addition, in the information processing apparatus 100 according to the present embodiment, when the transfer destination CPU is selected by the selection unit and transfer of the CPU is executed, the transfer destination CPU acquires the lock of GPOS. Re-execute from selection of CPU. Therefore, according to the information processing apparatus 100 according to the present embodiment, it is possible to prevent the performance degradation of the GPOS while maintaining the response performance of the RTOS.

実施の形態2.
本実施の形態では、主に、実施の形態1と異なる点について説明する。
本実施の形態において、実施の形態1と同様の構成については同一の符号を付し、その説明を省略する場合がある。
Second Embodiment
In the present embodiment, points different from the first embodiment will be mainly described.
In the present embodiment, the same components as those in the first embodiment may be assigned the same reference numerals and descriptions thereof may be omitted.

本実施の形態では、移譲先CPU33を選定する選定処理S52aが、実施の形態1の図7で説明した選定処理S52と異なる。また、本実施の形態では、ロックテーブル219aが、実施の形態1の図2で説明したロックテーブル219と異なる。   In the present embodiment, the selection processing S52a for selecting the transfer destination CPU 33 is different from the selection processing S52 described in FIG. 7 of the first embodiment. Further, in the present embodiment, the lock table 219a is different from the lock table 219 described in FIG. 2 of the first embodiment.

図12を用いて、本実施の形態に係るロックテーブル219aの構成について説明する。
図12に示すように、ロックテーブル219aは、複数のCPUの各々と、ロック情報190と、複数のCPUの各々の優先度193とが対応付けられている。
The configuration of the lock table 219a according to the present embodiment will be described with reference to FIG.
As shown in FIG. 12, in the lock table 219a, each of the plurality of CPUs, the lock information 190, and the priority 193 of each of the plurality of CPUs are associated.

図13を用いて、本実施の形態に係る選定処理S52aについて説明する。
選定処理S52aにおいて、選定部214は、ロックテーブル219aを用いて、ロックが獲得されていないCPUのうち優先度193が最も高いCPUを移譲先CPU33として選定する。
The selection process S52a according to the present embodiment will be described with reference to FIG.
In the selection process S52a, the selection unit 214 uses the lock table 219a to select the CPU with the highest priority 193 as the transfer destination CPU 33 among the CPUs for which the lock has not been acquired.

ステップS901aにおいて、選定部214は、ロックテーブル219aを参照するために使用するCPU番号141と設定CPU番号145と設定優先度146とをゼロに初期化する。
ステップS902からステップS905までの処理は、実施の形態1の図7と同様である。ステップS905において、選定部214は、選択したロックカウンタ192がゼロかゼロ以外かを確認する。ゼロの場合は、選定部214は、ロックを獲得していないと判断し、ステップS905aに進む。ゼロ以外の場合は、選定部214は、ステップS907へ進む。
In step S901a, the selection unit 214 initializes the CPU number 141 used to reference the lock table 219a, the setting CPU number 145, and the setting priority 146 to zero.
The process from step S902 to step S905 is the same as that of FIG. 7 of the first embodiment. In step S 905, the selection unit 214 confirms whether the selected lock counter 192 is zero or not. If it is zero, the selecting unit 214 determines that the lock has not been acquired, and the process advances to step S 905 a. If it is other than zero, the selection unit 214 proceeds to step S 907.

ステップS905aにおいて、選定部214は、設定優先度146と、ロックテーブル219a内のCPU番号141の優先度193とを比較する。優先度193が設定優先度146以上の場合、ステップS906aに進む。優先度193が設定優先度146未満の場合、ステップS907に進む。
ステップS906aにおいて、選定部214は、移譲先CPU番号142と設定CPU番号145とにCPU番号141を設定する。また、選定部214は、設定優先度146にロックテーブル219a内のCPU番号141の優先度193を設定する。
ステップS907からステップS910までの処理は、実施の形態1の図7と同様である。
In step S905a, the selection unit 214 compares the setting priority 146 with the priority 193 of the CPU number 141 in the lock table 219a. If the priority 193 is equal to or higher than the setting priority 146, the process advances to step S906a. If the priority 193 is less than the setting priority 146, the process proceeds to step S907.
In step S 906 a, the selection unit 214 sets the CPU number 141 in the transfer destination CPU number 142 and the setting CPU number 145. Further, the selection unit 214 sets the priority 193 of the CPU number 141 in the lock table 219 a as the setting priority 146.
The processing from step S 907 to step S 910 is the same as that in FIG. 7 of the first embodiment.

以上のように、本実施の形態に係る情報処理装置100によれば、ロックテーブルにCPUごとの優先度が設定でき、ロックを獲得していないCPUが複数存在した場合は優先度をもとに移譲先CPUが選定される。よって、本実施の形態に係る情報処理装置100によれば、より効率的に移譲先CPUを選定することができる。   As described above, according to the information processing apparatus 100 according to the present embodiment, the priority for each CPU can be set in the lock table, and when there are a plurality of CPUs that have not acquired the lock, based on the priorities. A transfer destination CPU is selected. Therefore, according to the information processing apparatus 100 according to the present embodiment, the transfer destination CPU can be selected more efficiently.

以上、実施の形態1および2について説明した。実施の形態1および2では、情報処理装置100のLHP抑制部の各部が独立した機能ブロックとして情報処理装置100を構成している。しかし、上述した実施の形態のような構成でなくてもよく、情報処理装置100の構成は任意である。情報処理装置100の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、あるいは任意のブロック構成で、情報処理装置100を構成しても構わない。   The first and second embodiments have been described above. In the first and second embodiments, each part of the LHP suppressing unit of the information processing apparatus 100 configures the information processing apparatus 100 as an independent functional block. However, the configuration of the information processing apparatus 100 may be arbitrary as in the above-described embodiment. The functional blocks of the information processing apparatus 100 are arbitrary as long as the functions described in the above-described embodiment can be realized. The information processing apparatus 100 may be configured with these functional blocks in any other combination or arbitrary block configuration.

実施の形態1および2について説明したが、これらの実施の形態のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これらの実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明、その適用物および用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Although the first and second embodiments have been described, a plurality of parts of these embodiments may be combined and implemented. Alternatively, one portion of these embodiments may be implemented. In addition, these embodiments may be implemented in any combination in whole or in part.
The embodiments described above are essentially preferable examples, and are not intended to limit the scope of the present invention, its applications and applications, and various modifications can be made as necessary. .

25 第1実行部、26 第2実行部、28 応答部、31 実行CPU、32 移譲元CPU、33 移譲先CPU、100 情報処理装置、101,102,103,104,201,202,203,204 CPU、105 マルチプロセッサ機構、106 メモリ、107,108 デバイス、109 割込み管理機構、110 ストレージ、141,191 CPU番号、142 移譲先CPU番号、144 割込み番号、145 設定CPU番号、146 設定優先度、151 移譲要求、192 ロックカウンタ、190 ロック情報、193 優先度、205 GPOS、205x 第1のOS、206 RTOS、206x 第2のOS、207,208,209,210 CTX、211 CPUスイッチ、212 LHP抑制部、213 確認部、214 選定部、215 要求送信部、216 要求受信部、217 確認応答部、218 実行準備部、219,219a ロックテーブル、220 記憶部、610 情報処理方法、620 情報処理プログラム、S1 第1実行処理、S2 第2実行処理、S30 ロック獲得処理、S40 ロック解放処理、S50 移譲元CPU処理、S51 確認処理、S52,S52a 選定処理、S53 要求送信処理、S60 移譲先CPU処理、S61 確認応答処理、S62 実行準備処理。   25 first execution unit, 26 second execution unit, 28 response unit, 31 execution CPU, 32 transfer source CPU, 33 transfer destination CPU, 100 information processing apparatus, 101, 102, 103, 104, 201, 202, 203, 204 CPU, 105 multiprocessor mechanism, 106 memory, 107, 108 devices, 109 interrupt management mechanism, 110 storage, 141, 191 CPU number, 142 transfer destination CPU number, 144 interrupt number, 145 setting CPU number, 146 setting priority, 151 Transfer request, 192 lock counter, 190 lock information, 193 priority, 205 GPOS, 205x first OS, 206 RTOS, 206x second OS, 207, 208, 209, 210 CTX, 211 CPU switch, 212 LHP suppressor , 213 Confirmation unit, 214 selection unit, 215 request transmission unit, 216 request reception unit, 217 confirmation response unit, 218 execution preparation unit, 219, 219a lock table, 220 storage unit, 610 information processing method, 620 information processing program, S1 first Execution processing, S2 second execution processing, S30 lock acquisition processing, S40 lock release processing, S50 transfer source CPU processing, S51 confirmation processing, S52, S52a selection processing, S53 request transmission processing, S60 transfer destination CPU processing, S61 acknowledgment processing , S62 Execution preparation processing.

Claims (10)

複数のCPU(Central Processing Unit)をマルチプロセッサとして備え、前記複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOS(Operating system)を実行する第1実行部であって前記実行CPUが前記第1のOSの実行に用いられていることを表すロックを獲得した上で前記第1のOSを実行する第1実行部を備えた情報処理装置において、
第2のOSを実行する割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する確認部と、
前記実行CPUについて前記ロックが獲得されている場合に、前記第2のOSの実行を移譲する先のCPUを移譲先CPUとして前記複数のCPUから選定する選定部と、
前記選定部により選定された前記移譲先CPUに前記第2のOSの実行の移譲を要求する移譲要求を送信する要求送信部と、
前記要求送信部から前記移譲要求を受信すると、前記移譲先CPUについて前記ロックが獲得されているかを確認し、確認応答を前記要求送信部に送信する応答部と
を備え、
前記選定部は、
前記要求送信部が、前記応答部から、前記移譲先CPUについて前記ロックが獲得されていることを表す前記確認応答を受信すると、前記複数のCPUから、前記第2のOSの実行を移譲する先のCPUを前記移譲先CPUとして選定し直し、
前記情報処理装置は、さらに、
前記移譲先CPUに前記第2のOSを実行させる第2実行部を備えた情報処理装置。
A first execution unit that includes a plurality of CPUs (Central Processing Units) as a multi-processor, and uses one of the CPUs as an execution CPU to execute a first OS (Operating system), the execution CPUs An information processing apparatus comprising a first execution unit that executes a first OS after acquiring a lock indicating that the second OS is being used to execute the first OS;
A confirmation unit that confirms whether the lock has been acquired for the execution CPU when an interrupt process for executing the second OS occurs;
A selection unit that selects a CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as a transfer destination CPU when the lock is acquired for the execution CPU;
A request transmission unit that transmits a transfer request for requesting the transfer destination CPU selected by the selection unit to transfer the execution of the second OS;
A response unit that, upon receiving the transfer request from the request transmission unit, confirms whether the lock has been acquired for the transfer destination CPU, and transmits a confirmation response to the request transmission unit;
Equipped with
The selection unit is
When the request transmission unit receives, from the response unit, the confirmation response indicating that the lock has been acquired for the transfer destination CPU, a destination to which the execution of the second OS is transferred from the plurality of CPUs Re-selecting the CPU as the transfer destination CPU,
The information processing apparatus further includes:
An information processing apparatus comprising a second execution unit that causes the transfer destination CPU to execute the second OS.
前記第1実行部は、  The first execution unit is
前記要求送信部が、前記応答部から、前記移譲先CPUについて前記ロックが獲得されていないことを表す前記確認応答を受信すると、前記第1のOSの実行を継続する請求項1に記載の情報処理装置。  The information according to claim 1, wherein the request transmission unit continues execution of the first OS when receiving the confirmation response indicating that the lock has not been acquired for the transfer destination CPU from the response unit. Processing unit.
複数のCPU(Central Processing Unit)をマルチプロセッサとして備え、前記複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOS(Operating system)を実行する第1実行部であって前記実行CPUが前記第1のOSの実行に用いられていることを表すロックを獲得した上で前記第1のOSを実行する第1実行部を備えた情報処理装置において、  A first execution unit that includes a plurality of CPUs (Central Processing Units) as a multi-processor, and uses one of the CPUs as an execution CPU to execute a first OS (Operating system), the execution CPUs An information processing apparatus comprising a first execution unit that executes a first OS after acquiring a lock indicating that the second OS is being used to execute the first OS;
第2のOSを実行する割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する確認部と、  A confirmation unit that confirms whether the lock has been acquired for the execution CPU when an interrupt process for executing the second OS occurs;
前記実行CPUについて前記ロックが獲得されている場合に、前記第2のOSの実行を移譲する先のCPUを移譲先CPUとして前記複数のCPUから選定する選定部と、  A selection unit that selects a CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as a transfer destination CPU when the lock is acquired for the execution CPU;
前記移譲先CPUに前記第2のOSを実行させる第2実行部と  A second execution unit that causes the transfer destination CPU to execute the second OS;
を備え、Equipped with
前記確認部は、  The confirmation unit
前記割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する前に、前記第2実行部が前記第2のOSを実行しているか否かを判定し、前記第2のOSを実行していると判定された場合は、前記選定部による前記移譲先CPUを選定する処理を実行せずに、前記第2実行部による前記第2のOSの実行を継続させることを特徴とする情報処理装置。  When the interrupt process occurs, the second execution unit determines whether the second OS is being executed or not before confirming whether the lock has been acquired for the execution CPU. When it is determined that the OS is being executed, the execution of the second OS by the second execution unit is continued without executing the process of selecting the transfer destination CPU by the selection unit. Information processing apparatus to be.
前記情報処理装置は、
前記複数のCPUの各々と、前記ロックが獲得されているか否かを表すロック情報とを対応付けたロックテーブルを備え、
前記確認部は、
前記ロックテーブルを用いて前記実行CPUに対応する前記ロック情報を参照し、前記実行CPUについて前記ロックが獲得されているかを確認する請求項1から請求項3のいずれか1項に記載の情報処理装置。
The information processing apparatus is
A lock table in which each of the plurality of CPUs is associated with lock information indicating whether or not the lock is acquired;
The confirmation unit
The information processing according to any one of claims 1 to 3, wherein the lock information corresponding to the execution CPU is referred to using the lock table, and it is confirmed whether the lock is acquired for the execution CPU. apparatus.
前記選定部は、
前記ロックテーブルを用いて、前記複数のCPUのうち前記ロックが獲得されていないCPUを前記移譲先CPUとして選定する請求項4に記載の情報処理装置。
The selection unit is
The information processing apparatus according to claim 4, wherein a CPU for which the lock has not been acquired among the plurality of CPUs is selected as the transfer destination CPU using the lock table.
前記ロックテーブルは、前記複数のCPUの各々と、前記ロック情報と、前記複数のCPUの各々の優先度とが対応付けられ、
前記選定部は、
前記ロックテーブルを用いて、前記ロックが獲得されていないCPUのうち前記優先度が最も高いCPUを前記移譲先CPUとして選定する請求項5に記載の情報処理装置。
In the lock table, each of the plurality of CPUs, the lock information, and the priority of each of the plurality of CPUs are associated with each other.
The selection unit is
The information processing apparatus according to claim 5, wherein the CPU having the highest priority among the CPUs for which the lock has not been acquired is selected as the transfer destination CPU using the lock table.
複数のCPU(Central Processing Unit)をマルチプロセッサとして備え、前記複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOS(Operating system)を実行する第1実行部であって前記実行CPUが前記第1のOSの実行に用いられていることを表すロックを獲得した上で前記第1のOSを実行する第1実行部を備えた情報処理装置の情報処理方法において、
確認部が、第2のOSを実行する割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認し、
選定部が、前記実行CPUについて前記ロックが獲得されている場合に、前記第2のOSの実行を移譲する先のCPUを移譲先CPUとして前記複数のCPUから選定し、
要求送信部が、前記選定部により選定された前記移譲先CPUに前記第2のOSの実行の移譲を要求する移譲要求を送信し、
応答部が、前記要求送信部から前記移譲要求を受信すると、前記移譲先CPUについて前記ロックが獲得されているかを確認し、確認応答を前記要求送信部に送信し、
前記選定部は、前記要求送信部が、前記応答部から、前記移譲先CPUについて前記ロックが獲得されていることを表す前記確認応答を受信すると、前記複数のCPUから、前記第2のOSの実行を移譲する先のCPUを前記移譲先CPUとして選定し直し、
第2実行部が、前記移譲先CPUに前記第2のOSを実行させる情報処理方法。
A first execution unit that includes a plurality of CPUs (Central Processing Units) as a multi-processor, and uses one of the CPUs as an execution CPU to execute a first OS (Operating system), the execution CPUs An information processing method of an information processing apparatus, comprising: a first execution unit that executes a first OS after acquiring a lock indicating that the first OS is being used to execute the first OS;
The confirmation unit confirms whether the lock has been acquired for the execution CPU when an interrupt process for executing the second OS occurs.
The selection unit selects a CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as a transfer destination CPU when the lock is acquired for the execution CPU,
A request transmission unit transmits a transfer request for requesting transfer of the execution of the second OS to the transfer destination CPU selected by the selection unit;
When the response unit receives the transfer request from the request transmission unit, the response unit confirms whether the lock has been acquired for the transfer destination CPU, and transmits a confirmation response to the request transmission unit.
When the request transmission unit receives the confirmation response indicating that the lock has been acquired for the transfer destination CPU from the response unit, the selection unit receives the confirmation response from the plurality of CPUs. Reselect the CPU to which execution is to be transferred as the transfer destination CPU,
An information processing method for causing a second execution unit to cause the transfer destination CPU to execute the second OS.
複数のCPU(Central Processing Unit)をマルチプロセッサとして備え、前記複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOS(Operating system)を実行する第1実行部であって前記実行CPUが前記第1のOSの実行に用いられていることを表すロックを獲得した上で前記第1のOSを実行する第1実行部を備えた情報処理装置の情報処理プログラムにおいて、
第2のOSを実行する割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する確認処理と、
前記実行CPUについて前記ロックが獲得されている場合に、前記第2のOSの実行を移譲する先のCPUを移譲先CPUとして前記複数のCPUから選定する選定処理と、
前記選定処理により選定された前記移譲先CPUに前記第2のOSの実行の移譲を要求する移譲要求を送信する要求送信処理と、
前記移譲要求を受信すると、前記移譲先CPUについて前記ロックが獲得されているかを確認し、確認応答を前記要求送信処理に送信する応答処理と、
前記要求送信処理により、前記移譲先CPUについて前記ロックが獲得されていることを表す前記確認応答が受信されると、前記複数のCPUから、前記第2のOSの実行を移譲する先のCPUを前記移譲先CPUとして選定し直す処理と、
前記移譲先CPUに前記第2のOSを実行させる第2実行処理と
をコンピュータである前記情報処理装置に実行させる情報処理プログラム。
A first execution unit that includes a plurality of CPUs (Central Processing Units) as a multi-processor, and uses one of the CPUs as an execution CPU to execute a first OS (Operating system), the execution CPUs An information processing program of an information processing apparatus comprising: a first execution unit that executes the first OS after acquiring a lock indicating that the first OS is being used to execute the first OS;
Confirmation processing for confirming whether the lock has been acquired for the execution CPU when an interrupt processing for executing the second OS occurs;
A selection process of selecting a CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as a transfer destination CPU when the lock is acquired for the execution CPU;
Request transmission processing for transmitting a transfer request for requesting transfer of execution of the second OS to the transfer destination CPU selected by the selection processing;
When the transfer request is received, it is confirmed whether the lock has been acquired for the transfer destination CPU, and a response process of transmitting a confirmation response to the request transmission process;
When the confirmation response indicating that the lock has been acquired for the transfer destination CPU is received by the request transmission process, the CPU to which the execution of the second OS is to be transferred is transferred from the plurality of CPUs. A process of reselecting as the transfer destination CPU;
An information processing program that causes the information processing apparatus, which is a computer, to execute a second execution process that causes the transfer destination CPU to execute the second OS.
複数のCPU(Central Processing Unit)をマルチプロセッサとして備え、前記複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOS(Operating system)を実行する第1実行部であって前記実行CPUが前記第1のOSの実行に用いられていることを表すロックを獲得した上で前記第1のOSを実行する第1実行部を備えた情報処理装置の情報処理方法において、  A first execution unit that includes a plurality of CPUs (Central Processing Units) as a multi-processor, and uses one of the CPUs as an execution CPU to execute a first OS (Operating system), the execution CPUs An information processing method of an information processing apparatus, comprising: a first execution unit that executes a first OS after acquiring a lock indicating that the first OS is being used to execute the first OS;
確認部が、第2のOSを実行する割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認し、  The confirmation unit confirms whether the lock has been acquired for the execution CPU when an interrupt process for executing the second OS occurs.
選定部が、前記実行CPUについて前記ロックが獲得されている場合に、前記第2のOSの実行を移譲する先のCPUを移譲先CPUとして前記複数のCPUから選定し、  The selection unit selects a CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as a transfer destination CPU when the lock is acquired for the execution CPU,
第2実行部が、前記移譲先CPUに前記第2のOSを実行させ、  A second execution unit causing the transfer destination CPU to execute the second OS;
前記確認部は、前記割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する前に、前記第2実行部が前記第2のOSを実行しているか否かを判定し、前記第2のOSを実行していると判定された場合は、前記選定部による前記移譲先CPUを選定する処理を実行せずに、前記第2実行部による前記第2のOSの実行を継続させる情報処理方法。  When the interrupt processing occurs, the confirmation unit determines whether the second execution unit is executing the second OS before confirming whether the lock has been acquired for the execution CPU. If it is determined that the second OS is being executed, execution of the second OS by the second execution unit is not performed without executing the process of selecting the transfer destination CPU by the selection unit. Information processing method to be continued.
複数のCPU(Central Processing Unit)をマルチプロセッサとして備え、前記複数のCPUのいずれかのCPUを実行CPUとして用いて第1のOS(Operating system)を実行する第1実行部であって前記実行CPUが前記第1のOSの実行に用いられていることを表すロックを獲得した上で前記第1のOSを実行する第1実行部を備えた情報処理装置の情報処理プログラムにおいて、  A first execution unit that includes a plurality of CPUs (Central Processing Units) as a multi-processor, and uses one of the CPUs as an execution CPU to execute a first OS (Operating system), the execution CPUs An information processing program of an information processing apparatus comprising: a first execution unit that executes the first OS after acquiring a lock indicating that the first OS is being used to execute the first OS;
第2のOSを実行する割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する確認処理と、  Confirmation processing for confirming whether the lock has been acquired for the execution CPU when an interrupt processing for executing the second OS occurs;
前記実行CPUについて前記ロックが獲得されている場合に、前記第2のOSの実行を移譲する先のCPUを移譲先CPUとして前記複数のCPUから選定する選定処理と、  A selection process of selecting a CPU to which the execution of the second OS is to be transferred from the plurality of CPUs as a transfer destination CPU when the lock is acquired for the execution CPU;
前記移譲先CPUに前記第2のOSを実行させる第2実行処理と  A second execution process for causing the transfer destination CPU to execute the second OS;
をコンピュータである前記情報処理装置に実行させる情報処理プログラムであって、An information processing program that causes the information processing apparatus that is a computer to execute
前記確認処理は、  The confirmation process is
前記割込み処理が発生すると、前記実行CPUについて前記ロックが獲得されているかを確認する前に、前記第2のOSが実行されているか否かを判定し、前記第2のOSが実行されていると判定された場合は、前記移譲先CPUを選定する処理を実行せずに、前記第2のOSの実行を継続させる情報処理プログラム。  When the interrupt processing occurs, it is determined whether the second OS is being executed or not before the lock for the execution CPU is confirmed to be acquired, and the second OS is being executed. The information processing program for continuing execution of said 2nd OS, without performing processing which chooses said transfer destination CPU, when it is judged.
JP2018550855A 2017-03-29 2017-03-29 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM Expired - Fee Related JP6545399B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/012950 WO2018179149A1 (en) 2017-03-29 2017-03-29 Information processing device, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JPWO2018179149A1 JPWO2018179149A1 (en) 2019-04-04
JP6545399B2 true JP6545399B2 (en) 2019-07-17

Family

ID=63674619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018550855A Expired - Fee Related JP6545399B2 (en) 2017-03-29 2017-03-29 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM

Country Status (2)

Country Link
JP (1) JP6545399B2 (en)
WO (1) WO2018179149A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015297A (en) * 2008-07-02 2010-01-21 Nec Electronics Corp Interruption distributed processing system and interruption distribution method
JP2011159135A (en) * 2010-02-02 2011-08-18 Toshiba Corp Multicore processor
KR101878297B1 (en) * 2012-03-06 2018-08-07 삼성전자주식회사 Method and apparatus for recovering lock holder preemption

Also Published As

Publication number Publication date
JPWO2018179149A1 (en) 2019-04-04
WO2018179149A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
TWI439939B (en) Efficient loading of data into memory of a computing system
JP6391878B1 (en) Virtual machine system
JP6170553B2 (en) System and method for providing low latency for applications using heterogeneous processors
JP2009032264A (en) Mask usable for snoop request
JP2021166079A (en) System and method for application migration
JP2007207026A (en) Dma transfer device
JPWO2011111172A1 (en) Information processing apparatus, information processing method, and program
JP2017227969A (en) Control program, system and method
JP2008102850A (en) Information processor and processing method
JP5183448B2 (en) Information processing apparatus, information processing method, and program
US10198365B2 (en) Information processing system, method and medium
JP2010134710A (en) Method for migrating virtual machine, server, and program
JP2012208752A (en) License management device, license management method, and program
JP2016024762A (en) Information processor, memory order guarantee method and program
JP6545399B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM
JP2013522740A (en) Dual mode reader / writer lock
JP5609333B2 (en) Startup processing method, information processing apparatus, startup processing program, and computer-readable recording medium recording the program
JP2008123211A (en) Resource monitoring device and resource monitoring method
JP5644380B2 (en) Information processing device
JP2015118493A (en) Trace device and trace program
US20080307190A1 (en) System and Method for Improved Virtual Real Memory
JP5163128B2 (en) Procedure calling method, procedure calling program, recording medium, and multiprocessor in shared memory multiprocessor
JP6207213B2 (en) Information processing device
JP2009277007A (en) Computer device and program
JP2009223841A (en) Instruction log acquisition program and virtual machine system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180927

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180927

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190618

R150 Certificate of patent or registration of utility model

Ref document number: 6545399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees