JP2006331135A - Performance prediction device, performance prediction method and performance prediction program for cluster system - Google Patents
Performance prediction device, performance prediction method and performance prediction program for cluster system Download PDFInfo
- Publication number
- JP2006331135A JP2006331135A JP2005154751A JP2005154751A JP2006331135A JP 2006331135 A JP2006331135 A JP 2006331135A JP 2005154751 A JP2005154751 A JP 2005154751A JP 2005154751 A JP2005154751 A JP 2005154751A JP 2006331135 A JP2006331135 A JP 2006331135A
- Authority
- JP
- Japan
- Prior art keywords
- access
- nodes
- performance prediction
- cluster system
- window size
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、クラスタシステムの性能予測装置に関し、特に、各ノードの主記憶装置上にあるデータをネットワーク経由で共有するクラスタシステムで発生するクラスタリング・オーバーヘッドを予測することのできるクラスタシステムの性能予測装置、性能予測方法及び性能予測プログラムに関する。 The present invention relates to a performance prediction device for a cluster system, and more particularly to a performance prediction device for a cluster system capable of predicting a clustering overhead generated in a cluster system that shares data on the main storage device of each node via a network. The invention relates to a performance prediction method and a performance prediction program.
近年、Webシステムの普及に伴い、サーバ用途で用いられる計算機システムが増加している。このような計算機システムでは、Webシステムの処理能力を向上させることを目的として、複数の計算機を使用したクラスタシステムが使用される。このため、クラスタシステムの性能設計の重要性が増している。 In recent years, with the spread of Web systems, computer systems used for server applications are increasing. In such a computer system, a cluster system using a plurality of computers is used for the purpose of improving the processing capacity of the Web system. For this reason, the importance of the performance design of the cluster system is increasing.
クラスタシステムは単純に考えると計算機の数に見合った性能向上が実現されるように思われるが、実際には単一ノードのシステムでは発生しないクラスタリング・オーバーヘッドが生じるため、クラスタシステムの性能はクラスタサイズに比例して向上するものではない。ここで、クラスタリング・オーバーヘッドは、ノードを複数にしたことが原因となって発生するオーバーヘッドを表す。以下、スケーラビリティの用語によりクラスタサイズに対する性能増加率を表すこととする。クラスタサイズは、クラスタシステムを構成するノードの数を表す。 Although the cluster system seems to achieve a performance improvement commensurate with the number of computers when considered simply, there is actually a clustering overhead that does not occur in a single-node system. It does not improve in proportion to Here, the clustering overhead represents an overhead generated due to a plurality of nodes. Hereinafter, the performance increase rate with respect to the cluster size will be expressed in terms of scalability. The cluster size represents the number of nodes constituting the cluster system.
クラスタシステムのスケーラビリティが低い場合には、その原因がクラスタリング・オーバーヘッドによるのか又は他の要因によるのかを判定したい、という要求が生じる。なぜなら、クラスタリング・オーバーヘッドが主原因であれば、スケールアウトによる性能向上を狙うよりも、CPUの高速化等ハードウェア単体の性能強化によるスケールアップを狙うべきであると判断できるからである。このように、クラスタリング・オーバーヘッドの予測は、クラスタシステムの性能設計を行う上で重要となる。 When the scalability of the cluster system is low, there is a demand to determine whether the cause is due to clustering overhead or other factors. This is because if the main cause is clustering overhead, it can be determined that rather than aiming to improve performance by scaling out, it should be aimed to scale up by enhancing the performance of a single hardware such as increasing the CPU speed. Thus, the prediction of clustering overhead is important in designing the performance of a cluster system.
ノードの主記憶上にあるデータをネットワーク経由で共有するクラスタシステムにおいては、データ共有のためのブロックコピーがクラスタリング・オーバーヘッドの主要な原因となっていることがわかっている。 In a cluster system that shares data on the main memory of a node via a network, it is known that block copying for data sharing is a major cause of clustering overhead.
従来の計算機システムでの性能予測の方法として、次のような方法が提案されている。 The following methods have been proposed as performance prediction methods in conventional computer systems.
特許文献1に開示される方法は、計算機システムの性能予測プログラムに関するものである。この性能予測プログラムでは、部品プログラムの性能とこれらの結合情報を入力パラメータとして、部品プログラムの実行時間を追跡するシミュレーションを行うことで計算機システムの性能を予測する。性能予測プログラムは、単一ノードからなるシステム上で、特定のアプリケーションとワークロードを対象とした性能予測を行うものである。
The method disclosed in
特許文献2の方法は、Webシステムの性能予測方法に関するものである。この性能予測方法では、Webシステムの構成に関する情報であるモデルパターン情報、Webシステムの特性に関する情報、及びWebシステムが提供する機能に関する情報を予め登録した上で、Webシステムが提供する機能名(例えば文書管理)、優先項目(価格、性能)、利用者数に関する情報を入力すると、構成、機能、サーバ機種、価格、性能、サーバ負荷を、性能の異なるサーバ機種毎に出力する。なお、性能予測は、過去の性能情報に基づき行われる。したがって、この方法は過去の性能情報が入手可能なクラスタシステムの性能予測に適用することができる。
The method of
特許文献3の方法は、システム・コンポーネント接続モデルとデータの経路を示すワークフローを分割することにより、1つのシステム・コンポーネント接続モデルで多様なワークフローを実現する方法に関するものである。特許文献3の方法では、最初に対象とするシステムのシステム・コンポーネント、ワークロード及びワークフローを入力する。システム・コンポーネントは、マスタ・コンポーネントとスレーブ・コンポーネントにより構成され、マスタ・コンポーネントから発生するデータ量がワークロードとして入力される。
The method of
特許文献4の方法は、並列化のための負荷分散量を数値で確認できると共に、並列実行プログラムの並列化チューニングの支援を行うことのできる並列実行プログラムの実行回数解析方法に関するものである。この実行回数解析方法では、解析対象プログラムへプログラムの実行回数を計数するカウント命令を挿入する。カウント命令により測定されるプログラムの実行文の総実行回数を計算し、並列度数を変化させた場合の性能向上率を計算する。次に、これらの結果を用いて、並列度数の変化に対する特定ループの実行文実行回数、ループの平均回転数及び性能向上率の見積り値を表示する。
The method of
非特許文献1には、従来のクラスタシステムの性能モデルの一例、LogPモデルが記載されている。LogPモデルは、クラスタシステムのボトルネックの発見や並列アルゴリズムの解析に用いられ、通信遅延の上限(Latency)、1つのメッセージの送信または受信によって消費されるプロセッサ時間(overhead)、メッセージの最小送信(受信)間隔(gap)、プロセッサ数(Processors)の4つを入力パラメータとして性能を予測する。LogPモデルは、例えば高速フーリエ変換アルゴリズムを実行したときのボトルネックの発見や、より効率的な高速フーリエ変換アルゴリズムの設計に用いられる。
Non-Patent
非特許文献2には、非特許文献1を拡張したモデルの一例、LogGPSモデルが記載されている。LogGPSモデルは、LogPモデルで考慮している入力パラメータに加え、長いメッセージの送信とその送信中に発生する同期に関する入力パラメータを含む。このように、入力パラメータを追加することにより、非特許文献1よりも高い精度で性能を予測できる。
Non-Patent
非特許文献1と非特許文献2に記載の技術は、アルゴリズムから計算量と通信量が算出できるアプリケーションが動作するクラスタシステムに対して適用できる。
上述した従来の技術は、いずれも以下に述べるような問題点があった。 All of the conventional techniques described above have the following problems.
特許文献1の方法における性能予測プログラムは、単一ノードからなるシステムに関するものであり、ここで対象とする複数ノードからなるクラスタシステムへ適用できるものではない。
The performance prediction program in the method of
特許文献2の方法は、過去の性能情報が入手可能なクラスタシステムの性能予測に適用できる。しかしながら、本発明の対象とするクラスタリング・オーバーヘッドの予測はできない。
The method of
特許文献3の方法は、1つのシステム・コンポーネント接続モデルで多様なワークフローを実現する方法であって、本発明の対象とするクラスタリング・オーバーヘッドを予測する方法ではない。
The method of
特許文献4の方法は、並列化のための負荷分散量を数値で確認する方法であるが、本発明の対象とするクラスタリング・オーバーヘッドを予測する方法ではない。
The method of
非特許文献1と非特許文献2に記載の技術は、アルゴリズムから計算量と通信量を算出できるアプリケーションが動作するクラスタシステムの性能を予測できる。しかしながら、アルゴリズムから計算量と通信量を算出することのできない、ビジネス向けアプリケーションが動作するクラスタシステムの場合にはクラスタリング・オーバーヘッドを予測することはできない。
The technologies described in Non-Patent
本発明の目的は、上記従来技術の欠点を解決し、各ノードの主記憶上にあるデータを通信回線経由で共有するクラスタシステムで発生するクラスタリング・オーバーヘッドを予測することのできるクラスタシステムの性能予測装置、性能予測方法及び性能予測プログラムを提供することにある。 An object of the present invention is to solve the above-described drawbacks of the prior art and to predict the performance of a cluster system that can predict the clustering overhead that occurs in a cluster system that shares data on the main memory of each node via a communication line. An apparatus, a performance prediction method, and a performance prediction program are provided.
上記目的を達成するための本発明は、通信回線を介して接続される複数のノードの主記憶装置上のデータを前記ノード間で互いに共有するクラスタシステムの性能予測装置であって、前記主記憶装置内のメモリーブロックを単位として前記ノード間でなされるブロックコピーの回数を算出し、単位時間当たりの前記ブロックコピー回数と、前記ブロックコピー当たりのCPU負荷の情報に基づき、前記ブロックコピーが原因で生じる、前記クラスタシステムのクラスタリング・オーバーヘッドを予測することを特徴とする。 In order to achieve the above object, the present invention provides a performance prediction device for a cluster system in which data on a main storage device of a plurality of nodes connected via a communication line is shared between the nodes. Calculate the number of block copies made between the nodes in units of memory blocks in the device, and based on the block copy number per unit time and the CPU load information per block copy, due to the block copy The resulting clustering overhead of the cluster system is predicted.
本発明では、主記憶上のデータをノード間で互いに共有するクラスタシステムにおいては、データ共有のためのブロックコピーがクラスタリング・オーバーヘッドの主要な原因となっている点に着目した。 The present invention focuses on the fact that block copying for data sharing is a major cause of clustering overhead in a cluster system in which data on the main memory is shared among nodes.
本発明では、最初に、コピーコスト情報、ワークロード特性情報及び負荷分散特性情報をクラスタシステム性能予測装置に対して入力する。 In the present invention, first, copy cost information, workload characteristic information, and load distribution characteristic information are input to the cluster system performance prediction apparatus.
クラスタシステム性能予測装置では、これらの情報からコピーコスト、ワークロード特性テーブル、負荷分散特性テーブルを生成する。 The cluster system performance prediction apparatus generates a copy cost, a workload characteristic table, and a load distribution characteristic table from these pieces of information.
コピーコスト情報は前記ブロックコピーが1回なされる際のCPU負荷の情報である。 Copy cost information is CPU load information when the block copy is performed once.
ワークロード特性テーブルは各メモリーブロック集合における各ウィンドウサイズの出現回数の情報を含むテーブルである。ここで、ウィンドウサイズは、特定の種類のアクセスがメモリーブロック集合に対してなされてから次に同種のアクセスがなされる迄の一連のアクセスの集合であるウィンドウにおける、一連のアクセスの出現回数である。 The workload characteristic table is a table including information on the number of appearances of each window size in each memory block set. Here, the window size is the number of occurrences of a series of accesses in a window which is a series of accesses from the time when a specific type of access is made to the memory block set until the next type of access is made. .
また、負荷分散特性テーブルは、各ノードの部分ブロック集合へのアクセスの到着確率の情報を含むテーブルである。 The load distribution characteristic table is a table including information on the arrival probability of access to the partial block set of each node.
次に、クラスタシステム性能予測装置は、クラスタシステムのノード数情報とウィンドウサイズ情報と負荷分散特性テーブル情報に基づき、ウィンドウサイズを与えた場合に、1つのウィンドウ中にアクセスが到着するノードの数の期待値である到着ノード数を算出する。 Next, the cluster system performance prediction device determines the number of nodes that access arrives in one window when the window size is given based on the node number information, window size information, and load distribution characteristic table information of the cluster system. The number of arrival nodes that is the expected value is calculated.
次に、ウィンドウ内のアクセスが書込みのアクセスの後、読出しのアクセスが複数回続くことを想定し、到着ノード数からウィンドウサイズを与えた場合のブロックコピー回数を算出する。 Next, assuming that the access in the window is a write access followed by a read access a plurality of times, the number of block copies when the window size is given from the number of arrival nodes is calculated.
次に、ワークロード特性テーブルとウィンドウサイズを与えた場合のブロックコピー回数から、クラスタシステム全体のブロックコピー回数を算出する。 Next, the block copy count of the entire cluster system is calculated from the workload copy table and the block copy count given the window size.
最後に、クラスタシステム全体のブロックコピー回数とコピーコストから、クラスタリング・オーバーヘッドを算出する。 Finally, the clustering overhead is calculated from the block copy count and copy cost of the entire cluster system.
本発明によれば、クラスタシステムで発生するクラスタリング・オーバーヘッドを予測することができる。 According to the present invention, the clustering overhead generated in the cluster system can be predicted.
その理由は、クラスタシステムのワークロード特性、負荷分散特性及びコピーコストに基づき、クラスタリング・オーバーヘッドの主要因であるブロックコピーにより発生するオーバーヘッドを算出するためである。 The reason is to calculate the overhead generated by block copy, which is the main factor of clustering overhead, based on the workload characteristics, load distribution characteristics and copy cost of the cluster system.
以下、本発明を実施するための最良の形態について説明する。 Hereinafter, the best mode for carrying out the present invention will be described.
(第1の実施の形態)
以下、本発明の第1の実施の形態について図面を参照して説明する。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings.
図1は、本実施の形態によるクラスタシステムの性能予測装置10の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a
図1を参照すると、本実施の形態によるクラスタシステムの性能予測装置10は、入力手段110と、コピーコスト生成手段120と、ワークロード特性生成手段130と、負荷分散特性生成手段140と、到着ノード数算出手段150と、オーバーヘッド予測手段160と、出力手段170を備える。
Referring to FIG. 1, the cluster system
クラスタシステムの性能予測装置10の各手段を説明する前に、本実施の形態の対象とするクラスタシステム40について説明する。
Before describing each means of the
図2は、本実施の形態の対象とするクラスタシステム40の一例を示す図である。
FIG. 2 is a diagram illustrating an example of the
図2を参照すると、本実施の形態の対象とするクラスタシステム40は、通信回線を介して接続された2つのノードにより構成される。各ノードは、それぞれCPU(Central Processing Unit)及び主記憶装置を備える。
Referring to FIG. 2, a
クラスタシステム40には、通信回線を介してクライアントが接続されている。クライアントは、クラスタシステム40に対して情報を書き込むための「write」アクセス(書込みのアクセス)あるいは読み出すための「read」アクセス(読出しのアクセス)を行う。クラスタシステム40は、空いているノードにクライアントを接続する。
A client is connected to the
クライアントから「read」アクセスがあり、クライアントの読み出す主記憶装置内の部分ブロック集合が最新でないことをアクセス先のノードで検知すると、別のノードから最新の部分ブロック集合のデータをコピーするブロックコピーが発生する。なお、アクセス先のノードでクライアントの読み出すブロックが最新であることを検知した場合にはブロックコピーは起こらない。部分ブロック集合はクライアントのアクセスするブロックであるが、詳細は後述する。 When there is a “read” access from the client and the access destination node detects that the partial block set in the main storage device read by the client is not the latest, a block copy that copies the data of the latest partial block set from another node appear. If it is detected that the block read by the client is the latest in the access destination node, block copy does not occur. The partial block set is a block accessed by the client, and details will be described later.
このように、ノード間では、主記憶装置間で部分ブロック集合単位のブロックコピーがなされることによりCPUが消費され、クラスタリング・オーバーヘッドが発生する。クラスタリング・オーバーヘッドは複数の原因により発生するが、主要な原因はデータ共有のためのブロックコピーにより発生するCPUの負荷であることがわかっている。なお、ノード数は3個以上であっても同様である。 As described above, between nodes, the CPU is consumed by performing block copy in units of partial block sets between main storage devices, and clustering overhead occurs. Although the clustering overhead is caused by a plurality of causes, it is known that the main cause is a CPU load caused by block copy for data sharing. The same applies even if the number of nodes is three or more.
次に、クラスタシステムの性能予測装置10の各手段を説明する。
Next, each unit of the cluster system
入力手段110は、性能予測の対象とするクラスタシステム40の情報を入力する手段であって、クラスタシステムの性能予測装置10にオーバーヘッド基礎情報20を入力する機能を有する。オーバーヘッド基礎情報20には、コピーコスト情報210、ワークロード特性情報220及び負荷分散特性情報230が含まれる。
The
コピーコスト生成手段120は、コピーコスト情報210をオーバーヘッド基礎情報20から読出し、コピーコストテーブル31を生成する機能を有する。
The copy
ここで、コピーコストはブロックコピーが1回発生したときの1つのCPU負荷である。CPU負荷は、例えば単位時間あたりのCPU実行時間で表す。 Here, the copy cost is one CPU load when a block copy occurs once. The CPU load is represented by CPU execution time per unit time, for example.
ワークロード特性生成手段130は、オーバーヘッド基礎情報20に含まれるワークロード特性情報220を読出し、ワークロード特性テーブル32を生成する機能を有する。
The workload
負荷分散特性生成手段140は、オーバーヘッド基礎情報20に含まれる負荷分散特性情報230を読出し、負荷分散特性テーブル33を生成する機能を有する。
The load distribution
到着ノード数算出手段150は、負荷分散特性とワークロード特性から、部分ブロック集合へのアクセスが到着するノード数を算出する機能を有する。 The arrival node number calculating means 150 has a function of calculating the number of nodes where access to the partial block set arrives from the load distribution characteristic and the workload characteristic.
ここで、部分ブロック集合とは、1つ以上のメモリーブロックを含むメモリーブロックの集合である。各ノードの主記憶装置には同じID(識別番号)を持つ部分ブロック集合が配置され、ノード間で共有される。 Here, the partial block set is a set of memory blocks including one or more memory blocks. A partial block set having the same ID (identification number) is arranged in the main storage device of each node and is shared among the nodes.
部分ブロック集合は各ノードの主記憶装置のキャッシュメモリーに設定され、ノード間で同じ情報を保つようにコントロールされる。但し、同じIDの部分ブロック集合であっても、クライアントからのアクセスがないなどの理由により、全てのノード間でデータが一致していない場合もある。 The partial block set is set in the cache memory of the main storage device of each node, and is controlled so as to maintain the same information between the nodes. However, even in a partial block set with the same ID, there is a case where data does not match between all nodes due to reasons such as no access from the client.
オーバーヘッド予測手段160は、クラスタシステム40のクラスタリング・オーバーヘッドを計算する手段であり、到着ノード数からクラスタリング・オーバーヘッドとスケーラビリティを算出する機能を有する。
The
出力手段170は、結果を出力する手段であり、予測したクラスタリング・オーバーヘッドとスケーラビリティを出力する。
The
クラスタシステムの性能予測装置10は、データ処理装置、コンピュータなどにより構成することができる。この場合、入力手段110としては、キーボード、マウス等を用いることができる。また、出力手段170としては、プリンタ、ディスプレイなどを用いることができる。
The cluster system
次に、本実施の形態によるクラスタシステムの性能予測装置10の利用形態を説明する。
Next, a usage form of the
図2を参照すると、本実施の形態によるクラスタシステムの性能予測装置10は、通信回線を介してクラスタシステム40のノードに接続されている。クラスタシステムの性能予測装置10は、ノードからオーバーヘッド基礎情報20を取得して、クラスタシステム40の性能予測を行う。
Referring to FIG. 2, the
なお、クラスタシステムの性能予測装置10は必ずしもクラスタシステム40のノードに接続されている必要はない。クラスタシステムの性能予測装置10がクラスタシステム40と接続されていない場合、クラスタシステム40のクラスタリング・オーバーヘッド基礎情報20は人手、あるいは記憶媒体によりクラスタシステムの性能予測装置10に入力する。
Note that the cluster system
また、クラスタシステムの性能予測装置10はノード内に実装されていてもよい。このような場合、オーバーヘッド基礎情報20はノードからクラスタシステムの性能予測装置10へ入力される。
Further, the
本発明の特徴である、ワークロード特性情報210と負荷分散特性情報220とコピーコスト情報230に基づき、クラスタリング・オーバーヘッドを算出する機能については、コンピュータ装置の内部にそのような機能を実現するプログラムを組み込んだ回路部品を実装して実現することも可能である。しかしながら、本発明の特徴的な機能を実現するためのプログラム(アプリケーション)を記憶媒体に記憶させ、コンピュータ装置で当該プログラムを実行することで、クラスタシステムの性能予測装置10として機能させることもできる。
As for the function of calculating the clustering overhead based on the workload characteristic information 210, the load distribution characteristic information 220, and the copy cost information 230, which is a feature of the present invention, a program for realizing such a function is provided in the computer apparatus. It can also be realized by mounting the incorporated circuit components. However, it is also possible to store the program (application) for realizing the characteristic function of the present invention in a storage medium and execute the program on a computer device, thereby functioning as the
図3は、本実施の形態による特性テーブル30の内容の構成を示すブロック図である。 FIG. 3 is a block diagram showing a configuration of the contents of the characteristic table 30 according to the present embodiment.
図3を参照すると、特性テーブル30は、コピーコストテーブル31と、ワークロード特性テーブル32と、負荷分散特性テーブル33による構成となっている。 Referring to FIG. 3, the characteristic table 30 includes a copy cost table 31, a workload characteristic table 32, and a load distribution characteristic table 33.
コピーコストテーブル31にはコピーコストが書き込まれる。コピーコストテーブル31に記入される情報は、コピーコスト1つのみである。 A copy cost is written in the copy cost table 31. The information entered in the copy cost table 31 is only one copy cost.
ワークロード特性テーブル32は、各部分ブロック集合におけるウィンドウの出現回数のテーブルであり、ウィンドウの出現回数はウィンドウサイズ毎に書き込まれる。ここで、ウィンドウとは、クライアントから特定の種類のアクセスがメモリーブロック集合に対してなされてから次に同種のアクセスがなされる迄のアクセスの集合(全てのアクセス)を指す。また、ウィンドウサイズとは、ウィンドウを構成するアクセスの数を表す。ウィンドウサイズの詳細については、図6で説明する。 The workload characteristic table 32 is a table of the number of appearances of windows in each partial block set, and the number of appearances of windows is written for each window size. Here, the window refers to a set of accesses (all accesses) from when a specific type of access is made to the memory block set by the client until the next same type of access is made. The window size represents the number of accesses constituting the window. Details of the window size will be described with reference to FIG.
負荷分散特性テーブル33は、ノードの各部分ブロック集合へのアクセスの到着確率のテーブルである。 The load distribution characteristic table 33 is a table of the arrival probability of access to each partial block set of a node.
ワークロード特性テーブル32、負荷分散特性テーブル33については、図5、図6でそれぞれ詳細に説明する。 The workload characteristic table 32 and the load distribution characteristic table 33 will be described in detail with reference to FIGS.
次に、本実施の形態の動作について詳細に説明する。 Next, the operation of the present embodiment will be described in detail.
図4は、本実施の形態によるクラスタシステムの性能予測装置10の動作を説明するためのフローチャートである。以下の説明では、必要に応じて図1の主要な部分を参照する。
FIG. 4 is a flowchart for explaining the operation of the
図4を参照すると、最初に、入力手段110はオーバーヘッド基礎情報20を入力する(ステップA1)。 Referring to FIG. 4, first, the input means 110 inputs the overhead basic information 20 (step A1).
オーバーヘッド基礎情報20は、人手により入力する場合と、クラスタシステム40のノードから通信回線経由でクラスタシステムの性能予測装置10に入力する場合がある。
The overhead
次に、コピーコスト生成手段120がオーバーヘッド基礎情報20に含まれるコピーコスト情報210から、コピーコストテーブル31を生成する(ステップA2)。 Next, the copy cost generation means 120 generates the copy cost table 31 from the copy cost information 210 included in the overhead basic information 20 (step A2).
本実施の形態ではブロックコピー1回で、1つのCPUの何パーセントを消費するかがコピーコスト情報210として与えられているとする。したがって、コピーコスト生成手段120はコピーコスト情報210をそのままコピーコストテーブル31に書き込む。
In this embodiment, it is assumed that what percentage of one CPU is consumed in one block copy is given as copy cost information 210. Therefore, the copy
ワークロード特性生成手段130は、オーバーヘッド基礎情報20に含まれるワークロード特性情報220からワークロード特性テーブル32を生成する(ステップA3)。
The workload
本実施の形態では、ワークロード特性情報220がワークロード特性テーブル32として与えられているので、ワークロード特性生成手段130はワークロード特性情報22をそのままワークロード特性テーブル32に書き込む。
In this embodiment, since the workload characteristic information 220 is given as the workload characteristic table 32, the workload
負荷分散特性取得手段140は、オーバーヘッド基礎情報20に含まれる負荷分散特性情報230から負荷分散特性テーブル33を生成する(ステップA4)。
The load distribution
本実施の形態では、負荷分散特性情報230が負荷分散特性テーブル33として与えられているので、負荷分散特性取得手段140は負荷分散特性情報230をそのまま負荷分散特性テーブル33に書き込む。
In this embodiment, since the load distribution characteristic information 230 is given as the load distribution characteristic table 33, the load distribution
上述した、ステップA1からステップA4のステップの内、ステップA2、ステップA3、ステップA4の順序は入れ替えることができる。 Among the steps A1 to A4 described above, the order of steps A2, A3, and A4 can be changed.
図5は、本実施の形態によるワークロード特性テーブル例32Aを示す図である。 FIG. 5 is a diagram showing a workload characteristic table example 32A according to the present embodiment.
図5を参照すると、ワークロード特性テーブル例32Aでは、各部分ブロック集合でのウィンドウの出現回数をウィンドウサイズ毎に示している。なお、部分ブロック集合は全てのノードに配置されている。 Referring to FIG. 5, in the workload characteristic table example 32A, the number of appearances of windows in each partial block set is shown for each window size. Note that the partial block set is arranged in all nodes.
各行に示したA、B、Cの文字は各部分ブロック集合のIDであり、各列に示した3、4、5、7の数字は各ウィンドウサイズを表す。
The characters A, B, and C shown in each row are the IDs of each partial block set, and the
図5のワークロード特性テーブル例32Aから、例えば、部分ブロック集合Bに対するアクセスではサイズ5のウィンドウが800回出現することがわかる。
From the workload characteristic table example 32A in FIG. 5, for example, it is understood that a window of
図6は、本実施の形態による負荷分散特性テーブル例33Aを示す図である。 FIG. 6 is a diagram showing a load distribution characteristic table example 33A according to the present embodiment.
図6を参照すると、負荷分散特性テーブル例33Aでは、A、B、Cのそれぞれの部分ブロック集合毎に、1、2、3、4の各ノードへアクセスが到着する確率が示されている。負荷分散特性テーブル例33Aからは、部分ブロック集合Aへのアクセスは、ノード1に対しては0.1、ノード2に対しては0.3、ノード3に対しては0.2、ノード4に対しては0.4の確率で到着することがわかる。
Referring to FIG. 6, the load distribution characteristic table example 33 </ b> A shows the probability of access reaching each of the
本実施の形態では、クライアントからノードに対してブロックの内容を書き換える「write」アクセスと最新のブロックの内容を読み出す「read」アクセスの2種類のアクセスがなされることを前提とする。また、ワークロード特性テーブルは、「write」アクセスにより書き込まれたデータが「read」アクセスにより読み出されるシーケンス動作による負荷を表したものとなる。例えば、ウィンドウサイズ4であると、「write, read, read, read, (write) 」というアクセスシーケンスが出現することを意味する。ここで、アクセスシーケンスの末尾の(write)は「write」アクセスであるが、最後の「(write)」アクセスで内容が書き換えられるため、括弧内で示してある。ウィンドウサイズは、「write」アクセスから、次の「write」アクセスの直前の「read」アクセス迄のアクセス回数で表される。 In the present embodiment, it is assumed that two types of access are performed: a “write” access that rewrites the contents of a block from a client to a node and a “read” access that reads the contents of the latest block. The workload characteristic table represents a load caused by a sequence operation in which data written by the “write” access is read by the “read” access. For example, when the window size is 4, it means that an access sequence “write, read, read, read, (write)” appears. Here, (write) at the end of the access sequence is “write” access, but the content is rewritten by the last “(write)” access, and therefore, it is shown in parentheses. The window size is represented by the number of accesses from “write” access to “read” access immediately before the next “write” access.
到着ノード数算出手段150は、与えられた負荷分散特性テーブル33に関して、到着ノード数がウィンドウサイズの増加に伴い広義の意味で単調増加するように到着ノード数を算出する(ステップA5)。 The arrival node number calculation means 150 calculates the arrival node number so that the arrival node number monotonously increases in a broad sense as the window size increases with respect to the given load distribution characteristic table 33 (step A5).
なお、到着ノード数は各部分ブロック集合毎に算出される。 The number of arrival nodes is calculated for each partial block set.
ここで、広義の意味で単調増加するとは、ウィンドウサイズが増加した場合に、到着ノード数が増加すること又は不変であることを表す。また、到着ノード数は、1つのウィンドウ内でアクセスが到着するノードの数の期待値を表す。 Here, monotonically increasing in a broad sense means that the number of arrival nodes increases or remains unchanged when the window size increases. In addition, the number of arrival nodes represents an expected value of the number of nodes to which access arrives in one window.
到着ノード数を、ウィンドウサイズに対して広義の意味で単調増加するように算出するのは、ウィンドウサイズが増すとノードへのアクセス回数が増加するため、到着ノード数が増加すること又は不変であることはあっても、到着ノード数が減少することはないという理由によるものである。 The reason why the number of arriving nodes is calculated so as to increase monotonically in a broad sense with respect to the window size is that the number of times of accessing the node increases as the window size increases, so that the number of arriving nodes increases or does not change. This is because the number of arrival nodes does not decrease.
例えば、ある負荷分散特性テーブル33の下で、部分ブロック集合Aへのアクセスがウィンドウサイズ5で発生したときを考える。到着ノード数算出手段150が、この5回のアクセスは3つのノードに到着する(すなわち到着ノード数は3)と算出したら、到着ノード数算出手段150はウィンドウサイズが6のときには到着ノード数は3以上と算出する。 For example, consider a case where an access to a partial block set A occurs with a window size of 5 under a certain load distribution characteristic table 33. If the arrival node number calculation means 150 calculates that these five accesses arrive at three nodes (that is, the arrival node number is 3), the arrival node number calculation means 150 determines that the arrival node number is 3 when the window size is 6. Calculated as above.
クラスタサイズ n とウィンドウサイズ w が与えられたときの、到着ノード数の算出方法の例を説明する。各ノードID(ノードの識別番号)を、1から n の数で表す。上述したように、到着ノード数は部分ブロック集合毎に算出される。 An example of a method for calculating the number of arrival nodes when a cluster size n and a window size w are given will be described. Each node ID (node identification number) is represented by a number from 1 to n. As described above, the number of arrival nodes is calculated for each partial block set.
ノード i へのアクセスが到着する確率を pi (Σ pi =1)とする。pi は負荷分散特性テーブル33から取得できる。 The probability of access to the node i arrives and p i (Σ p i = 1 ). p i can be acquired from the load distribution characteristic table 33.
また、ある1つのウィンドウ内でノード i へ到着したアクセスの数を diとする。ここで
d=(d1,d2,... ,dn) ・・・ (式1)
p=(p1,p2,... ,pn) ・・・ (式2)
と書く。
Also, let d i be the number of accesses that have arrived at node i within a window. here
d = (d 1 , d 2 ,..., d n ) (Formula 1)
p = (p 1 , p 2 ,..., p n ) (Expression 2)
Write.
ノードIDが1, 2, … n であるそれぞれのノードへアクセスが到着する n 個の事象が出現する確率は、上述のようにそれぞれp1, p2,… pn で与えられる。ウィンドウサイズ w 回のアクセスがなされた際、当該 n 個の事象がそれぞれd1, d2,… dn 回起こる事象の出現確率 m(w, d, p) は、多項分布を用いることにより
で与えられる。式3でΠは、積を計算する記号である。また、d1, d2,… dnは
d1+d2+・・・dn=w ・・・ (式4)
を満たす自然数である。ここで、自然数は0を含む。
Node ID is 1, 2, the probability that the n-number of events ... arrives access to a is each node n appears, p 1, p 2, respectively, as described above, is given by ... p n. When the window size is accessed w times, the occurrence probability m (w, d, p) of the event in which the n events occur d 1 , d 2 , ... d n times is obtained by using the multinomial distribution.
Given in. In
d 1 + d 2 + ··· d n = w ··· ( Equation 4)
It is a natural number that satisfies Here, the natural number includes 0.
次に、到着ノード数の算出を説明する。ここで、到着ノード数は、到着ノード数の期待値を表す。 Next, calculation of the number of arrival nodes will be described. Here, the number of arrival nodes represents an expected value of the number of arrival nodes.
まずアクセスが到着するノード数(以下ではアクセスが到着するノード数をアクセス到着ノード数と略す)を固定して、到着ノード数の期待値を求め、次に全てのアクセス到着ノード数について到着ノード数の期待値を合計する。以下、アクセス到着ノード数を固定した場合の到着ノード数の期待値を、到着ノード数の部分期待値と記述する。 First, the number of nodes arriving at the access (hereinafter, the number of nodes arriving at the access is abbreviated as the number of access arrival nodes) is fixed, the expected value of the number of arrival nodes is obtained, and then the number of arrival nodes for all the number of access arrival nodes Sum the expected values of. Hereinafter, the expected value of the number of arrival nodes when the number of access arrival nodes is fixed is described as a partial expected value of the number of arrival nodes.
式4を満たす di のうち、k 個が1以上の自然数である d の集合を D(n, w, k) と記述する。ここで、k はアクセス到着ノード数を表す。
Among d i
一例であるが、クラスタサイズ n が5の場合、ノード数は5であるが、k が3であると、5個のノードの内、3個のノードにはアクセスが到着するが、2個のノードにはアクセスは到着しない。 As an example, if the cluster size n is 5, the number of nodes is 5, but if k is 3, access will arrive at 3 of the 5 nodes, but 2 Access does not arrive at the node.
まず、到着ノード数の部分期待値を求めるが、この部分期待値は、式3の確率にk を乗算した値を D(n, w, k) の集合について合計することにより算出することができる。
First, the partial expected value of the number of arriving nodes is obtained. This partial expected value can be calculated by adding the value obtained by multiplying the probability of
次に全ての k について、到着ノード数の部分期待値を加えるが、その前に k の最大値を決定する。 Next, for all k, the partial expected value of the number of arrival nodes is added, but before that, the maximum value of k is determined.
まず、ウィンドウサイズ w がクラスタサイズ n よりも大きい場合、アクセス到着ノード数 k はクラスタサイズ n (=ノード数)を越えることはない。また、ウィンドウサイズ w がクラスタサイズ n よりも小さい場合、アクセス到着ノード数 k は、ウィンドウサイズ w (=アクセス数)を越えることはできない。ウィンドウサイズ w とクラスタサイズ n が等しい場合も同様である。したがって、k の最大値は、min(n, w)であることがわかる。 First, when the window size w is larger than the cluster size n, the access arrival node count k does not exceed the cluster size n (= node count). Further, when the window size w is smaller than the cluster size n, the access arrival node count k cannot exceed the window size w (= access count). The same applies when the window size w is equal to the cluster size n. Therefore, it can be seen that the maximum value of k is min (n, w).
以上より、次の式で到着ノード数を算出する。
a(n, w)は、1ウィンドウ中にアクセスが到着するノードの数の期待値になっている。なお、a(n, w) の値や m(w, d, p) の値は、予め計算して表として持っていてもよい。
From the above, the number of arrival nodes is calculated by the following equation.
a (n, w) is an expected value of the number of nodes to which access arrives in one window. The value of a (n, w) and the value of m (w, d, p) may be calculated in advance and stored as a table.
式5以外の到着ノード数 a(n, w)の算出方法の例としては、
a(n,w)=αnθ+βwφ+γ ・・・ (式6)
a(n,w)=αlogn+βlogw+γ ・・・ (式7)
などがある。ここで、α、β、γ、θ、φは実数である。なお、これらの式においても到着ノード数は、ウィンドウサイズの増加に伴い広義の意味で単調増加するように算出される。
As an example of the calculation method of the arrival node number a (n, w) other than
a (n, w) = αn θ + βw φ + γ ··· ( Equation 6)
a (n, w) = αlogn + βlogw + γ (Expression 7)
and so on. Here, α, β, γ, θ, and φ are real numbers. In these formulas as well, the number of arrival nodes is calculated so as to increase monotonically in a broad sense as the window size increases.
また、a(n, w) を多項分布から算出する代わりに、多次元正規分布を用いる方法がある。 There is a method of using a multidimensional normal distribution instead of calculating a (n, w) from a multinomial distribution.
上述のようにして、クラスタサイズ n とウィンドウサイズ w が与えられたときの、到着ノード数が算出される。 As described above, the number of arrival nodes when the cluster size n and the window size w are given is calculated.
オーバーヘッド予測手段160は、到着ノード数からブロックコピー回数を算出する(ステップA6)。
The
なお、ブロックコピー回数は単位時間当たりのブロックコピー回数である。また、ステップA6で算出されるブロックコピー回数はウィンドウサイズ w を固定した場合のブロックコピー回数である。以下、ウィンドウサイズ w を固定した場合のブロックコピー回数を部分ブロックコピー回数と記述する。 The block copy count is the block copy count per unit time. The block copy count calculated in step A6 is the block copy count when the window size w is fixed. Hereinafter, the block copy count when the window size w is fixed is described as the partial block copy count.
負荷分散特性テーブル33とクラスタサイズとウィンドウサイズを指定した場合の部分ブロックコピー回数 b(n, w) の算出方法の例としては、
b(n,w)=a(n,w)−1 ・・・ (式8)
がある。b(n, w) は、「read」アクセスだけが到着したノード数に等しい。式8は、部分ブロック集合が「write」アクセスにより更新された後に、「write」アクセスが到着しなかったノードに初めて「read」アクセスが到着したときにブロックコピーが起こることを想定した算出方法である。
As an example of a method of calculating the partial block copy count b (n, w) when the load distribution characteristic table 33, cluster size, and window size are specified,
b (n, w) = a (n, w) −1 (Expression 8)
There is. b (n, w) is equal to the number of nodes where only “read” access has arrived.
本実施の形態の最初に述べたように、「write」アクセスではクライアントによる書込みがなされるため、書込みのなされた部分ブロック集合の内容は最新のものではなくなる。そのため、初めて「read」アクセスが到着したときには、ノードでクライアントの読みだす主記憶装置内の部分ブロック集合が最新でないことが検知され、別のノードから最新の部分ブロック集合のデータをコピーするブロックコピーが発生する。 As described at the beginning of the present embodiment, since “write” access is performed by the client, the contents of the partial block set that has been written are not the latest. Therefore, when the “read” access arrives for the first time, it is detected that the partial block set in the main storage device read by the client is not the latest, and the block copy that copies the latest partial block set data from another node Will occur.
式8は、例えば、ノード数が5個あり、ウィンドウサイズが3個であった場合、ウィンドウを構成するアクセスは、「write、read、read」となるが、最初の「write」アクセスが到着しなかった4個のノードの内、1つのノードに「read」アクセスが到着し、別のノードに「read」アクセスが到着した場合、a(n, w)は3であるが、b(n, w)は2となることを表している。 For example, if the number of nodes is 5 and the window size is 3, the access constituting the window is “write, read, read”, but the first “write” access arrives. If the “read” access arrives at one node and the “read” access arrives at another node among the four nodes that did not exist, a (n, w) is 3, but b (n, w) represents 2;
また、この例で、2個の「read」アクセスが到着するノードが同じノードの場合、最初の「read」アクセスでは部分ブロック集合を最新のものとするためのブロックコピーが起こるが、2個めの「read」アクセスではブロックコピーは発生しない。この場合、a(n, w)は2となり、b(n, w)は1となる。 Also, in this example, if two “read” accesses arrive at the same node, the first “read” access causes a block copy to make the partial block set up-to-date. Block read does not occur in "read" access. In this case, a (n, w) is 2 and b (n, w) is 1.
次に、全てのウィンドウサイズの場合について部分ブロックコピー回数を合計することにより、部分ブロック集合に対して発生するブロックコピー回数を算出する。 Next, the total number of partial block copies for all window sizes is calculated to calculate the number of block copies generated for the partial block set.
W を出現回数が0でないウィンドウサイズの集合、f (w) をウィンドウサイズ w の出現回数として、
とする。b(n, W) は、部分ブロック集合に対して発生するブロックコピー回数を表している。
Let W be the set of non-zero window sizes, f (w) be the number of occurrences of window size w,
And b (n, W) represents the number of block copies generated for the partial block set.
次に、各部分ブロック集合に対するブロックコピー回数を合計して、全体のブロックコピー回数を算出する。 Next, the total number of block copies is calculated by summing up the number of block copies for each partial block set.
特性テーブル30に出現する各部分ブロック集合をSiとして
b(Si)=b(n,W) ・・・ (式10)
とする。また 、Si∈Sとする。ここで、S は各部分ブロック集合Siの集合である。ここで、ワークロード特性テーブル32の全てのデータを取得するために、ウィンドウ情報を測定した期間をperiodと記述する。そして、ブロックコピー回数 B(S) を、
と算出する。ここで、ブロックコピー回数は単位時間当たりのブロックコピー回数である。
Each partial block set appearing in the characteristic table 30 is defined as S i.
b (S i ) = b (n, W) (Equation 10)
And Also, let S i ∈S. Here, S is a set of each partial block set S i . Here, in order to acquire all the data of the workload characteristic table 32, the period during which the window information is measured is described as period. And the block copy count B (S) is
And calculate. Here, the number of block copies is the number of block copies per unit time.
オーバーヘッド予測手段160は、コピーコストをcopy 、クラスタリング・オーバーヘッドをoverhead 、スケーラビリティをscalability と記述すると、
により、ブロックコピー回数からクラスタリング・オーバーヘッドとスケーラビリティを算出する(ステップA7)。
The
Thus, the clustering overhead and scalability are calculated from the number of block copies (step A7).
最後に、出力手段170はクラスタリング・オーバーヘッドとスケーラビリティを出力する(ステップA8)。
Finally, the
次に、クラスタシステムの性能予測装置10のハードウェア構成を説明する。
Next, the hardware configuration of the
図7は、本実施の形態によるクラスタシステムの性能予測装置10のハードウェア構成を示すブロック図である。
FIG. 7 is a block diagram showing a hardware configuration of the
図7を参照すると、クラスタシステム性能予測装置10は、CPU101、RAM及びROMで構成される主記憶部102、通信回線を介してデータ通信を行う通信部103、プリンタ、ディスプレイ等の出力部104、キーボード、マウス等の入力部105及びハードディスク装置等の補助記憶部106を備えている。
Referring to FIG. 7, a cluster system
以上述べたように、本実施例によるクラスタシステムの性能予測装置10は、
通信回線を介して接続される複数のノードの主記憶装置上のデータをノード間で互いに共有するクラスタシステム40の性能を予測する装置であって、主記憶装置内のメモリーブロックを単位としてノード間でなされる単位時間当たりのブロックコピーの回数を算出し、ブロックコピー回数の情報と、ブロックコピーが1回なされる際のCPU負荷の情報に基づき、クラスタシステムで発生するクラスタリング・オーバーヘッドを算出するものである。
As described above, the
A device for predicting the performance of a
(第1の実施の形態の効果)
以上説明した実施の形態例によれば、通信回線経由でデータを共有するクラスタシステム40で発生するクラスタリング・オーバーヘッドを予測することができる。
(Effects of the first embodiment)
According to the embodiment described above, the clustering overhead generated in the
その理由は、クラスタシステム40のワークロード特性と負荷分散特性とコピーコストから、クラスタリング・オーバーヘッドの主要因であるブロックコピーにより発生するオーバーヘッドを算出するためである。
This is because the overhead generated by block copy, which is the main factor of clustering overhead, is calculated from the workload characteristics, load distribution characteristics, and copy cost of the
また、上述したクラスタシステム40で発生するスケーラビリティを予測することができる。
In addition, the scalability that occurs in the
その理由は、クラスタシステムのスケーラビリティの決定要因がクラスタリング・オーバーヘッドであることを仮定して、クラスタリング・オーバーヘッドからスケーラビリティを算出するためである。 This is because the scalability is calculated from the clustering overhead on the assumption that the determining factor of the scalability of the cluster system is the clustering overhead.
(第2の実施の形態)
以下、本発明の第2の実施の形態について図面を参照して説明する。
(Second Embodiment)
The second embodiment of the present invention will be described below with reference to the drawings.
図8は、本実施の形態によるクラスタシステムの性能予測装置11の構成を示すブロック図である。
FIG. 8 is a block diagram showing a configuration of the
図8を参照すると、本実施の形態によるクラスタシステムの性能予測装置11の構成は、図1に示した第1の実施の形態によるクラスタシステムの性能予測装置10の構成と同様である。しかしながら、負荷分散特性生成手段141の機能、到着ノード数算出手段151の機能は、第1の実施の形態による負荷分散特性生成手段140の機能、到着ノード数算出手段150の機能とそれぞれ異なるものとなっている。また、オーバーヘッド基礎情報21に含まれる負荷分散特性情報231も、第1の実施の形態によるオーバーヘッド基礎情報20に含まれる負荷分散特性情報230と異なる。
Referring to FIG. 8, the configuration of the cluster system
負荷分散特性生成手段141の機能及び到着ノード数算出手段151の機能及び負荷分散特性情報231については、図11で説明する。
The function of the load distribution
図9は、本実施の形態による遷移特性テーブル集合36の一例を示す図である。本実施の形態では、第1の実施の形態で説明した、図3の負荷分散特性テーブル33の代わりに、遷移特性テーブル集合36を使用する。 FIG. 9 is a diagram showing an example of the transition characteristic table set 36 according to the present embodiment. In this embodiment, a transition characteristic table set 36 is used instead of the load distribution characteristic table 33 of FIG. 3 described in the first embodiment.
遷移特性テーブル集合36は、遷移特性テーブル36A、36B、…、からなり、部分ブロック集合A、B、…に関するアクセスの情報は、それぞれ遷移特性テーブル36A、36B、…に書き込まれている。 The transition characteristic table set 36 includes transition characteristic tables 36A, 36B,..., And access information related to the partial block sets A, B,... Is written in the transition characteristic tables 36A, 36B,.
図9を参照すると、遷移特性テーブルは便宜上2次元のテーブルで表されている。しかし、一般には遷移特性テーブル(図示しない)は k 次元のノードID(識別番号)の表である。第1の実施の形態では、k はアクセス到着ノード数を表したが、本実施の形態では、k はノードIDの表の次元を表す自然数である。 Referring to FIG. 9, the transition characteristic table is represented as a two-dimensional table for convenience. However, in general, a transition characteristic table (not shown) is a table of k-dimensional node IDs (identification numbers). In the first embodiment, k represents the number of access arrival nodes, but in the present embodiment, k is a natural number representing the dimension of the node ID table.
最初に、ノードへのアクセスシーケンスが出現する確率を算出する式を説明する。 First, an expression for calculating the probability of occurrence of an access sequence to a node will be described.
アクセスシーケンス(v1, v2, … , vk)の出現確率を q(v1, v2, … vk)で表す。ここで、アクセスシーケンス(v1, v2, … , vk)は、前回アクセスしたノードIDがv1であり、前々回アクセスしたノードIDがv2であり、k 回前にアクセスしたノードIDがvkであるアクセスシーケンスを表す。 Access sequence (v 1, v 2, ... , v k) the occurrence probability q of (v 1, v 2, ... v k) represented by. Here, in the access sequence (v 1 , v 2 ,..., V k ), the node ID accessed last time is v 1 , the node ID accessed last time is v 2 , and the node ID accessed k times before is v represents an access sequence that is k .
また、viをi回前にアクセスしたノードIDとし、i はk −1以下の自然数であるとする。 Also, suppose that v i is a node ID accessed i times before, and i is a natural number of k −1 or less.
アクセスシーケンス(v1, v2, … , vi)の出現確率は
により算出できる。
The appearance probability of the access sequence (v 1 , v 2 ,…, v i ) is
Can be calculated.
式14は、前回からi回前迄のノードへのアクセスシーケンスの出現確率を、前回からi+1回以上前迄のノードへのアクセスシーケンスの出現確率から算出する式である。iが k −1の場合、式14は、前回からk 回前迄のノードへのアクセスシーケンスの出現確率から、前回からk −1回前迄のアクセスシーケンスの出現確率を算出する。
図10は、本実施の形態によるクラスタシステムの性能予測装置11における2次元の遷移特性テーブル例37を示す図である。
FIG. 10 is a diagram showing a two-dimensional transition characteristic table example 37 in the
遷移特性テーブル例37では、クラスタシステム40は、4ノードからなることを想定している。各行の左端の1から4のノードIDは前回アクセスの発生したノードのID、また各列の上端の1から4のノードIDは今回アクセスの発生するノードのIDを表す。
In the transition characteristic table example 37, it is assumed that the
以下では、アクセスシーケンス(n)で、今回のノードIDが n であるアクセスシーケンスの確率を表すことにする。また、アクセスシーケンス(m、n)で、今回のノードIDが m で前回のノードIDが n であるアクセスシーケンスの出現確率を表すことにする。 In the following, the access sequence (n) represents the probability of an access sequence in which the current node ID is n. Also, the access sequence (m, n) represents the appearance probability of an access sequence in which the current node ID is m and the previous node ID is n.
図10を参照すると、アクセスシーケンス(1)が確率0.25で、アクセスシーケンス(2)が確率0.1で発生することがわかる。例えば、アクセスシーケンス(1)は、前回のノードIDが1である確率であるため、遷移特性テーブル例37で行の左端が1である行の数値を横に加えることにより算出する。 Referring to FIG. 10, it can be seen that access sequence (1) occurs with probability 0.25 and access sequence (2) occurs with probability 0.1. For example, since the access sequence (1) is the probability that the previous node ID is 1, the value is calculated by adding the numerical value of the row where the left end of the row is 1 in the example of the transition characteristic table 37 to the side.
また、2つのアクセスからなるシーケンス(4、3)は確率0.1で発生することがわかる。 It can also be seen that the sequence (4, 3) consisting of two accesses occurs with a probability of 0.1.
2次元の遷移特性テーブルでは、例えば、前回アクセスが到着したノードから今回アクセスが到着するノードがどのノードになるかの確率を求めることのできる負荷分散方法や、ラウンドロビンのような静的な負荷分散方法を記述できる。 In the two-dimensional transition characteristic table, for example, a load distribution method that can determine the probability of which node the current access arrives from the node that the previous access arrived, or a static load such as round robin Describe the distribution method.
また、k 次元の遷移特性テーブルでは、 ( k −1 ) 回前までのアクセスが到着したノードから今回アクセスが到着するノードがどのノードになるかの確率を求めることのできる負荷分散方法や、ウェイテッドラウンドロビンのような、前回のアクセス到着ノードだけでなく、それ以前のアクセス到着にも依存して静的に次回アクセス到着ノードを決定するような静的な負荷分散方法も記述できる。 In the k-dimensional transition characteristics table, a load balancing method that can determine the probability of which node the current access arrives from the node that has reached the access up to (k −1) times before, and the way It is also possible to describe a static load distribution method such as Ted Round Robin that statically determines the next access arrival node depending on not only the previous access arrival node but also the previous access arrival.
本発明の特徴である、ブロックコピーの発生するノードへのアクセスシーケンスを指定した遷移特性テーブル36で負荷分散特性を記述してブロックコピー回数を求める機能については、コンピュータ装置の内部にそのような機能を実現するプログラムを組み込んだ回路部品を実装して実現することも可能である。しかしながら、本発明の特徴的な機能を実現するためのプログラム(アプリケーション)を記憶媒体に記憶させ、コンピュータ装置で当該プログラムを実行することで、クラスタシステムの性能予測装置11として機能させることもできる。
The function that describes the load distribution characteristics in the transition characteristic table 36 that specifies the access sequence to the node where the block copy occurs, which is a feature of the present invention, and obtains the number of times of block copying is provided inside the computer device. It is also possible to implement by mounting a circuit component incorporating a program for realizing the above. However, it is also possible to store the program (application) for realizing the characteristic functions of the present invention in a storage medium and execute the program on a computer device, thereby functioning as the
次に、本実施の形態の動作を説明する。 Next, the operation of the present embodiment will be described.
図11は、本実施の形態によるクラスタシステムの性能予測装置11の動作を説明するためのフローチャートである。
FIG. 11 is a flowchart for explaining the operation of the
本実施の形態の動作は、B1からB3のステップ及びB6からB8のステップは、図4で説明した第1の実施の形態のA1からA3のステップ及びA6からA8のステップと同じである。しかし、B4及びB5のステップは、A4及びA5のステップと異なる。以下、B4及びB5のステップについて説明する。 In the operation of this embodiment, the steps B1 to B3 and the steps B6 to B8 are the same as the steps A1 to A3 and the steps A6 to A8 of the first embodiment described in FIG. However, the steps B4 and B5 are different from the steps A4 and A5. Hereinafter, steps B4 and B5 will be described.
負荷分散特性作成手段141は、遷移特性テーブル集合36を生成する(ステップB4)。
The load distribution
ただし、本実施の形態では、負荷分散特性情報231として遷移特性テーブル集合36が与えられているので、負荷分散特性作成手段141は負荷分散特性情報231をそのまま遷移特性テーブル集合36に書き込む。
However, in this embodiment, since the transition characteristic table set 36 is given as the load distribution characteristic information 231, the load distribution
到着ノード数算出手段151はアクセスシーケンスの発生確率から到着ノード数を算出する(ステップB5)。 The arrival node number calculating means 151 calculates the number of arrival nodes from the occurrence probability of the access sequence (step B5).
ノードIDの w 次元空間をDwとすると、w 個のアクセスシーケンスはベクトル v ∈ Dw で表すことができる。ここでベクトル v は w 次元のベクトルであり、アクセスシーケンスを表す。v の i 番目の成分を vi とし、viをi回前にアクセスが発生したノードIDであるとする。また、
q(v)=q(v1,v2, ... ,vw) ・・・ (式15)
とする。
When the w-dimensional space of the node ID is D w , w access sequences can be represented by a vector v ∈ D w . Here, the vector v is a w-dimensional vector and represents an access sequence. Let the i-th component of v be v i, and let v i be the node ID that has been accessed i times before. Also,
q (v) = q (v 1 , v 2 ,..., v w ) (Equation 15)
And
ただし、遷移特性テーブルの次元数 k が w よりも小さい場合には、
q(v)=q(v1, ... ,vk)×q(vk+1, ... ,v2k)×q(vhk+1, ... ,vw) ・・・ (式16)
となる。ここで h は正又は0の整数である。
However, if the dimension k of the transition characteristic table is smaller than w,
q (v) = q (v 1 ,..., v k ) × q (v k + 1 ,..., v 2k ) × q (v hk + 1 ,..., v w ). (Formula 16)
It becomes. Here, h is a positive or 0 integer.
このとき、到着ノード数算出手段150は各アクセスシーケンス v とウィンドウサイズ w に対して到着ノード数 a(w) を算出する。ただし、到着ノード数は、w の増加に伴い広義の意味で単調増加することに注意する。 At this time, the arrival node number calculating means 150 calculates the arrival node number a (w) for each access sequence v and window size w. However, note that the number of arrival nodes increases monotonically in a broad sense as w increases.
到着ノード数の算出方法の例を以下の式に示す。以下の式で算出された到着ノード数は、ウィンドウサイズが w の時に1ウィンドウ中にアクセスが到着するノードの数の期待値になっている。
a(w) は、第1の実施の形態における a(n, w) に相当する。Card(v)はアクセスシーケンス vにおける、ノードIDの数を表す。ノードIDの数は、v の成分に同じノードが出現した場合には1であると計数し、2つのノードが出現した場合には2であると計数する。
An example of a method for calculating the number of arrival nodes is shown in the following equation. The number of arrival nodes calculated by the following formula is an expected value of the number of nodes to which access arrives in one window when the window size is w.
a (w) corresponds to a (n, w) in the first embodiment. Card (v) represents the number of node IDs in the access sequence v. The number of node IDs is counted as 1 when the same node appears in the component of v, and is counted as 2 when two nodes appear.
(第2実施の形態の効果)
以上説明した実施の形態によれば、第1の実施の形態よりもブロックコピー回数を正確に算出できる。
(Effects of the second embodiment)
According to the embodiment described above, the block copy count can be calculated more accurately than in the first embodiment.
その理由は、アクセスの発生するノードへのアクセスシーケンスを指定した遷移特性テーブル36で負荷分散特性を記述するため、多くの負荷分散方法をより正確にかつ詳細に記述できるためである。 The reason is that many load distribution methods can be described more accurately and in detail because the load distribution characteristics are described in the transition characteristic table 36 that specifies the access sequence to the node where the access occurs.
(第3の実施の形態)
以下、本発明の第3の実施の形態について図面を参照して説明する。
(Third embodiment)
The third embodiment of the present invention will be described below with reference to the drawings.
図12は、本実施の形態によるクラスタシステムの性能予測装置12の構成を示すブロック図である。
FIG. 12 is a block diagram showing a configuration of the
図12を参照すると、本実施の形態によるクラスタシステムの性能予測装置12の構成は、図1に示した第1の実施の形態によるクラスタシステムの性能予測装置10の構成と同様である。しかしながら、ワークロード特性生成手段131の機能、到着ノード数算出手段151の機能は、第1の実施の形態によるワークロード特性生成手段130、到着ノード数算出手段150の機能とそれぞれ異なるものとなっている。また、オーバーヘッド基礎情報22に含まれるワークロード特性情報221は、第1の実施の形態によるオーバーヘッド基礎情報20に含まれるワークロード特性情報220と異なる。
Referring to FIG. 12, the configuration of the cluster system
本実施の形態では、ワークロード特性生成手段131は、ワークロード特性情報221をワークロード特性テーブル32へ変換する機能を有する。また、到着ノード数算出手段151は、ウィンドウサイズが自然数でない場合でも到着ノード数を計算する機能を有する。
In the present embodiment, the workload
第1の実施の形態においては、ワークロード特性情報220がワークロード特性テーブルで与えられていた。本実施の形態では、ワークロード特性情報221は、ワークロード特性テーブル32を生成するための情報として与えられる。具体的には、ワークロード特性情報221は、部分ブロック集合に到着したアクセス種毎のアクセス回数、つまり「read」アクセスの数と「write」アクセスの数で与えられる。ワークロード特性情報221のワークロード特性テーブル32への変換は、ワークロード特性生成手段131によりなされる。
In the first embodiment, the workload characteristic information 220 is given in the workload characteristic table. In the present embodiment, the workload characteristic information 221 is given as information for generating the workload characteristic table 32. Specifically, the workload characteristic information 221 is given by the number of accesses for each access type arriving at the partial block set, that is, the number of “read” accesses and the number of “write” accesses. The workload characteristic information 221 is converted into the workload characteristic table 32 by the workload
次に、本実施の形態の動作を説明する。 Next, the operation of the present embodiment will be described.
図13は、本実施の形態によるクラスタシステムの性能予測装置12の動作を説明するためのフローチャートである。
FIG. 13 is a flowchart for explaining the operation of the
本実施の形態の動作は、C1、C2、C4及びC6からC8のステップは、図3で説明した第1の実施の形態のA1、A2、A4及びA6からA8のステップと同じである。しかし、C3及びC5のステップは、A3及びA5のステップと異なる。以下、C3及びC5のステップについて説明する。 In the operation of this embodiment, the steps C1, C2, C4, and C6 to C8 are the same as the steps A1, A2, A4, and A6 to A8 of the first embodiment described in FIG. However, the steps C3 and C5 are different from the steps A3 and A5. Hereinafter, steps C3 and C5 will be described.
第1の実施の形態では、ステップA3におけるワークロード特性生成手段13の動作は、ワークロード特性情報220をワークロード特性テーブル32に書き込むだけであった。
In the first embodiment, the operation of the workload
また、ステップA5においては、到着ノード数算出手段150は自然数のウィンドウサイズからのみ到着ノード数を算出していた。 In step A5, the arrival node number calculating means 150 calculates the number of arrival nodes only from the natural window size.
本実施の形態では、ステップC3において、ワークロード特性生成手段131は「read」アクセスの数と「write」アクセスの数からウィンドウサイズとその出現頻度を算出し、ワークロード特性テーブル32を生成する(ステップC3)。
In this embodiment, in step C3, the workload
ステップC3においては、ワークロード特性生成手段131は、「read」アクセスの数と「write」アクセス数との和を「write」アクセスの数で割った値をウィンドウサイズとし、当該ウィンドウサイズの出現頻度を「write」アクセスの数として、ワークロード特性テーブル32に書き込む。この算出方法は、全ての「write」アクセスが等間隔に到着することを仮定した場合に特に正確に算出できる。
In step C3, the workload
また、ステップC5においては、自然数でない正の実数のウィンドウサイズ w から到着ノード数を算出できるようにするために、到着ノード数算出手段160はウィンドウサイズが、
ここで、
ステップC5においては、例えば、到着ノード数算出手段151は次の式で正の実数のウィンドウサイズに対して到着ノード数を算出する。
上記の式は、
The above formula is
次のC6のステップ以降は、第1の実施の形態のA6以降と同様であり、線形補間により算出した到着ノード数を用いて、クラスタリング・オーバーヘッド及びスケーラビリティを算出できる。 The subsequent steps after C6 are the same as those after A6 in the first embodiment, and the clustering overhead and scalability can be calculated using the number of arrival nodes calculated by linear interpolation.
本発明の特徴である、「read」アクセスの数と「write」アクセスの数から求めたウィンドウサイズ w が整数でない場合でも、ウィンドウサイズが w 以下の最大の整数であるときの到着ノード数と、w 以上の最小の整数であるときの到着ノード数から、 w に対する到着ノード数を補間により算出する機能については、コンピュータ装置の内部にそのような機能を実現するプログラムを組み込んだ回路部品を実装して実現することも可能である。しかしながら、本発明の特徴的な機能を実現するためのプログラム(アプリケーション)を記憶媒体に記憶させ、コンピュータ装置で当該プログラムを実行することで、クラスタシステムの性能予測装置12として機能させることもできる。
Even if the window size w obtained from the number of “read” accesses and the number of “write” accesses, which is a feature of the present invention, is not an integer, the number of arrival nodes when the window size is the largest integer equal to or less than w; For the function to calculate the number of arrival nodes for w by interpolation from the number of arrival nodes when the minimum integer is greater than or equal to w, a circuit component incorporating a program that implements such a function is installed inside the computer device. It can also be realized. However, it is also possible to store the program (application) for realizing the characteristic function of the present invention in a storage medium and execute the program on the computer device, thereby functioning as the
(第3の実施の形態の効果)
以上説明した実施の形態によれば、ワークロード特性情報221が「read」アクセスの数と「write」アクセスの数で与えられる場合でも、クラスタシステム40のクラスタリング・オーバーヘッド及びスケーラビリティを予測できる。
(Effect of the third embodiment)
According to the embodiment described above, the clustering overhead and scalability of the
その理由は、「read」アクセスの数と「write」アクセスの数とから求めたウィンドウサイズ w が整数でない場合でも、ウィンドウサイズが w 以下の最大の整数であるときの到着ノード数とw 以上の最小の整数であるときの到着ノード数から、 w に対する到着ノード数を算出するためである。 The reason is that even if the window size w obtained from the number of “read” accesses and the number of “write” accesses is not an integer, the number of nodes that arrive when the window size is the largest integer less than or equal to w This is because the number of arrival nodes for w is calculated from the number of arrival nodes when the number is the smallest integer.
(第4の実施の形態)
以下、本発明の第4の実施の形態について図面を参照して説明する。
(Fourth embodiment)
The fourth embodiment of the present invention will be described below with reference to the drawings.
上述した第1の実施の形態、第2の実施の形態及び第3の実施の形態においては、クライアントからのアクセス種は「read」と「write」の2種類であった。しかし、本実施の形態においては、アクセス種として「read」と「write」と「get」の3種類がある場合の、クラスタリング・オーバーヘッド及びスケーラビリティの予測について説明する。 In the first embodiment, the second embodiment, and the third embodiment described above, there are two types of access from the client, “read” and “write”. However, in the present embodiment, clustering overhead and scalability prediction when there are three types of access, “read”, “write”, and “get” will be described.
本実施の形態で説明する「get」アクセス(取得のアクセス)では、「read」アクセスと同様にブロックの読出しを行い、最新のブロックを持たないブロックに到着したときは、ブロックコピーを起こす。「write」アクセスしたノード又は「read」アクセスしたノードへクライアントからアクセスした場合と異なり、「get」アクセスしたノードへアクセスしても、ノードでは現在の部分ブロック集合が最新であることの情報は得られない。 In the “get” access (acquisition access) described in the present embodiment, a block is read in the same manner as in the “read” access, and when a block that does not have the latest block is reached, a block copy is generated. Unlike the case where the client accesses the node that accessed “write” or the node that accessed “read”, even if the node that accessed “get” is accessed, the node can obtain information that the current partial block set is the latest. I can't.
このため、過去に「get」アクセスのみが到着したノードに「get」アクセスが到着した場合に、ブロックコピーが発生する。このようになる理由は、「get」アクセスしたノードでは最新であるかどうかの情報が得られないため、「get」アクセスでは最新のブロックを持たないブロックに到着したと判定し、ブロックコピーを起こすためである。一方、過去に「write」又は「read」アクセスが発生したノードへ「get」アクセスが到着しても、ブロックコピーは生じない。上述の説明で、過去の記述は、ブロックコピーが発生するかどうかを判定しようとするノードについて、判定時刻の含まれる1つの「write」アクセスのウィンドウ内で時間を遡ることを意味する。 Therefore, block copy occurs when “get” access arrives at a node where only “get” access has arrived in the past. The reason why this happens is that the node that accessed "get" cannot obtain information about whether it is the latest, so in "get" access, it is determined that a block that does not have the latest block has arrived, and a block copy occurs. Because. On the other hand, even if “get” access arrives at a node where “write” or “read” access has occurred in the past, block copy does not occur. In the above description, the past description means that the time is traced back within one “write” access window including the determination time for a node that is to determine whether or not block copy occurs.
図14は、本実施の形態によるクラスタシステムの性能予測装置13の構成を示すブロック図である。
FIG. 14 is a block diagram illustrating a configuration of the
図14を参照すると、本実施の形態によるクラスタシステムの性能予測装置13の構成は、図1に示した第1の実施の形態によるクラスタシステムの性能予測装置10の構成と同様である。しかしながら、コピーコスト生成手段121の機能、ワークロード特性生成手段132の機能は、第1の実施の形態によるコピーコスト生成手段120の機能、ワークロード特性生成手段130の機能とそれぞれ異なるものとなっている。また、オーバーヘッド基礎情報23に含まれるコピーコスト情報211、ワークロード特性情報222は、第1の実施の形態によるオーバーヘッド基礎情報20に含まれるコピーコスト情報210、ワークロード特性情報220とそれぞれ異なる。
Referring to FIG. 14, the configuration of the cluster system
コピーコスト生成手段121の機能、ワークロード特性生成手段132の機能、コピーコスト情報211及びワークロード特性情報222については、図16で説明する。
The function of the copy
図15は、本実施の形態による特性テーブル35の内容の構成を示すブロック図である。 FIG. 15 is a block diagram showing a configuration of contents of the characteristic table 35 according to the present embodiment.
図15を参照すると、本実施の形態による特性テーブル35は、コピーコストテーブル31とワークロード特性テーブル32と負荷分散特性テーブル33とコピーコストテーブル(GET)38とワークロード特性テーブル(GET)39による構成となっている。なお、ワークロード特性テーブル32及び負荷分散特性テーブル33については構成の詳細を図示していないが、これらのテーブルの構成は、図3に示した構成と同様である。 Referring to FIG. 15, the characteristic table 35 according to the present embodiment is based on a copy cost table 31, a workload characteristic table 32, a load distribution characteristic table 33, a copy cost table (GET) 38, and a workload characteristic table (GET) 39. It has a configuration. Details of the configuration of the workload characteristic table 32 and the load distribution characteristic table 33 are not shown, but the configuration of these tables is the same as that shown in FIG.
本実施の形態による特性テーブル35では、第1の実施の形態の特性テーブル30に対して、コピーコストテーブル(GET)38及びワークロード特性テーブル(GET)39が追加されている。 In the characteristic table 35 according to the present embodiment, a copy cost table (GET) 38 and a workload characteristic table (GET) 39 are added to the characteristic table 30 of the first embodiment.
コピーコストテーブル(GET)38に書き込まれるコピーコスト(GET)は、「get」アクセスによるブロックコピーが1回発生したときに1つのCPUが消費される割合を表す。CPUが消費される割合は、第1の実施の形態と同じく、例えば単位時間あたりのCPU実行時間で表す。 The copy cost (GET) written in the copy cost table (GET) 38 represents a rate at which one CPU is consumed when one block copy by “get” access occurs. The ratio of CPU consumption is represented by CPU execution time per unit time, for example, as in the first embodiment.
ワークロード特性テーブル(GET)39は、ワークロード特性テーブル32と同様、部分ブロック集合IDを各行に、「read」アクセスに関する「write」アクセスのウィンドウサイズを各列に配置したテーブルである。 Similar to the workload characteristics table 32, the workload characteristics table (GET) 39 is a table in which the partial block set ID is arranged in each row and the window size of “write” access related to “read” access is arranged in each column.
本実施の形態では、「read」アクセスに関する「write」アクセスのウィンドウサイズとは、例えば「write, read, read, read, (write) 」のようなアクセスシーケンスのウィンドウサイズを表すこととする。なお、アクセスシーケンスの間に「get」アクセスを挟むこともあるが、その場合は当該ウィンドウサイズには「get」アクセスの数を含まないものとする。 In the present embodiment, the window size of “write” access related to “read” access represents the window size of an access sequence such as “write, read, read, read, (write)”. Note that “get” access may be sandwiched between access sequences, but in this case, the window size does not include the number of “get” accesses.
ワークロード特性テーブル(GET)39の ウィンドウサイズ(write & read)と書かれた区画(レコード)には、「get」アクセスに関する、「write」アクセス又は「read」アクセスのウィンドウサイズが記録される。ここで、「get」アクセスに関する、「write」アクセス又は「read」アクセスのウィンドウサイズとは、アクセスシーケンスの間に「get」アクセスを挟む「read」アクセスに関する「write」アクセスのウィンドウにおいて、「get」アクセスに関する「write」アクセスのウィンドウサイズ又は「get」アクセスに関する「read」アクセスのウィンドウサイズを表す。ここで、「get」アクセスに関する「write」アクセスのウィンドウサイズとは、例えば「write, get, get,(read) 」のようなアクセスシーケンスのウィンドウサイズを表すこととする。 In the section (record) written as window size (write & read) in the workload characteristic table (GET) 39, the window size of “write” access or “read” access related to “get” access is recorded. Here, the window size of “write” access or “read” access related to “get” access means “get” access window for “read” access that sandwiches “get” access between access sequences. The window size of “write” access related to “access” or the window size of “read” access related to “get” access. Here, the window size of “write” access related to “get” access represents the window size of an access sequence such as “write, get, get, (read)”.
例えば、「write, get, get, read, get, get, read, get, get, read, get, get, (write) 」 というアクセスシーケンスでは、「read」アクセスに関する「write」アクセスのウィンドウサイズが4であり、「get」アクセスに関する、「write」アクセス又は「read」アクセスのウィンドウサイズが3である。 For example, in the access sequence “write, get, get, read, get, get, read, get, get, read, get, get, (write)”, the window size of “write” access related to “read” access is 4 The window size of “write” access or “read” access relating to “get” access is 3.
上述のシーケンスが発生した部分、ワークロード特性テーブル(GET)39では、該当する部分ブロック集合IDの行とウィンドウサイズ(write)が4と書かれた列との交差する区画には3と書かれる。 In the workload characteristic table (GET) 39 where the above-described sequence occurs, 3 is written in a section where the row of the corresponding partial block set ID and the column where the window size (write) is written as 4. .
上記のアクセスシーケンスでは、「get」アクセスに関する「write」アクセスのウィンドウサイズと、「read」アクセスのウィンドウサイズは共に3で一致している。しかしながら、「get」アクセスに関するウィンドウサイズが、「write」アクセスのウィンドウと「read」アクセスのウィンドウで一致しない場合には、なんらかの1つの代表値を「get」アクセスに関する、「write」アクセス及び「read」アクセスのウィンドウサイズとして使用する。後述する式20で計算する w'は、このような代表値の例である。
In the above access sequence, the window size of “write” access related to “get” access and the window size of “read” access are both 3. However, if the window size for “get” access does not match between the window for “write” access and the window for “read” access, one representative value is assigned to “write” access and “read” for “get” access. Use as window size for access. W ′ calculated by
本発明の特徴である、「read」アクセスのブロックコピー回数及び「get」アクセスのブロックコピー回数からクラスタリング・オーバーヘッドを計算する機能については、コンピュータ装置の内部にそのような機能を実現するプログラムを組み込んだ回路部品を実装して実現することも可能である。しかしながら、本発明の特徴的な機能を実現するためのプログラム(アプリケーション)を記憶媒体に記憶させ、コンピュータ装置で当該プログラムを実行することで、クラスタシステムの性能予測装置13として機能させることもできる。
Regarding the function of calculating the clustering overhead from the number of block copies of “read” access and the number of block copies of “get” access, which is a feature of the present invention, a program for realizing such a function is incorporated in the computer device. It can also be realized by mounting circuit components. However, it is also possible to store the program (application) for realizing the characteristic function of the present invention in a storage medium and execute the program on the computer device, thereby functioning as the
次に、本実施の形態の動作を説明する。 Next, the operation of the present embodiment will be described.
図16は、本実施の形態によるクラスタシステムの性能予測装置13の動作を説明するためのフローチャートである。以下の説明では、必要に応じて図14の主要な部分を参照する。
FIG. 16 is a flowchart for explaining the operation of the
図16を参照すると、本実施の形態のフローチャートは、図3に示した第1の実施の形態のフローチャートに、ステップD3、D5、D8、D10、D12を加えたものである。これらのステップは、「get」アクセスによるブロックコピー回数を算出するためのステップである。 Referring to FIG. 16, the flowchart of the present embodiment is obtained by adding steps D3, D5, D8, D10, and D12 to the flowchart of the first embodiment shown in FIG. These steps are steps for calculating the number of block copies by “get” access.
最初に、入力手段110はオーバーヘッド基礎情報23を入力する(ステップD1)。 First, the input means 110 inputs the overhead basic information 23 (step D1).
本実施の形態による、オーバーヘッド基礎情報23のコピーコスト情報211には、「read」アクセスによるブロックコピーによって生じるコピーコストと「get」アクセスによるブロックコピーによって生じるコピーコストに関する情報が含まれる。
According to the present embodiment, the copy cost information 211 of the overhead
また、ワークロード特性情報222には、「read」アクセスに関するワークロード特性に加えて、部分ブロック集合毎の「get」アクセスの数と、「write」アクセスと「read」アクセスの数の和が与えられているとする。以下では、部分ブロック集合毎の「get」アクセスの数を g で表し、また「write」アクセスと「read」アクセスの数の和を wr で表す。
In addition to the workload characteristics related to “read” access, the
次に、コピーコスト生成手段121がオーバーヘッド基礎情報23に含まれるコピーコスト情報211から、コピーコストテーブル31を生成する(ステップD2)。ステップD2は、図3のステップA2に対応する。
Next, the copy
次に、コピーコスト生成手段121がオーバーヘッド基礎情報23に含まれるコピーコスト情報211から、コピーコストテーブル(GET)38を生成する(ステップD3)。
Next, the copy
本実施の形態では、「get」アクセスのブロックコピー1回で発生するコピーコストが、コピーコスト情報211にコピーコスト(GET)として含まれている。したがって、コピーコスト生成手段121はコピーコスト情報211から、コピーコスト(GET)をコピーコストテーブル(GET)38に書き込む。
In the present embodiment, the copy cost that occurs in one block copy of “get” access is included in the copy cost information 211 as a copy cost (GET). Therefore, the copy
次に、ワークロード特性生成手段132は、オーバーヘッド基礎情報23に含まれるワークロード特性情報222から、ワークロード特性テーブル32を生成する(ステップD4)。
Next, the workload
ステップD4は、図3のステップA3に対応する。 Step D4 corresponds to step A3 in FIG.
次に、ワークロード特性生成手段132は、部分ブロック集合毎に、「get」アクセスに関する、「write」アクセス及び「read」アクセスに関するウィンドウサイズ w'
w′=(g+wr)/wr ・・・ (式20)
をワークロード特性テーブル(GET)39の対象とする部分ブロック集合の行の全てのレコードに書き込む(ステップD5)。
Next, the workload
w ′ = (g + wr) / wr (Equation 20)
Are written in all the records in the row of the partial block set targeted by the workload characteristic table (GET) 39 (step D5).
負荷分散特性生成手段140は、オーバーヘッド基礎情報23に含まれる負荷分散特性情報230から負荷分散特性テーブル33を生成する(ステップD6)。
The load distribution
ステップD6は、図3のステップA4に対応する。 Step D6 corresponds to step A4 in FIG.
到着ノード数算出手段150は、与えられた負荷分散特性テーブル33に関して、到着ノード数がウィンドウサイズに対して(広義の意味で)単調増加するように「read」アクセスの到着ノード数を算出する(ステップD7)。 The arrival node number calculation means 150 calculates the number of arrival nodes of “read” access so that the number of arrival nodes monotonically increases (in a broad sense) with respect to the window size, for the given load distribution characteristic table 33 ( Step D7).
ステップD7は、図3のステップA5に対応する。 Step D7 corresponds to step A5 in FIG.
到着ノード数算出手段150は、ワークロード特性テーブル22とワークロード特性テーブル(GET)39から、「read」アクセスに関する「write」アクセスのウィンドウ内における、「get」アクセスの到着ノード数を算出する。但し、「read」アクセスの到着ノード数の場合とは異なり、「get」アクセスの到着ノード数は、1つのウィンドウ内で、過去に一度も「write」アクセスまたは「read」アクセスが到着したことがないノードへ到着した「get」アクセスの数であるとして到着ノード数を算出する(ステップD8)。 The arrival node number calculating means 150 calculates the number of arrival nodes of “get” access in the “write” access window related to “read” access from the workload characteristic table 22 and the workload characteristic table (GET) 39. However, unlike the case of the number of arrival nodes for “read” access, the number of arrival nodes for “get” access indicates that “write” access or “read” access has arrived in the past in one window. The number of arrival nodes is calculated assuming that the number of “get” accesses that have arrived at a node that does not exist (step D8).
「get」アクセスの到着ノード数は、クラスタサイズ n と、「read」アクセスに関する「write」アクセスのウィンドウサイズ w 、「get」アクセスに関する「write」アクセス又は「read」アクセスのウィンドウサイズ g(w) から算出する。以下では、「get」アクセスに関する「write」アクセス又は「read」アクセスのウィンドウサイズを g(w) で表す。 The number of arrival nodes for “get” access is the cluster size n, the window size w for “write” access for “read” access, and the window size for write access or “read” access for “get” access g (w) Calculate from In the following, the window size of “write” access or “read” access related to “get” access is represented by g (w).
g(w) は、ワークロード特性テーブル(GET)39から求められる。そして、与えられた負荷分散特性テーブル33に対して、「get」アクセスの到着ノード数 a'(n, w) を w, g(w) に関して単調に増加するように算出する。 g (w) is obtained from the workload characteristic table (GET) 39. Then, for the given load distribution characteristic table 33, the number of arrival nodes a ′ (n, w) of “get” access is calculated so as to increase monotonously with respect to w and g (w).
「write」アクセスのウィンドウサイズ w が与えられたときの、「get」アクセスの到着ノード数 a'(n, w) の算出方法の例を以下の式に示す。
オーバーヘッド予測手段160は、「read」アクセスの到着ノード数からブロックコピー回数を算出する(ステップD9)。
An example of a calculation method of the number of arrival nodes a ′ (n, w) of “get” access when the window size w of “write” access is given is shown in the following formula.
The
ステップD9は図3のステップA6に対応する。 Step D9 corresponds to step A6 in FIG.
オーバーヘッド予測手段160は、「get」アクセスの到着ノード数からブロックコピー回数(GET)を算出する(ステップD10)。
The
W を出現回数が0でない「write」アクセスのウィンドウサイズの集合、f (w) を「write」アクセスのウィンドウサイズ w の出現回数として、
とする。B'(n,W) は、部分ブロック集合に対して発生する「get」アクセスによるブロックコピー回数を表している。
Let W be the set of window sizes for “write” access with non-zero occurrences, and f (w) be the number of occurrences of window size w for “write” access.
And B ′ (n, W) represents the number of times of block copy by “get” access generated for the partial block set.
ここで、特性テーブル35に出現する各部分ブロック集合をSi として
b′(Si)=b′(E,W) ・・・ (式23)
とする。また 、Si ∈ S とする。そして、「get」アクセスによって発生するブロックコピー回数 B'(S) を、
と算出する。ここで、ブロックコピー回数 B'(S)は単位時間当たりのブロックコピー回数である。
Here, each partial block set appearing in the characteristic table 35 is defined as S i.
b ′ (S i ) = b ′ (E, W) (Equation 23)
And Also, let S i ∈ S. Then, the block copy count B '(S) generated by the "get" access is
And calculate. Here, the number of block copies B ′ (S) is the number of block copies per unit time.
次に、オーバーヘッド予測手段160は、「read」アクセスによって発生するブロックコピー回数からクラスタリング・オーバーヘッドを算出する(ステップD11)。
Next, the
ステップD11は、図3のステップA7に対応する。 Step D11 corresponds to step A7 in FIG.
「get」アクセスによるコピーコスト(GET)を copy(get) 、「get」アクセスによるクラスタリング・オーバーヘッドをoverhead(get) 、スケーラビリティをscalability と表すことにすると、オーバーヘッド予測手段160は、
を用いて、「get」アクセスによるクラスタリング・オーバーヘッドと、スケーラビリティを算出する(ステップD12)。
Assuming that the copy cost (GET) by “get” access is copy (get), the clustering overhead by “get” access is overhead (get), and the scalability is scalability, the overhead predicting means 160
Is used to calculate the clustering overhead and scalability due to “get” access (step D12).
最後に、出力手段170は、「read」アクセスによるクラスタリング・オーバーヘッド、「get」アクセスによるクラスタリング・オーバーヘッド及びスケーラビリティを出力する(ステップD13)。
Finally, the
(第4の実施の形態の効果)
以上説明した実施の形態によれば、「write」アクセス及び「read」アクセスに加えて「get」アクセスがあるクラスタシステム40の場合に対しても、クラスタリング・オーバーヘッド及びスケーラビリティを計算できる。
(Effect of the fourth embodiment)
According to the embodiment described above, the clustering overhead and scalability can be calculated even in the case of the
その理由は、「read」アクセスのブロックコピー回数及び「get」アクセスのブロックコピー回数からクラスタリング・オーバーヘッドを計算するためである。 This is because the clustering overhead is calculated from the number of block copies for “read” access and the number of block copies for “get” access.
本発明のクラスタシステムの性能予測装置10、11、12、13は、その動作をハードウェア的に実現することは勿論として、上記した各手段を実行する性能予測プログラム(アプリケーション)300をコンピュータ処理装置であるクラスタシステムの性能予測装置10、11、12、13で実行することにより、ソフトウェア的に実現することができる。この性能予測プログラム300は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からクラスタシステムの性能予測装置10、11、12、13にロードされ、その動作を制御することにより、上述した各機能を実現する。
The
以上好ましい複数の実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。 Although the present invention has been described above with a plurality of preferred embodiments, the present invention is not necessarily limited to the above-described embodiments, and various modifications may be made within the scope of the technical idea. Can do.
10、11、12、13:クラスタシステムの性能予測装置
20、21、22、23:オーバーヘッド基礎情報
30、35:特性テーブル
31:コピーコストテーブル
32:ワークロード特性テーブル
32A:ワークロード特性テーブル例
33:負荷分散特性テーブル
33A:負荷分散特性テーブル例
36:遷移特性テーブル集合
36A:遷移特性テーブル
36B:遷移特性テーブル
37:遷移特性テーブル例
38:コピーコストテーブル(GET)
39:ワークロード特性テーブル(GET)
40:クラスタシステム
101:CPU
102:主記憶部
103:通信部
104:出力部
105:入力部
106:補助記憶部
110:入力手段
120、121:コピーコスト生成手段
130、131、132:ワークロード特性生成手段
140、141:負荷分散特性生成手段
150、151:到着ノード数算出手段
160:オーバーヘッド予測手段
170:出力手段
210、211:コピーコスト情報
220、221、222:ワークロード特性情報
230、231:負荷分散特性情報
300:性能予測プログラム
10, 11, 12, 13: Cluster system
39: Workload characteristics table (GET)
40: Cluster system 101: CPU
102: main storage unit 103: communication unit 104: output unit 105: input unit 106: auxiliary storage unit 110:
Claims (28)
前記主記憶装置内のメモリーブロックを単位として前記ノード間でなされる単位時間当たりのブロックコピーの回数を算出し、
前記ブロックコピー回数と、前記ブロックコピー当たりのCPU負荷の情報に基づき、前記クラスタシステムで発生するクラスタリング・オーバーヘッドを算出することを特徴とするクラスタシステムの性能予測装置。 A performance prediction device for a cluster system that shares data on main storage devices of a plurality of nodes connected via a communication line between the nodes,
Calculating the number of block copies per unit time made between the nodes in units of memory blocks in the main storage device;
A cluster system performance prediction apparatus, wherein clustering overhead generated in the cluster system is calculated based on the block copy count and CPU load information per block copy.
前記主記憶装置内のメモリーブロックを単位として前記ノード間でなされる単位時間当たりのブロックコピーの回数を算出し、
前記ブロックコピー回数と、前記ブロックコピー当たりのCPU負荷の情報に基づき、前記クラスタシステムで発生するクラスタリング・オーバーヘッドを算出すると共に、
算出した前記クラスタリング・オーバーヘッドと前記ノードの数に基づいて、前記クラスタシステムのスケーラビリティを算出することを特徴とする性能予測方法。 A performance prediction method for a cluster system in which data on a main storage device of a plurality of nodes connected via a communication line is shared between the nodes,
Calculating the number of block copies per unit time made between the nodes in units of memory blocks in the main storage device;
Based on the block copy count and CPU load information per block copy, the clustering overhead generated in the cluster system is calculated,
A performance prediction method comprising: calculating scalability of the cluster system based on the calculated clustering overhead and the number of nodes.
前記主記憶装置内のメモリーブロックを単位として前記ノード間でなされる単位時間当たりのブロックコピーの回数を算出し、
前記ブロックコピー回数と、前記ブロックコピー当たりのCPU負荷の情報に基づき、前記クラスタシステムで発生するクラスタリング・オーバーヘッドを算出すると共に、
算出した前記クラスタリング・オーバーヘッドと前記ノードの数に基づいて、前記クラスタシステムのスケーラビリティを算出する機能を持たせることを特徴とする性能予測プログラム。 A performance prediction program for predicting the performance of a cluster system that is executed on a computer processing device and that shares data on main storage devices of a plurality of nodes connected via a communication line between the nodes,
Calculating the number of block copies per unit time made between the nodes in units of memory blocks in the main storage device;
Based on the block copy count and CPU load information per block copy, the clustering overhead generated in the cluster system is calculated,
A performance prediction program comprising a function of calculating scalability of the cluster system based on the calculated clustering overhead and the number of nodes.
The specific type of access is a write access, the access other than the specific type of access is a read access and an acquisition access, and the acquisition access is an access made only by the acquisition access in the past. 23. The performance prediction program according to claim 21, wherein said node has a function of reading a block at a node and not reading a block at a node to which said write access or said read access has been made in the past. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005154751A JP4392665B2 (en) | 2005-05-26 | 2005-05-26 | Cluster system performance prediction apparatus, performance prediction method, and performance prediction program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005154751A JP4392665B2 (en) | 2005-05-26 | 2005-05-26 | Cluster system performance prediction apparatus, performance prediction method, and performance prediction program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006331135A true JP2006331135A (en) | 2006-12-07 |
JP4392665B2 JP4392665B2 (en) | 2010-01-06 |
Family
ID=37552751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005154751A Expired - Fee Related JP4392665B2 (en) | 2005-05-26 | 2005-05-26 | Cluster system performance prediction apparatus, performance prediction method, and performance prediction program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4392665B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010140362A (en) * | 2008-12-12 | 2010-06-24 | Nec Corp | Distributed cache system, method and program, and calculation node |
US8583698B2 (en) | 2007-10-03 | 2013-11-12 | Nec Corporation | Hierarchical load estimation system, method and program |
CN112948229A (en) * | 2021-03-16 | 2021-06-11 | 广州虎牙科技有限公司 | Method and device for determining performance of scheduling cluster, computer equipment and storage medium |
CN113592528A (en) * | 2021-06-22 | 2021-11-02 | 国网河北省电力有限公司营销服务中心 | Baseline load estimation method and device and terminal equipment |
CN115686381A (en) * | 2022-12-29 | 2023-02-03 | 苏州浪潮智能科技有限公司 | Prediction method and device for storage cluster running state |
CN117667606A (en) * | 2024-02-02 | 2024-03-08 | 山东省计算中心(国家超级计算济南中心) | High-performance computing cluster energy consumption prediction method and system based on user behaviors |
-
2005
- 2005-05-26 JP JP2005154751A patent/JP4392665B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583698B2 (en) | 2007-10-03 | 2013-11-12 | Nec Corporation | Hierarchical load estimation system, method and program |
JP2010140362A (en) * | 2008-12-12 | 2010-06-24 | Nec Corp | Distributed cache system, method and program, and calculation node |
CN112948229A (en) * | 2021-03-16 | 2021-06-11 | 广州虎牙科技有限公司 | Method and device for determining performance of scheduling cluster, computer equipment and storage medium |
CN113592528A (en) * | 2021-06-22 | 2021-11-02 | 国网河北省电力有限公司营销服务中心 | Baseline load estimation method and device and terminal equipment |
CN115686381A (en) * | 2022-12-29 | 2023-02-03 | 苏州浪潮智能科技有限公司 | Prediction method and device for storage cluster running state |
CN117667606A (en) * | 2024-02-02 | 2024-03-08 | 山东省计算中心(国家超级计算济南中心) | High-performance computing cluster energy consumption prediction method and system based on user behaviors |
CN117667606B (en) * | 2024-02-02 | 2024-05-24 | 山东省计算中心(国家超级计算济南中心) | High-performance computing cluster energy consumption prediction method and system based on user behaviors |
Also Published As
Publication number | Publication date |
---|---|
JP4392665B2 (en) | 2010-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ykman-Couvreur et al. | Fast multidimension multichoice knapsack heuristic for mp-soc runtime management | |
Zhang et al. | A task-level adaptive MapReduce framework for real-time streaming data in healthcare applications | |
US11734060B2 (en) | Graph data based task scheduling method, apparatus and storage medium thereof | |
Zhang et al. | An effective data locality aware task scheduling method for MapReduce framework in heterogeneous environments | |
Dorier et al. | Omnisc'io: a grammar-based approach to spatial and temporal i/o patterns prediction | |
Bryk et al. | Storage-aware algorithms for scheduling of workflow ensembles in clouds | |
Salehi et al. | Stochastic-based robust dynamic resource allocation for independent tasks in a heterogeneous computing system | |
US20100058350A1 (en) | Framework for distribution of computer workloads based on real-time energy costs | |
JP4392665B2 (en) | Cluster system performance prediction apparatus, performance prediction method, and performance prediction program | |
CN114218012A (en) | Method and system for backing up and restoring data in cluster system | |
Tiwari et al. | Predicting optimal power allocation for cpu and dram domains | |
JP2019164705A (en) | Information processing device | |
Tudoran et al. | Mapiterativereduce: a framework for reduction-intensive data processing on azure clouds | |
Liu et al. | Service reliability in an HC: Considering from the perspective of scheduling with load-dependent machine reliability | |
Vydyanathan et al. | Optimizing latency and throughput of application workflows on clusters | |
Moore et al. | Lustre lockahead: Early experience and performance using optimized locking | |
Anandkumar et al. | Tracking in a spaghetti bowl: monitoring transactions using footprints | |
Hsu et al. | A proactive, cost-aware, optimized data replication strategy in geo-distributed cloud datastores | |
Proficz et al. | Performance and power-aware modeling of MPI applications for cluster computing | |
US11651271B1 (en) | Artificial intelligence system incorporating automatic model updates based on change point detection using likelihood ratios | |
Li et al. | Two-level incremental checkpoint recovery scheme for reducing system total overheads | |
Singh et al. | A New Priority Heuristic Suitable in Mobile Distributed Real Time Database System | |
JPWO2013114911A1 (en) | Risk assessment system, risk assessment method, and program | |
JP2017107486A (en) | Processing resource control program, processing resource controller, and processing resource control method | |
Avci et al. | Using cache or credit for parallel ranking and selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061013 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090316 |
|
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: 20090918 |
|
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: 20091001 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4392665 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121023 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131023 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |