JP6545399B2 - INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM - Google Patents
INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING PROGRAM Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program 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問題の解決をはかっている。
Further,
しかしながら、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.
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。 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への割込み要求はキャンセルされる。
*** 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
The
The
The
The
図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
図2において、CPU201、CPU202、CPU203、およびCPU204の各々は、図1のCPU101、CPU102、CPU103、およびCPU104の各々に対応している。以下において、CPU201、CPU202、CPU203、およびCPU204をCPU201〜204と記載する場合がある。
In FIG. 2, each of a
第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
The second execution unit 26 executes the
ロックテーブル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スイッチ211は、LHP抑制部212の指示に基づいて、RTOS206を実行するCPUをCPU201〜204のうちのいずれかに切替える。
The
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
The
The
The
The
The
応答部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
The
The
図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
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
ストレージ110は、データを保管する記憶装置である。ストレージ110の具体例は、HDD(Hard Disk Drive)である。また、ストレージ110は、SD(登録商標)(Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体であってもよい。
The
ストレージ110には、情報処理装置100の機能を実現するプログラムが記憶されている。情報処理装置100の機能を実現するプログラムを情報処理プログラム620ともいう。また、情報処理装置100の機能を実現する方法を情報処理方法610ともいう。
The
情報処理装置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
情報処理装置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
図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
<移譲元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
That is, the
ステップS501において、移譲元CPU32の確認部213は、移譲元CPU32のロック状態を確認する確認処理S51を実行する。
In step S501, the
図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
ステップS701において、確認部213は、ロックテーブル219から自CPUのロックカウンタを選択する。ステップS702において、確認部213は、ロックカウンタがゼロかゼロ以外かを確認する。ロックカウンタがゼロ以外の場合は、確認部213は、ステップS703に進み、自CPUがロックを獲得していると判断する。ロックカウンタがゼロの場合は、確認部213は、ステップS704に進み、自CPUがロックを獲得していないと判断する。以上で、確認処理S51は終了する。
In step S 701, the
図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
図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
ステップ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
In step S903, the
In
In
図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
図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
In step S111, the
図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
That is, when the
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
In step S602, the
図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
In step S801, the
If the
When the
In step S 808, the
図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
図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
In step S101, the
In step S102, the
In step S103, the
In step S107, the
In step S108, the
図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
In step S606, the second execution unit 26 executes a second execution process S2 for executing the
***他の構成***
本実施の形態では、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
図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
ステップS901aにおいて、選定部214は、ロックテーブル219aを参照するために使用するCPU番号141と設定CPU番号145と設定優先度146とをゼロに初期化する。
ステップS902からステップS905までの処理は、実施の形態1の図7と同様である。ステップS905において、選定部214は、選択したロックカウンタ192がゼロかゼロ以外かを確認する。ゼロの場合は、選定部214は、ロックを獲得していないと判断し、ステップS905aに進む。ゼロ以外の場合は、選定部214は、ステップS907へ進む。In step S901a, the
The process from step S902 to step S905 is the same as that of FIG. 7 of the first embodiment. In
ステップ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
In step S 906 a, the
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)
第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.
前記要求送信部が、前記応答部から、前記移譲先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.
第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として選定する請求項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.
確認部が、第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.
第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.
確認部が、第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.
第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.
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)
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 |
-
2017
- 2017-03-29 JP JP2018550855A patent/JP6545399B2/en not_active Expired - Fee Related
- 2017-03-29 WO PCT/JP2017/012950 patent/WO2018179149A1/en active Application Filing
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 |