JP2021117577A - Information processing device, information processing method and program - Google Patents
Information processing device, information processing method and program Download PDFInfo
- Publication number
- JP2021117577A JP2021117577A JP2020009086A JP2020009086A JP2021117577A JP 2021117577 A JP2021117577 A JP 2021117577A JP 2020009086 A JP2020009086 A JP 2020009086A JP 2020009086 A JP2020009086 A JP 2020009086A JP 2021117577 A JP2021117577 A JP 2021117577A
- Authority
- JP
- Japan
- Prior art keywords
- information
- processing
- processing unit
- operation information
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 41
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000012545 processing Methods 0.000 claims abstract description 138
- 238000000034 method Methods 0.000 claims description 83
- 230000006854 communication Effects 0.000 description 44
- 238000004891 communication Methods 0.000 description 41
- 238000012546 transfer Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法およびプログラムに関する。 The present invention relates to an information processing device, an information processing method and a program.
特許文献1に記載されている情報処理装置は、複数のプロセスを並列に実行する際に、プロセス間の通信にて通信待ち合わせが発生した場合、通信待ち合わせ時間、データ転送時間等を測定し、所定のファイルに記憶する。その場合、特許文献1に記載されている情報処理装置は、通信待ち合わせ開始時刻、通信待ち合わせ終了時刻、およびデータ転送終了時刻を採取し、各時刻の差分から通信待ち合わせ時間とデータ転送時間を算出する。さらに、特許文献1に記載されている情報処理装置は、データ転送後にデータサイズや通信相手プロセス情報等のその他の情報を採取してそのファイルに記憶する。 The information processing apparatus described in Patent Document 1 measures a communication wait time, a data transfer time, and the like when a communication wait occurs in communication between processes when executing a plurality of processes in parallel, and determines the predetermined value. Store in the file of. In that case, the information processing apparatus described in Patent Document 1 collects the communication wait start time, the communication wait end time, and the data transfer end time, and calculates the communication wait time and the data transfer time from the difference between the times. .. Further, the information processing apparatus described in Patent Document 1 collects other information such as data size and communication partner process information after data transfer and stores it in the file.
特許文献1に記載されている情報処理装置は、プロセス間のデータ転送後に通信相手プロセス情報等のその他の情報を採取して所定のファイルに記憶する。そのため、例えば待ち合わせ時間の開始時と終了時で内容が変化する情報があった場合に、その内容の変化を記憶することができないという課題があった。 The information processing apparatus described in Patent Document 1 collects other information such as communication partner process information after data transfer between processes and stores it in a predetermined file. Therefore, for example, when there is information whose contents change at the start and end of the meeting time, there is a problem that the change in the contents cannot be memorized.
本発明は、上記課題を解決する情報処理装置、情報処理方法およびプログラムを提供することを目的とする。 An object of the present invention is to provide an information processing device, an information processing method, and a program that solve the above problems.
上記課題を解決するため本発明の一態様は、複数の処理単位を並列して処理する装置であって、各前記処理単位が、他の前記処理単位が読み出し可能な記憶領域に自己の前記処理単位の動作状態に係る情報(以下、動作情報)を記憶する動作情報記憶部と、他の前記処理単位で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に前記記憶領域から前記他の処理単位の前記動作情報を読み出し、読み出した前記動作情報に応じた情報を所定の記憶部に記憶する情報取得部と、を含む情報処理装置である。 In order to solve the above problems, one aspect of the present invention is an apparatus that processes a plurality of processing units in parallel, and each of the processing units has its own processing in a storage area that can be read by the other processing units. When a predetermined waiting time occurs before a predetermined condition is satisfied in the operation information storage unit that stores information related to the operation state of the unit (hereinafter, operation information) and the other processing unit, the waiting time is changed. It is an information processing apparatus including an information acquisition unit that reads the operation information of the other processing unit from the storage area at the start and the end and stores the information corresponding to the read operation information in a predetermined storage unit. ..
また、本発明の一態様は、複数の処理単位を並列して処理する方法であって、各前記処理単位において、他の前記処理単位が読み出し可能な記憶領域に自己の前記処理単位の動作状態に係る情報(以下、動作情報)を記憶するステップと、他の前記処理単位で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に前記記憶領域から前記他の処理単位の前記動作情報を読み出し、読み出した前記動作情報に応じた情報を所定の記憶部に記憶するステップと、を含む情報処理方法である。 Further, one aspect of the present invention is a method of processing a plurality of processing units in parallel, and in each of the processing units, the operating state of the processing unit itself is stored in a storage area in which the other processing units can be read. When a predetermined waiting time occurs before the predetermined condition is satisfied in the step of storing the information related to (hereinafter, operation information) and the other processing unit, the storage is performed at the start and end of the waiting time. This is an information processing method including a step of reading the operation information of the other processing unit from an area and storing the information corresponding to the read operation information in a predetermined storage unit.
また、本発明の一態様は、複数の処理単位を並列して処理する際に、各前記処理単位において、他の前記処理単位が読み出し可能な記憶領域に自己の前記処理単位の動作状態に係る情報(以下、動作情報)を記憶するステップと、他の前記処理単位で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に前記記憶領域から前記他の処理単位の前記動作情報を読み出し、読み出した前記動作情報に応じた情報を所定の記憶部に記憶するステップと、をコンピュータに実行させるプログラムである。 Further, one aspect of the present invention relates to the operating state of the processing unit itself in a storage area in which the other processing units can be read in each of the processing units when a plurality of processing units are processed in parallel. When a predetermined waiting time occurs before a predetermined condition is satisfied in the step of storing information (hereinafter, operation information) and other processing units, the storage area is used at the start and end of the waiting time. This is a program for causing a computer to perform a step of reading out the operation information of the other processing unit and storing the information corresponding to the read operation information in a predetermined storage unit.
本発明の各態様によれば、並列処理に係る待ち合わせ時間の開始時と終了時に応じた情報を記憶することができる。 According to each aspect of the present invention, it is possible to store information according to the start time and the end time of the waiting time related to the parallel processing.
以下、図面を参照して本発明の実施形態について説明する。なお、各図において同一または対応する構成には同一の符号を用いて説明を適宜省略する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each figure, the same reference numerals are used for the same or corresponding configurations, and the description thereof will be omitted as appropriate.
<実施形態の基本的構成例>
図1は、本発明の一実施形態に係る情報処理装置の基本的構成例を示すブロック図である。図1に示す情報処理装置10は、サーバ、パーソナルコンピュータ、タブレット端末等のコンピュータ、あるいはそのコンピュータと周辺装置とから構成することができる。また、情報処理装置10は、情報処理装置10を構成するコンピュータ(あるいはコンピュータと周辺装置)が有する1または複数のCPU(中央処理装置)、主記憶装置、補助記憶装置等の記憶装置、入出力装置、通信装置等のハードウェアと、1または複数のCPUが実行するプログラム等のソフトウェアとの組み合わせで構成される機能的構成として、処理ユニット(処理単位)20と処理ユニット21を有する。処理ユニット20と処理ユニット21は1つの処理を分散して並列して処理する機能的構成であり、例えば、分散並列プログラムの場合のプロセスとそのプロセスを実行するハードウェアとの組み合わせ、共有並列プログラムの場合のスレッド(あるいはタスク(以下省略))とそのスレッドを実行するハードウェアとの組み合わせ等に対応する。本実施形態において、情報処理装置10は、複数の処理ユニット20および21を並列して処理する装置である。なお、情報処理装置10は、3以上の複数の処理ユニットを含んでいてもよい。
<Basic configuration example of the embodiment>
FIG. 1 is a block diagram showing a basic configuration example of an information processing apparatus according to an embodiment of the present invention. The
処理ユニット20は、動作情報記憶部20−1と、動作情報20−3を記憶する記憶領域20−2と、情報取得部20−4と、記憶部20−5とを含む。また、処理ユニット21は、動作情報記憶部21−1と、動作情報21−3を記憶する記憶領域21−2と、情報取得部21−4と、記憶部21−5とを含む。処理ユニット20と処理ユニット21は基本的構成は同一である。すなわち、動作情報記憶部20−1と動作情報記憶部21−1、記憶領域20−2と記憶領域21−2、動作情報20−3と動作情報21−3、情報取得部20−4と情報取得部21−4、そして、記憶部20−5と記憶部21−5は、それぞれ、互いに対応し、また、基本的構成が互いに同一である。以下、処理ユニット20について主に説明し、処理ユニット21についての説明は適宜省略する。なお、処理ユニット20と処理ユニット21は、例えばユーザプログラムを含み、ユーザプログラムの構成要素として図示してない他の1または複数の機能的構成を含む。なお、記憶部20−5と記憶部21−5は、同一の構成(1つの記憶部)であってもよい。
The
動作情報記憶部20−1は、他の処理ユニット21が直接読み出し可能な記憶領域20−2に、自己の処理ユニット20の動作状態に係る情報(動作情報20−3)を記憶する。記憶領域20−2は、自己の処理ユニット20がデータを読み書き可能な領域であり、かつ、他の処理ユニット21がデータを直接読み出し可能な領域である。ここで、他の処理ユニット21が直接読み出し可能とは、例えば、処理ユニット20と処理ユニット21間のデータ転送用のプログラムを実行することなく、他の処理ユニット21が例えばメモリ読み出し用コマンドやレジスタ読み出し用コマンドを実行することで読み出すことができる、という意味である。また、動作情報20−3は、例えば、実行カウンタ(PC(プログラムカウンタ)等)の値、性能カウンタの値(実行命令数、メモリアクセス回数、分岐予測成功率、キャッシュメモリヒット率等)、実行中のユーザルーチン、ユーザルーチンの呼び出し履歴の情報等を含む。なお、動作情報記憶部20−1が記憶領域20−2に動作情報20−3を記憶する動作やタイミングに限定はない。
The operation information storage unit 20-1 stores information (operation information 20-3) related to the operation state of its
情報取得部20−4は、他の処理ユニット21で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に他の処理ユニット21の記憶領域21−2から他の処理ユニット21の動作情報21−3を読み出し、読み出した動作情報21−3に応じた情報を所定の記憶部20−5に記憶する。ここで、所定の条件が成立するとは、例えば、自己の処理ユニット20が他の処理ユニット21に対する通信を行おうと待機している場合に、他の処理ユニット21が自己の処理ユニット20との間の通信を行える状態になったこと(あるいは状態であったこと)である。あるいは、所定の条件が成立するとは、例えば、自己の処理ユニット20が他の処理ユニット21と同期を成立させようとする場合に、他の処理ユニット21が自己の処理ユニット20と同期を成立できる状態になったこと(あるいは状態であったこと)である。所定の待ち合わせ時間は、例えば、所定の条件の成否を少なくとも1回判断するのに要する時間より長い待機時間である。また、動作情報21−3に応じた情報とは、動作情報21−3そのもの、または動作情報21−3に基づいて生成した情報である。動作情報21−3に基づいて生成した情報は、例えば、動作情報21−3が数値情報を含む場合に、開始時の数値と終了時の数値の差分を表す情報である。
When a predetermined waiting time occurs before the predetermined condition is satisfied in the
上述したように、図1に示す情報処理装置10では、処理ユニット20において、情報取得部20−4が、他の処理ユニット21で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に記憶領域21−2から他の処理ユニット21の動作情報21−3を読み出し、読み出した動作情報21−3に応じた情報を所定の記憶部20−5に記憶する。また、処理ユニット21においては、情報取得部21−4が、他の処理ユニット20で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に記憶領域20−2から他の処理ユニット20の動作情報20−3を読み出し、読み出した動作情報20−3に応じた情報を所定の記憶部21−5に記憶する。以上の構成によれば、並列処理に係る待ち合わせ時間の開始時と終了時に応じた情報を記憶部20−5および21−5に記憶することができる。
As described above, in the
また、情報処理装置10では、動作情報記憶部20−1が、他の処理ユニット21が読み出し可能な記憶領域20−2に自己の処理ユニット20の動作状態に係る情報である動作情報20−3を記憶する。また、動作情報記憶部21−1が、他の処理ユニット20が読み出し可能な記憶領域21−2に自己の処理ユニット21の動作情報21−3を記憶する。この構成によれば、情報取得部20−4および21−4は、他の処理ユニット21および20の動作情報21−3および20−3を効率的に読み出すことができる。
Further, in the
なお、記憶領域20−2が自己の処理ユニット20における実行中のユーザルーチンおよびユーザルーチンの呼び出し履歴を格納するスタック領域を含んでいてもよい。この場合、実行中のユーザルーチンおよびユーザルーチンの呼び出し履歴は、動作情報20−3に含まれる。また、記憶領域21−2が自己の処理ユニット21における実行中のユーザルーチンおよびユーザルーチンの呼び出し履歴を格納するスタック領域を含んでいてもよい。この場合、実行中のユーザルーチンおよびユーザルーチンの呼び出し履歴は、動作情報21−3に含まれる。また、この場合、情報取得部20−4は、他の処理ユニット21における実行中のユーザルーチンおよびユーザルーチンの呼び出し履歴を含む動作情報21−3を直接読み出すことができる。また、この場合、情報取得部21−4は、他の処理ユニット21における実行中のユーザルーチンおよびユーザルーチンの呼び出し履歴を含む動作情報21−3を直接読み出すことができる。
The storage area 20-2 may include a stack area for storing a user routine being executed in its
また、動作情報20−3および21−3は、処理ユニット20および21の動作状態に応じて変化する数値情報を含んでいてもよい。この場合、情報取得部20−4および21−4は、例えば、待ち合わせ時間の開始時の数値情報と終了時の数値情報の差分を記憶部20−5または21−5に記憶することができる。
Further, the operation information 20-3 and 21-3 may include numerical information that changes according to the operation state of the
<第1実施形態>
次に、図2および図3を参照して、本発明の第1実施形態について説明する。図2は、本発明の第1実施形態に係る情報処理装置の構成例をノード1−1として示すブロック図である。ここで、ノードとは、通信ネットワークを構成するコンピュータ、端末、通信装置等の構成要素を論理的(あるいは機能的)に表現したものである。この場合、図2に示す複数のノード1−1は、ノード間インタコネクト1−7で接続されたクラスタシステム100を構成している。また、図3は、図2に示す各ノード1−1の動作例を示すフローチャートである。
<First Embodiment>
Next, the first embodiment of the present invention will be described with reference to FIGS. 2 and 3. FIG. 2 is a block diagram showing a configuration example of the information processing apparatus according to the first embodiment of the present invention as a node 1-1. Here, the node is a logical (or functional) representation of components such as computers, terminals, and communication devices that make up a communication network. In this case, the plurality of nodes 1-1 shown in FIG. 2 constitute a
図2に示す各ノード1−1は、サーバ、パーソナルコンピュータ、タブレット端末等のコンピュータ、あるいはそのコンピュータと周辺装置とを用いて構成することができる。また、各ノード1−1は、複数のCPUコア1−3と、それら全てのCPUコア1−3からアクセス可能な共有メモリ1−6を有している。この場合、CPUコア1−3はそれぞれ1つのプロセス1−2を処理し、各ノード1−1は複数のCPUコア1−3を用いて複数のプロセス1−2を並列処理する。 Each node 1-1 shown in FIG. 2 can be configured by using a computer such as a server, a personal computer, a tablet terminal, or the computer and a peripheral device. Further, each node 1-1 has a plurality of CPU cores 1-3 and shared memory 1-6 accessible from all of the CPU cores 1-3. In this case, each CPU core 1-3 processes one process 1-2, and each node 1-1 processes a plurality of processes 1-2 in parallel using a plurality of CPU cores 1-3.
第1実施形態において、複数のプロセス1−2は、分散並列プログラムを構成する。各プロセス1−2は、そのプロセスを実行するCPUコア1−3と、共有メモリ1−6に確保されたプロセスメモリ1−5を備える。 In the first embodiment, the plurality of processes 1-2 constitute a distributed parallel program. Each process 1-2 includes a CPU core 1-3 that executes the process and a process memory 1-5 allocated in the shared memory 1-6.
各CPUコア1−3は、実行カウンタ(PC:プログラムカウンタ等)、および、性能カウンタ(実行命令数、メモリアクセス回数、分岐予測成功率、キャッシュメモリヒット率等を格納する記憶領域)を有している。これらを称して実行カウンタおよび性能カウンタ群1−4とする。各CPUコア1−3は、他CPUコア1−3の実行カウンタおよび性能カウンタ群1−4へアクセスする手段を有する。また、各CPUコア1−3は、他の各CPUコア1−3に割り当てられた各プロセスメモリ1−5にアクセスする手段を有する。 Each CPU core 1-3 has an execution counter (PC: program counter, etc.) and a performance counter (storage area for storing the number of execution instructions, the number of memory accesses, the branch prediction success rate, the cache memory hit rate, etc.). ing. These are referred to as execution counters and performance counter groups 1-4. Each CPU core 1-3 has means for accessing the execution counter and the performance counter group 1-4 of the other CPU cores 1-3. Further, each CPU core 1-3 has a means for accessing each process memory 1-5 allocated to each of the other CPU cores 1-3.
次に、図3を参照して、図2に示す各ノード1−1の動作例として、プロセス間通信処理について説明する。図3に示す処理は、あるノード1−1が実行しているプロセス1−2(第1プロセスとする)が、他のノード1−1が実行しているプロセス1−2(第2プロセスとする)との間でデータ転送処理を行うときに実行される。図3に示すプロセス間通信処理では、第1プロセスが最初に通信対象の第2プロセスとの間で通信が可能か否かを判定する(3−1)。通信可能である場合(3−1で「真」の場合)、第1プロセスは、第1プロセスと第2プロセスとの間でデータ転送処理(3−10)を行い、プロセス間通信処理を完了する。この場合、通信待合せは発生しないため、プロファイル情報の採取は行われない。 Next, with reference to FIG. 3, interprocess communication processing will be described as an operation example of each node 1-1 shown in FIG. In the process shown in FIG. 3, a process 1-2 (referred to as the first process) executed by a certain node 1-1 is executed by a process 1-2 (a second process) executed by another node 1-1. Is executed when data transfer processing is performed with. In the interprocess communication process shown in FIG. 3, it is first determined whether or not the first process can communicate with the second process to be communicated (3-1). When communication is possible (when "true" in 3-1), the first process performs data transfer processing (3-10) between the first process and the second process, and completes the interprocess communication processing. do. In this case, since the communication wait does not occur, the profile information is not collected.
3−1において、通信対象の第2プロセスとの間でまだ通信が行えない状況と判定された場合(3−1で「偽」の場合)、通信待合せとなる。通信待合せ処理では、第1プロセスは、通信待合せを開始した時刻(T0)を参照する(3−2)。その後、第1プロセスは、現在時刻(T1)を参照しつつ、あらかじめ定めた一定時間を経過するまで(T1−T0>一定時間となるまで)通信可能か否かの判定を続ける(3−3、3−4、3−5)。ここで、一定時間とは、通信処理時間と比較して十分小さな時間とする。 In 3-1 if it is determined that communication with the second process to be communicated cannot be performed yet (in the case of "false" in 3-1), the communication is waited for. In the communication waiting process, the first process refers to the time (T0) at which the communication waiting is started (3-2). After that, the first process continues to determine whether or not communication is possible until a predetermined fixed time elapses (until T1-T0> fixed time) while referring to the current time (T1) (3-3). 3-4, 3-5). Here, the fixed time is a time sufficiently smaller than the communication processing time.
一定時間以内に通信可能となった場合は(3−3で「真」の場合は)、データ転送処理3−10へと移行する。この場合、通信待合せは発生しているが、その通信待ちは十分小さいため、プロファイル情報の採取は行わない。 If communication becomes possible within a certain period of time (in the case of "true" in 3-3), the process proceeds to data transfer processing 3-10. In this case, the communication wait has occurred, but the communication wait is sufficiently small, so the profile information is not collected.
3−5において、待ち時間が一定時間を超えた場合(3−5で「真」の場合は)、第1プロセスは、プロファイル情報の採取を行う(3−6)。ここで、第1プロセスは、プロファイル情報として、通信相手の第2プロセスのメモリを参照し、そのスタック領域から、実行中のユーザルーチン、および、ユーザルーチンの呼び出し履歴の情報を得る。また、第1プロセスは、第2プロセスの性能カウンタ情報を採取する。 In 3-5, when the waiting time exceeds a certain time (when "true" in 3-5), the first process collects profile information (3-6). Here, the first process refers to the memory of the second process of the communication partner as profile information, and obtains information on the running user routine and the call history of the user routine from the stack area. In addition, the first process collects the performance counter information of the second process.
その後、第1プロセスは、通信可能となるまで待合せを継続し(3−7)、通信可能となった後、プロファイル情報の採取を行う(3−8)。続いて、第1プロセスは、3−9において、採取したプロファイル情報を例えば図示していない所定の記憶部に保存する。ここで、第1プロセスが、第2プロセス(および第1プロセス)が実行中のユーザルーチンおよび呼び出し履歴、さらに、3−6と3−8で採取した性能カウンタの差分を算出し、例えば図示していない所定の記憶部に保存する。図3に示すプロセス間通信処理では、性能カウンタの差分を採用することにより、当該プロセスが通信待合せを行っている間、通信相手プロセスがどの様な処理を行っていたかを判断することができる。第1プロセスは、最後にデータ転送処理3−10を行い、プロセス間通信処理を完了する。 After that, the first process continues waiting until communication becomes possible (3-7), and after communication becomes possible, collects profile information (3-8). Subsequently, in the first process, in 3-9, the collected profile information is stored in, for example, a predetermined storage unit (not shown). Here, the first process calculates the user routine and call history that the second process (and the first process) is executing, and the difference between the performance counters collected in 3-6 and 3-8, and is shown in the figure, for example. It is saved in a predetermined storage unit that is not used. In the interprocess communication processing shown in FIG. 3, by adopting the difference of the performance counter, it is possible to determine what kind of processing the communication partner process is performing while the process is waiting for communication. The first process finally performs the data transfer process 3-10 to complete the interprocess communication process.
なお、実行カウンタおよび性能カウンタ群1−4とプロセスメモリ1−5への情報の書き込み(更新)は、例えば、プロセス1−2内の所定のプログラム、ノード1−1内でプロセス1−2等の実行を管理するオペレーティングシステム、CPU1−3を制御するファームウェアやハードウェア等によって行うことができる。 For writing (updating) information to the execution counter, performance counter group 1-4, and process memory 1-5, for example, a predetermined program in process 1-2, process 1-2 in node 1-1, etc. It can be performed by the operating system that manages the execution of the above, the firmware and hardware that control the CPU 1-3, and the like.
第1実施形態によれば、分散並列処理に係るプロセス間通信処理における通信待ち合わせ時間の開始時と終了時にプロファイル情報と性能カウンタ情報を取得し、それらの情報やそれらの情報の差分を記憶するので、開始時と終了時に応じた情報を記憶することができる。 According to the first embodiment, profile information and performance counter information are acquired at the start and end of the communication wait time in the interprocess communication process related to the distributed parallel processing, and the information and the difference between the information are stored. , Information can be stored according to the start and end.
なお、第1実施形態における各構成と図1に示す各構成との対応関係は次のとおりである。図2に示すノード1−1が、図1に示す情報処理装置10に対応する。図2に示すプロセス1−2が、図1に示す処理ユニット20および21に対応する。図2に示す実行カウンタおよび性能カウンタ群1−4とプロセスメモリ1−5が、図1に示す記憶領域20−2および21−2に対応する。図3に示す(3−6)、(3−8)および(3−9)の処理を実行するプロセス1−2内の構成(プログラム)が、図1に示す情報取得部20−4および21−4に対応する。図2に示す実行カウンタおよび性能カウンタ群1−4とプロセスメモリ1−5に記憶される情報(あるいは図3に示す(3−6)および(3−8)で採取される情報)が、図1に示す動作情報20−3および21−3に対応する。図3に示す(3−9)でプロファイル情報を保存する際の保存先が、図1に示す記憶部20−5および21−5に対応する。図2に示すノード1−1が有する実行カウンタおよび性能カウンタ群1−4とプロセスメモリ1−5に所定の情報を書き込む構成(プロセス1−2内のプログラム等)が、図1に示す動作情報記憶部20−1および21−1に対応する。
The correspondence between each configuration in the first embodiment and each configuration shown in FIG. 1 is as follows. Node 1-1 shown in FIG. 2 corresponds to the
<第2実施形態>
次に、図4および図5を参照して、本発明の第2実施形態について説明する。図4は、本発明の第2実施形態に係る情報処理装置の構成例をノード1−1として示すブロック図である。また、図5は、図4に示すノード1−1の動作例を示すフローチャートである。
<Second Embodiment>
Next, a second embodiment of the present invention will be described with reference to FIGS. 4 and 5. FIG. 4 is a block diagram showing a configuration example of the information processing apparatus according to the second embodiment of the present invention as node 1-1. Further, FIG. 5 is a flowchart showing an operation example of the node 1-1 shown in FIG.
図4に示すノード1−1は、図2に示すノード1−1に対応する構成であり、サーバ、パーソナルコンピュータ、タブレット端末等のコンピュータ、あるいはそのコンピュータと周辺装置とを用いて構成することができる。また、ノード1−1は、複数のCPUコア1−3と、それら全てのCPUコア1−3からアクセス可能な共有メモリ1−6を有している。また、各CPUコア1−3はそれぞれ実行カウンタおよび性能カウンタ群1−4を有している。図4に示すノード1−1、CPUコア1−3、実行カウンタおよび性能カウンタ群1−4、および共有メモリ1−6の各構成は、図2に示す同一の符号を付けた各構成と同一である。 The node 1-1 shown in FIG. 4 has a configuration corresponding to the node 1-1 shown in FIG. 2, and can be configured by using a computer such as a server, a personal computer, a tablet terminal, or the computer and a peripheral device. can. Further, the node 1-1 has a plurality of CPU cores 1-3 and shared memory 1-6 accessible from all of the CPU cores 1-3. Further, each CPU core 1-3 has an execution counter and a performance counter group 1-4, respectively. The configurations of the node 1-1, the CPU core 1-3, the execution counter and the performance counter group 1-4, and the shared memory 1-6 shown in FIG. 4 are the same as the configurations with the same reference numerals as shown in FIG. Is.
なお、第2実施形態において、複数のスレッド2−2から構成されるプロセス2−1は、共有並列プログラムを構成する。また、各スレッド2−2は、各CPUコア1−3によって実行され、共有メモリ1−6に確保されたプロセスメモリ2−3と、他のスレッド2−2を処理するCPUコア1−3が有する実行カウンタおよび性能カウンタ群1−4とにアクセスすることができる。 In the second embodiment, the process 2-1 composed of a plurality of threads 2-2 constitutes a shared parallel program. Further, each thread 2-2 is executed by each CPU core 1-3, and the process memory 2-3 secured in the shared memory 1-6 and the CPU core 1-3 that processes the other threads 2-2 are used. It is possible to access the execution counter and the performance counter group 1-4.
次に、図5を参照して、図4に示すノード1−1の動作例として、スレッド間同期処理について説明する。図5に示す処理は、プロセス2−1のあるスレッド2−2(第1スレッドとする)が、他のスレッド2−2(第2スレッドとする)との間で同期を成立させるときに実行される。図5に示すスレッド間同期処理では、第1スレッドが、最初に同期対象の第2スレッドとの間で同期が成立しているか否かを判定する(4−1)。同期が成立している場合(4−1で「真」の場合)、第1スレッドはスレッド間同期処理を完了する。この場合、同期待合せは発生しないため、プロファイル情報の採取は行われない。 Next, with reference to FIG. 5, the interthread synchronization processing will be described as an operation example of the node 1-1 shown in FIG. The process shown in FIG. 5 is executed when one thread 2-2 (referred to as the first thread) of process 2-1 establishes synchronization with another thread 2-2 (referred to as the second thread). Will be done. In the inter-thread synchronization process shown in FIG. 5, it is determined whether or not the first thread is first synchronized with the second thread to be synchronized (4-1). When synchronization is established (when "true" in 4-1), the first thread completes the interthread synchronization process. In this case, the same expectation does not occur, so profile information is not collected.
4−1において、同期対象の第2スレッドとの間でまだ同期が成立していないと判定された場合(4−1で「偽」の場合)、同期待合せとなる。同期待合せ処理では、第1スレッドは、同期待合せを開始した時刻(T0)を参照する(4−2)。その後、第1スレッドは、現在時刻(T1)を参照しつつ、あらかじめ定めた一定時間を経過するまで(T1−T0>一定時間となるまで)同期成立か否かの判定を続ける(4−3、4−4、4−5)。ここで、一定時間とは、同期処理時間と比較して十分小さな時間とする。 In 4-1 when it is determined that synchronization has not yet been established with the second thread to be synchronized (in the case of "false" in 4-1), the same expectation is met. In the expectation matching process, the first thread refers to the time (T0) at which the expectation matching is started (4-2). After that, the first thread continues to determine whether or not synchronization is established until a predetermined fixed time elapses (until T1-T0> fixed time) while referring to the current time (T1) (4-3). , 4-4, 4-5). Here, the fixed time is a time sufficiently smaller than the synchronous processing time.
一定時間以内に通信可能となった場合は(4−3で「真」の場合は)、第1スレッドはスレッド間同期処理を完了する。この場合、同期待合せは発生しているが、その同期待ちは十分小さい(一定時間以内の)ため、プロファイル情報の採取は行わない。 If communication becomes possible within a certain period of time (in the case of "true" in 4-3), the first thread completes the interthread synchronization process. In this case, the same expectation has occurred, but the waiting for synchronization is sufficiently small (within a certain period of time), so profile information is not collected.
4−5において、待ち時間が一定時間を超えた場合(4−5で「真」の場合は)、第1スレッドは、プロファイル情報の採取を行う(4−6)。ここで、第1スレッドは、プロファイル情報として、同期相手の第2スレッドのメモリを参照し、そのスタック領域から、実行中のユーザルーチン、および、ユーザルーチンの呼び出し履歴の情報を得る。また、第1スレッドは、第2スレッドの性能カウンタ情報を採取する。 In 4-5, when the waiting time exceeds a certain time (when it is "true" in 4-5), the first thread collects profile information (4-6). Here, the first thread refers to the memory of the second thread of the synchronization partner as profile information, and obtains information on the running user routine and the call history of the user routine from the stack area. In addition, the first thread collects the performance counter information of the second thread.
その後、第1スレッドは、同期が成立するまで待合せを継続し(4−7)、同期が成立した後、プロファイル情報の採取を行う(4−8)。続いて、第1プロセスは、4−9において、採取したプロファイル情報を例えば図示していない所定の記憶部に保存する。ここで、第1スレッドは、第2スレッド(および第1スレッド)が実行中のユーザルーチンおよび呼び出し履歴、さらに、4−6と4−8で採取した性能カウンタの差分を算出し、例えば図示していない所定の記憶部に保存する。図5に示すスレッド間同期処理では、性能カウンタの差分を採用することにより、当該スレッド(第1スレッド)が同期待合せを行っている間、同期対象スレッド(第2スレッド)がどの様な処理を行っていたかを判断することができる。第1スレッドは、4−9の後、スレッド間同期処理を完了する。 After that, the first thread continues waiting until synchronization is established (4-7), and after synchronization is established, profile information is collected (4-8). Subsequently, in 4-9, the first process stores the collected profile information in, for example, a predetermined storage unit (not shown). Here, the first thread calculates the user routine and call history that the second thread (and the first thread) is executing, and the difference between the performance counters collected in 4-6 and 4-8, and is shown in the figure, for example. Save in a predetermined storage unit that is not. In the inter-thread synchronization processing shown in FIG. 5, by adopting the difference of the performance counter, what kind of processing is performed by the synchronization target thread (second thread) while the thread (first thread) is performing the same expectation. You can judge if you were going. The first thread completes the interthread synchronization process after 4-9.
第2実施形態によれば、共有並列処理に係るスレッド間同期処理における同期待ち合わせ時間の開始時と終了時にプロファイル情報と性能カウンタ情報を取得し、それらの情報やそれらの情報の差分を記憶するので、開始時と終了時に応じた情報を記憶することができる。 According to the second embodiment, profile information and performance counter information are acquired at the start and end of the synchronization wait time in the interthread synchronous processing related to the shared parallel processing, and the information and the difference between the information are stored. , Information can be stored according to the start and end.
なお、第2実施形態における各構成と図1に示す構成との対応関係は次のとおりである。図4に示すノード1−1が、図1に示す情報処理装置10に対応する。図4に示すプロセス2−1が有するスレッド2−2が、図1に示す処理ユニット20および21に対応する。図4に示す実行カウンタおよび性能カウンタ群1−4とプロセスメモリ2−3が、図1に示す記憶領域20−2および21−2に対応する。図5に示す(4−6)および、(4−8)および(4−9)の処理を実行するスレッド2−2内の構成(プログラム)が、図1に示す情報取得部20−4および21−4に対応する。図4に示す実行カウンタおよび性能カウンタ群1−4とプロセスメモリ2−3に記憶される情報(あるいは図5に示す(4−6)および(4−8)で採取される情報)が、図1に示す動作情報20−3および21−3に対応する。図5に示す(4−9)でプロファイル情報を保存する際の保存先が、図1に示す記憶部20−5および21−5に対応する。図4に示すノード1−1が有する実行カウンタおよび性能カウンタ群1−4とプロセスメモリ2−3に所定の情報を書き込む構成(スレッド2−2内のプログラム等)が、図1に示す動作情報記憶部20−1および21−1に対応する。
The correspondence between each configuration in the second embodiment and the configuration shown in FIG. 1 is as follows. Node 1-1 shown in FIG. 4 corresponds to the
<第1実施形態と第2実施形態の他の効果等>
上述したように、第1実施形態および第2実施形態では、分散並列プログラム(MPI(Message Passing Interface;メッセージ パッシング インターフェース)プログラム等)、あるいは、共有並列プログラム(OpenMP(Open MultiProcessing)プログラム等)の実行において、分散並列プログラムの場合はプロセス間通信処理中に通信待合せが発生した場合、共有並列プログラムの場合はスレッド(あるいはタスク)間の同期待合せが発生した場合、さらに、それら通信待合せ、あるいは、同期待合せが一定時間以上継続した事を契機として、通信相手プロセス、あるいは、同期待合せ対象スレッドのプロファイル情報を採取する。この構成によれば、情報採取用の追加処理コードよる影響(実行命令数の増加、メモリアクセスの増加、分岐予測の成功率の変動、キャッシュメモリのヒット率およびミス率の挙動の変動)が無く、したがって、ユーザプログラムの挙動を正確に表現するプロファイル情報を採取することが出来る。また、情報採取用に追加資源(CPUコア、メモリなど)が不要であり、したがって、ユーザプログラムの実行を妨げない。また、通信待合わせ、あるいは、同期待合せの要因となる処理(すなわち、通信相手プロセスの処理内容、あるいは、同期待ちスレッドの処理内容)について、ピンポイントで情報を採取することができる。また、通信待合せ、あるいは、同期待合せの処理中に情報採取を行うため、ユーザプログラム実行性能に影響を与えない。
<Other effects of the first embodiment and the second embodiment>
As described above, in the first embodiment and the second embodiment, execution of a distributed parallel program (MPI (Message Passing Interface) program or the like) or a shared parallel program (OpenMP (Open MultiProcessing) program or the like) is executed. In the case of a distributed parallel program, when a communication wait occurs during interprocess communication processing, in the case of a shared parallel program, when the same expectation between threads (or tasks) occurs, and further, these communication waits or synchronization When the wait continues for a certain period of time or longer, the profile information of the communication partner process or the thread to be expected to be matched is collected. According to this configuration, there is no influence due to the additional processing code for collecting information (increase in the number of executed instructions, increase in memory access, fluctuation in the success rate of branch prediction, fluctuation in the behavior of the cache memory hit rate and miss rate). Therefore, it is possible to collect profile information that accurately expresses the behavior of the user program. In addition, no additional resources (CPU core, memory, etc.) are required for collecting information, and therefore, the execution of the user program is not hindered. In addition, it is possible to pinpoint information about the processing that causes communication waiting or the same expectation (that is, the processing content of the communication partner process or the processing content of the synchronization waiting thread). In addition, since information is collected during communication waiting or processing of the same expectation, it does not affect the user program execution performance.
なお、第1実施形態と第2実施形態は、例えば、分散並列プログラムの最適化および高速化を目的としたプロファイリングや、共有並列プログラムの最適化および高速化を目的としたプロファイリング等に適用することができる。 The first embodiment and the second embodiment are applied to, for example, profiling for the purpose of optimizing and speeding up a distributed parallel program, profiling for the purpose of optimizing and speeding up a shared parallel program, and the like. Can be done.
図6は、本発明の一実施形態による情報処理装置の最小構成を示す図である。
図7は、本発明の一実施形態による最小構成の情報処理装置の処理フローを示す図である。
情報処理装置10は、複数の処理ユニット(処理単位)を並列して処理する装置であって、図6に示すように、処理ユニット20は、動作情報記憶部20−1と、情報取得部20−4とを含む。
動作情報記憶部20−1は、他の処理単位が読み出し可能な記憶領域に自己の処理単位の動作状態に係る情報(以下、動作情報)を記憶する(ステップS7−1)。
情報取得部20−4は、他の処理単位で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に記憶領域から他の処理単位の動作情報を読み出し、読み出した動作情報に応じた情報を所定の記憶部に記憶する(ステップS7−2)。
FIG. 6 is a diagram showing a minimum configuration of an information processing device according to an embodiment of the present invention.
FIG. 7 is a diagram showing a processing flow of the information processing apparatus having the minimum configuration according to the embodiment of the present invention.
The
The operation information storage unit 20-1 stores information related to the operation state of its own processing unit (hereinafter, operation information) in a storage area that can be read by another processing unit (step S7-1).
When a predetermined waiting time occurs before a predetermined condition is satisfied in the other processing unit, the information acquisition unit 20-4 provides operation information of the other processing unit from the storage area at the start and end of the waiting time. Is read, and the information corresponding to the read operation information is stored in a predetermined storage unit (step S7-2).
以上、この発明の実施形態について図面を参照して説明してきたが、具体的な構成は上記実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。 Although the embodiments of the present invention have been described above with reference to the drawings, the specific configuration is not limited to the above embodiments, and design changes and the like within a range not deviating from the gist of the present invention are also included.
また、上記実施形態でコンピュータが実行するプログラムの一部または全部は、コンピュータ読取可能な記憶媒体や通信回線を介して頒布することができる。 Further, a part or all of the program executed by the computer in the above embodiment can be distributed via a computer-readable storage medium or a communication line.
1−1 ノード
1−2、2−1 プロセス
1−3 CPUコア
1−4 実行カウンタおよび性能カウンタ群
1−5、2−3 プロセスメモリ
1−6 共有メモリ
1−7 ノード間インタコネクト
2−2 スレッド
10 情報処理装置
20、21 処理ユニット(処理単位)
20−1、21−1 動作情報記憶部
20−2、21−2 記憶領域
20−3、21−3 動作情報
20−4、21−4 情報取得部
20−5、21−5 記憶部
1-1 Node 1-2, 2-1 Process 1-3 CPU core 1-4 Execution counter and performance counter group 1-5, 2-3 Process memory 1-6 Shared memory 1-7 Internode interconnect 2-2
20-1, 21-1 Operation information storage unit 20-2, 21-2 Storage area 20-3, 21-3 Operation information 20-4, 21-4 Information acquisition unit 20-5, 21-5 Storage unit
Claims (6)
各前記処理単位が、
他の前記処理単位が読み出し可能な記憶領域に自己の前記処理単位の動作状態に係る情報(以下、動作情報)を記憶する動作情報記憶部と、
他の前記処理単位で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に前記記憶領域から前記他の処理単位の前記動作情報を読み出し、読み出した前記動作情報に応じた情報を所定の記憶部に記憶する情報取得部と、
を含む情報処理装置。 A device that processes multiple processing units in parallel.
Each of the above processing units
An operation information storage unit that stores information related to the operation state of the processing unit (hereinafter, operation information) in a storage area that can be read by the other processing units.
When a predetermined waiting time occurs before a predetermined condition is satisfied in the other processing unit, the operation information of the other processing unit is read from the storage area at the start and end of the waiting time. An information acquisition unit that stores information corresponding to the operation information in a predetermined storage unit, and an information acquisition unit.
Information processing equipment including.
前記情報取得部が、他の前記処理単位における前記実行中のユーザルーチンおよび前記ユーザルーチンの呼び出し履歴を含む前記動作情報を読み出す
請求項1に記載の情報処理装置。 The storage area includes a running user routine in the self-processing unit and a stack area for storing the call history of the user routine.
The information processing device according to claim 1, wherein the information acquisition unit reads out the operation information including the executing user routine and the call history of the user routine in the other processing unit.
前記情報取得部は、前記開始時の前記数値情報と前記終了時の前記数値情報の差分を前記記憶部に記憶する
請求項1または2に記載の情報処理装置。 The operation information includes numerical information that changes according to the operation state of the processing unit.
The information processing device according to claim 1 or 2, wherein the information acquisition unit stores the difference between the numerical information at the start and the numerical information at the end in the storage unit.
請求項1から3のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3, wherein the processing unit is a process or a thread.
各前記処理単位において、
他の前記処理単位が読み出し可能な記憶領域に自己の前記処理単位の動作状態に係る情報(以下、動作情報)を記憶するステップと、
他の前記処理単位で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に前記記憶領域から前記他の処理単位の前記動作情報を読み出し、読み出した前記動作情報に応じた情報を所定の記憶部に記憶するステップと、
を含む情報処理方法。 It is a method of processing multiple processing units in parallel.
In each of the processing units
A step of storing information related to the operating state of the processing unit (hereinafter referred to as operation information) in a storage area that can be read by the other processing unit.
When a predetermined waiting time occurs before a predetermined condition is satisfied in the other processing unit, the operation information of the other processing unit is read from the storage area at the start and end of the waiting time. A step of storing information according to the operation information in a predetermined storage unit, and
Information processing methods including.
各前記処理単位において、
他の前記処理単位が読み出し可能な記憶領域に自己の前記処理単位の動作状態に係る情報(以下、動作情報)を記憶するステップと、
他の前記処理単位で所定の条件が成立するまでに所定の待ち合わせ時間が発生した場合に、その待ち合わせ時間の開始時と終了時に前記記憶領域から前記他の処理単位の前記動作情報を読み出し、読み出した前記動作情報に応じた情報を所定の記憶部に記憶するステップと、
をコンピュータに実行させるプログラム。 When processing multiple processing units in parallel
In each of the processing units
A step of storing information related to the operating state of the processing unit (hereinafter referred to as operation information) in a storage area that can be read by the other processing unit.
When a predetermined waiting time occurs before a predetermined condition is satisfied in the other processing unit, the operation information of the other processing unit is read from the storage area at the start and end of the waiting time. A step of storing information according to the operation information in a predetermined storage unit, and
A program that causes a computer to run.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020009086A JP7434925B2 (en) | 2020-01-23 | 2020-01-23 | Information processing device, information processing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020009086A JP7434925B2 (en) | 2020-01-23 | 2020-01-23 | Information processing device, information processing method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021117577A true JP2021117577A (en) | 2021-08-10 |
JP7434925B2 JP7434925B2 (en) | 2024-02-21 |
Family
ID=77174867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020009086A Active JP7434925B2 (en) | 2020-01-23 | 2020-01-23 | Information processing device, information processing method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7434925B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009059316A (en) * | 2007-09-04 | 2009-03-19 | Nec Corp | Measuring device, measurement program, and measuring method |
JP2009199121A (en) * | 2008-02-19 | 2009-09-03 | Nec Corp | Information processor, communication information sampling method, and program |
JP2011175459A (en) * | 2010-02-24 | 2011-09-08 | Nec Corp | Performance information collection device, performance information collection method and performance information collection program |
JP2014092873A (en) * | 2012-11-01 | 2014-05-19 | Nec Corp | Hybrid parallel processing system, hybrid parallel processing method, and computer program |
JP2019521413A (en) * | 2016-05-09 | 2019-07-25 | オラクル・インターナショナル・コーポレイション | Memory usage judgment technology |
-
2020
- 2020-01-23 JP JP2020009086A patent/JP7434925B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009059316A (en) * | 2007-09-04 | 2009-03-19 | Nec Corp | Measuring device, measurement program, and measuring method |
JP2009199121A (en) * | 2008-02-19 | 2009-09-03 | Nec Corp | Information processor, communication information sampling method, and program |
JP2011175459A (en) * | 2010-02-24 | 2011-09-08 | Nec Corp | Performance information collection device, performance information collection method and performance information collection program |
JP2014092873A (en) * | 2012-11-01 | 2014-05-19 | Nec Corp | Hybrid parallel processing system, hybrid parallel processing method, and computer program |
JP2019521413A (en) * | 2016-05-09 | 2019-07-25 | オラクル・インターナショナル・コーポレイション | Memory usage judgment technology |
Also Published As
Publication number | Publication date |
---|---|
JP7434925B2 (en) | 2024-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6219512B2 (en) | Virtual hadoop manager | |
US8145723B2 (en) | Complex remote update programming idiom accelerator | |
EP1916601A2 (en) | Multiprocessor system | |
KR101400286B1 (en) | Method and apparatus for migrating task in multi-processor system | |
JP2003131900A (en) | Server system operation control method | |
US9807152B2 (en) | Distributed processing device and distributed processing system as well as distributed processing method | |
US20060015542A1 (en) | Performance metric-based selection of one or more database server instances to perform database recovery | |
CN113157411B (en) | Celery-based reliable configurable task system and device | |
CN109426544A (en) | Virtual machine deployment method and device | |
CN111756802B (en) | Method and system for scheduling data stream tasks on NUMA platform | |
US10579419B2 (en) | Data analysis in storage system | |
CN111858656A (en) | Static data query method and device based on distributed architecture | |
US7921220B2 (en) | Reducing occurrences of two-phase commits in a multi-node computing system | |
US8977752B2 (en) | Event-based dynamic resource provisioning | |
JP5472447B2 (en) | Multi-core processor system, memory controller control method, and memory controller control program | |
CN105988856A (en) | Interpreter memory access optimizing method and device | |
JP7434925B2 (en) | Information processing device, information processing method and program | |
US9015717B2 (en) | Method for processing tasks in parallel and selecting a network for communication | |
WO2007088582A1 (en) | Asynchronous remote procedure calling method in shared-memory multiprocessor, asynchronous remote procedure calling program, and recording medium | |
CN117093335A (en) | Task scheduling method and device for distributed storage system | |
Orosa et al. | Flexsig: Implementing flexible hardware signatures | |
CN110647357B (en) | Synchronous multithread processor | |
JPWO2012101759A1 (en) | Processor processing method and processor system | |
CN104951369A (en) | Hotspot resource competition eliminating method and device | |
JP4833911B2 (en) | Processor unit and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230815 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231013 |
|
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: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240122 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7434925 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |