JPH11296487A - System and control method for distributed shaped memory - Google Patents

System and control method for distributed shaped memory

Info

Publication number
JPH11296487A
JPH11296487A JP10102838A JP10283898A JPH11296487A JP H11296487 A JPH11296487 A JP H11296487A JP 10102838 A JP10102838 A JP 10102838A JP 10283898 A JP10283898 A JP 10283898A JP H11296487 A JPH11296487 A JP H11296487A
Authority
JP
Japan
Prior art keywords
history
data structure
counting
shared memory
extension
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.)
Pending
Application number
JP10102838A
Other languages
Japanese (ja)
Inventor
Hideaki Hirayama
秀昭 平山
Kuninori Tanaka
邦典 田中
Tetsuya Iinuma
哲也 飯沼
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10102838A priority Critical patent/JPH11296487A/en
Priority to US09/206,155 priority patent/US6219672B1/en
Publication of JPH11296487A publication Critical patent/JPH11296487A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a distributed shared system which can extended a data structure that counts a frequency of appearance of an item during counting the frequency of appearance of the item. SOLUTION: When a data structure is extended during counting by a process 11, a lock is first acquired by a distributed lock acquisition part 24, exclusive control of data structure extension operation is performed, and extension of the data structure is executed by a data structure expansion part 26 in a shared memory space. At this time, a data structure extension log 30 is recorded by a data structure expansion log recording part 28, and is transferred to another node 100 by a data structure extension log transfer part 31 at the time of lock release by a distributed lock release part 25. Then, this transferred data structure expansion log 30 is received by a data structure extension log reception part 29 in each node 100, and is reflected upon each data structure by a data structure extension log reflection part 27.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、たとえばTB
(テラバイト)オーダーなどの大規模データマイニング
を実行する分散メモリ型のマルチプロセッサシステムに
適用して好適な分散共有メモリシステムおよび分散共有
メモリの制御方法に関する。
[0001] The present invention relates to, for example, TB
The present invention relates to a distributed shared memory system and a distributed shared memory control method suitable for being applied to a distributed memory type multiprocessor system for executing large-scale data mining of (terabyte) order or the like.

【0002】[0002]

【従来の技術】近年、バーコード技術の発展などによっ
て、スーパーマーケットなどの小売業者は、大量の売上
データを蓄積するようになった。また、先進的な小売業
者にあっては、この蓄積された大量の売上データを解析
し、ストアレイアウトなどに反映させることにより、そ
の売上を高めるに至っている。このような技術は、一般
にデータマイニングと呼ばれている。
2. Description of the Related Art In recent years, with the development of barcode technology and the like, retailers such as supermarkets have accumulated a large amount of sales data. In addition, advanced retailers have increased the sales by analyzing the accumulated large amount of sales data and reflecting it in store layouts and the like. Such a technique is generally called data mining.

【0003】このデータマイニングで求める情報にはい
くつかあるが、最も代表的な情報として、アソシエイシ
ョンルールというものが存在する。アソシエイションル
ールとは、たとえば、「紙オムツを買うお客の50%
は、一緒に缶ビールも買っていく」というものである。
これは、アメリカのスーパーマーケットにおける例であ
り、アメリカでは、若い父親が紙オムツを買いに来るこ
とが多いため、紙オムツと一緒に缶ビールを買っていく
ことが多いということを示している。そこで、こういっ
た情報を生かし、たとえば紙オムツと缶ビールとを近く
に置くことによって、缶ビールの売上を高めるという訳
である。このアソシエイションルールの求め方は、R. A
grawal et al., “Mining Association Rules between
Sets of Items in Large Databases ”, Proceedings
of ACM SIGMOD, May 1993 に示されている。これを以下
に簡単に示す。
[0003] There are several types of information required by this data mining, but the most typical information is an association rule. Association rules are, for example, "50% of customers who buy disposable diapers
Will also buy canned beer together. "
This is an example of a supermarket in the United States, which shows that in the United States young fathers often buy paper diapers, so they often buy canned beer with paper diapers. Therefore, by utilizing such information, for example, by disposing disposable diapers and canned beer close to each other, the sales of canned beer can be increased. How to find this association rule is R.A.
grawal et al., “Mining Association Rules between
Sets of Items in Large Databases ”, Proceedings
of ACM SIGMOD, May 1993. This is briefly shown below.

【0004】属性の集合(アイテム)をI={i1,i
2,…,im}、トランザクションデータベースをD=
{t1,t2,…,tn}とする。なお、ここで、ti
は、アイテムの集合からなる。アソシエイションルール
をX=>Yと定義する。ここで、X、YはIの部分集合
であり、XとYとの共通集合は空集合である。ここでサ
ポート値とコンフィデンス値という2つの評価値を定義
する。サポート値は、DがXを含む割合を示し、コンフ
ィデンス値は、Dの中でXを含むトランザクションのう
ち、XとYを共に含むトランザクションの割合を示す。
アソシエイションルールの抽出は以下の手順による。 (1).最小サポート値を満足するアイテム集合を見つ
け出す(これを頻出アイテム集合と呼ぶ)。 (2).(1)で求めた頻出アイテム集合から最小コン
フィデンス値を満足するアソシエイションルールを見つ
け出す。以下にアソシエイションルールの抽出例を示
す。トランザクションとして、T1={1,3,4}、
T2={1,2,3,5}、T3={2,4}、T4=
{1,2}、T5={1,3,5}があるとする。そし
て、このトランザクションの中から最小サポート値60
%、最小コンフィデンス値60%で、アソシエイション
ルールを見つけ出す。すると、頻出アイテム集合は、
{1}、{2}、{3}、{1、3}で、アソシエイシ
ョンルールとしては、1=>3が見つかる。
A set of attributes (items) is defined as I = Ii1, i
2, ..., im}, the transaction database is D =
{T1, t2,..., Tn}. Here, ti
Consists of a set of items. The association rule is defined as X => Y. Here, X and Y are subsets of I, and a common set of X and Y is an empty set. Here, two evaluation values, a support value and a confidence value, are defined. The support value indicates a ratio of D including X, and the confidence value indicates a ratio of transactions including both X and Y among transactions including X in D.
The extraction of association rules is performed according to the following procedure. (1). Find an item set that satisfies the minimum support value (this is called a frequent item set). (2). From the frequent item set obtained in (1), find an association rule that satisfies the minimum confidence value. An example of association rule extraction is shown below. As a transaction, T1 = {1, 3, 4},
T2 = {1,2,3,5}, T3 = {2,4}, T4 =
It is assumed that {1, 2} and T5 = {1, 3, 5}. Then, the minimum support value of 60 from this transaction
Find association rules with%, minimum confidence value 60%. Then, the frequent itemset is
In {1}, {2}, {3}, {1, 3}, 1 => 3 is found as the association rule.

【0005】また、この頻出アイテム集合の抽出を効率
的に処理する手法として、Aprioriのアルゴリズムが知
られている。このApriori のアルゴリズムは、R. Agraw
al et al., “Fast Algorithms for Mining Associati
on Rules”, Proceedings of20th VLDB, 1994に示され
ている。これを以下に簡単に示す。 (1).トランザクションデータベースを読み、各アイ
テムの生起回数を数え上げてサポート値を求める。な
お、ここで、アイテムの生起回数の数え上げとは、トラ
ンザクションデータベースに各アイテムが各々何回出現
したかを数えることを示す。以降、「数え上げ」とは、
このことを意味するものとする。 (2).最小サポート値を満足するものを取り出し、長
さ1の頻出アイテム集合とする。 (3).長さ1の頻出アイテム集合から2つのアイテム
の組み合わせを作る。これらを長さ2の候補アイテム集
合と呼ぶ。 (4).トランザクションデータベースを検索してサポ
ート値を求める。 (5).最小サポート値を満足するものを取り出し、長
さ2の頻出アイテム集合とする。 (6).以降、長さk(>=2)の場合の処理は、以下
の通りとなる。 (a).長さk−1の頻出アイテム集合から長さkの候
補アイテム集合を作る。 (b).トランザクションデータベースを検索してサポ
ート値を求める。 (c).最小サポート値を満足するものを取り出し、長
さkの頻出アイテム集合とする。 (7).前述の処理を頻出アイテム集合が空になるまで
繰り返す。
Apriori's algorithm is known as a method for efficiently processing the extraction of the frequent item set. This Apriori algorithm is based on R. Agraw
al et al., “Fast Algorithms for Mining Associati
on Rules ”, Proceedings of 20th VLDB, 1994. This is briefly described as follows: (1) Read the transaction database and count the number of occurrences of each item to obtain a support value. Counting the number of occurrences of an item refers to counting how many times each item has appeared in the transaction database.
This means this. (2). Those that satisfy the minimum support value are extracted and set as a frequent item set of length 1. (3). A combination of two items is created from a frequent item set of length 1. These are referred to as a length-2 candidate item set. (4). Search the transaction database for support values. (5). An item satisfying the minimum support value is extracted and set as a frequent item set of length 2. (6). Hereinafter, the processing in the case of the length k (> = 2) is as follows. (A). A candidate item set of length k is created from a frequent item set of length k-1. (B). Search the transaction database for support values. (C). An item satisfying the minimum support value is extracted and set as a frequent item set of length k. (7). The above processing is repeated until the frequently-used item set becomes empty.

【0006】このように、従来のデータマイニングにお
いては、アソシエイションルールを見つけ出すために、
基本的にはこのApriori のアルゴリズムを利用してい
た。そして、このApriori のアルゴリズムに基づいたデ
ータマイニングの処理を共有メモリを持たない分散メモ
リ型のマルチプロセッサ計算機上で並列に処理させるこ
とにより、TBオーダーのトランザクションを高速に処
理することを可能にするものとして、特願平9−341
384号が存在する。
As described above, in the conventional data mining, in order to find an association rule,
Basically, it used this Apriori algorithm. A data mining process based on Apriori's algorithm is processed in parallel on a distributed memory type multiprocessor computer having no shared memory, thereby enabling high-speed processing of TB order transactions. As Japanese Patent Application No. 9-341
No. 384 exists.

【0007】この特願平9−341384号において
は、分散共有メモリを提供することによって、分散メモ
リ型のマルチプロセッサ計算機においても、通信を伴な
う分散メモリ型のプログラミングモデルを不要とし、逐
次処理からの自然な拡張である共有メモリモデルでプロ
グラムを開発できるようにしている。
In Japanese Patent Application No. 9-341384, a distributed shared memory is provided so that a distributed memory type multiprocessor computer does not require a distributed memory type programming model involving communication, and a serial processing is performed. It allows programs to be developed using the shared memory model, which is a natural extension from.

【0008】Apriori アルゴリズムでは、トランザクシ
ョンデータを順次読み込み、各アイテムの出現頻度を数
え上げていく。なお、ここでいうトランザクションデー
タとは、たとえばスーパーマーケットのPOSデータで
いえば、紙オムツや缶ビールなどの一回の買い物レシー
トを示す。
In the Apriori algorithm, transaction data is sequentially read and the appearance frequency of each item is counted. The transaction data referred to here is, for example, a single shopping receipt such as a disposable diaper or a canned beer in POS data of a supermarket.

【0009】図8は、特願平9−341384号で処理
されるトランザクションデータの例を示す図である。図
8中、1つ目のトランザクションデータは、a,b,c
の3つのアイテムを含んでいる。また、2つ目のトラン
ザクションデータは、a,b,d,e,xの5つのアイ
テムを含んでいる。そして、このa,b,といったアイ
テムが、スーパーマーケットのPOSデータでいう紙オ
ムツや缶ビールなどに相当する。
FIG. 8 is a diagram showing an example of transaction data processed in Japanese Patent Application No. 9-341384. In FIG. 8, the first transaction data is a, b, c
It contains three items. The second transaction data includes five items a, b, d, e, and x. The items a and b correspond to disposable diapers, canned beers, and the like in POS data of a supermarket.

【0010】また、図9は、頻出アイテム集合の抽出を
効率的に処理する手法であるApriori のアルゴリズムを
実行するプログラムの処理の流れを示すフローチャート
である。
FIG. 9 is a flowchart showing a processing flow of a program for executing Apriori's algorithm which is a technique for efficiently extracting a frequently-used item set.

【0011】まず、長さ1の候補アイテム集合を作る
(ステップA1)。なお、ここで、長さ1のアイテム集
合とは、{a}や{b}のような1個の要素だけからな
るアイテムの集合を示す。次に、トランザクションデー
タ17を読み出し、各アイテムの出現頻度を数え上げ、
サポート値を求める(ステップA2)。そして、最小サ
ポート値を満足するアイテムを取り出し、長さ1の頻出
アイテム集合を作る(ステップA3)。
First, a candidate item set of length 1 is created (step A1). Here, the item set having a length of 1 indicates a set of items including only one element such as {a} or {b}. Next, the transaction data 17 is read, the appearance frequency of each item is counted,
A support value is obtained (step A2). Then, an item satisfying the minimum support value is extracted, and a frequently-used item set having a length of 1 is created (step A3).

【0012】次に、長さ1の頻出アイテム集合から、2
つのアイテムの組み合せを作る(ステップA4)。これ
を長さ2の候補アイテム集合とする。すなわち、長さ2
のアイテム集合とは、{a,b}や{a,c}のような
2個の要素からなるアイテムの集合を示す。そして、ト
ランザクションデータ17を読み出し、各アイテムの出
現頻度を数え上げ、サポート値を求め(ステップA
5)、最小サポート値を満足するアイテムを取り出し、
長さ2の頻出アイテム集合を作る(ステップA6)。
Next, from the frequent item set of length 1, 2
A combination of two items is made (step A4). This is a candidate item set of length 2. That is, length 2
Is a set of items consisting of two elements such as {a, b} and {a, c}. Then, the transaction data 17 is read, the appearance frequency of each item is counted, and the support value is obtained (step A).
5) Take out the item that satisfies the minimum support value,
A frequent item set of length 2 is created (step A6).

【0013】ここで、長さk(>=2)の頻出アイテム
集合が空かどうか検査し(ステップA7)、もし空なら
ば(ステップA7のYES)、処理を終了する。一方、
空でなければ(ステップA7のNO)、kに1を加え
(ステップA8)、長さk−1の頻出アイテム集合か
ら、長さkの候補アイテム集合を作る(ステップA
9)。そして、トランザクションデータ17を読み出
し、各アイテムの出現頻度を数え上げ、サポート値を求
め(ステップA10)、最小サポート値を満足するアイ
テムを取り出し、長さkの頻出アイテム集合を作った後
(ステップA11)、ステップA7から前述の処理を繰
り返す。
Here, it is checked whether or not the frequent item set of length k (> = 2) is empty (step A7). If it is empty (YES in step A7), the process is terminated. on the other hand,
If it is not empty (NO in step A7), 1 is added to k (step A8), and a candidate item set of length k is created from the frequently-used item set of length k-1 (step A).
9). Then, the transaction data 17 is read, the appearance frequency of each item is counted, a support value is obtained (step A10), an item that satisfies the minimum support value is extracted, and a frequent item set of length k is created (step A11). The above-described processing is repeated from step A7.

【0014】図10は、図9に示した頻出アイテム集合
の抽出処理において数え上げが行なわれるパス1、すな
わち長さ1のアイテムの種類と出現頻度とからなる統計
情報15を管理するハッシュテーブル16を示すもので
ある。図10における{a}、{b}および{c}など
は、アイテムの種類を示しており、その後の空白部分
は、そのアイテムの出現頻度を数え上げるための領域を
示している。
FIG. 10 shows a hash table 16 that manages the path 1 that is counted in the frequent item set extraction process shown in FIG. 9, that is, the statistical information 15 that includes the type and appearance frequency of an item having a length of 1. It is shown. {A}, {b}, and {c} in FIG. 10 indicate the type of item, and a blank portion thereafter indicates a region for counting the appearance frequency of the item.

【0015】また、図11は、図9に示した頻出アイテ
ム集合の抽出処理において数え上げが行なわれるパス
2、すなわち長さ2のアイテムの種類と出現頻度とから
なる統計情報15を管理するハッシュテーブル16を示
すものである。図11における{a,b}、{a,c}
および{a,d}などは、2要素からなるアイテムの種
類を示しており、その後の空白部分は、そのアイテムの
出現頻度を数え上げるための領域を示している。
FIG. 11 shows a hash table which manages the path 2 to be counted in the frequent item set extraction process shown in FIG. 9, that is, the statistical information 15 including the type and the appearance frequency of the item of length 2. 16 is shown. {A, b}, {a, c} in FIG.
And {a, d}, etc., indicate the type of item composed of two elements, and the blank portion thereafter indicates an area for counting the appearance frequency of the item.

【0016】さらに、図12は、数え上げログの構造を
示すものであり、数え上げが行なわれたアイテムの出現
頻度をカウントする領域のアドレスを、数え上げが行な
われる度に記録している。そして、特願平9−3413
84号では、この数え上げログを他のノードに転送し、
他のノードでそれを反映することにより、各ノードの分
散共有メモリの一貫性を保持している。この出現頻度を
カウントする領域は、分散共有メモリ上に位置している
ので、どのノードでも同じアドレスにあることになる。
したがって、数え上げログは、このようなアドレス情報
で構わない。
FIG. 12 shows the structure of the counting log, in which the address of an area for counting the frequency of appearance of the counted items is recorded every time counting is performed. And Japanese Patent Application No. 9-3413
In No. 84, this counted log is transferred to another node,
By reflecting this on other nodes, the consistency of the distributed shared memory of each node is maintained. Since the area for counting the appearance frequency is located on the distributed shared memory, any node has the same address.
Therefore, the counting log may be such address information.

【0017】[0017]

【発明が解決しようとする課題】ところで、前述したAp
riori アルゴリズムの処理では、数え上げを行なってい
る最中に、その出現頻度をカウントするデータ構造体が
変化することは想定していない。このことから、前述し
た特願平9−341384号においても、数え上げを行
なっている最中に、その出現頻度をカウントするデータ
構造体を拡張する手段などは備えていない。
By the way, the aforementioned Ap
In the processing of the riori algorithm, it is not assumed that the data structure that counts the appearance frequency changes during counting. For this reason, Japanese Patent Application No. 9-341384 mentioned above does not include any means for expanding a data structure for counting the frequency of occurrence during counting.

【0018】しかしながら、たとえば、ある時点まで
は、a,b,c,d,e,f,g,hの8個のアイテム
を数え上げの対象としていたが、これらの数え上げの結
果は保持しつつ、以降については、新たにjというアイ
テムも数え上げの対象としたいということは十分考えら
れる。このような場合には、たとえば、図13に示すよ
うに、データ構造体を拡張する必要が生じる。図13に
示すデータ構造体は、ハッシュ構造(ハッシュリンク)
である。図13(a)に示すように、拡張前はa,b,
c,d,e,f,g,hの8個のエントリしかなかった
が、図13(b)に示すように、拡張後はこれにjが加
わって9個になっている。これにより、拡張前であれば
a,b,c,d,e,f,g,hの8個のエントリのう
ちのいずれかが数え上げられていたものを、拡張後は、
これにjを加えた9個のエントリのうちのいずれかが数
え上げられるようになる。
However, for example, up to a certain point in time, eight items a, b, c, d, e, f, g, and h are counted, but while the results of these counting are retained, From then on, it is sufficiently conceivable that it is desired to newly count the item j. In such a case, for example, it is necessary to extend the data structure as shown in FIG. The data structure shown in FIG. 13 is a hash structure (hash link)
It is. As shown in FIG. 13A, before expansion, a, b,
Although there were only eight entries of c, d, e, f, g, and h, as shown in FIG. 13B, after expansion, j is added to nine entries. As a result, if any of the eight entries a, b, c, d, e, f, g, and h has been counted before the expansion,
Any one of the nine entries obtained by adding j to this can be counted.

【0019】一方、前述したように、特願平9−341
384号では、数え上げを行なっている最中に、出現頻
度をカウントするデータ構造体を拡張する手段などは備
えていないため、このような要求に応じることができな
いといった問題があった。
On the other hand, as described above, Japanese Patent Application No. 9-341
No. 384 has a problem that such a request cannot be satisfied because there is no means for expanding a data structure for counting the frequency of appearance during counting.

【0020】この発明はこのような実情に鑑みてなされ
たものであり、数え上げを行なっている最中であって
も、出現頻度をカウントするデータ構造体を拡張するこ
とのできる分散共有メモリシステムおよび同システムに
適用される分散共有メモリの制御方法を提供することを
目的とする。
The present invention has been made in view of the above circumstances, and has a distributed shared memory system capable of expanding a data structure for counting the frequency of appearance even during counting. An object of the present invention is to provide a control method of a distributed shared memory applied to the system.

【0021】[0021]

【課題を解決するための手段】この発明は、複数のコン
ピュータが疎結合された分散メモリ型のマルチプロセッ
サシステムに適用される分散共有メモリシステムであっ
て、前記複数のコンピュータそれぞれが、他のコンピュ
ータ上で動作するプロセスと同一アドレスで共通にアク
セス可能な共有メモリ空間を同一コンピュータ上で動作
するプロセスに対して提供する共有メモリ空間提供手段
と、前記同一コンピュータ上で動作するプロセスが入力
データから抽出する特定のアイテムの集合ごとの出現頻
度を保持するデータ構造体を前記共有メモリ空間内に作
成するデータ構造体作成手段と、前記データ構造体に保
持された出現頻度に対する前記同一コンピュータ上で動
作するプロセスの数え上げの履歴を取得する数え上げ履
歴取得手段と、前記数え上げ履歴取得手段により取得さ
れた数え上げ履歴を前記他のコンピュータに転送する数
え上げ履歴転送手段と、前記他のコンピュータから転送
される数え上げ履歴を受信する数え上げ履歴受信手段
と、前記数え上げ履歴受信手段により受信された数え上
げ履歴を前記データ構造体に保持された出現頻度に反映
させる数え上げ履歴反映手段とを備えた分散共有メモリ
システムにおいて、前記複数のコンピュータそれぞれ
に、前記データ構造体を拡張するデータ構造体拡張手段
と、前記データ構造体拡張手段による前記データ構造体
の拡張の履歴を取得する拡張履歴取得手段と、前記拡張
履歴取得手段により取得された拡張履歴を前記他のコン
ピュータに転送する拡張履歴転送手段と、前記他のコン
ピュータから転送される拡張履歴を受信する拡張履歴受
信手段と、前記拡張履歴受信手段により受信された拡張
履歴を前記データ構造体に反映させる拡張履歴反映手段
と、前記データ構造体の拡張を前記同一コンピュータ上
で動作する前記データ構造体拡張手段および前記拡張履
歴反映手段と前記他のコンピュータ上で動作する前記デ
ータ構造体拡張手段および前記拡張履歴反映手段との間
で排他制御する拡張排他制御手段とを設け、前記複数の
コンピュータ上で動作するプロセスの数え上げの最中に
前記データ構造体を拡張可能としたことを特徴とする。
The present invention is a distributed shared memory system applied to a distributed memory type multiprocessor system in which a plurality of computers are loosely coupled, wherein each of the plurality of computers is connected to another computer. A shared memory space providing means for providing a shared memory space commonly accessible at the same address as a process operating on the same computer to a process operating on the same computer; and a process operating on the same computer is extracted from input data. Data structure creating means for creating, in the shared memory space, a data structure holding the frequency of appearance for each set of specific items to be executed, and operating on the same computer for the frequency of appearance held in the data structure A counting history acquisition means for acquiring a counting history of the process; Counting history transfer means for transferring the counting history acquired by the counting history acquisition means to the other computer, counting history receiving means for receiving the counting history transferred from the other computer, and reception by the counting history receiving means. In a distributed shared memory system comprising counting history reflecting means for reflecting the counted counting history in the appearance frequency held in the data structure, a data structure extension for extending the data structure to each of the plurality of computers. Means, an extension history acquisition means for acquiring a history of extension of the data structure by the data structure extension means, and an extension history transfer means for transferring the extension history acquired by the extension history acquisition means to the other computer And receive the extended history transferred from the other computer Extended history receiving means, extended history reflecting means for reflecting the extended history received by the extended history receiving means in the data structure, and the data structure operating on the same computer for extending the data structure Extended exclusive control means for performing exclusive control between the extended means and the extended history reflecting means and the data structure extending means and the extended history reflecting means operating on the other computer; and The data structure can be extended during counting of the number of operating processes.

【0022】また、この発明は、前記複数のコンピュー
タそれぞれに、前記拡張履歴転送手段により転送される
拡張履歴と前記数え上げ履歴転送手段により転送される
数え上げ履歴とを一時的に蓄積して前記他のコンピュー
タに一括して転送する履歴一括転送手段とをさらに設け
たことを特徴とする。
Also, the present invention is characterized in that the extended history transferred by the extended history transferring means and the counting history transferred by the counting history transferring means are temporarily stored in each of the plurality of computers, and the other computers are temporarily stored. A log batch transfer means for batch transfer to a computer is further provided.

【0023】また、この発明は、前記履歴一括転送手段
が、前記拡張履歴が前記数え上げ履歴よりも前に転送さ
れるように前記蓄積した拡張履歴および数え上げ履歴を
再配置する手段を有することを特徴とする。
Further, the present invention is characterized in that the history batch transfer means has means for rearranging the accumulated extension history and counting history so that the extension history is transferred before the counting history. And

【0024】また、この発明は、前記データ構造体に保
持されるデータに対して交換法則(a+b=b+a)が
成り立つ任意の操作を施すことを特徴とする。また、こ
の発明は、前記データ構造体が、任意の形式で構成され
ることを特徴とする。
Further, the present invention is characterized in that an arbitrary operation that satisfies the exchange rule (a + b = b + a) is performed on the data held in the data structure. Further, the invention is characterized in that the data structure is configured in an arbitrary format.

【0025】[0025]

【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。図1は、この発明の実施形態に
係る分散メモリ型マルチプロセッサシステムの概略構成
およびこの分散メモリ型マルチプロセッサシステムに適
用される分散共有メモリシステムの機能ブロックを示す
図である。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing a schematic configuration of a distributed memory multiprocessor system according to an embodiment of the present invention and functional blocks of a distributed shared memory system applied to the distributed memory multiprocessor system.

【0026】ノード100は、各々1個以上のプロセッ
サ、メモリおよびI/O装置を備えてなり、また、これ
らのノード100は、ネットワーク200を介して互い
に接続されている。
Each of the nodes 100 includes one or more processors, memories, and I / O devices, and these nodes 100 are connected to each other via a network 200.

【0027】これら各ノード100上では、プロセス1
1が動作し、各プロセス11のアドレス空間内には、図
2に示すように、すべてのプロセス10から共通に(同
じアドレスに)見える共有メモリ空間12が存在する。
この共有メモリ空間12は、共有メモリ空間提供部13
によって提供される。
On each of these nodes 100, process 1
1 operates, and in the address space of each process 11, as shown in FIG. 2, there is a shared memory space 12 that is common to all processes 10 (at the same address).
This shared memory space 12 includes a shared memory space providing unit 13
Provided by

【0028】この共有メモリ空間12内には、共有メモ
リ空間内データ構造作成部14によってハッシュ構造の
ハッシュテーブル16が作成され、アイテムの種類と出
現頻度とからなる統計情報15が格納される。なお、こ
こで、アイテムとは、たとえばスーパーマーケットのP
OSデータでいえば、紙オムツや缶ビールなどの商品項
目を示す。
In the shared memory space 12, a hash table 16 having a hash structure is created by the data structure creating unit 14 in the shared memory space, and statistical information 15 including the type of item and the frequency of appearance is stored. Here, the item is, for example, P of a supermarket.
In terms of OS data, it indicates a product item such as a disposable diaper or canned beer.

【0029】この統計情報15は、プロセス11がトラ
ンザクションデータ17を読み込んだ際に、プロセス1
1のアイテム出現頻度数え上げ部18によってそのアイ
テムの出現頻度が数え上げられていく。なお、ここでい
うトランザクションデータとは、たとえばスーパーマー
ケットのPOSデータでいえば、紙オムツや缶ビールな
どの一回の買い物レシートを示す。
When the process 11 reads the transaction data 17, the statistical information 15
The item appearance frequency counting unit 18 counts the appearance frequency of the item. The transaction data referred to here is, for example, a single shopping receipt such as a disposable diaper or a canned beer in POS data of a supermarket.

【0030】図1では、各ノードにディスク装置が1個
しか存在せず、そこにすべてのトランザクションデータ
17が格納されている様に示されているが、実際には、
各ノード100に多数のディスク装置が存在し、トラン
ザクションデータ17を分割して保持している。たとえ
ば、1TBのトランザクションデータは、2GBのディ
スク装置で500台を要するため、たとえば10ノード
のシステムであれば各ノードに50台のディスク装置が
接続されることになる。そして、1TBのトランザクシ
ョンデータは、10ノード500台のディスク装置に分
割して格納されることになる。
FIG. 1 shows that each node has only one disk device, and all transaction data 17 is stored therein.
Many disk devices exist in each node 100, and the transaction data 17 is divided and held. For example, since 1 TB of transaction data requires 500 units of a 2 GB disk unit, for example, in a 10-node system, 50 disk units are connected to each node. Then, 1 TB of transaction data is divided and stored in 500 disk devices of 10 nodes.

【0031】また、プロセス11のアイテム出現頻度数
え上げ部18がアイテムの出現頻度を数え上げる際、同
時に、プロセス11の数え上げログ記録部19が、この
数え上げの履歴である数え上げログ20を記録してい
く。そして、この記録された数え上げログ20は、数え
上げログ転送部21によって、他のノード100に転送
される。
When the item appearance frequency counting unit 18 of the process 11 counts the item appearance frequency, the counting log recording unit 19 of the process 11 simultaneously records a counting log 20 which is a history of the counting. Then, the recorded counting log 20 is transferred to another node 100 by the counting log transfer unit 21.

【0032】この転送された数え上げログ20は、各々
のノード100で、数え上げログ受信部22によって受
信され、数え上げログ反映部23によって、それぞれの
ノード100の共有メモリ空間12に反映される。
The transferred counting log 20 is received by the counting log receiving unit 22 in each node 100, and is reflected in the shared memory space 12 of each node 100 by the counting log reflecting unit 23.

【0033】ここでいう「数え上げ」とは、たとえば、
トランザクションデータ17を読み出し、そこに含まれ
るアイテムの出現頻度をインクリメントすることであ
る。よって、「数え上げログ」とは、アイテムの出現頻
度を記録するための領域のアドレスとなる。このアイテ
ムの出現頻度を記録するための領域は、共有メモリ空間
12上に確保されているので、どのノード100上のプ
ロセス11からも同じアドレスでアクセスできる。それ
ゆえに、数え上げログ20としてアイテムの出現頻度を
記録するための領域のアドレスを送れば、それを受信し
たノード100では、そのアドレスで示された領域の値
をインクリメントすることによって、他のノード100
で行なわれた数え上げを自身のノード100に反映する
ことができるため、ノード100間で共通に見える共有
メモリ空間12上のデータの一貫性を保持することが可
能となる。
The "counting" here means, for example,
That is, the transaction data 17 is read, and the appearance frequency of the item included therein is incremented. Therefore, the “counting log” is an address of an area for recording the appearance frequency of the item. An area for recording the appearance frequency of this item is secured in the shared memory space 12, so that the process 11 on any node 100 can access the same address. Therefore, if the address of the area for recording the appearance frequency of the item is sent as the counting log 20, the node 100 that has received the address increments the value of the area indicated by the address, and the other node 100
Can be reflected in its own node 100, so that it is possible to maintain consistency of data in the shared memory space 12, which appears to be common among the nodes 100.

【0034】さらに、この実施形態における分散共有メ
モリシステムでは、分散ロック獲得部24、分散ロック
解放部25、共有メモリ空間内データ構造拡張部26、
データ構造拡張ログ反映部27、データ構造拡張ログ記
録部28、データ構造拡張ログ受信部29およびデータ
構造拡張ログ転送部31を備えることにより、数え上げ
の最中におけるハッシュテーブル16の拡張を可能とす
る。そして、このことが、この発明の特徴とする点であ
る。以下、この数え上げの最中におけるハッシュテーブ
ル16の拡張について説明する。
Further, in the distributed shared memory system in this embodiment, the distributed lock acquisition unit 24, the distributed lock release unit 25, the data structure extension unit 26 in the shared memory space,
The provision of the data structure extension log reflection unit 27, the data structure extension log recording unit 28, the data structure extension log reception unit 29, and the data structure extension log transfer unit 31 enables the hash table 16 to be extended during counting. . This is the feature of the present invention. Hereinafter, expansion of the hash table 16 during the counting is described.

【0035】それぞれのノード100でプロセス11が
数え上げを行なっている最中にハッシュテーブル16を
拡張するには、まず、分散ロック獲得部24によってハ
ッシュテーブル16の拡張に関するロックを獲得し、デ
ータ構造拡張操作の排他制御を行なう。
In order to extend the hash table 16 while the process 11 is enumerating in each node 100, first, the distributed lock acquisition unit 24 acquires a lock related to the extension of the hash table 16 and extends the data structure. Performs exclusive control of operations.

【0036】次に、共有メモリ空間内データ構造拡張部
26によって、共有メモリ空間12内のハッシュテーブ
ル16を拡張する。この際、データ構造拡張ログ記録部
28によって、データ構造拡張ログ30が記録される。
Next, the hash table 16 in the shared memory space 12 is expanded by the data structure expansion unit 26 in the shared memory space. At this time, the data structure extension log recording unit 28 records the data structure extension log 30.

【0037】そして、分散ロック解放部25によってロ
ックを解放する際に、その記録されたデータ構造拡張ロ
グ30が、データ構造拡張ログ転送部31によって他の
ノード100に転送される。
When the lock is released by the distributed lock release unit 25, the recorded data structure extension log 30 is transferred to another node 100 by the data structure extension log transfer unit 31.

【0038】転送されたデータ構造拡張ログ30は、各
々のノード100で、データ構造拡張ログ受信部29に
よって受信され、データ構造拡張ログ反映部27によっ
て自分のノード100のハッシュテーブル16に反映さ
れる。
The transferred data structure extension log 30 is received by the data structure extension log reception unit 29 at each node 100 and is reflected on the hash table 16 of the node 100 by the data structure extension log reflection unit 27. .

【0039】図3は、前述した特願平9−341384
号で示される分散共有メモリシステムによってノード
(0)とノード(1)とで並列に数え上げを行なう場合
の様子を示す図である。なお、ここでは説明の都合上、
ログを記録するバッファは、最大で4個のログしか格納
できないものとするが、実際には、通常、数千以上のロ
グが格納できるサイズに設定される。
FIG. 3 shows the above-mentioned Japanese Patent Application No. 9-341384.
FIG. 11 is a diagram showing a state where nodes (0) and (1) are counted in parallel by the distributed shared memory system indicated by a symbol. Here, for convenience of explanation,
It is assumed that the log recording buffer can store only a maximum of four logs, but in practice, it is usually set to a size that can store thousands or more logs.

【0040】ノード(0)では、a,b,c,dの数え
上げが行なわれ、それがバッファに格納され、バッファ
がフルになった際に、それがノード(1)に転送され、
ノード(1)にも反映される。同様に、このとき、ノー
ド(1)では、1,2,3,4の数え上げが行なわれ、
それがバッファに格納され、バッファがフルになった際
に、それがノード(0)に転送され、ノード(0)にも
反映される。これは、データ構造体、すなわち、ハッシ
ュテーブル16の拡張を伴なわない場合の例である。
At node (0), a, b, c, and d are counted and stored in a buffer. When the buffer becomes full, it is transferred to node (1).
It is also reflected on node (1). Similarly, at this time, 1, 2, 3, and 4 are counted at node (1).
It is stored in the buffer, and when the buffer is full, it is transferred to node (0) and reflected on node (0). This is an example in which the data structure, that is, the hash table 16 is not expanded.

【0041】一方、図4は、この実施形態の分散共有メ
モリシステムによってノード(0)とノード(1)とで
並列に数え上げを行なう場合の様子を示す図である。ノ
ード(0)では、時刻t1にロックを獲得し、データ構
造体、すなわちハッシュテーブル15を拡張し、時刻t
3で、ロックを解放している。
On the other hand, FIG. 4 is a diagram showing a state in which the nodes (0) and (1) count up in parallel by the distributed shared memory system of this embodiment. At the node (0), the lock is acquired at time t1, and the data structure, that is, the hash table 15 is extended.
At 3, the lock is released.

【0042】このハッシュテーブル15の拡張を示すデ
ータ構造拡張ログxは、数え上げログa,b,cと一緒
にバッファに格納(a,b,x,c)され、ノード
(1)に転送され、ノード(1)に反映される。
The data structure extension log x indicating the extension of the hash table 15 is stored (a, b, x, c) in the buffer together with the enumeration logs a, b, c, and transferred to the node (1). Reflected on node (1).

【0043】一方、ノード(1)でも、時刻t2におい
て、ロックの獲得要求が出されている。しかし、その時
点では、すでにノード(0)によってロックが獲得され
ているので、すぐには獲得できず、時刻t4まで待たさ
れる。
On the other hand, the node (1) also issues a lock acquisition request at time t2. However, at that time, since the lock has already been acquired by the node (0), the lock cannot be acquired immediately, and the process waits until time t4.

【0044】その後、時刻t4になると、ノード(0)
で獲得されていたロックが解放されるため、そのロック
をノード(1)で獲得でき、続いて、ハッシュテーブル
16を拡張し、時刻t5で、ロックを解放している。そ
して、このときのデータ構造拡張ログYは、数え上げロ
グ1,2,3と一緒にバッファに格納(1,2,Y,
3)され、ノード(0)に転送されてノード(0)に反
映される。
Thereafter, at time t4, node (0)
Is released, the lock can be acquired by the node (1), the hash table 16 is extended, and the lock is released at time t5. Then, the data structure extended log Y at this time is stored in the buffer together with the counted logs 1, 2, 3 (1, 2, Y,
3) is transferred to the node (0) and reflected on the node (0).

【0045】そして、時刻t6で、ノード(1)で獲得
されていたロックが解放される。このように、この実施
形態の分散共有メモリシステムでは、ハッシュテーブル
15の拡張をノード100間で排他制御する機構をもつ
ことによって、数え上げ操作の最中におけるハッシュテ
ーブル15の拡張を可能とする。
Then, at time t6, the lock acquired by the node (1) is released. As described above, the distributed shared memory system of this embodiment has a mechanism for exclusively controlling the expansion of the hash table 15 between the nodes 100, thereby enabling the expansion of the hash table 15 during the counting operation.

【0046】図5は、図4に示した方法を修正した場合
の例であり、バッファ内に格納された数え上げログとデ
ータ構造拡張ログとを他のノードに転送する前に、バッ
ファ内のログの配置順をデータ構造拡張ログが先に、数
え上げログが後にくるように再配置するようにしたもの
である。
FIG. 5 shows an example in which the method shown in FIG. 4 is modified. The log in the buffer is transferred before transferring the counted log and the data structure extension log stored in the buffer to another node. The arrangement order is rearranged such that the data structure extension log comes first, and the counted log comes later.

【0047】なお、この例では、バッファ内に格納され
るログの数が少ない(4)が、実際には、多数のログが
格納されているため、データ構造拡張ログを先に配置す
ることにより、それを受け取ったノードでは、データ構
造の拡張が先に行なわれることになるため、バッファ内
のすべてのログを反映する以前に、ロックを解放するこ
とが可能となる。
In this example, although the number of logs stored in the buffer is small (4), since a large number of logs are actually stored, the data structure extension log is arranged first. On the node that receives it, the data structure is expanded first, so that the lock can be released before all the logs in the buffer are reflected.

【0048】図6は、図5に示した方法をさらに修正し
た場合の例であり、バッファにデータ構造拡張ログが格
納されたら、たとえバッファがフルになっていなくて
も、その時点でバッファに格納されたデータ構造拡張ロ
グおよび数え上げログを即座に他ノード100に転送す
るようにしたものである。
FIG. 6 shows an example in which the method shown in FIG. 5 is further modified. When the data structure extension log is stored in the buffer, even if the buffer is not full, the data is stored in the buffer at that time. The stored data structure extension log and the counted log are immediately transferred to another node 100.

【0049】また、図7は、さらに別の方法を示す例で
ある。ここでは、数え上げログのバッファとデータ構造
拡張ログのバッファとを分離させ、ロック解放時に、デ
ータ構造拡張ログを数え上げログに先駆けて送り、他の
ノードに反映させる。すなわち、ノード(0)では、ま
ず、a,bの数え上げが行なわれ、次に、時刻t1でロ
ックを獲得し、データ構造の拡張を行ない、時刻t3で
ロックが解放されているが、この際に、データ構造拡張
ログxのみがノード(0)からノード(1)に転送さ
れ、ノード(1)にも反映される。
FIG. 7 is an example showing still another method. Here, the buffer of the enumerated log and the buffer of the data structure extension log are separated, and when releasing the lock, the data structure extension log is sent prior to the enumeration log and reflected on other nodes. That is, at the node (0), first, a and b are counted up, then the lock is acquired at time t1, the data structure is extended, and the lock is released at time t3. Then, only the data structure extension log x is transferred from the node (0) to the node (1), and is also reflected on the node (1).

【0050】その後、ノード(0)では、さらに、c,
dの数え上げが行なわれ、このときに、バッファがフル
になるため、数え上げログがノード(0)からノード
(1)に送られ、ノード(1)にも反映される。
Thereafter, at the node (0), c,
Counting of d is performed. At this time, since the buffer becomes full, the counting log is sent from the node (0) to the node (1), and is reflected on the node (1).

【0051】一方、ノード(1)では、時刻t2におい
て、ロック獲得要求が出されているが、この時点では、
ノード(0)がロックを獲得しているために待たされ、
時刻t3で、ノード(0)がロックを解放した際に獲得
される。
On the other hand, at node (1), a lock acquisition request is issued at time t2.
Waited because node (0) has acquired the lock,
Acquired when the node (0) releases the lock at time t3.

【0052】そして、ノード(1)でも、データ構造の
拡張が行われ、時刻t4でロックを解放する。この際
に、データ構造拡張ログYが、ノード(1)からノード
(0)に転送され、ノード(0)にも反映される。
Then, the data structure is extended at the node (1), and the lock is released at time t4. At this time, the data structure extension log Y is transferred from the node (1) to the node (0), and is also reflected on the node (0).

【0053】その後、ノード(1)では、さらに、3,
4の数え上げが行なわれ、このときに、バッファがフル
になるため、数え上げログがノード(1)からノード
(0)に送られ、ノード(0)にも反映される。
Thereafter, at node (1),
4 is counted. At this time, since the buffer becomes full, the counting log is sent from the node (1) to the node (0) and is reflected on the node (0).

【0054】このように、図5乃至図7の例では、ある
ノードで実行された「数え上げ」と「データ構造拡張」
との操作の順番を、他のノードではその順番を変更して
行なうことにより、実行効率を高めている。
As described above, in the examples shown in FIGS. 5 to 7, "counting" and "data structure extension" executed at a certain node are performed.
By changing the order of the operations with the other nodes, the execution efficiency is enhanced by changing the order.

【0055】しかも、「データ構造拡張」操作を「数え
上げ」操作より前に移動させているだけなので、処理に
矛盾を生じさせることもない。なお、前述した実施形態
では、Apriori アルゴリズムにおけるデータ項目の生起
回数の数え処理を例に説明しているが、この発明の適用
範囲はこれだけに止まるものではない。
Further, since the "data structure expansion" operation is merely moved before the "enumeration" operation, there is no inconsistency in the processing. In the above-described embodiment, the process of counting the number of occurrences of a data item in the Apriori algorithm is described as an example. However, the scope of the present invention is not limited to this.

【0056】すなわち、この発明は集計処理のような交
換法則(a+b=b+a)の成り立つ処理全般に適用可
能なものである。また、分散共有メモリ上に保持するデ
ータ構造も、ハッシュテーブルだけに止まるものではな
く、配列、キュー、ネットワークなどに広く適用可能な
ものである。
That is, the present invention can be applied to all processes such as the tabulation process that satisfy the exchange rule (a + b = b + a). Further, the data structure stored in the distributed shared memory is not limited to the hash table, but can be widely applied to arrays, queues, networks, and the like.

【0057】[0057]

【発明の効果】以上詳述したように、この発明によれ
ば、分散共有メモリ内に構築されたデータ構造の拡張を
複数のコンピュータ間で排他制御することができるた
め、数え上げ操作の最中におけるデータ構造の拡張を可
能とし、数え上げの対象とするアイテムの追加にも柔軟
に対応できることになる。
As described above in detail, according to the present invention, the expansion of the data structure constructed in the distributed shared memory can be exclusively controlled between a plurality of computers, so that during the counting operation, The data structure can be expanded, and it is possible to flexibly cope with the addition of items to be counted.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の実施形態に係る分散メモリ型マルチ
プロセッサシステムの概略構成およびこの分散メモリ型
マルチプロセッサシステムに適用される分散共有メモリ
システムの機能ブロックを示す図。
FIG. 1 is a diagram showing a schematic configuration of a distributed memory type multiprocessor system according to an embodiment of the present invention and functional blocks of a distributed shared memory system applied to the distributed memory type multiprocessor system.

【図2】同実施形態のプロセスの内部構成を示す図。FIG. 2 is a view showing an internal configuration of a process according to the embodiment.

【図3】従来の分散共有メモリシステムによってノード
(0)とノード(1)とで並列に数え上げを行なう場合
の様子を示す図。
FIG. 3 is a diagram showing a state in which counting is performed in parallel at a node (0) and a node (1) by a conventional distributed shared memory system.

【図4】同実施形態の分散共有メモリシステムによって
ノード(0)とノード(1)とで並列に数え上げを行な
う場合の様子を示す図。
FIG. 4 is an exemplary view showing a case where nodes (0) and (1) are counted in parallel by the distributed shared memory system according to the embodiment;

【図5】バッファ内に格納された数え上げログとデータ
構造拡張ログとを他のノードに転送する前に、バッファ
内のログの配置順をデータ構造拡張ログが先に、数え上
げログが後にくるように再配置するように図4に示した
方法を修正した場合の例を示す図。
FIG. 5 shows the arrangement order of the logs in the buffer before transferring the counted log and the data structure extended log stored in the buffer to another node, so that the data structure extended log comes first and the counted log comes later. FIG. 5 is a diagram showing an example of a case where the method shown in FIG.

【図6】バッファにデータ構造拡張ログが格納された
ら、たとえバッファがフルになっていなくても、その時
点でバッファに格納されたデータ構造拡張ログおよび数
え上げログを即座に他ノードに転送するように図5に示
した方法をさらに修正した場合の例を示す図。
FIG. 6 is a diagram showing a configuration in which, when a data structure extension log is stored in a buffer, even if the buffer is not full, the data structure extension log and the counting log stored in the buffer at that time are immediately transferred to another node. FIG. 6 is a diagram showing an example when the method shown in FIG. 5 is further modified.

【図7】同実施形態の数え上げログのバッファとデータ
構造拡張ログのバッファとを分離させ、ロック解放時
に、データ構造拡張ログを数え上げログに先駆けて送
り、他のノードに反映させる例を示す図。
FIG. 7 is a diagram showing an example of separating the counted log buffer and the data structure extended log buffer according to the embodiment, sending the data structure extended log prior to the counted log, and reflecting it on another node when releasing a lock; .

【図8】従来の分散共有メモリシステムのトランザクシ
ョンデータの例を示す図
FIG. 8 is a diagram showing an example of transaction data in a conventional distributed shared memory system.

【図9】頻出アイテム集合の抽出を効率的に処理する手
法であるApriori のアルゴリズムを実行するプログラム
の処理の流れを示すフローチャート。
FIG. 9 is a flowchart showing a processing flow of a program for executing Apriori's algorithm, which is a technique for efficiently processing the extraction of a frequent item set.

【図10】図9に示した頻出アイテム集合の抽出処理に
おいて数え上げが行なわれるパス1、すなわち長さ1の
アイテムの種類と出現頻度とからなる統計情報を管理す
るハッシュテーブルを示す図。
FIG. 10 is a diagram showing a hash table for managing statistical information including the type and appearance frequency of an item having a length of 1, which is counted in the frequent item set extraction process shown in FIG. 9;

【図11】図9に示した頻出アイテム集合の抽出処理に
おいて数え上げが行なわれるパス2、すなわち長さ2の
アイテムの種類と出現頻度とからなる統計情報を管理す
るハッシュテーブルを示す図。
FIG. 11 is a diagram showing a hash table for managing statistical information including the type and appearance frequency of an item having a length of 2, which is counted in the frequent item set extraction process shown in FIG. 9;

【図12】従来の分散共有メモリシステムの数え上げロ
グの構造を示す図。
FIG. 12 is a diagram showing the structure of a counting log of a conventional distributed shared memory system.

【図13】従来の分散共有メモリシステムのデータ構造
体の拡張を示す図。
FIG. 13 is a diagram showing an extension of a data structure of a conventional distributed shared memory system.

【符号の説明】[Explanation of symbols]

11…プロセス、12…共有メモリ空間、13…共有メ
モリ空間提供部、14…共有メモリ空間内データ構造作
成部、15…アイテムの種類と出現頻度とからなる統計
情報、16…ハッシュテーブル、17…トランザクショ
ンデータ、18…アイテム出現頻度数え上げ部、19…
数え上げログ記録部、20…数え上げログ、21…数え
上げログ転送部、22…数え上げログ受信部、23…数
え上げログ反映部、24…分散ロック獲得部、25…分
散ロック解放部、26…共有メモリ空間内データ構造拡
張部、27…データ構造拡張ログ反映部、28…データ
構造拡張ログ記録部、29…データ構造拡張ログ受信
部、30…データ構造拡張ログ、31…データ構造拡張
ログ転送部、100…ノード、200…ネットワーク。
11: Process, 12: Shared memory space, 13: Shared memory space providing unit, 14: Data structure creating unit in shared memory space, 15: Statistical information consisting of item type and appearance frequency, 16: Hash table, 17 ... Transaction data, 18 ... Item appearance frequency counting unit, 19 ...
Counting log recording section, 20: Counting log, 21: Counting log transfer section, 22: Counting log receiving section, 23: Counting log reflecting section, 24: Distributed lock acquisition section, 25: Distributed lock release section, 26: Shared memory space Internal data structure extension unit, 27: Data structure extension log reflection unit, 28: Data structure extension log recording unit, 29: Data structure extension log receiving unit, 30: Data structure extension log, 31: Data structure extension log transfer unit, 100 ... node, 200 ... network.

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 複数のコンピュータが疎結合された分散
メモリ型のマルチプロセッサシステムに適用される分散
共有メモリシステムであって、前記複数のコンピュータ
それぞれが、他のコンピュータ上で動作するプロセスと
同一アドレスで共通にアクセス可能な共有メモリ空間を
同一コンピュータ上で動作するプロセスに対して提供す
る共有メモリ空間提供手段と、前記同一コンピュータ上
で動作するプロセスが入力データから抽出する特定のア
イテムの集合ごとの出現頻度を保持するデータ構造体を
前記共有メモリ空間内に作成するデータ構造体作成手段
と、前記データ構造体に保持された出現頻度に対する前
記同一コンピュータ上で動作するプロセスの数え上げの
履歴を取得する数え上げ履歴取得手段と、前記数え上げ
履歴取得手段により取得された数え上げ履歴を前記他の
コンピュータに転送する数え上げ履歴転送手段と、前記
他のコンピュータから転送される数え上げ履歴を受信す
る数え上げ履歴受信手段と、前記数え上げ履歴受信手段
により受信された数え上げ履歴を前記データ構造体に保
持された出現頻度に反映させる数え上げ履歴反映手段と
を備えた分散共有メモリシステムにおいて、 前記複数のコンピュータそれぞれに、 前記データ構造体を拡張するデータ構造体拡張手段と、 前記データ構造体拡張手段による前記データ構造体の拡
張の履歴を取得する拡張履歴取得手段と、 前記拡張履歴取得手段により取得された拡張履歴を前記
他のコンピュータに転送する拡張履歴転送手段と、 前記他のコンピュータから転送される拡張履歴を受信す
る拡張履歴受信手段と、 前記拡張履歴受信手段により受信された拡張履歴を前記
データ構造体に反映させる拡張履歴反映手段と、 前記データ構造体の拡張を前記同一コンピュータ上で動
作する前記データ構造体拡張手段および前記拡張履歴反
映手段と前記他のコンピュータ上で動作する前記データ
構造体拡張手段および前記拡張履歴反映手段との間で排
他制御する拡張排他制御手段とを設け、 前記複数のコンピュータ上で動作するプロセスの数え上
げがの最中に前記データ構造体を拡張可能としたことを
特徴とする分散共有メモリシステム。
1. A distributed shared memory system applied to a distributed memory type multiprocessor system in which a plurality of computers are loosely coupled, wherein each of the plurality of computers has the same address as a process operating on another computer. A shared memory space providing means for providing a shared memory space that can be commonly accessed in the same computer to a process operating on the same computer; Data structure creating means for creating a data structure holding the appearance frequency in the shared memory space, and acquiring a history of counting of processes operating on the same computer with respect to the appearance frequency held in the data structure Counting history acquisition means, and counting history acquisition means A counting history transfer unit that transfers the obtained counting history to the other computer, a counting history receiving unit that receives the counting history transferred from the other computer, and a counting history received by the counting history receiving unit. In a distributed shared memory system including a counting history reflecting unit that reflects the appearance frequency held in the data structure, a data structure extending unit that extends the data structure to each of the plurality of computers; An extension history acquisition unit that acquires a history of extension of the data structure by a structure extension unit; an extension history transfer unit that transfers the extension history acquired by the extension history acquisition unit to the other computer; Extended history receiving means for receiving an extended history transferred from the computer, Extended history reflecting means for reflecting the extended history received by the extended history receiving means on the data structure; data structure extending means operating on the same computer for extending the data structure; and extended history reflecting Means and an extended exclusive control means for exclusive control between the data structure extending means and the extended history reflecting means operating on the other computer, wherein the number of processes operating on the plurality of computers is counted up. A distributed shared memory system, wherein the data structure can be expanded during the process.
【請求項2】 前記複数のコンピュータそれぞれに、前
記拡張履歴転送手段により転送される拡張履歴と前記数
え上げ履歴転送手段により転送される数え上げ履歴とを
一時的に蓄積して前記他のコンピュータに一括して転送
する履歴一括転送手段とをさらに設けたことを特徴とす
る請求項1記載の分散共有メモリシステム。
2. The computer according to claim 1, wherein the extended history transferred by the extended history transferring unit and the counting history transferred by the counting history transferring unit are temporarily stored in each of the plurality of computers and are collectively stored in the other computers. 2. The distributed shared memory system according to claim 1, further comprising: a history batch transfer means for transferring the data.
【請求項3】 前記履歴一括転送手段は、前記拡張履歴
が前記数え上げ履歴よりも前に転送されるように前記蓄
積した拡張履歴および数え上げ履歴を再配置する手段を
有する請求項2記載の分散共有メモリシステム。
3. The distributed sharing system according to claim 2, wherein the history batch transfer means includes means for rearranging the accumulated extension history and the count history so that the extension history is transferred before the count history. Memory system.
【請求項4】 前記データ構造体に保持されるデータに
対して交換法則(a+b=b+a)が成り立つ任意の操
作を施すことを特徴とする請求項1、2または3記載の
分散共有メモリシステム。
4. The distributed shared memory system according to claim 1, wherein an arbitrary operation that satisfies an exchange rule (a + b = b + a) is performed on the data held in the data structure.
【請求項5】 前記データ構造体は、任意の形式で構築
可能であることを特徴とする請求項1、2、3または4
記載の分散共有メモリシステム。
5. The data structure according to claim 1, wherein the data structure can be constructed in any format.
A distributed shared memory system as described.
【請求項6】 複数のコンピュータが疎結合された分散
メモリ型のマルチプロセッサシステムに適用される分散
共有メモリシステムであって、前記複数のコンピュータ
それぞれが、他のコンピュータ上で動作するプロセスと
同一アドレスで共通にアクセス可能な共有メモリ空間を
同一コンピュータ上で動作するプロセスに対して提供す
る共有メモリ空間提供手段と、前記同一コンピュータ上
で動作するプロセスが入力データから抽出する特定のア
イテムの集合ごとの出現頻度を保持するデータ構造体を
前記共有メモリ空間内に作成するデータ構造体作成手段
と、前記データ構造体に保持された出現頻度に対する前
記同一コンピュータ上で動作するプロセスの数え上げの
履歴を取得する数え上げ履歴取得手段と、前記数え上げ
履歴取得手段により取得された数え上げ履歴を前記他の
コンピュータに転送する数え上げ履歴転送手段と、前記
他のコンピュータから転送される数え上げ履歴を受信す
る数え上げ履歴受信手段と、前記数え上げ履歴受信手段
により受信された数え上げ履歴を前記データ構造体に保
持された出現頻度に反映させる数え上げ履歴反映手段と
を備えた分散共有メモリシステムに適用される分散共有
メモリの制御方法において、 前記データ構造体の拡張を前記他のコンピュータとの間
で排他制御しながら実行するステップと、 前記実行されたデータ構造体の拡張の履歴を取得するス
テップと、 前記取得された拡張履歴を前記他のコンピュータに転送
するステップと、 前記他のコンピュータから転送される拡張履歴を受信す
るステップと、 前記受信された拡張履歴を前記他のコンピュータとの間
の整合性を保ちつつ前記データ構造体に反映させるステ
ップとを具備し、 前記複数のコンピュータ上で動作するプロセスの数え上
げの最中に前記データ構造体を拡張可能としたことを特
徴とする分散共有メモリの制御方法。
6. A distributed shared memory system applied to a distributed memory type multiprocessor system in which a plurality of computers are loosely coupled, wherein each of the plurality of computers has the same address as a process operating on another computer. A shared memory space providing means for providing a shared memory space that can be commonly accessed in the same computer to a process operating on the same computer; Data structure creating means for creating a data structure holding the appearance frequency in the shared memory space, and acquiring a history of counting of processes operating on the same computer with respect to the appearance frequency held in the data structure Counting history acquisition means, and counting history acquisition means A counting history transfer unit that transfers the obtained counting history to the other computer, a counting history receiving unit that receives the counting history transferred from the other computer, and a counting history received by the counting history receiving unit. A control method for a distributed shared memory applied to a distributed shared memory system including a counting history reflecting unit that reflects the frequency of appearance held in the data structure, wherein the expansion of the data structure is performed with the other computer. Executing while performing exclusive control between; acquiring the extension history of the executed data structure; transferring the acquired extension history to the other computer; and Receiving the extended history to be transferred; and Reflecting the data structure in the data structure while maintaining consistency with another computer, and expanding the data structure during counting of processes running on the plurality of computers. A method for controlling a distributed shared memory, the method comprising:
【請求項7】 前記転送される拡張履歴と数え上げ履歴
とを一時的に蓄積して前記他のコンピュータに一括して
転送するステップとをさらに具備したことを特徴とする
請求項6記載の分散共有メモリの制御方法。
7. The distributed sharing according to claim 6, further comprising a step of temporarily storing the transferred extended history and the counted history and transferring the extended history and the counted history to the another computer at a time. How to control memory.
【請求項8】 前記拡張履歴が前記数え上げ履歴よりも
前に転送されるように前記蓄積した拡張履歴および数え
上げ履歴を再配置するステップをさらに具備したことを
特徴とする請求項7記載の分散共有メモリの制御方法。
8. The distributed sharing according to claim 7, further comprising the step of rearranging the accumulated extension history and counting history so that the extension history is transferred before the counting history. How to control memory.
【請求項9】 前記分散共有メモリシステムは、前記デ
ータ構造体に保持されるデータに対して交換法則(a+
b=b+a)が成り立つ任意の操作を施すものであるこ
とを特徴とする請求項6、7または8記載の分散共有メ
モリの制御方法。
9. The distributed shared memory system according to claim 1, wherein the exchange rule (a +
9. The method according to claim 6, wherein any operation that satisfies b = b + a) is performed.
【請求項10】 前記データ構造体は、任意の形式で構
築可能であることを特徴とする請求項6、7、8または
9記載の分散共有メモリの制御方法。
10. The method according to claim 6, wherein the data structure can be constructed in any format.
JP10102838A 1997-12-11 1998-04-14 System and control method for distributed shaped memory Pending JPH11296487A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10102838A JPH11296487A (en) 1998-04-14 1998-04-14 System and control method for distributed shaped memory
US09/206,155 US6219672B1 (en) 1997-12-11 1998-12-07 Distributed shared memory system and method of controlling distributed shared memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10102838A JPH11296487A (en) 1998-04-14 1998-04-14 System and control method for distributed shaped memory

Publications (1)

Publication Number Publication Date
JPH11296487A true JPH11296487A (en) 1999-10-29

Family

ID=14338134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10102838A Pending JPH11296487A (en) 1997-12-11 1998-04-14 System and control method for distributed shaped memory

Country Status (1)

Country Link
JP (1) JPH11296487A (en)

Similar Documents

Publication Publication Date Title
US7779045B2 (en) Lazy updates to indexes in a database
EP0877327B1 (en) Method and apparatus for performing a join query in a database system
US6226634B1 (en) Association rule generation and group-by processing system
US8010499B2 (en) Database staging area read-through or forced flush with dirty notification
US7490083B2 (en) Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates
US6360219B1 (en) Object queues with concurrent updating
US20040181523A1 (en) System and method for generating and processing results data in a distributed system
US7634487B2 (en) System and method for index reorganization using partial index transfer in spatial data warehouse
US6088757A (en) Computer program means and device for conducting high performance locking facility in a loosely coupled environment
Kleppmann Designing data-intensive applications
US6219672B1 (en) Distributed shared memory system and method of controlling distributed shared memory
JP5686893B2 (en) Database management system, apparatus and method
WO2004036432A1 (en) Database accelerator
JPH10333953A (en) Integrated data base system and computer-readable recording medium recording program for managing its data base structure
US20180011897A1 (en) Data processing method having structure of cache index specified to transaction in mobile environment dbms
JP4126843B2 (en) Data management method and apparatus, and recording medium storing data management program
US7398264B2 (en) Simplifying movement of data to different desired storage portions depending on the state of the corresponding transaction
JPH11296487A (en) System and control method for distributed shaped memory
WO2005043409A1 (en) Table-formatted data connection method, connection device, and program
JP3784949B2 (en) Distributed shared memory system and distributed shared memory control method
JPS5820072B2 (en) information retrieval device
JP4951326B2 (en) Computer program for optimizing the processing order of I / O requests
US6230206B1 (en) System for internode deadlock avoidance in parallel database system using as overflow buffer a temporary table storage allocated to the parallel database application program being executed
WO2012090281A1 (en) Data processing device
US6219663B1 (en) Method and computer program product for implementing pushdown query in a distributed object management system