JP4535784B2 - Process placement apparatus, process placement method, and process placement program - Google Patents
Process placement apparatus, process placement method, and process placement program Download PDFInfo
- Publication number
- JP4535784B2 JP4535784B2 JP2004176989A JP2004176989A JP4535784B2 JP 4535784 B2 JP4535784 B2 JP 4535784B2 JP 2004176989 A JP2004176989 A JP 2004176989A JP 2004176989 A JP2004176989 A JP 2004176989A JP 4535784 B2 JP4535784 B2 JP 4535784B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- cpu
- memory
- belonging
- match
- 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
- 238000000034 method Methods 0.000 title claims description 120
- 230000015654 memory Effects 0.000 claims description 116
- 238000001514 detection method Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 5
- 230000001427 coherent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
- Multi Processors (AREA)
Description
本発明は、プロセス配置装置、プロセス配置方法及びプロセス配置プログラムに関し、特に、ccNUMA(cache coherent Non-Uniform Memory Access)アーキテクチャに適用されるプロセス配置装置、プロセス配置方法及びプロセス配置プログラムに関する。 The present invention relates to a process placement apparatus, a process placement method, and a process placement program, and more particularly to a process placement apparatus, a process placement method, and a process placement program applied to a ccNUMA (cache coherent Non-Uniform Memory Access) architecture.
ccNUMA(cache coherent Non-Uniform Memory Access)アーキテクチャにおいては、システムは複数のノードを備え、各ノードは、CPU、メモリ、入出力インターフェース等を備える。あるノードのCPUは自ノードのメモリのみならず他ノードのメモリにもアクセスできるが、自ノードのメモリへのアクセス時間に対して、他ノードのメモリへのアクセス時間が長い。 In a ccNUMA (cache coherent non-uniform memory access) architecture, the system includes a plurality of nodes, and each node includes a CPU, a memory, an input / output interface, and the like. The CPU of a certain node can access not only the memory of the own node but also the memory of the other node, but the access time to the memory of the other node is longer than the access time to the memory of the own node.
従って、あるノードから他のノードへのアクセス回数を減らすことが性能を上げるために必要である。 Therefore, it is necessary to reduce the number of accesses from one node to another node in order to improve performance.
しかし、従来のccNUMAアーキテクチャ上で動作するオペレーティングシステムでは、あるノードに属するCPUから他のノードに属するメモリへのアクセスであるノード間メモリアクセスを動的に削減するプロセス配置は行われていなかった。 However, in a conventional operating system operating on the ccNUMA architecture, a process arrangement for dynamically reducing memory access between nodes, which is access from a CPU belonging to a certain node to a memory belonging to another node, has not been performed.
そのため、最初に他のノードからメモリを割り当てられると、プログラム終了までノード間メモリアクセスを行ってしまい、性能の低下やバラツキがあるという欠点があった。 For this reason, when memory is first allocated from another node, memory access between nodes is performed until the end of the program, and there is a disadvantage in that there is a decrease in performance and variation.
この問題に対処するための一例が、特許文献1に記載されている。
An example for dealing with this problem is described in
特許文献1に記載された手法は、ページ単位でノード間メモリアクセスを監視し、ノード間メモリアクセスがしきい値を越えた場合にページを移動させるものである。
しかし、この技術には次のような問題点があった。 However, this technique has the following problems.
第1の問題点は、ページ移動に伴うオーバヘッドが大きいという点である。 The first problem is that the overhead associated with page movement is large.
第2の問題点は、CPU−メモリ間の帯域の多くをページ移動のために消費してしまう点である。 The second problem is that much of the bandwidth between the CPU and the memory is consumed for page movement.
性能を低下させるようなコンピュータ資源の消費を行わずにノード間メモリアクセスを削減することを可能とするプロセス配置装置、プロセス配置方法及びプロセス配置プログラムを提供することを目的とする。 It is an object of the present invention to provide a process placement apparatus, a process placement method, and a process placement program that can reduce memory access between nodes without consuming computer resources that reduce performance.
本発明の第1の観点によれば、プログラムに含まれる1以上のプロセスのうちの各プロセスが、ccNUMAアーキテクチャの何れかのノードに属するCPUと何れかのノードに属するメモリを用いて実行される方式に適用されるプロセス配置装置において、各プロセス毎に、該プロセスを実行するCPUが属するノードである第1のノード及び所定時間内に該CPUがアクセスする回数が最も高いメモリが属するノードである第2のノードを検出するノード検出手段と、各プロセス毎に、前記第1のノードと前記第2のノードが一致するか否かを判断するノード一致判断手段と、各プロセス毎に、前記第1のノードと前記第2のノードとが一致しない場合に、該プロセスを実行するCPUを、前記第2のノードに属するCPUに変更するCPU割当変更手段と、を備えることを特徴とするプロセス配置装置が提供される。 According to the first aspect of the present invention, each of one or more processes included in a program is executed using a CPU belonging to any node of the ccNUMA architecture and a memory belonging to any node. In the process placement apparatus applied to the method, for each process, a first node that is a node to which a CPU that executes the process belongs and a node to which a memory that the CPU accesses most frequently within a predetermined time belongs Node detection means for detecting a second node; node match determination means for determining whether the first node and the second node match for each process; and When one node does not match the second node, the CPU that executes the process is changed to a CPU belonging to the second node. C Process placement apparatus characterized by and a U allocation changing means.
本発明の第2の観点によれば、プログラムに含まれる1以上のプロセスのうちの各プロセスが、ccNUMAアーキテクチャの何れかのノードに属するCPUと何れかのノードに属するメモリを用いて実行される方式に適用されるプロセス配置装置において、各プロセス毎に、該プロセスを実行するCPUが属するノードである第1のノード及び所定時間内に該CPUがアクセスする回数が最も高いメモリが属する第2のノードを検出するノード検出手段と、各プロセス毎に、前記第1のノードと前記第2のノードが一致するか否かを判断するノード一致判断手段と、前記第1のノードと前記第2のノードが一致しない各プロセス毎に、該プロセスを実行するCPUから前記第1のノードに属するメモリへの前記所定時間内のアクセス回数である第1のアクセス回数と、該プロセスを実行するCPUから前記第2のノードに属するメモリへの前記所定時間内のアクセス回数である第2のアクセス回数とを検出するアクセス回数検出手段と、前記第1のノードと前記第2のノードが一致しない各プロセス毎に、前記第2のアクセス回数から前記第1のアクセス回数を減じて得られる差分が所定のしきい値よりも大きいか否かを判断するアクセス回数差分判断手段と、前記第1のノードと前記第2のノードが一致しない各プロセス毎に、前記差分が所定のしきい値よりも大きい場合に、該プロセスを実行するCPUを、前記第2のノードに属するCPUに変更するCPU割当変更手段と、を備えることを特徴とするプロセス配置装置が提供される。 According to the second aspect of the present invention, each of the one or more processes included in the program is executed using a CPU belonging to any node of the ccNUMA architecture and a memory belonging to any node. In the process placement apparatus applied to the method, for each process, a first node, which is a node to which a CPU executing the process belongs, and a second memory to which the CPU has the highest number of accesses within a predetermined time period belong Node detecting means for detecting a node; node matching determining means for determining whether or not the first node and the second node match for each process; and the first node and the second node For each process where the nodes do not match, the number of accesses within the predetermined time from the CPU executing the process to the memory belonging to the first node An access count detecting means for detecting a first access count and a second access count that is the number of accesses from the CPU executing the process to the memory belonging to the second node within the predetermined time; and Whether or not the difference obtained by subtracting the first access count from the second access count is greater than a predetermined threshold value for each process in which the first node and the second node do not match An access frequency difference determination means for determining, and for each process in which the first node and the second node do not match, a CPU that executes the process when the difference is greater than a predetermined threshold; CPU allocation changing means for changing to a CPU belonging to the second node is provided.
第1の効果は、プログラムにおけるノード間メモリアクセスを削減できることである。 The first effect is that the memory access between nodes in the program can be reduced.
その理由は、各プロセスを実行するCPUを該プロセスにおいて最も多くアクセスされるメモリが属するCPUに動的に変更するためである。 The reason is that the CPU that executes each process is dynamically changed to the CPU to which the most frequently accessed memory in the process belongs.
第2の効果は、各プロセスが高速なメモリアクセスを行えることである。 The second effect is that each process can perform high-speed memory access.
その理由は、第1の効果についての理由と同様である。 The reason is the same as the reason for the first effect.
第3の効果は、性能を低下させるようなコンピュータ資源の消費を行わないことである。 A third effect is that no computer resources are consumed that degrade the performance.
その理由は、メモリのページ移動を行わないからである。 The reason is that the page movement of the memory is not performed.
第4の効果は、プログラムの高速化が容易になることである。 The fourth effect is that it is easy to speed up the program.
その理由は、ユーザがプロセスのメモリアクセス特性をノード間メモリアクセス履歴貯蔵装置から取得できるためである。 The reason is that the user can acquire the memory access characteristics of the process from the inter-node memory access history storage device.
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。 The best mode for carrying out the present invention will be described below in detail with reference to the drawings.
本発明は、ccNUMAアーキテクチャを持つ計算機上で動作するオペレーティングシステムに対して投入された並列プログラムの性能を向上さノードプロセス配置機構を提供するものである。 The present invention provides a node process placement mechanism that improves the performance of parallel programs submitted to an operating system running on a computer having a ccNUMA architecture.
図1において、オペレーティングシステムによって管理されるユーザプログラム4中のプロセス4−1は、CPU2−1のいずれかとメモリ3−1のいずれかによって実行される。
In FIG. 1, the process 4-1 in the
各CPU2−1と各メモリ3−1はノード1に分割されており、各CPUから同一ノード内のメモリへのアクセス速度は、ノード外のメモリへのアクセス速度よりも高速である。
Each CPU 2-1 and each memory 3-1 are divided into
各CPU2−1はCPU群管理装置2によって管理されており、各メモリ3−1はメモリ群管理装置3によって管理されている。
Each CPU 2-1 is managed by the CPU
CPU群管理装置2とメモリ群管理装置3は、スケジューリング装置5の指示に従い、プロセス4−1に対して何れかのCPU2−1と何れかのメモリ3−1の割り当てを行う。
The CPU
スケジューリング装置5内のノード間メモリアクセス情報解析装置5−1は、まずユーザプログラム4中のノード間メモリアクセス履歴貯蔵装置4−2からプロセスごとのノード間メモリアクセス情報を抽出する。
The inter-node memory access information analysis device 5-1 in the
次に、ノード間メモリアクセス情報解析装置5−1は、各プロセスを所定時間のメモリアクセス回数が最も多いノード内のCPUに割り当てるように、スケジューリング指示装置5−2を介してCPU群管理装置2に指示する。
Next, the inter-node memory access information analyzing apparatus 5-1 assigns each process to the CPU in the node having the largest number of memory accesses for a predetermined time, via the scheduling instruction apparatus 5-2, and the CPU
ノード間メモリアクセス履歴制御装置6は、ノード間メモリアクセス履歴収集装置6−1を用いてCPU群管理装置2、メモリ群管理装置3、プロセス4−1、スケジューリング装置5からプロセスごとの動作情報を収集し、それをノード間メモリアクセス履歴変更装置6−2を介してノード間メモリアクセス履歴貯蔵装置4−2に記録する。
The inter-node memory access
一般にccNUMAアーキテクチャ上で並列プログラムを効率良く動作させるためには、ノード間メモリアクセスを削減することが重要であるため、メモリアクセスの多いプログラムの場合には、より高速なメモリアクセスが可能となる。 In general, in order to efficiently operate a parallel program on the ccNUMA architecture, it is important to reduce memory access between nodes. Therefore, in the case of a program with many memory accesses, faster memory access is possible.
図1を参照すると、本実施形態は、ユーザプログラム4とユーザプログラムを解釈して実行するCPU2−1、ユーザプログラムや実行時のデータを配置するためのメモリ3−1、複数のCPU2−1を管理しユーザプログラムへのCPU割り当てを行うCPU群管理装置2、複数のメモリ3−1を管理しユーザプログラムへのメモリ割り当てを行うメモリ群管理装置3、CPU群管理装置2やメモリ群管理装置3と協調してユーザプログラムへのCPU、メモリの割り当てを制御するスケジューリング装置5、ユーザプログラムの動作情報を収集し、次回のCPU割り当てに利用するために情報を還元するノード間メモリアクセス履歴制御装置6を含む。
Referring to FIG. 1, the present embodiment includes a
ユーザプログラム4は、複数のプロセス4−1と、各プロセスが動作した際の以下の情報を貯蔵するためのノード間メモリアクセス履歴貯蔵装置4−2を含む。
−各プロセスに割り当てられたCPU
−各プロセスに割り当てられたCPUが属するノード
−各プロセスにおける、所定時間内の各ノード毎のメモリアクセス回数(CPUが属するノード以外の各メモリへのアクセス回数及びCPUが属するノード内のメモリへのアクセス回数)
−ノード毎のノード間アクセス率
=当該ノード外メモリへのアクセス回数×100/全メモリアクセス回数
=当該ノード外メモリへのアクセス回数×100/(全ノード外メモリへのアクセス回数+ノード内メモリへのアクセス回数)
スケジューリング装置5は、ノード間メモリアクセス履歴貯蔵装置4−2から得られるノード間メモリアクセス情報を解析するノード間メモリアクセス情報解析装置5−1と、その解析結果を元にCPU群管理装置2にプロセス4−1へのCPU2−1の割り当てを指示するスケジューリング指示装置5−2を含む。
The
-CPU assigned to each process
-The node to which the CPU assigned to each process belongs-The number of memory accesses for each node in each process in each process (the number of accesses to each memory other than the node to which the CPU belongs, and the memory in the node to which the CPU belongs number of access)
-Inter-node access rate for each node = number of accesses to the memory outside the node x 100 / total number of accesses to the memory = number of accesses to the memory outside the node x 100 / (number of accesses to the memory outside the node + to memory within the node Access count)
The
ノード間メモリアクセス履歴制御装置6は、プロセスごとに上記情報を収集するノード間メモリアクセス履歴収集装置6−1と、上記情報をノード間メモリアクセス履歴貯蔵装置4−3に記録するノード間メモリアクセス履歴変更装置6−2を含む。
The inter-node memory access
次に、図1及び2を参照して本実施形態の動作について詳細に説明する。 Next, the operation of this embodiment will be described in detail with reference to FIGS.
起動されたプログラムは、スケジューリング装置5によって制御される。
The activated program is controlled by the
スケジューリング装置5は一定の間隔で起動され、その度に以下の動作を行う。
The
ノード間メモリアクセス情報解析装置5−1は、プロセス毎のノード間メモリアクセス情報をノード間メモリアクセス履歴貯蔵装置4−2から収集する(ステップA1)
ノード間メモリアクセス情報解析装置5−1は、各プロセスについて、所定時間内にアクセスされる回数が最も多いメモリが属するノードを選定する(ステップA2)
スケジューリング指示装置5−2は、ノード間メモリアクセス情報解析装置5−1から各プロセスについての最多メモリアクセスノード情報を取得し、そのノードとプロセスが現在割り当てられているCPUの属するノードが同一ノードでない場合(ステップA3でNO)、CPU群管理装置2にプロセスへのCPU割り当て変更を指示する(ステップA2)。CPU群管理装置2は、当該プロセスに割り当てるCPUを、ステップA2で検出された、アクセスされる頻度が最も多いメモリが属するメモリに属するCPUに変更する。
The inter-node memory access information analysis device 5-1 collects inter-node memory access information for each process from the inter-node memory access history storage device 4-2 (step A1).
The inter-node memory access information analysis device 5-1 selects, for each process, a node to which a memory having the highest number of accesses within a predetermined time belongs (step A2).
The scheduling instruction device 5-2 acquires the most memory access node information for each process from the inter-node memory access information analysis device 5-1, and the node to which the CPU to which the process is currently assigned belongs is not the same node. If so (NO in step A3), the CPU
その後、ノード間メモリアクセス履歴制御装置6は、ノード間メモリアクセス履歴収集装置6−1を用いてCPU群管理装置2、メモリ群管理装置3、プロセス4−1、スケジューリング装置5からプロセスごとの以下の情報を収集する(ステップA5)。
−割り当てられたCPU
−割り当てられたCPUが属するノード
−ノードごとのメモリアクセス回数
得られた情報からノード間アクセス率を計算し(ステップA6)、ノード間メモリアクセス履歴変更装置6−2を介して上記情報とともにノード間メモリアクセス履歴貯蔵装置4−2に記録する(ステップA7)。
Thereafter, the inter-node memory access
-Assigned CPU
-Node to which the assigned CPU belongs-Number of memory accesses for each node The inter-node access rate is calculated from the obtained information (step A6), and between the nodes together with the above information via the inter-node memory access history change device 6-2 Record in the memory access history storage device 4-2 (step A7).
次に、本発明の他の実施形態について図面を参照して詳細に説明する。 Next, another embodiment of the present invention will be described in detail with reference to the drawings.
図3を参照すると、本実施形態は、図1の実施形態に加えてユーザプログラム4がプロセス移動しきい値4−3を持つ点が異なる。
Referring to FIG. 3, the present embodiment is different from the embodiment of FIG. 1 in that the
プロセス移動しきい値4−3には、プロセスを他のノードに移動する際のしきい値Xが各プロセス毎に格納されている。 In the process movement threshold value 4-3, a threshold value X for moving a process to another node is stored for each process.
本実施形態の動作を図3、図4を参照して詳細に説明する。 The operation of this embodiment will be described in detail with reference to FIGS.
ノード間メモリアクセス情報解析装置5−1は、各プロセス毎に、該プロセスにおいて所定時間内の最も多くアクセスされるメモリが属するノードについての最多メモリアクセスノード情報の他に、その最多メモリアクセスノードへのメモリアクセス回数と、現在該プロセスが割り当てられているCPUが属するノードに属するメモリへのメモリアクセス回数を、スケジューリング指示装置5−2に渡す(ステップB1)。 For each process, the inter-node memory access information analyzing apparatus 5-1 sends to the most memory access node in addition to the most memory access node information about the node to which the most frequently accessed memory within a predetermined time belongs in each process. The number of memory accesses and the number of memory accesses to the memory belonging to the node to which the CPU to which the process is currently assigned belong are passed to the scheduling instruction device 5-2 (step B1).
スケジューリング指示装置5−2は、各プロセス毎に、最多メモリアクセスノードと現在のCPU割り当てノードが同一ノードであるか否かを判断し(ステップB2)、両ノードが同一でない各プロセス毎に、最多メモリアクセスノードに属するメモリへのアクセス回数から現在CPUが割り当てられているノードに属するメモリへのアクセス回数を減じることにより、両者の差分を計算する(ステップB3)。 The scheduling instruction device 5-2 determines, for each process, whether or not the most memory access node and the current CPU allocation node are the same node (step B2). The difference between the two is calculated by subtracting the number of accesses to the memory belonging to the node to which the CPU is currently assigned from the number of accesses to the memory belonging to the memory access node (step B3).
その差分が、ユーザプログラム4から得られるプロセス移動しきい値4−3以上であるか否かを判断し(ステップB5)、そうである場合には、スケジューリング指示装置5−2は、CPU群管理装置2に対してプロセスを最多メモリアクセスノード内のCPUへ割り当てるように指示する(ステップB3)。CPU群管理装置2は、当該プロセスに割り当てるCPUを、ステップB1で検出された、アクセスされる頻度が最も多いメモリが属するメモリに属するCPUに変更する。
It is determined whether or not the difference is equal to or greater than the process movement threshold value 4-3 obtained from the user program 4 (step B5). If so, the scheduling instruction apparatus 5-2 performs CPU group management. The
ステップB7乃至B9は、ステップA5乃至A7と同様であるので、説明を省略する。 Steps B7 to B9 are the same as steps A5 to A7, and thus description thereof is omitted.
以上により、プロセス移動しきい値4−3をユーザが自由に設定することにより、プロセス移動にユーザの意図を反映できるようになる。 As described above, when the user freely sets the process movement threshold value 4-3, the user's intention can be reflected in the process movement.
なお、ノード間メモリアクセス履歴制御装置6及びスケジューリング装置5は、ハードウェアによって実現することもできるが、コンピュータを当該装置として機能させるためのプログラムをコンピュータが読み込んで実行することもできる。また、ノード間メモリアクセス履歴制御装置6及びスケジューリング装置5が行う方法は、ハードウェアによって実現することもできるが、コンピュータに当該方法を行わせるためのプログラムをコンピュータが読み込んで実行することもできる。
The inter-node memory access
本発明はccNUMAアーキテクチャのコンピュータにおいて実行されるプログラムの実行速度を高めるために利用することができる。 The present invention can be used to increase the execution speed of a program executed on a computer of ccNUMA architecture.
1 ノード
2 CPU群管理装置
2−1 CPU
3 メモリ群管理装置
3−1 メモリ
4 ユーザプログラム
4−1 プロセス
4−2 ノード間メモリアクセス履歴貯蔵装置
4−3 プロセス移動しきい値
5 スケジューリング装置
5−1 ノード間メモリアクセス情報解析装置
5−2 スケジューリング指示装置
6 ノード間メモリアクセス履歴制御装置
6−1 ノード間メモリアクセス履歴収集装置
6−2 ノード間メモリアクセス履歴変更装置
1
3 Memory Group Management Device 3-1
Claims (2)
プロセス毎に、該プロセスを実行するCPUが属するノードである第1のノード及び所定時間内に該プロセスを実行するCPUがアクセスする回数が最も高いメモリが属する第2のノードを検出するノード検出手段と、
プロセス毎に、前記第1のノードと前記第2のノードが一致するか否かを判断するノード一致判断手段と、
前記第1のノードと前記第2のノードが一致しないプロセス毎に、該プロセスを実行するCPUから前記第1のノードに属するメモリへの前記所定時間内のアクセス回数である第1のアクセス回数と、該プロセスを実行するCPUから前記第2のノードに属するメモリへの前記所定時間内のアクセス回数である第2のアクセス回数とを検出するアクセス回数検出手段と、
前記第1のノードと前記第2のノードが一致しないプロセス毎に、前記第2のアクセス回数から前記第1のアクセス回数を減じて得られる差分が所定のしきい値よりも大きいか否かを判断するアクセス回数差分判断手段と、
前記第1のノードと前記第2のノードが一致しないプロセス毎に、前記差分が所定のしきい値よりも大きい場合に、該プロセスを実行するCPUを、前記第2のノードに属するCPUに変更するCPU割当変更手段と、
を備えることを特徴とするプロセス配置装置。 In a process placement apparatus applied to a method in which each of one or more processes included in a program is executed using a CPU belonging to any node of the ccNUMA architecture and a memory belonging to any node,
Node detection means for detecting, for each process, a first node to which a CPU executing the process belongs and a second node to which a memory having the highest number of accesses by the CPU executing the process belongs within a predetermined time. When,
Node matching judgment means for judging whether or not the first node and the second node match for each process;
For each process in which the first node and the second node do not match, a first access count that is the number of accesses in the predetermined time from the CPU executing the process to the memory belonging to the first node; An access number detecting means for detecting a second access number that is the number of accesses within the predetermined time from the CPU executing the process to the memory belonging to the second node;
Whether the difference obtained by subtracting the first access count from the second access count is greater than a predetermined threshold value for each process in which the first node and the second node do not match An access frequency difference judging means for judging;
For each process in which the first node and the second node do not match, if the difference is greater than a predetermined threshold, the CPU that executes the process is changed to a CPU belonging to the second node CPU allocation changing means for
A process placement apparatus comprising:
プロセス毎に、該プロセスを実行するCPUが属するノードである第1のノード及び所定時間内に該プロセスを実行するCPUがアクセスする回数が最も高いメモリが属する第2のノードを検出するノード検出ステップと、
プロセス毎に、前記第1のノードと前記第2のノードが一致するか否かを判断するノード一致判断ステップと、
前記第1のノードと前記第2のノードが一致しないプロセス毎に、該プロセスを実行するCPUから前記第1のノードに属するメモリへの前記所定時間内のアクセス回数である第1のアクセス回数と、該プロセスを実行するCPUから前記第2のノードに属するメモリへの前記所定時間内のアクセス回数である第2のアクセス回数とを検出するアクセス回数検出ステップと、
前記第1のノードと前記第2のノードが一致しないプロセス毎に、前記第2のアクセス回数から前記第1のアクセス回数を減じて得られる差分が所定のしきい値よりも大きいか否かを判断するアクセス回数差分判断ステップと、
前記第1のノードと前記第2のノードが一致しないプロセス毎に、前記差分が所定のしきい値よりも大きい場合に、該プロセスを実行するCPUを、前記第2のノードに属するCPUに変更するCPU割当変更ステップと、
を備えることを特徴とするプロセス配置方法。 In a process placement method applied to a method in which each of one or more processes included in a program is executed using a CPU belonging to any node of a ccNUMA architecture and a memory belonging to any node,
A node detection step of detecting, for each process, a first node to which a CPU executing the process belongs and a second node to which a memory having the highest number of accesses by the CPU executing the process within a predetermined time period belongs When,
A node match determination step for determining whether or not the first node and the second node match for each process;
For each process in which the first node and the second node do not match, a first access count that is the number of accesses in the predetermined time from the CPU executing the process to the memory belonging to the first node; An access count detection step of detecting a second access count that is the number of accesses to the memory belonging to the second node from the CPU executing the process within the predetermined time;
Whether the difference obtained by subtracting the first access count from the second access count is greater than a predetermined threshold value for each process in which the first node and the second node do not match An access frequency difference determination step to determine;
For each process in which the first node and the second node do not match, if the difference is greater than a predetermined threshold, the CPU that executes the process is changed to a CPU belonging to the second node CPU allocation change step to perform,
A process placement method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004176989A JP4535784B2 (en) | 2004-06-15 | 2004-06-15 | Process placement apparatus, process placement method, and process placement program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004176989A JP4535784B2 (en) | 2004-06-15 | 2004-06-15 | Process placement apparatus, process placement method, and process placement program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006003972A JP2006003972A (en) | 2006-01-05 |
JP4535784B2 true JP4535784B2 (en) | 2010-09-01 |
Family
ID=35772348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004176989A Expired - Fee Related JP4535784B2 (en) | 2004-06-15 | 2004-06-15 | Process placement apparatus, process placement method, and process placement program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4535784B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4872402B2 (en) * | 2006-03-20 | 2012-02-08 | 日本電気株式会社 | Memory access load balancing apparatus and method for multiprocessor system |
KR101180763B1 (en) * | 2008-08-04 | 2012-09-07 | 후지쯔 가부시끼가이샤 | Multiprocessor system, management device for multiprocessor system, and computer-readable recording medium in which management program for multiprocessor system is recorded |
CN114090223A (en) * | 2020-08-24 | 2022-02-25 | 北京百度网讯科技有限公司 | Memory access request scheduling method, device, equipment and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214959A (en) * | 1993-01-20 | 1994-08-05 | Yokogawa Electric Corp | Multiprocessor system |
JPH07129518A (en) * | 1993-11-05 | 1995-05-19 | Canon Inc | Computer system |
JPH1063525A (en) * | 1996-08-23 | 1998-03-06 | Canon Inc | Information processor, and information processing system and control method therefor |
JPH10503310A (en) * | 1995-05-05 | 1998-03-24 | シリコン グラフィックス インコーポレイテッド | Page movement in non-uniform memory access (NUMA) systems |
JPH10320272A (en) * | 1996-12-11 | 1998-12-04 | Ncr Internatl Inc | Computer system having multiprocessor and memory page position controlling method for the system |
JPH11203261A (en) * | 1998-01-09 | 1999-07-30 | Nec Corp | Remote memory access monitoring device and remote memory access control method |
JP2002140229A (en) * | 2000-08-17 | 2002-05-17 | Internatl Business Mach Corp <Ibm> | Memory similarity control of application level |
-
2004
- 2004-06-15 JP JP2004176989A patent/JP4535784B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214959A (en) * | 1993-01-20 | 1994-08-05 | Yokogawa Electric Corp | Multiprocessor system |
JPH07129518A (en) * | 1993-11-05 | 1995-05-19 | Canon Inc | Computer system |
JPH10503310A (en) * | 1995-05-05 | 1998-03-24 | シリコン グラフィックス インコーポレイテッド | Page movement in non-uniform memory access (NUMA) systems |
JPH1063525A (en) * | 1996-08-23 | 1998-03-06 | Canon Inc | Information processor, and information processing system and control method therefor |
JPH10320272A (en) * | 1996-12-11 | 1998-12-04 | Ncr Internatl Inc | Computer system having multiprocessor and memory page position controlling method for the system |
JPH11203261A (en) * | 1998-01-09 | 1999-07-30 | Nec Corp | Remote memory access monitoring device and remote memory access control method |
JP2002140229A (en) * | 2000-08-17 | 2002-05-17 | Internatl Business Mach Corp <Ibm> | Memory similarity control of application level |
Also Published As
Publication number | Publication date |
---|---|
JP2006003972A (en) | 2006-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467136B2 (en) | Adaptable data caching mechanism for in-memory cluster computing | |
US9965324B2 (en) | Process grouping for improved cache and memory affinity | |
US10649662B2 (en) | Methods and apparatus to manage workload memory allocation | |
JP5040773B2 (en) | Memory buffer allocation device and program | |
JP5608222B2 (en) | Application efficiency engine | |
US7240223B2 (en) | Method and apparatus for dynamic power management in a processor system | |
CN102231121B (en) | Fast Parallel Extraction Method of Large Data Files Based on Memory Mapping | |
US20120042312A1 (en) | Process demand prediction for distributed power and resource management | |
JP3879002B2 (en) | Self-optimizing arithmetic unit | |
CN110795213B (en) | Active memory prediction migration method in virtual machine migration process | |
JP2015504541A (en) | Method, program, and computing system for dynamically optimizing memory access in a multiprocessor computing system | |
CN114048006B (en) | Virtual machine dynamic migration method, device and storage medium | |
WO2024174920A1 (en) | Metadata load balancing method , apparatus and device, and non-volatile readable storage medium | |
JPH012145A (en) | Resource management method for virtual computer system | |
US20120331235A1 (en) | Memory management apparatus, memory management method, control program, and recording medium | |
CN101859282B (en) | Method for disk page swapping in virtualization platform based on dual tracking | |
JP6135392B2 (en) | Cache memory control program, processor incorporating cache memory, and cache memory control method | |
JP4535784B2 (en) | Process placement apparatus, process placement method, and process placement program | |
CN113138841B (en) | A resource scheduling method and a resource scheduling system | |
US10528387B2 (en) | Computer processing system with resource optimization and associated methods | |
Subedi et al. | Rise: Reducing i/o contention in staging-based extreme-scale in-situ workflows | |
Li | Orchestrating thread scheduling and cache management to improve memory system throughput in throughput processors | |
WO2017059716A1 (en) | Method and device for redundant arrays of independent disks to share write cache | |
JP2001184175A (en) | Storage management system | |
KR102319718B1 (en) | Dynamic many-core partitioning apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070511 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070814 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071128 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20071128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071128 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080110 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080215 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080604 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090508 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100615 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4535784 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |