JP5577745B2 - Cluster system, process allocation method, and program - Google Patents

Cluster system, process allocation method, and program Download PDF

Info

Publication number
JP5577745B2
JP5577745B2 JP2010040632A JP2010040632A JP5577745B2 JP 5577745 B2 JP5577745 B2 JP 5577745B2 JP 2010040632 A JP2010040632 A JP 2010040632A JP 2010040632 A JP2010040632 A JP 2010040632A JP 5577745 B2 JP5577745 B2 JP 5577745B2
Authority
JP
Japan
Prior art keywords
job
processes
calculation
nodes
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010040632A
Other languages
Japanese (ja)
Other versions
JP2011175573A (en
Inventor
佑基 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010040632A priority Critical patent/JP5577745B2/en
Publication of JP2011175573A publication Critical patent/JP2011175573A/en
Application granted granted Critical
Publication of JP5577745B2 publication Critical patent/JP5577745B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、クラスタシステム、プロセス配置方法、及びプログラムに関するものである。   The present invention relates to a cluster system, a process arrangement method, and a program.

計算量が非常に多い処理を行うハイパフォーマンスコンピューティングの分野では、高い計算性能を持つ計算システムが必要とされる。
従来は、単体性能が高い計算ノードを少数接続した計算クラスタが利用されてきた。この場合、接続形態は全てのノード間で直接通信できる単段クロスバー方式であり、これにより均一なインターコネクト通信性能が実現できていた。
In the field of high performance computing that performs processing with a large amount of calculation, a calculation system having high calculation performance is required.
Conventionally, a calculation cluster in which a small number of calculation nodes with high unit performance are connected has been used. In this case, the connection form is a single-stage crossbar system in which direct communication can be performed between all the nodes, thereby achieving uniform interconnect communication performance.

現在は、計算機のコモディティ化が進み、比較的単体性能が低い計算ノードを多数接続した計算クラスタが用いられることが多くなった。この場合、単段クロスバー方式を採用すると、接続数はノード数の約2乗にもなるため、ノード数の増加によってネットワーク部品が爆発的に増加する。   Nowadays, computers have become more commoditized, and computation clusters are often used in which many computation nodes with relatively low unit performance are connected. In this case, if the single-stage crossbar method is adopted, the number of connections becomes about the square of the number of nodes, and therefore the number of nodes increases the number of network parts explosively.

このため、計算ノードを多数接続した計算クラスタでは、ファットツリーやメッシュといった多段接続を用いることが一般的である。多段接続はネットワーク部品の増大をある程度抑えることができるが、ノードの組み合わせによって経由する段数にばらつきが生じるため、インターコネクト通信性能が均一にならないという問題がある。   For this reason, in a calculation cluster in which a large number of calculation nodes are connected, it is common to use a multistage connection such as a fat tree or a mesh. Multi-stage connection can suppress an increase in the number of network components to some extent, but there is a problem that the interconnect communication performance is not uniform because the number of stages through which the nodes are combined varies.

多数の計算ノードが接続された計算クラスタの場合、一般的に、バッチサーバによって計算ノードの一元管理を行う。バッチサーバは、フロントエンドからのジョブ実行要求を受け付け、各計算ノードのCPUやメモリといったリソースの空き状況に応じて、ジョブの割り当てを決定する。バッチサーバにより、計算ノードの負荷を均等にし、計算クラスタ全体として効率的な運用を実現する。   In the case of a calculation cluster in which a large number of calculation nodes are connected, generally, the calculation node is centrally managed by a batch server. The batch server accepts a job execution request from the front end, and determines job assignment according to the availability of resources such as CPUs and memories of each computation node. The batch server equalizes the load on the computation nodes and realizes efficient operation as a whole computation cluster.

しかし、現在のバッチサーバは、ジョブの割り当ての判断にはCPUやメモリといった計算ノード自体のリソースの空き状況のみを考慮し、計算ノード間のインターコネクト通信性能を考慮することはほとんどない。このため、分散並列ジョブに割り当てられる計算ノード群のインターコネクト通信性能に偏りが生じることがある。   However, the current batch server considers only the availability of resources of the calculation node itself such as CPU and memory in determining job allocation, and hardly considers the interconnect communication performance between the calculation nodes. For this reason, the interconnect communication performance of the computation node group assigned to the distributed parallel job may be biased.

また、ジョブの一例として分散並列ジョブがある。分散並列ジョブは、個々のプロセスに計算を分割し、プロセス間で適宜データを交換しながら並列に計算を進めていく。分散並列ジョブは、個々のプロセスを別々の計算ノードに割り当てることで、並列化による高い計算性能が発揮できる。   An example of a job is a distributed parallel job. A distributed parallel job divides the calculation into individual processes, and advances the calculation in parallel while appropriately exchanging data between the processes. Distributed parallel jobs can exhibit high computing performance due to parallelization by assigning individual processes to different computing nodes.

分散並列ジョブを実行する場合、計算クラスタの実装によってプロセス間の通信に特性が見られる場合がある。例えば、X−Y−Z軸の格子モデルで平面方向をより詳細に計算する場合、X−Y平面に配置されたプロセス間はZ方向に配置されたプロセス間よりも通信が多くなる。   When executing a distributed parallel job, there may be a characteristic in communication between processes depending on the implementation of a calculation cluster. For example, when the plane direction is calculated in more detail using an X-Y-Z axis lattice model, communication between processes arranged on the XY plane is more than communication between processes arranged in the Z direction.

このように、プロセス間の通信に特性が見られる場合、分散並列ジョブの性能が十分に発揮されない場合がある。これは、バッチサーバが計算ノード間のインターコネクト通信性能や分散並列ジョブの通信特性を考慮せずに割り当てを行うため、インターコネクト通信性能の偏りが分散並列ジョブのプロセス間の通信特性と合致せず、最適なインターコネクト通信性能を引き出せないためである。   As described above, when there is a characteristic in communication between processes, the performance of the distributed parallel job may not be sufficiently exhibited. This is because the batch server performs allocation without considering the interconnect communication performance between compute nodes and the communication characteristics of distributed parallel jobs, so the bias of interconnect communication performance does not match the communication characteristics between processes of distributed parallel jobs, This is because optimum interconnect communication performance cannot be obtained.

特許文献1には、それぞれがプロセッサを備える複数のノードを格子状に接続させた格子型コンピュータシステムにおいて、格子型コンピュータシステムにおける複数のノードとノード間接続装置の接続形態にしたがって作成された論理ノードからなる格子モデルが、外部からなされる一つまたは複数のサービス要求に対応付けられた一つ以上の論理ノードを含む方形領域に分割されており、この方形領域内のいずれかの論理ノードにおいて実行されるスケジューラが、該方形領域に対応するサービス要求のジョブを構成するタスクの並列度および直列度に基づいて、方形領域内の他の論理ノードにタスクを処理するためのプログラムを割り当てることが記載されている。   Patent Document 1 discloses a logical node created according to a connection form of a plurality of nodes and inter-node connection devices in a lattice type computer system in a lattice type computer system in which a plurality of nodes each having a processor are connected in a lattice shape. The grid model consisting of is divided into square areas containing one or more logical nodes associated with one or more service requests made from the outside, and executed at any logical node in this square area The assigned scheduler assigns a program for processing a task to other logical nodes in the rectangular area based on the parallelism and seriality of the tasks constituting the service request job corresponding to the rectangular area. Has been.

特開2007−206987号公報JP 2007-206987 A

特許文献1には、計算ノードにタスクを最適配置する手法が記載されているが、ノードが格子状に接続された形態にしか適用できない。   Patent Document 1 describes a method for optimally arranging tasks in calculation nodes, but it can be applied only to a form in which nodes are connected in a grid pattern.

そこで、本発明の目的は、計算ノードの接続形態にかかわらず、プロセスを計算ノードに最適に配置することにより通信時間を最適化し、ジョブの実行性能を向上させることである。   Accordingly, an object of the present invention is to optimize the communication time and improve the job execution performance by optimally arranging the processes in the calculation nodes regardless of the connection form of the calculation nodes.

本発明に係るクラスタシステムは、複数の計算ノードと、フロントエンド装置を介して要求されたバッチ処理を、前記複数の計算ノードに割り当てるバッチサーバを備えたクラスタシステムであって、前記バッチサーバは、各々の前記計算ノード間のインターコネクト通信性能情報を含むテーブルを作成する、インターコネクト通信性能テーブル作成部と、運用開始時に、各々の前記計算ノードに、前記インターコネクト通信性能テーブルを送信すると共に、前記バッチ処理の要求時に、各々の前記計算ノードに前記バッチ処理に含まれるジョブと、前記ジョブの通信特性を送信する、情報配布部と、を備え、前記計算ノードは、前記ジョブの通信特性と、前記インターコネクト通信性能を突き合わせることにより、各計算ノードに配置するプロセスを決定するプロセス配置計算部、を備える。   The cluster system according to the present invention is a cluster system including a plurality of computing nodes and a batch server that allocates batch processing requested via a front-end device to the plurality of computing nodes, and the batch server includes: An interconnect communication performance table creation unit that creates a table including interconnect communication performance information between each of the calculation nodes, and at the start of operation, transmits the interconnect communication performance table to each of the calculation nodes, and the batch processing A job included in the batch process and an information distribution unit that transmits the communication characteristics of the job to each of the calculation nodes at the time of the request, and the calculation node includes the communication characteristics of the job and the interconnect Place each computing node by matching the communication performance Process arrangement calculation unit for determining a process comprises a.

本発明によれば、計算ノードの接続形態にかかわらず、ジョブの通信特性に基づいてプロセスを計算ノードに最適に配置することで、通信時間の最適化を図り、ジョブの実行性能を向上させることができる。   According to the present invention, it is possible to optimize the communication time and improve the job execution performance by optimally arranging the processes in the calculation nodes based on the job communication characteristics regardless of the connection form of the calculation nodes. Can do.

本発明の実施の形態によるクラスタシステムの構成を示す図である。It is a figure which shows the structure of the cluster system by embodiment of this invention. 本発明の実施の形態によるフロントエンド、バッチサーバ、計算ノードの構成の詳細を示す図である。It is a figure which shows the detail of a structure of the front end by embodiment of this invention, a batch server, and a calculation node. 本発明の実施の形態によるクラスタシステムの動作のフローチャートである。It is a flowchart of operation | movement of the cluster system by embodiment of this invention. インターコネクト通信性能テーブルの例を示す図である。It is a figure which shows the example of an interconnect communication performance table. 本発明の実施の形態によるクラスタシステムの動作のフローチャートである。It is a flowchart of operation | movement of the cluster system by embodiment of this invention. バッチ要求に含まれる通信特性の例を示す図である。It is a figure which shows the example of the communication characteristic contained in a batch request. ジョブのプロセス配置を模式的に示す図である。It is a figure which shows typically the process arrangement | positioning of a job. 本発明の実施の形態によるクラスタシステムの動作のフローチャートである。It is a flowchart of operation | movement of the cluster system by embodiment of this invention. 割り当てノード一覧の例を示す図である。It is a figure which shows the example of an allocation node list. 本発明の実施の形態によるクラスタシステムの動作のフローチャートである。It is a flowchart of operation | movement of the cluster system by embodiment of this invention. プロセス配置決定処理を説明する図である。It is a figure explaining process arrangement | positioning determination processing. ノードグループの分割の例を示す図である。It is a figure which shows the example of the division | segmentation of a node group. 本発明の実施の形態によるクラスタシステムの動作のフローチャートである。It is a flowchart of operation | movement of the cluster system by embodiment of this invention. ノードグループに対して最適化処理を行った例を示す図である。It is a figure which shows the example which performed the optimization process with respect to a node group. プロセス配置とノードグループの突合せを説明する図である。It is a figure explaining the matching of a process arrangement | positioning and a node group.

次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
図1は、本実施形態によるクラスタシステム10の構成を示す図である。図に示すように、クラスタシステム10は、フロントエンド100、バッチサーバ200、計算ノード300を備えている。各フロントエンド100、バッチサーバ200、及び各計算ノード300は、通信ネットワークを介して接続されている。また、計算ノード300間のインターコネクト通信性能は均一ではなく、隣接していない計算ノード300へは他の計算ノード300を経由して通信を行う必要がある。
Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a cluster system 10 according to the present embodiment. As shown in the figure, the cluster system 10 includes a front end 100, a batch server 200, and a computation node 300. Each front end 100, batch server 200, and each calculation node 300 are connected via a communication network. Further, the interconnect communication performance between the computation nodes 300 is not uniform, and it is necessary to communicate with the computation nodes 300 that are not adjacent via the other computation nodes 300.

図2は、フロントエンド100、バッチサーバ200、計算ノード300の構成の詳細を示す図である。
図に示すように、フロントエンド100は、バッチ要求部101を備えている。バッチ要求部101は、バッチサーバ200にバッチ要求を送信する。バッチ要求には計算ジョブとジョブの通信特性が含まれる。バッチ要求部101は、コンピュータのプロセッサにおいて実行されることにより実現される機能ブロックである。
FIG. 2 is a diagram showing details of the configuration of the front end 100, the batch server 200, and the calculation node 300.
As shown in the figure, the front end 100 includes a batch request unit 101. The batch request unit 101 transmits a batch request to the batch server 200. The batch request includes communication jobs and job communication characteristics. The batch request unit 101 is a functional block realized by being executed in a computer processor.

バッチサーバ200は、ジョブ受付部201、ジョブ管理部202、インターコネクト通信性能テーブル作成部203、情報配布部204、バッチリクエスト記憶部205を備えている。   The batch server 200 includes a job reception unit 201, a job management unit 202, an interconnect communication performance table creation unit 203, an information distribution unit 204, and a batch request storage unit 205.

ジョブ受付部201は、フロントエンド100から送信されるバッチ要求を受信する。
ジョブ管理部202は、バッチリクエスト記憶部205を参照し、計算ノード300の割り当てを決定する。
インターコネクト通信性能テーブル作成部203は、全ての計算ノード300のインターコネクト通信性能を取得し、インターコネクト通信性能テーブルを作成する。
The job reception unit 201 receives a batch request transmitted from the front end 100.
The job management unit 202 refers to the batch request storage unit 205 and determines assignment of the calculation nodes 300.
The interconnect communication performance table creation unit 203 acquires the interconnect communication performance of all the computation nodes 300 and creates the interconnect communication performance table.

情報配布部204は、インターコネクト通信性能テーブルを各計算ノード300に送信する。また、各計算ノード300へバッチ要求と割り当てノード一覧を送信する。
バッチリクエスト記憶部205は、ジョブ受付部201で受信したバッチ要求を記憶する。
The information distribution unit 204 transmits an interconnect communication performance table to each computation node 300. In addition, a batch request and an allocation node list are transmitted to each calculation node 300.
The batch request storage unit 205 stores the batch request received by the job reception unit 201.

ジョブ受付部201、ジョブ管理部202、インターコネクト通信性能テーブル作成部203、情報配布部204は、コンピュータのプロセッサにおいて実行されることにより実現される機能ブロックである。バッチリクエスト記憶部205は、メモリ、ハードディスク等の記憶装置により実現される。   The job reception unit 201, job management unit 202, interconnect communication performance table creation unit 203, and information distribution unit 204 are functional blocks that are realized by being executed by a processor of a computer. The batch request storage unit 205 is realized by a storage device such as a memory or a hard disk.

計算ノード300は、ジョブ実行部301を備えている。ジョブ実行部301は、情報取得部302、プロセス配置計算部303、プロセス起動部304、インターコネクト通信性能テーブル記憶部305を備えている。   The calculation node 300 includes a job execution unit 301. The job execution unit 301 includes an information acquisition unit 302, a process arrangement calculation unit 303, a process activation unit 304, and an interconnect communication performance table storage unit 305.

情報取得部302は、インターコネクト通信性能テーブルを受信し、インターコネクト通信性能テーブル記憶部305に記憶する。また、バッチ要求と割り当てノード一覧を受信し、プロセス配置計算部303へ提供する。   The information acquisition unit 302 receives the interconnect communication performance table and stores it in the interconnect communication performance table storage unit 305. The batch request and the allocation node list are received and provided to the process arrangement calculation unit 303.

プロセス配置計算部303は、割り当てノード一覧、ジョブ通信特性、及びインターコネクト通信特性テーブルを参照してプロセス配置を計算する。   The process arrangement calculation unit 303 calculates a process arrangement with reference to the allocation node list, job communication characteristics, and interconnect communication characteristics table.

プロセス起動部304は、プロセス配置計算部303によって計算されたプロセス配置に基づいて、自身に配置されたプロセスを生成し、実行を開始する。   The process activation unit 304 generates a process arranged in itself based on the process arrangement calculated by the process arrangement calculation unit 303 and starts execution.

ジョブ実行部301、情報取得部302、プロセス配置計算部303、プロセス起動部304は、コンピュータのプロセッサにおいて実行されることにより実現される機能ブロックである。インターコネクト通信性能テーブル記憶部305は、メモリ、ハードディスク等の記憶装置により実現される。   The job execution unit 301, the information acquisition unit 302, the process arrangement calculation unit 303, and the process activation unit 304 are functional blocks that are realized by being executed by a processor of a computer. The interconnect communication performance table storage unit 305 is realized by a storage device such as a memory or a hard disk.

次に、クラスタシステム10の動作について説明する。
クラスタシステム10の動作は、実行順に、システムの運用開始時、バッチ処理要求時、ジョブ実行開始時の3つに分けることができる。
Next, the operation of the cluster system 10 will be described.
The operation of the cluster system 10 can be divided into three in the order of execution: when the system starts operating, when batch processing is requested, and when job execution starts.

まず、クラスタシステム10の運用開始時の処理について、図3のフローチャートを用いて説明する。
運用が開始されると、バッチサーバ200のインターコネクト通信性能テーブル作成部203が、接続されている全ての計算ノード300のインターコネクト通信性能を取得し、インターコネクト通信性能テーブルを作成する(ステップS101)。
First, processing at the start of operation of the cluster system 10 will be described with reference to the flowchart of FIG.
When the operation is started, the interconnect communication performance table creation unit 203 of the batch server 200 acquires the interconnect communication performance of all the connected computing nodes 300, and creates the interconnect communication performance table (step S101).

図4は、インターコネクト通信性能テーブルの例を示す図である。図に示すように、各計算ノード300間のインターコネクト通信性能が数値で示されている。数値が小さいものほどインターコネクト通信性能が高い。   FIG. 4 is a diagram illustrating an example of an interconnect communication performance table. As shown in the figure, the interconnect communication performance between the computation nodes 300 is indicated by numerical values. The smaller the number, the higher the interconnect communication performance.

次に、情報配布部204が、インターコネクト通信性能テーブルを各計算ノード300に送信する(ステップS102)。   Next, the information distribution unit 204 transmits an interconnect communication performance table to each computation node 300 (step S102).

次に、各々の計算ノード300は、インターコネクト通信性能テーブルをジョブ実行部301の情報取得部302で受信し、インターコネクト通信性能テーブル記憶部305に記憶する(ステップS103)。   Next, each computing node 300 receives the interconnect communication performance table by the information acquisition unit 302 of the job execution unit 301 and stores it in the interconnect communication performance table storage unit 305 (step S103).

次に、バッチ処理要求時の処理について、図5のフローチャートを用いて説明する。
まず、フロントエンド100のバッチ要求部101からバッチサーバ200へバッチ要求が送信される(ステップS201)。バッチ要求には、ジョブの実行要求とジョブの通信特性が含まれる。
Next, processing when a batch processing request is made will be described with reference to the flowchart of FIG.
First, a batch request is transmitted from the batch request unit 101 of the front end 100 to the batch server 200 (step S201). The batch request includes a job execution request and job communication characteristics.

図6は、バッチ要求部101から送信されるバッチ要求に含まれるジョブの通信特性の例を示す図である。また、図7は、ジョブのプロセス配置を模式的に示す図である。
ジョブの通信特性は、図7に示すように、ジョブのプロセス配置を格子状とみなし、格子の各次元の優先順位、次元軸に配置するプロセス数を設定する。図7中のプロセス番号は、ジョブに含まれる個々のプロセスを識別する番号である。次元の小さい順に0から番号が振られている。
FIG. 6 is a diagram illustrating an example of communication characteristics of a job included in a batch request transmitted from the batch request unit 101. FIG. 7 is a diagram schematically showing the process arrangement of a job.
As shown in FIG. 7, the job communication characteristics are such that the job process arrangement is regarded as a grid, and the priority of each dimension of the grid and the number of processes arranged on the dimension axis are set. The process number in FIG. 7 is a number for identifying each process included in the job. Numbers are assigned from 0 in ascending order of dimension.

バッチサーバ200は、ジョブ受付部201でバッチ要求を受信し、バッチリクエスト記憶部205に記憶する(ステップS202)。   The batch server 200 receives the batch request at the job reception unit 201 and stores it in the batch request storage unit 205 (step S202).

次に、ジョブ管理部202は、バッチリクエスト記憶部205を参照し、計算ノード300の割り当てを決定する(ステップS203)。   Next, the job management unit 202 refers to the batch request storage unit 205 and determines assignment of the calculation nodes 300 (step S203).

次に、ジョブ実行開始時の処理について、図8のフローチャートを用いて説明する。
バッチサーバ200は、バッチリクエスト記憶部205に格納されているジョブの実行時間になると、情報配布部204によって各計算ノード300へバッチ要求と割り当てノード一覧を送信する(ステップS301)。
Next, processing at the start of job execution will be described using the flowchart of FIG.
When the execution time of the job stored in the batch request storage unit 205 is reached, the batch server 200 transmits a batch request and an allocation node list to each computation node 300 by the information distribution unit 204 (step S301).

図9は、割り当てノード一覧の例を示す図である。図9に示すように、割り当てノード一覧には、ジョブに割り当てられた計算ノード300が列挙されている。   FIG. 9 is a diagram illustrating an example of an allocation node list. As shown in FIG. 9, the assignment node list lists the calculation nodes 300 assigned to the job.

計算ノード300は、情報取得部302においてバッチ要求と割り当てノード一覧を受信すると、プロセス配置計算部303において、割り当てノード一覧、ジョブ通信特性、及びインターコネクト通信特性テーブルを参照してプロセス配置を計算する(ステップS302)。   When the information acquisition unit 302 receives the batch request and the allocation node list, the calculation node 300 calculates a process allocation with reference to the allocation node list, job communication characteristics, and interconnect communication characteristics table in the process allocation calculation unit 303 ( Step S302).

次に、各計算ノード300は、プロセス起動部304においてステップS302で計算したプロセス配置に基づいて、自身に配置されたプロセスを生成し、実行を開始する(ステップS303)。   Next, each calculation node 300 generates a process arranged in itself based on the process arrangement calculated in step S302 in the process activation unit 304, and starts execution (step S303).

ステップS302のプロセス配置計算処理について、図10のフローチャートを用いて詳しく説明する。
ここでは、図6に示す通信特性を持つジョブに対して、図9に示すノードが割り当てられた場合を例に説明する。また、各ノード間のインターコネクト通信性能は図4に示すとおりとする。
The process arrangement calculation process in step S302 will be described in detail with reference to the flowchart in FIG.
Here, a case where the node shown in FIG. 9 is assigned to the job having the communication characteristics shown in FIG. 6 will be described as an example. The interconnect communication performance between the nodes is as shown in FIG.

まず、プロセス配置計算部303は、ジョブの通信特性と割り当てノード一覧を参照して、プロセスの配置順を決定する(ステップS401)。プロセス番号は、図7に示すように、次元の小さいものから順に割り振られている。   First, the process placement calculation unit 303 refers to the communication characteristics of the job and the list of assigned nodes, and determines the process placement order (step S401). As shown in FIG. 7, the process numbers are assigned in ascending order of dimension.

図11に示すように、プロセス配置計算部303は、ジョブの通信特性の優先順位が大きい次元の方向で、プロセス数単位で番号をまとめていき、プロセス配置を決定する。   As shown in FIG. 11, the process arrangement calculation unit 303 determines the process arrangement by collecting numbers in units of processes in the dimension direction in which the priority of communication characteristics of jobs is large.

次に、プロセス配置計算部303は、割り当てノード一覧に含まれる計算ノード300をまとめて、1つのノードグループを作成する(ステップS402)。   Next, the process placement calculation unit 303 collects the calculation nodes 300 included in the allocation node list and creates one node group (step S402).

次に、プロセス配置計算部303は、ジョブ通信特性を参照し、優先順位が一番小さい時限のプロセス数でノードグループを分割する(ステップS404)。ここでは、図12に示すように、割り当てノード一覧のノードグループを、図6に示す通信特性の優先順位が一番小さい次元である1次元目のプロセス数「3」で分割する。   Next, the process arrangement calculation unit 303 refers to the job communication characteristics and divides the node group by the number of processes with the lowest priority (step S404). Here, as shown in FIG. 12, the node group of the allocation node list is divided by the number of processes “3” in the first dimension, which is the dimension with the lowest priority of communication characteristics shown in FIG.

次に、プロセス配置計算部303は、分割したノードグループ間で最適化処理を行う(ステップS405)。   Next, the process placement calculation unit 303 performs optimization processing between the divided node groups (step S405).

ステップS405のノードグループ間最適化処理について、図13のフローチャートを用いて説明する。   The inter-node group optimization process in step S405 will be described with reference to the flowchart of FIG.

まず、プロセス配置計算部303は、ノードグループを2つ選択する(ステップS501)。以下、選択したノードグループをGa、Gbとする。   First, the process placement calculation unit 303 selects two node groups (step S501). Hereinafter, the selected node group is referred to as Ga and Gb.

次に、プロセス配置計算部303は、Ga及びGbから、ノードを1つずつ選択する(ステップS502)。   Next, the process arrangement calculation unit 303 selects one node at a time from Ga and Gb (step S502).

次に、プロセス配置計算部303は、インターコネクト通信性能テーブルを参照し、Ga、Gbそれぞれにおいて、ノードグループ内のインターコネクト通信性能の合計を計算する(ステップS503)。以下、計算した合計をTa、Tbとする。   Next, the process placement calculation unit 303 refers to the interconnect communication performance table and calculates the total interconnect communication performance within the node group for each of Ga and Gb (step S503). Hereinafter, the calculated sum is assumed to be Ta and Tb.

次に、プロセス配置計算部303は、Ga及びGbから選択したノードをスワップさせた新しいノードグループGa’、Gb’を作成する(ステップS504)。   Next, the process arrangement calculation unit 303 creates new node groups Ga ′ and Gb ′ in which the nodes selected from Ga and Gb are swapped (step S504).

次に、プロセス配置計算部303は、ノードグループGa’、Gb’について、ノードグループ内のインターコネクト通信性能の合計値Ta’、Tb’を計算する(ステップS505)。   Next, the process placement calculation unit 303 calculates the total values Ta ′ and Tb ′ of the interconnect communication performance within the node group for the node groups Ga ′ and Gb ′ (step S505).

次に、プロセス配置計算部303は、(Ta’+Tb’)<(Ta+Tb)の場合(ステップS506:Y)、Ga、GbをGa’、Gb’で更新する(ステップS507)。   Next, when (Ta ′ + Tb ′) <(Ta + Tb) (step S506: Y), the process arrangement calculation unit 303 updates Ga and Gb with Ga ′ and Gb ′ (step S507).

プロセス配置計算部303は、全てのノードグループの組み合わせについてステップS501〜S507の処理を行い(ステップS508)、全てのノードグループで更新がなくなったら、最適化処理を終了する(ステップS509)。   The process placement calculation unit 303 performs the processing of steps S501 to S507 for all combinations of node groups (step S508), and ends the optimization processing when there is no update in all the node groups (step S509).

図14は、図12に示す3つの分割されたノードグループに対して最適化処理を行った例を示す図である。   FIG. 14 is a diagram illustrating an example in which optimization processing is performed on the three divided node groups illustrated in FIG.

図10のステップS405のノードグループ間最適化処理が終了したら、プロセス配置計算部303は、分割したノードグループそれぞれに対して、次に優先順位が小さい次元のプロセス数で分割を行う。   When the inter-node group optimization process in step S405 of FIG. 10 is completed, the process placement calculation unit 303 divides each divided node group with the number of processes of the dimension with the next lowest priority.

プロセス配置計算部303は、未処理の次元が残り1つになったら、分割処理を終了し、分割したノードグループを併合する(ステップS403)。   When the number of unprocessed dimensions becomes one, the process placement calculation unit 303 ends the division process and merges the divided node groups (step S403).

さらに、プロセス配置計算部303は、図15に示すように、プロセス配置とノードグループを突き合わせて各計算ノード300に割り当てるプロセスを決定する(ステップS406)。   Further, as shown in FIG. 15, the process placement calculation unit 303 matches the process placement with the node group and determines a process to be assigned to each computation node 300 (step S406).

以上のように、本実施の形態によれば、クラスタシステム10の運用開始時にバッチサーバ200から各計算ノード300に計算ノード300間のインターコネクト通信性能テーブルが送信されると共に、バッチ要求時には、バッチサーバ200から計算ノード300に、ジョブと共にジョブの通信特性を送信し、各計算ノード300は、ジョブの通信特性とインターコネクト通信性能を突き合わせて、各計算ノード300に配置するプロセスを決定する。
これにより、計算ノードの接続形態にかかわらず、プロセスを計算ノードに最適に配置し、通信時間を最適化し、ジョブの実行性能を向上させることができる。
As described above, according to the present embodiment, the interconnect communication performance table between the computation nodes 300 is transmitted from the batch server 200 to each computation node 300 at the start of operation of the cluster system 10, and at the time of batch request, the batch server The communication characteristics of the job are transmitted together with the job from 200 to the calculation node 300, and each calculation node 300 matches the communication characteristics of the job with the interconnect communication performance to determine a process to be arranged in each calculation node 300.
As a result, regardless of the connection form of the calculation nodes, processes can be optimally arranged in the calculation nodes, communication time can be optimized, and job execution performance can be improved.

上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)複数の計算ノードと、
フロントエンド装置を介して要求されたバッチ処理を、前記複数の計算ノードに割り当てるバッチサーバを備えたクラスタシステムであって、
前記バッチサーバは、
各々の前記計算ノード間のインターコネクト通信性能情報を含むテーブルを作成する、インターコネクト通信性能テーブル作成部と、
運用開始時に、各々の前記計算ノードに、前記インターコネクト通信性能テーブルを送信すると共に、前記バッチ処理の要求時に、各々の前記計算ノードに前記バッチ処理に含まれるジョブと、前記ジョブの通信特性を送信する、情報配布部と、を備え、
前記計算ノードは、
前記ジョブの通信特性と、前記インターコネクト通信性能を突き合わせることにより、各計算ノードに配置するプロセスを決定するプロセス配置計算部、を備えた、クラスタシステム。
A part or all of the above embodiment can be described as in the following supplementary notes, but is not limited thereto.
(Supplementary note 1) a plurality of calculation nodes;
A cluster system comprising a batch server that assigns batch processing requested via a front-end device to the plurality of computing nodes,
The batch server
An interconnect communication performance table creating unit for creating a table including interconnect communication performance information between each of the computing nodes;
At the start of operation, the interconnect communication performance table is transmitted to each of the calculation nodes, and at the time of the batch processing request, the job included in the batch processing and the communication characteristics of the job are transmitted to each of the calculation nodes. And an information distribution department,
The compute node is
A cluster system comprising: a process placement calculation unit that determines a process to be placed in each computation node by matching the communication characteristics of the job with the interconnect communication performance.

(付記2)付記1に記載のクラスタシステムにおいて、
前記ジョブの通信特性には、前記ジョブに含まれるプロセスを各プロセス間の通信特性に基づいて格子状に配置した場合の、前記格子を構成する各次元の優先順位、及び各次元軸上に配置されるプロセス数の情報を含み、
前記プロセス配置計算部は、
前記優先順位と前記各次元軸上に配置されるプロセス数に基づいて、各プロセス間の通信特性と前記計算ノード間のインターコネクト通信性能が合致するように、各計算ノードに配置するプロセスを決定する、クラスタシステム。
(Appendix 2) In the cluster system described in Appendix 1,
The communication characteristics of the job include the priority of each dimension constituting the grid and the arrangement on each dimension axis when the processes included in the job are arranged in a grid based on the communication characteristics between the processes. Information on the number of processes
The process arrangement calculation unit
Based on the priority and the number of processes arranged on each dimension axis, a process to be arranged in each calculation node is determined so that communication characteristics between the processes and interconnect communication performance between the calculation nodes match. , Cluster system.

(付記3)各々の計算ノード間のインターコネクト通信性能情報を含むテーブルを作成する工程と、
各々の前記計算ノードに、前記インターコネクト通信性能テーブルを送信する工程と、
バッチ処理の要求を受け、各々の前記計算ノードに前記バッチ処理に含まれるジョブと、前記ジョブの通信特性を送信する工程と、
前記計算ノードが、前記ジョブの通信特性と、前記インターコネクト通信性能を突き合わせることにより、各計算ノードに配置するプロセスを決定する工程と、を備えた、プロセス配置方法。
(Additional remark 3) The process of creating the table containing the interconnect communication performance information between each calculation node,
Transmitting the interconnect communication performance table to each of the computing nodes;
Receiving a request for batch processing, sending a job included in the batch processing to each of the calculation nodes, and communication characteristics of the job;
And a step of determining a process to be arranged in each calculation node by matching the communication characteristics of the job with the interconnect communication performance.

(付記4)コンピュータを、
複数の計算ノード間のインターコネクト通信性能情報を含むテーブルを作成する、インターコネクト通信性能テーブル作成部と、
運用開始時に、各々の前記計算ノードに、前記インターコネクト通信性能テーブルを送信すると共に、バッチ処理の要求時に、各々の前記計算ノードに前記バッチ処理に含まれるジョブと、前記ジョブの通信特性を送信する、情報配布部と、 して機能させるプログラム。
(Appendix 4)
An interconnect communication performance table creation unit for creating a table including interconnect communication performance information between a plurality of computing nodes;
At the start of operation, the interconnect communication performance table is transmitted to each of the calculation nodes, and at the time of requesting batch processing, the job included in the batch processing and the communication characteristics of the job are transmitted to each of the calculation nodes. A program that functions as an information distribution department.

10 クラスタシステム、100 フロントエンド、101 バッチ要求部、200 バッチサーバ、201 ジョブ受付部、202 ジョブ管理部、203 インターコネクト通信性能テーブル作成部、204 情報配布部、205 バッチリクエスト記憶部、300 計算ノード、301 ジョブ実行部、302 情報取得部、303 プロセス配置計算部、304 プロセス起動部、305 インターコネクト通信性能テーブル記憶部   10 cluster system, 100 front end, 101 batch request unit, 200 batch server, 201 job reception unit, 202 job management unit, 203 interconnect communication performance table creation unit, 204 information distribution unit, 205 batch request storage unit, 300 calculation node, 301 Job execution unit 302 Information acquisition unit 303 Process allocation calculation unit 304 Process activation unit 305 Interconnect communication performance table storage unit

Claims (4)

複数の計算ノードと、
フロントエンド装置を介して要求されたバッチ処理を、前記複数の計算ノードに割り当てるバッチサーバを備えたクラスタシステムであって、
前記バッチサーバは、
各々の前記計算ノード間のインターコネクト通信性能情報を含むテーブルを作成する、インターコネクト通信性能テーブル作成部と、
運用開始時に、各々の前記計算ノードに、前記インターコネクト通信性能テーブルを送信すると共に、前記バッチ処理の要求時に、各々の前記計算ノードに前記バッチ処理に含まれるジョブと、前記ジョブの通信特性を送信する、情報配布部と、を備え、
前記計算ノードは、
前記ジョブの通信特性と、前記インターコネクト通信性能を突き合わせることにより、各計算ノードに配置するプロセスを決定するプロセス配置計算部、を備え、
前記ジョブの通信特性には、前記ジョブに含まれるプロセスを各プロセス間の通信特性に基づいて格子状に配置した場合の、前記格子を構成する各次元の優先順位、及び各次元軸上に配置されるプロセス数の情報を含み、
前記プロセス配置計算部は、
前記優先順位と前記各次元軸上に配置されるプロセス数に基づいて、各プロセス間の通信特性と前記計算ノード間のインターコネクト通信性能が合致するように、各計算ノードに配置するプロセスを決定する、クラスタシステム。
Multiple compute nodes;
A cluster system comprising a batch server that assigns batch processing requested via a front-end device to the plurality of computing nodes,
The batch server
An interconnect communication performance table creating unit for creating a table including interconnect communication performance information between each of the computing nodes;
At the start of operation, the interconnect communication performance table is transmitted to each of the calculation nodes, and at the time of the batch processing request, the job included in the batch processing and the communication characteristics of the job are transmitted to each of the calculation nodes. And an information distribution department,
The compute node is
And communication characteristics of the job, by matching the interconnect communication performance, process arrangement calculation unit for determining a process of placing each compute node, Bei give a,
The communication characteristics of the job include the priority of each dimension constituting the grid and the arrangement on each dimension axis when the processes included in the job are arranged in a grid based on the communication characteristics between the processes. Information on the number of processes
The process arrangement calculation unit
Based on the priority and the number of processes arranged on each dimension axis, a process to be arranged in each calculation node is determined so that communication characteristics between the processes and interconnect communication performance between the calculation nodes match. , Cluster system.
各々の計算ノード間のインターコネクト通信性能情報を含むテーブルを作成する工程と、
各々の前記計算ノードに、前記インターコネクト通信性能テーブルを送信する工程と、
バッチ処理の要求を受け、各々の前記計算ノードに前記バッチ処理に含まれるジョブと、前記ジョブの通信特性を送信する工程と、
前記計算ノードが、前記ジョブの通信特性と、前記インターコネクト通信性能を突き合わせることにより、各計算ノードに配置するプロセスを決定する工程と、を備え、
前記ジョブの通信特性には、前記ジョブに含まれるプロセスを各プロセス間の通信特性に基づいて格子状に配置した場合の、前記格子を構成する各次元の優先順位、及び各次元軸上に配置されるプロセス数の情報を含み、
前記各計算ノードに配置するプロセスを決定する工程では、
前記優先順位と前記各次元軸上に配置されるプロセス数に基づいて、各プロセス間の通信特性と前記計算ノード間のインターコネクト通信性能が合致するように、各計算ノードに配置するプロセスを決定する、プロセス配置方法。
Creating a table containing interconnect communication performance information between each compute node;
Transmitting the interconnect communication performance table to each of the computing nodes;
Receiving a request for batch processing, sending a job included in the batch processing to each of the calculation nodes, and communication characteristics of the job;
The computing nodes, the communication characteristics of the job, by matching the interconnect communication performance, Bei example a step, the determining the process of placing each compute node,
The communication characteristics of the job include the priority of each dimension constituting the grid and the arrangement on each dimension axis when the processes included in the job are arranged in a grid based on the communication characteristics between the processes. Information on the number of processes
In the step of determining a process to be arranged in each calculation node,
Based on the priority and the number of processes arranged on each dimension axis, a process to be arranged in each calculation node is determined so that communication characteristics between the processes and interconnect communication performance between the calculation nodes match. , process alignment.
コンピュータを、
複数の計算ノード間のインターコネクト通信性能情報を含むテーブルを作成する、インターコネクト通信性能テーブル作成部と、
運用開始時に、各々の前記計算ノードに、前記インターコネクト通信性能テーブルを送信すると共に、バッチ処理の要求時に、各々の前記計算ノードに前記バッチ処理に含まれるジョブと、前記ジョブの通信特性を送信する、情報配布部と、して機能させ、
前記ジョブの通信特性には、前記ジョブに含まれるプロセスを各プロセス間の通信特性に基づいて格子状に配置した場合の、前記格子を構成する各次元の優先順位、及び各次元軸上に配置されるプロセス数の情報を含む、プログラム。
Computer
An interconnect communication performance table creation unit for creating a table including interconnect communication performance information between a plurality of computing nodes;
At the start of operation, the interconnect communication performance table is transmitted to each of the calculation nodes, and at the time of requesting batch processing, the job included in the batch processing and the communication characteristics of the job are transmitted to each of the calculation nodes. , Function as the information distribution department ,
The communication characteristics of the job include the priority of each dimension constituting the grid and the arrangement on each dimension axis when the processes included in the job are arranged in a grid based on the communication characteristics between the processes. A program that contains information on the number of processes that will be executed .
コンピュータを、
バッチサーバによって複数の計算ノードに割り当てられたバッチ処理を実行する計算ノードとして機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
前記バッチサーバから受信した前記バッチ処理に含まれるジョブの通信特性と、複数の計算ノード間のインターコネクト通信性能情報を突き合わせることにより、各計算ノードに配置するプロセスを決定するプロセス配置計算部として機能させ、
前記ジョブの通信特性には、前記ジョブに含まれるプロセスを各プロセス間の通信特性に基づいて格子状に配置した場合の、前記格子を構成する各次元の優先順位、及び各次元軸上に配置されるプロセス数の情報を含み、
前記プロセス配置計算部は、
前記優先順位と前記各次元軸上に配置されるプロセス数に基づいて、各プロセス間の通信特性と前記計算ノード間のインターコネクト通信性能が合致するように、各計算ノードに配置するプロセスを決定する、プログラム。
Computer
A program that functions as a computation node that executes batch processing assigned to a plurality of computation nodes by a batch server,
The program causes the computer to
Functions as a process placement calculation unit that determines the process to be placed in each computation node by matching the communication characteristics of the job included in the batch processing received from the batch server and the interconnect communication performance information between the plurality of computation nodes Let
The communication characteristics of the job include the priority of each dimension constituting the grid and the arrangement on each dimension axis when the processes included in the job are arranged in a grid based on the communication characteristics between the processes. Information on the number of processes
The process arrangement calculation unit
Based on the priority and the number of processes arranged on each dimension axis, a process to be arranged in each calculation node is determined so that communication characteristics between the processes and interconnect communication performance between the calculation nodes match. ,program.
JP2010040632A 2010-02-25 2010-02-25 Cluster system, process allocation method, and program Expired - Fee Related JP5577745B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010040632A JP5577745B2 (en) 2010-02-25 2010-02-25 Cluster system, process allocation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010040632A JP5577745B2 (en) 2010-02-25 2010-02-25 Cluster system, process allocation method, and program

Publications (2)

Publication Number Publication Date
JP2011175573A JP2011175573A (en) 2011-09-08
JP5577745B2 true JP5577745B2 (en) 2014-08-27

Family

ID=44688354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010040632A Expired - Fee Related JP5577745B2 (en) 2010-02-25 2010-02-25 Cluster system, process allocation method, and program

Country Status (1)

Country Link
JP (1) JP5577745B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5853794B2 (en) * 2012-03-19 2016-02-09 富士通株式会社 Transposition apparatus, transposition method, and transposition program
JP6447329B2 (en) * 2015-04-09 2019-01-09 富士通株式会社 Parallel computing controller, parallel computing system, and migration time estimation program
JP6492977B2 (en) 2015-06-01 2019-04-03 富士通株式会社 Parallel computing device, parallel computing system, node allocation program, and node allocation method
JP6503945B2 (en) 2015-07-13 2019-04-24 富士通株式会社 INFORMATION PROCESSING APPARATUS, PARALLEL COMPUTER SYSTEM, FILE SERVER COMMUNICATION PROGRAM, AND FILE SERVER COMMUNICATION METHOD

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117288B2 (en) * 2004-10-12 2012-02-14 International Business Machines Corporation Optimizing layout of an application on a massively parallel supercomputer

Also Published As

Publication number Publication date
JP2011175573A (en) 2011-09-08

Similar Documents

Publication Publication Date Title
CN109218355B (en) Load balancing engine, client, distributed computing system and load balancing method
US10733026B2 (en) Automated workflow selection
US20190324819A1 (en) Distributed-system task assignment method and apparatus
CN107111517B (en) Optimized allocation and/or generation of virtual machines for reducer tasks
US9092266B2 (en) Scalable scheduling for distributed data processing
JP5770721B2 (en) Information processing system
JP5429382B2 (en) Job management apparatus and job management method
JP6364880B2 (en) Parallel computer system, control program for job management apparatus, and control method for parallel computer system
WO2013107012A1 (en) Task processing system and task processing method for distributed computation
WO2015001850A1 (en) Task allocation determination device, control method, and program
CN107291536B (en) Application task flow scheduling method in cloud computing environment
US9298500B2 (en) Information processing system and control method of information processing system for managing jobs in a distributed multi-node environment
CN112114950A (en) Task scheduling method and device and cluster management system
CN114500355B (en) Routing method, network-on-chip, routing node and routing device
JP2014191594A (en) Decentralized processing system
JP5577745B2 (en) Cluster system, process allocation method, and program
Albing et al. Scalable node allocation for improved performance in regular and anisotropic 3d torus supercomputers
JP2016024612A (en) Data processing control method, data processing control program, and data processing control apparatus
US20100180280A1 (en) System and method for batch resource allocation
JP5983623B2 (en) Task placement apparatus and task placement method
CN115629853A (en) Task scheduling method and device
CN113127289B (en) Resource management method, computer equipment and storage medium based on YARN cluster
JP6191361B2 (en) Information processing system, information processing system control method, and control program
JP2012038275A (en) Transaction calculation simulation system, method, and program
WO2020022018A1 (en) Resource allocation device, resource management system, and resource allocation program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140526

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: 20140610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140623

R150 Certificate of patent or registration of utility model

Ref document number: 5577745

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees