JP4620593B2 - 情報処理システムおよび情報処理方法 - Google Patents
情報処理システムおよび情報処理方法 Download PDFInfo
- Publication number
- JP4620593B2 JP4620593B2 JP2005514952A JP2005514952A JP4620593B2 JP 4620593 B2 JP4620593 B2 JP 4620593B2 JP 2005514952 A JP2005514952 A JP 2005514952A JP 2005514952 A JP2005514952 A JP 2005514952A JP 4620593 B2 JP4620593 B2 JP 4620593B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- memory module
- ordered set
- value
- global
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 49
- 238000003672 processing method Methods 0.000 title description 3
- 230000015654 memory Effects 0.000 claims description 301
- 238000000034 method Methods 0.000 claims description 70
- 230000005540 biological transmission Effects 0.000 claims description 54
- 230000001186 cumulative effect Effects 0.000 claims description 26
- 230000001174 ascending effect Effects 0.000 claims description 24
- 238000003491 array Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 78
- 230000008569 process Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 49
- 101710133556 Phosphomannomutase 1 Proteins 0.000 description 35
- 102100035367 Phosphomannomutase 1 Human genes 0.000 description 35
- 101710133554 Phosphomannomutase 2 Proteins 0.000 description 35
- 102100035362 Phosphomannomutase 2 Human genes 0.000 description 35
- 108091000115 phosphomannomutase Proteins 0.000 description 23
- 238000004891 communication Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Description
「分散メモリ型」の第1の課題は、データの分掌管理の問題である。
巨大なデータ(一般的には配列なので、以降、配列で説明する)は、1つのプロセッサの所有するローカルメモリに収容できるものではなく、必然的に複数のローカルメモリに分掌管理される。効率的かつ柔軟な分掌管理メカニズムを導入しないと、プログラムの開発および実行に際してさまざまな障害を抱え込むことになることは明らかである。
分散メモリ型システムの各プロセッサが、巨大配列にアクセスしようとすると、自己の所有するローカルメモリ上の配列要素に対しては速やかにアクセスできるものの、他のプロセッサが所有する配列要素へのアクセスはプロセッサ間通信を必須とする。このプロセッサ間通信はローカルメモリとの通信に比べ、極端にパフォーマンスが低く、最低でも100クロックかかると言われている。このため、ソート実施時には、巨大配列全域にわたる参照が実施され、プロセッサ間通信が多発するため、パフォーマンスが極端に低下する。
「分散メモリ型」の第3の課題は、多数のプロセッサにどうやってプログラムを供給するか、という問題である。
メモリモジュール間を接続し、あるメモリモジュールの値を他のメモリモジュールに伝達するデータ伝送路とを備え、
各メモリモジュールのメモリが、それぞれ、昇順または降順に重複なく順序付けられた値のリストを保持するように構成された情報処理システムであって、
前記各メモリモジュールの制御装置が、
他のメモリモジュールに、前記値のリストに含まれる値を送信するデータ送信手段と、
他のメモリモジュールから、前記値のリストに含まれる値を受信するデータ受信手段と、
前記データ受信手段により受信された他のメモリモジュールの値のリストを参照して、他のすべてのメモリモジュールの値のリストに含まれる値を考慮したグローバルな値の順位を決定し、前記グローバルな値の順位を格納するためのグローバル順位格納配列の、自己のメモリモジュールの値に対応する位置に、前記決定された順位を格納する順位判定手段とを備えたことを特徴とする情報処理システム、
により達成される。
前記データ受信手段が、前記データ送信手段によるデータ送信と並列的に、一方および他方の伝送路を利用して、定められたチャンネルから他のメモリモジュールの値のリストを受信するように構成されている。
各々が項目と当該項目に属する項目値とを含むレコードの配列として表される表形式データを表現するための、特定の項目に属する項目値に対応した項目値番号の順に当該項目値が格納されている値リスト、および、一意的な順序集合配列の順に、当該項目値番号を指示するためのポインタ値が格納されたポインタ配列からなる情報ブロックを保持し、各メモリにて保持された情報ブロックの集合体により、グローバルな情報ブロックが形成され、
各メモリモジュールの制御装置が、前記ポインタ配列のうち、グローバルな情報ブロックの部分集合として、自己の掌握する情報ブロックが、どの位置を占めるかを示すオフセット値を保持するオフセット値記憶手段と、
前記オフセット値に基づき、グローバルな情報ブロックにおけるグローバル順序集合配列を生成するグローバル順序集合配列生成手段と、
前記順位判定手段が、前記値のリストとして、前記値リストのグローバルな値の順位を決定し、前記グローバル順位格納配列に相当するグローバル値番号配列に決定された順位を格納するように構成されている。
検索すべき項目に関して、当該項目の値リストと同じサイズのフラグ配列を生成し、検索条件に合致する項目値に対応するフラグ配列中に特定の値を付与するフラグ配列セットアップ手段と、
前記検索すべき項目に関して、順序集合配列が示す位置に対応するポインタ配列中の値を特定し、その後、ポインタ配列中の値が示す位置に対応するフラグ配列中の値を特定することにより、当該順序集合配列中の値に対応するレコードが、検索条件に合致するか否かを判定する検索条件判定手段と、
検索条件に合致する順序集合の値、および、対応するグローバル順序集合の値を、それぞれ、第2の順序集合配列および第2のグローバル順序集合配列に格納するローカル検索手段とを備え、
前記データ送信手段が、前記値のリストとして、前記第2のグローバル順序集合配列を、前記他のモジュールに送信し、かつ、前記データ受信手段が、前記値のリストとして前記他のメモリモジュールから第2のグローバル順序集合配列を受信し、さらに、
受信したそれぞれの第2のグローバル順序集合配列を参照して、自己の、グローバル順序集合配列中の値の、他のメモリモジュールとの間での相対的な順位を判定し、当該相対的な順位に基づいて、グローバルな情報ブロックにおける順位を決定し、当該グローバルな情報ブロックにおける順位を、グローバル順位格納配列に相当する第3のグローバル順序集合配列に格納する第2の順位判定手段を備え、前記第3のグローバル順序集合配列の値によって、検索条件に合致するレコードの順位が示される。
前記グローバル順序集合配列の値の順位を、所定の項目に関するグローバル値番号配列中、当該グローバル順序集合配列に対応する値にしたがって決定し、第4のグローバル順序番号配列中、当該決定された順位に対応する位置に、前記グローバル順序集合配列の値を格納する第3の順位判定手段を備え、前記第4のグローバル順序集合配列が、前記グローバル値番号配列の値にしたがって前記グローバル順序集合を再配置したものとなる。
ソートすべき項目に関して、当該項目の値リストと同じサイズの存在数配列を生成し、値リスト中の項目値のそれぞれを指定する、前記順序集合配列の値の数を配置する存在数配列生成手段と、
前記存在数配列中の値を累計して、メモリモジュール内でソートされた際の、対応する項目値をもつレコードの先頭位置を示す累計数を算出し、当該累計数を累計数配列中に配置する累計数配列生成手段と、
第2のグローバル値番号配列、前記第4のグローバル順序集合配列および第3の順序集合配列を生成し、順序集合配列の値が示す項目値に対応する累計数配列中の累計数に基づき、前記第2のグローバル値番号配列中、前記累計数が示す位置に、前記項目値に対応するグローバル値番号を配置し、かつ、前記第3の順序集合配列、および、前記第4のグローバル順序集合配列中、前記累計数が示す位置に、前記順序集合配列の値、および、対応するグローバル順序集合配列の値を、それぞれ配置する、ローカルソート手段とを備え、
前記データ送信手段が、前記値のリストとして、少なくとも、第2のグローバル値番号配列を送信し、かつ、前記データ受信手段が、前記値のリストとして他のメモリモジュールの第2のグローバル値番号配列を受信し、さらに、
受信したそれぞれの第2のグローバル値番号配列を参照して、自己の、第2のグローバル値番号配列中の値の、他のメモリモジュールとの間での相対的な順位を判定し、当該グローバルな情報ブロックにおける順位を、グローバル順位格納配列に相当する第5のグローバル順序集合配列に格納する第4の順位判定手段を備え、前記第5のグローバル順序集合配列の値によって、ソートされたレコードの順位が示される。
たとえば、ある実施態様においては、情報処理方法は、それぞれ、メモリおよび制御装置を有する、複数のメモリモジュールと、メモリモジュール間を接続し、あるメモリモジュールの値を他のメモリモジュールに伝達するデータ伝送路とを備え、各メモリモジュールのメモリが、それぞれ、昇順または降順に重複なく順序付けられた値のリストを保持するように構成された情報処理システムにおいて、
各メモリモジュールにおいて、
各メモリモジュールにおいて、
他のメモリモジュールに、前記値のリストに含まれる値を送信するデータ送信ステップと、
他のメモリモジュールから、前記値のリストに含まれる値を受信するデータ受信ステップと、
前記データ受信ステップにおいて受信された他のメモリモジュールの値のリストを参照して、他のすべてのメモリモジュールの値のリストに含まれる値を考慮したグローバルな値の順位を決定し、前記グローバルな値の順位を格納するためのグローバル順位格納配列の、自己のメモリモジュールの値に対応する位置に、前記決定された順位を格納する順位判定ステップとを備えている。
前記各情報処理ユニットが、前記グローバルな表形式データにおける各レコードの順位を示す値を収容するグローバル順序集合配列と、制御装置により受理された順位を指定する命令にしたがって、前記グローバル順序集合配列中の値を特定し、その値が示すレコードを取り出すレコード取り出し手段とを備えたことを特徴とする情報処理システムが提供される。
各々が項目と当該項目に属する項目値とを含むレコードの配列として表される表形式データを表現するための、特定の項目に属する項目値に対応した項目値番号の順に当該項目値が格納されている値リスト、および、一意的な順序集合配列の順に、当該項目値番号を指示するためのポインタ値が格納されたポインタ配列からなる情報ブロックを保持し、各メモリにて保持された情報ブロックの集合体により、グローバルな情報ブロックが形成される。
前記情報処理ユニットが、グローバルな情報ブロックにおける項目値の順位を示す値を収容するグローバル値番号配列と、制御装置により受理された順位を指定する命令にしたがって、前記グローバル値番号配列中の値を特定し、その値が示す、値リスト中の項目値を取り出す項目値取り出し手段とを備えたことを特徴とする情報処理システムが提供される。
メモリモジュール間を接続し、あるメモリモジュールの値を他のメモリモジュールに伝達するデータ伝送路とを備え、
各メモリモジュールのメモリが、それぞれ、値のリストを保持するように構成された情報処理システムであって、
前記各メモリモジュールの制御装置が、
他のメモリモジュールに、前記値のリストに含まれる値を送信するデータ送信手段と、
他のメモリモジュールから、前記値のリストに含まれる値を受信するデータ受信手段と、
前記データ受信手段により受信された他のメモリモジュールの値のリストを参照して、他のすべてのメモリモジュールの値のリストに含まれる値を考慮したグローバルな値の順位を決定し、前記グローバルな値の順位を格納するためのグローバル順位格納配列の、自己のメモリモジュールの値に対応する位置に、前記決定された順位を格納する順位判定手段とを備えたことを特徴とする情報処理システムにより達成される。
メモリモジュール間を接続し、あるメモリモジュールの値を他のメモリモジュールに伝達するデータ伝送路とを備え、
各メモリモジュールのメモリが、それぞれ、値のリストを保持するように構成された情報処理システムにおいて、
各メモリモジュールにおいて、
他のメモリモジュールに、前記値のリストに含まれる値を送信するデータ送信ステップと、
他のメモリモジュールから、前記値のリストに含まれる値を受信するデータ受信ステップと、
前記データ受信ステップにおいて受信された他のメモリモジュールの値のリストを参照して、他のすべてのメモリモジュールの値のリストに含まれる値を考慮したグローバルな値の順位を決定し、前記グローバルな値の順位を格納するためのグローバル順位格納配列の、自己のメモリモジュールの値に対応する位置に、前記決定された順位を格納する順位判定ステップとを備えたことを特徴とする情報処理方法によっても達成される。
図3は、表形式データの一例を示す図である。このように、表形式のデータでは、レコードごとに種々の項目(この例では、「性別」、「年齢」、「身長」および「体重」)に値が与えられている。本実施の形態にかかる情報処理装置では、これら表形式データを、原理的には、図4に示すようなデータ形式に基づいて保持する。
まず、複数のPMMにデータを分散配置し、かつ、これらを利用可能にするための処理(コンパイル処理)について説明する。たとえば、図5に示すように、4つのPMM(PMM−0〜PMM−3)に、所定のレコード数のデータを収容することを考える。この例では、レコード番号0〜2に関する一連のデータ、レコード番号3、4に関する一連のデータ、レコード番号5〜7に関する一連のデータ、および、レコード番号8、9に関する一連のデータを、それぞれ記憶することとした。各PMMにおいても、上記表形式データの部分は、情報ブロックの形式で記憶される。
図10に示すように、最初のタイミングで、PMM−0は、バスU−0に、PMM−0自身のVLの値の一覧を含むパケットを送出する(符号1001参照)。PMM−1は、バスU−1に、PMM−1自身のVLの値の一覧を含むパケットを送出する(符号1002参照)。同様に、PMM−2、PMM−3は、それぞれ、バスD−1、D−0に、自身のVLの値の一覧を含むパケットを送出する(符号1003、1004参照)。この例では、U−0、U−1は、それぞれ、PMM−0、PMM−1のVLの値を含むパケットを伝送するために用いられ、U−2、U−3は使用されない。また、D−0、D−1は、それぞれ、PMM−3、PMM−2のVLの値を含むパケットを伝送するために用いられ、D−2、D−3は使用されない。
パケットを受理したPMMは、そのパケットを、同じ方向に次のパケットに転送する。これに先立って、受理したパケットの値を参照して、自身の保持するVLの値と同一の値が存在していた場合には、これを消去した上で、パケットを転送する。図11に示すように、この例では、PMM−1は、PMM−0からバスU−0を介して伝送されたパケットを参照し、PMM−1自身のVLの値と同一の値があれば、これを消去した上で、バスU−0を介して、PMM−2に転送する。同様に、PMM−2は、PMM−3からバスD−0を介して伝送されたパケットを参照し、PMM−2自身のVLの値と同一の値があれば、これを消去した上で、バスD−0を介してPMM−1に転送する。
さらに、パケットを受理したPMMにおいては、受理したパケット中のVLの値を参照して、自身のVLと同一値を消去して、同じ方向の次のパケットに転送する。図12においては、PMM−1は、PMM−2から、バスD−0、D−1を介して伝送された、それぞれのパケット中のVLの値を参照して、PMM−1自身のVLの値と同一の値が存在していた場合には、これを消去した上で、それぞれのパケットを、バスD−0、D−1を介して、PMM−1に転送する。また、PMM−2は、PMM−1から、バスU−0、U−1を介して伝送された、それぞれのパケット中のVLの値を参照して、PMM−2自身のVLの値と同一の値が存在していた場合には、これを消去した上で、それぞれのパケットを、バスU−0、U−1を介して、PMM−3に転送する。
次のタイミングでも、パケットを受理したPMMにおいて、受理したパケット中のVLの値を参照して、自身のVLと同一値を消去する。たとえば、図13の例では、PMM−0においては、バスD−0、D−1を介して伝送された、それぞれのパケット中のVLの値を参照して、PMM−0自身のVLの値と同一の値が存在していた場合には、それぞれのパケット中のVLの値を消去する。同様に、PMM−3においては、バスU−0、U−1を介して伝送されたパケット中のVLの値を参照して、PMM−3自身のVLの値と同一の値が存在した場合には、それぞれのパケット中のVLの値を消去する。
第1のタイミング〜第4のタイミングで、それぞれのバスに以下の値を含むパケットが伝送される。
U−0:PMM−0のVLの値全て
U−1:PMM−1のVLの値全て
U−0:(PMM−0のVLの値全て)
−(PMM−1においても重複して存在する値)
U−1:PMM−1のVLの値全て
U−0:(PMM−0のVLの値全て)
−(PMM−1においても重複して存在する値)
−(PMM−2においても重複して存在する値)
U−1:(PMM−1のVLの値全て)
−(PMM−2においても重複して存在する値)
U−0:(PMM−0のVLの値全て)
−(PMM−1においても重複して存在する値)
−(PMM−2においても重複して存在する値)
−(PMM−3においても重複して存在する値)
U−1:(PMM−1のVLの値全て)
−(PMM−2においても重複して存在する値)
−(PMM−3においても重複して存在する値)
U−0+U−1:(重複のないPMM−0およびPMM−1のVLの値全て)
−(PMM−2或いはPMM−3において重複して存在する値)
このように、グローバル順序集合配列GOrdおよびグローバル値番号配列GVNoを求めることでコンパイルが終了する。コンパイル処理が終了すると、検索、クロス集計、ソートなどの処理を円滑かつ迅速に実行することができる。
次に、検索処理について説明する。図19に示すように、まず、各PMMはて、検索対象となった項目について、値リストVLと同じサイズのフラグ配列を作成し(ステップ1901)、次いで、フラグ配列の値を合否条件でセットアップする(ステップ1902)。このセットアップに際して、検索条件に合致する項目値に対応するフラグ配列の値として「1」を設定し、それ以外のフラグ配列の値として「0」を設定する。
次に、ソート処理について説明する。ここでも、コンパイル処理が終了した状態から処理が開始される。図30に示すように、各PMMは、ソートすべき項目に関する値リストVLと同一のサイズの、存在数配列の領域を生成し(ステップ30101)、領域中の各値に初期値「0」を与える(ステップ3002)。図31は、「年齢」という項目について、それぞれのPMMにおいて、値リストVLと同一のサイズを有する領域が作られ、それぞれに初期値「0」が与えられた状態を示す。
図40〜図43は、それぞれ、PMM−0〜PMM−2にて、新たなグローバル順序集合配列GOrd”の値が生成される例を示している。それぞれの図において、左側から3つのブロックが、新たに生成されたGord”を示す。
本発明にかかる情報処理システムは、たとえば、フロントエンドとなる端末装置と、リング状のチャネルを介して接続され、端末装置からの命令を、それぞれのPMMが受理することにより、PMMにおいて、上述したコンパイル、検索、クロス集計ソートの処理が実行できる。また。各PMMはパケットを何れかのバスを利用して送出すればよく、PMM間の同期等を外部から制御する必要もない。
14 第1のバス
16 第2のバス
20 制御回路
22 バスI/F
24 メモリ
26 バンク
Claims (10)
- メモリ及び制御装置を有する複数のメモリモジュールと、メモリモジュール間を接続し、あるメモリモジュールから他のメモリモジュールへデータを伝達するデータ伝送路とを備え、項目と当該項目に属する項目値とを含むレコードの配列として表される表形式データを表現する情報が複数のメモリモジュールに分散配置され、表形式データから検索対象となる項目に関する検索条件に合致するレコードを検索する情報処理システムであって、
各メモリモジュールのメモリが、
表形式データ中での当該メモリモジュールに分散配置されているレコードのレコード番号が昇順に格納されているグローバル順序集合配列と、
当該メモリモジュールに分散配置されているレコードを当該メモリモジュール内で指し示す値が格納されているローカル順序集合配列と、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値が保持されている情報ブロックと、
を記憶し、
各メモリモジュールの制御装置が、
他のメモリモジュールの制御装置と並列的に動作し、当該メモリモジュールに分散配置されているレコードの中で、検索対象となる項目に関する検索条件に合致する項目値を含むレコードに対応するレコード番号及び指し示す値をグローバル順序集合配列及びローカル順序集合配列から取り出し、第2のグローバル順序集合配列及び第2のローカル順序集合配列にそれぞれ格納する手段と、
他のメモリモジュールの制御装置と並列的に動作し、データ伝送路を介して、当該メモリモジュールの第2のグローバル順序集合配列を他のメモリモジュールへ送信する手段と、
他のメモリモジュールの制御装置と並列的に動作し、データ伝送路を介して、他のメモリモジュールから当該他のメモリモジュールの第2のグローバル順序集合配列を受信する手段と、
他のメモリモジュールの制御装置と並列的に動作し、他のメモリモジュールの各々から受信した当該他のメモリモジュールの第2のグローバル順序集合配列の中のレコード番号を考慮して当該メモリモジュールの第2のグローバル順序集合配列の中のレコード番号の相対的な順位を判定し、他のメモリモジュールの各々について判定された相対的な順位の総和に基づいて、複数のメモリモジュールの第2のグローバル順序集合配列の中のレコード番号の中での当該メモリモジュールの第2のグローバル順序集合配列の中のレコード番号の順位を算出し、当該順位が昇順に格納されている第3のグローバル順序集合配列を生成する手段と、
を備え、
各検索条件に合致するレコードの配列が、メモリモジュールのメモリに記憶されている第3のグローバル順序集合配列及び第2のローカル順序集合配列によって、複数のメモリモジュールに分散配置されることを特徴とする情報処理システム。 - 項目毎に各メモリモジュールに分散配置されている情報ブロックが、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値が所定の順序でソートされて格納されている値リストと、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値を指定するポインタ配列と、
項目毎に表形式データ中での当該メモリモジュールに分散配置されているレコードに含まれる項目値の順位を示す情報が格納されているグローバル値番号配列と、
を含む、請求項1に記載の情報処理システム。 - 各メモリモジュールの制御装置において、前記第2のグローバル順序集合配列及び前記第2のローカル順序集合配列を生成する手段が、
他のメモリモジュールの制御装置と並列的に動作し、検索対象となる項目に関する検索条件に合致する項目値に対応するフラグをセットする手段と、
他のメモリモジュールの制御装置と並列的に動作し、当該メモリモジュールのメモリに記憶されているローカル順序集合配列から当該メモリモジュールに分散配置されているレコードを指し示す値を取得し、検索対象となる項目に関して、前記取得されたレコードを指し示す値を使って、当該メモリモジュールのメモリに記憶されているポインタ配列から値を取得し、前記取得された値を使って、当該メモリモジュールのメモリに分散配置されているレコードに含まれる項目値に対応するフラグがセットされているかどうかを判定する手段と、
前記取得されたフラグがセットされていると判定された場合に、検索対象となる項目に関して、フラグがセットされた項目値に対応するグローバル順序集合配列中の値及びローカル順序集合配列中の値を第2のグローバル順序集合配列及び第2のローカル順序番号配列にそれぞれ収容する手段と、
を含む、請求項2に記載の情報処理システム。 - メモリ及び制御装置を有する複数のメモリモジュールと、メモリモジュール間を接続し、あるメモリモジュールから他のメモリモジュールへデータを伝達するデータ伝送路とを備え、項目と当該項目に属する項目値とを含むレコードの配列として表される表形式データを表現する情報が複数のメモリモジュールに分散配置され、レコードを所定の項目に関してソートする情報処理システムであって、
各メモリモジュールのメモリが、
表形式データ中での当該メモリモジュールに分散配置されているレコードのレコード番号が昇順に格納されているグローバル順序集合配列と、
当該メモリモジュールに分散配置されているレコードを当該メモリモジュール内で指し示す値が格納されているローカル順序集合配列と、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値が保持されている情報と、
項目毎に表形式データ中での当該メモリモジュールに分散配置されているレコードに含まれる項目値の順位を示す情報が格納されているグローバル値番号配列と、
を記憶し、
各メモリモジュールの制御装置が、
他のメモリモジュールの制御装置と並列的に動作し、ソートすべき項目に関して、当該メモリモジュールに分散配置されているレコードを当該メモリモジュール内でローカルソートすることにより、ローカルソート後のレコード番号が格納されている第2のグローバル順序集合配列、ローカルソート後のレコードを当該メモリモジュール内で指し示す値が格納されている第2のローカル順序集合配列、及び、ローカルソート後のレコードに含まれる項目値の順位を示す情報が昇順に格納されている第2のグローバル値番号配列を生成する手段と、
他のメモリモジュールの制御装置と並列的に動作し、データ伝送路を介して、当該メモリモジュールの第2のグローバル値番号配列及び第2のグローバル順序集合配列を他のメモリモジュールへ送信する手段と、
他のメモリモジュールの制御装置と並列的に動作し、データ伝送路を介して、他のメモリモジュールから当該他のメモリモジュールの第2のグローバル値番号配列及び第2のグローバル順序集合配列を受信する手段と、
他のメモリモジュールの各々から受信した第2のグローバル値番号配列の要素と第2のグローバル順序集合配列の要素との組を考慮して、当該メモリモジュールの第2のグローバル値番号配列の要素と第2のグローバル順序集合配列の要素との組の相対的な順位を判定し、他のメモリモジュールの各々について判定された相対的な順位の総和に基づいて、複数のメモリモジュールの第2のグローバル値番号配列の要素の中での当該メモリジュールの第2のグローバル値番号配列の要素の順位を算定し、当該順位が昇順に格納されている第3のグローバル順序番号配列に収容する手段と、
を備え、
所定の項目に関してソートされたレコードの配列が、メモリモジュールのメモリに記憶されている第3のグローバル順序集合配列及び第2のローカル順序集合配列によって、複数のメモリモジュールに分散配置されていることを特徴とする情報処理システム。 - 各メモリモジュールのメモリが、項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値を指定するポインタ配列をさらに記憶し、
各メモリモジュールの制御装置において、第2のグローバル順序集合配列、第2のローカル順序集合配列、及び、第2のグローバル値番号配列を生成する手段が、
他のメモリモジュールの制御装置と並列的に動作し、ソートすべき項目に関して、当該メモリモジュールのメモリに記憶されているローカル順序集合配列中の値を使って、ポインタ配列中の値を取得し、ポインタ配列中の値の存在数を取得し、前記取得された存在数を累計数に変換する手段と、
他のメモリモジュールの制御装置と並列的に動作し、ソートすべき項目に関して、当該メモリモジュールのメモリに記憶されているローカル順序集合配列の要素、ローカル順序集合配列の当該要素に対応するグローバル順序集合配列の要素、及び、ローカル順序集合配列の当該要素に対応するグローバル値番号配列の要素を、それぞれ、ローカル順序集合配列の当該要素に対応する累計数の値が示す位置で、ローカルソート後の第2のローカル順序集合配列、ローカルソート後の第2のグローバル順序集合配列、及び、ローカルソート後の第2のグローバル値番号配列に配置する手段と、
を含む、請求項4に記載の情報処理システム。 - メモリ及び制御装置を有する複数のメモリモジュールと、メモリモジュール間を接続し、あるメモリモジュールから他のメモリモジュールへデータを伝達するデータ伝送路とを備え、項目と当該項目に属する項目値とを含むレコードの配列として表される表形式データを表現する情報が複数のメモリモジュールに分散配置されている情報処理システムにおいて、表形式データから検索対象となる項目に関する検索条件に合致するレコードを検索する方法であって、
各メモリモジュールのメモリには、
表形式データ中での当該メモリモジュールに分散配置されているレコードのレコード番号が昇順に格納されているグローバル順序集合配列と、
当該メモリモジュールに分散配置されているレコードを当該メモリモジュール内で指し示す値が格納されているローカル順序集合配列と、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値が保持されている情報ブロックと、
が記憶され、
(a)各メモリモジュールの制御装置を並列的に用いて、当該メモリモジュールに分散配置されているレコードの中で、検索対象となる項目に関する検索条件に合致する項目値を含むレコードに対応するレコード番号及び指し示す値をグローバル順序集合配列及びローカル順序番号配列から取り出し、第2のグローバル順序集合配列及び第2のローカル順序集合配列にそれぞれ格納するステップと、
(b)各メモリモジュールの制御装置を並列的に用いて、データ伝送路を介して、当該メモリモジュールの第2のグローバル順序集合配列を他のメモリモジュールへ送信すると共に他のメモリモジュールから当該他のメモリモジュールの第2のグローバル順序集合配列を受信し、他のメモリモジュールの各々から受信した当該他のメモリモジュールの第2のグローバル順序集合配列の中のレコード番号を考慮して当該メモリモジュールの第2のグローバル順序集合配列の中のレコード番号の相対的な順位を判定し、他のメモリモジュールの各々について判定された相対的な順位の総和に基づいて、複数のメモリモジュールの第2のグローバル順序集合配列の中のレコード番号の中での当該メモリモジュールの第2のグローバル順序集合配列の中のレコード番号の順位を算出し、当該順位が昇順に格納されている第3のグローバル順序集合配列を生成するステップと、
を備え、
各検索条件に合致するレコードの配列が、メモリモジュールのメモリに記憶されている第3のグローバル順序集合配列及び第2のローカル順序集合配列によって、複数のメモリモジュールに分散配置されていることを特徴とする方法。 - 項目毎に各メモリモジュールに分散配置されている情報ブロックが、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値が所定の順序でソートされて格納されている値リストと、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値を指定するポインタ配列と、
項目毎に表形式データ中での当該メモリモジュールに分散配置されているレコードに含まれる項目値の順位を示す情報が格納されているグローバル値番号配列と、
を含む、請求項6に記載の方法。 - 各メモリモジュールの制御装置を並列的に用いて、前記第2のグローバル順序集合配列及び前記第2のローカル順序集合配列を生成するステップ(a)が、
(i)各メモリモジュールの制御装置を並列的に用いて、検索対象となる項目に関する検索条件に合致する項目値に対応するフラグをセットするステップと、
(ii)各メモリモジュールの制御装置を並列的に用いて、当該メモリモジュールのメモリに記憶されているローカル順序集合配列から当該メモリモジュールに分散配置されているレコードを指し示す値を取得し、検索対象となる項目に関して、前記取得されたレコードを指し示す値を使って、当該メモリモジュールのメモリに記憶されているポインタ配列中の値を取得し、前記取得された値を使って、当該メモリモジュールのメモリに分散配置されているレコードに含まれる項目値に対応するフラグがセットされているかどうかを判定するステップと、
(iii)前記取得されたフラグがセットされていると判定された場合に、この判定が行われたメモリモジュールの制御装置を並列的に用いて、検索対象となる項目に関して、フラグがセットされた項目値に対応するグローバル順序集合配列中の値及びローカル順序集合配列中の値を検索後のグローバル順序集合配列及び検索後のローカル順序番号配列にそれぞれ収容するステップと、
(iv)すべてのメモリモジュールのローカル順序集合配列中の末尾の要素まで、ステップ(ii)及びステップ(iii)を繰り返すステップと、
を含む、請求項6に記載の方法。 - メモリ及び制御装置を有する複数のメモリモジュールと、メモリモジュール間を接続し、あるメモリモジュールから他のメモリモジュールへデータを伝達するデータ伝送路とを備え、項目と当該項目に属する項目値とを含むレコードの配列として表される表形式データを表現する情報が複数のメモリモジュールに分散配置されている情報処理システムにおいて、レコードを所定の項目に関してソートする方法であって、
各メモリモジュールのメモリには、
表形式データ中での当該メモリモジュールに分散配置されているレコードのレコード番号が昇順に格納されているグローバル順序集合配列と、
当該メモリモジュールに分散配置されているレコードを当該メモリモジュール内で指し示す値が格納されているローカル順序集合配列と、
項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値が保持されている情報と、
項目毎に表形式データ中での当該メモリモジュールに分散配置されているレコードに含まれる項目値の順位を示す情報が格納されているグローバル値番号配列と、
が記憶され、
(a)各メモリモジュールの制御装置を並列的に用いて、ソートすべき項目に関して、当該メモリモジュールに分散配置されているレコードを当該メモリモジュール内でローカルソートすることにより、ローカルソート後のレコード番号が格納されている第2のグローバル順序集合配列、ローカルソート後のレコードを当該メモリモジュール内で指し示す値が格納されている第2のローカル順序集合配列、及び、ローカルソート後のレコードに含まれる項目値の順位を示す情報が昇順に格納されている第2のグローバル値番号配列を生成するステップと、
(b)各メモリモジュールの制御装置を並列的に用いて、データ伝送路を介して、当該メモリモジュールの第2のグローバル値番号配列及び第2のグローバル順序集合配列を他のメモリモジュールへ送信すると共に他のメモリモジュールから当該他のメモリモジュールの第2のグローバル値番号配列及び第2のグローバル順序集合配列を受信し、他のメモリモジュールの各々から受信した第2のグローバル値番号配列の要素と第2のグローバル順序集合配列の要素との組を考慮して、当該メモリモジュールの第2のグローバル値番号配列の要素と第2のグローバル順序集合配列の要素との組の相対的な順位を判定し、他のメモリモジュールの各々について判定された相対的な順位の総和に基づいて、複数のメモリモジュールの第2のグローバル値番号配列の要素の中での当該メモリジュールの第2のグローバル値番号配列の要素の順位を算定し、当該順位が昇順に格納されている第3のグローバル順序番号配列に収容するステップと、
を備え、
所定の項目に関してソートされたレコードの配列が、メモリモジュールのメモリに記憶されている第3のグローバル順序集合配列及び第2のローカル順序集合配列によって、複数のメモリモジュールに分散配置されていることを特徴とする方法。 - 各メモリモジュールのメモリには、項目毎に当該メモリモジュールに分散配置されているレコードに含まれる項目値を指定するポインタ配列がさらに記憶され、
各メモリモジュールの制御装置を並列的に用いて、第2のグローバル順序集合配列、第2のローカル順序集合配列、及び、第2のグローバル値番号配列を生成するステップ(a)が、
(i)各メモリモジュールの制御装置を並列的に用いて、ソートすべき項目に関して、当該メモリモジュールのメモリに記憶されているローカル順序集合配列中の値を使って、ポインタ配列中の値を取得し、ポインタ配列中の値の存在数を取得し、前記取得された存在数を累計数に変換するステップと、
(ii)各メモリモジュールの制御装置を並列的に用いて、ソートすべき項目に関して、当該メモリモジュールのメモリに記憶されているローカル順序集合配列の要素、ローカル順序集合配列の当該要素に対応するグローバル順序集合配列の要素、及び、ローカル順序集合配列の当該要素に対応するグローバル値番号配列の要素を、それぞれ、ローカル順序集合配列の当該要素に対応する累計数の値が示す位置で、ローカルソート後の第2のローカル順序集合配列、ローカルソート後の第2のグローバル順序集合配列、及び、ローカルソート後の第2のグローバル値番号配列に配置するステップと、
を含む、請求項9に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003364218 | 2003-10-24 | ||
JP2003364218 | 2003-10-24 | ||
PCT/JP2004/015437 WO2005041066A1 (ja) | 2003-10-24 | 2004-10-19 | 分散メモリ型情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005041066A1 JPWO2005041066A1 (ja) | 2007-04-26 |
JP4620593B2 true JP4620593B2 (ja) | 2011-01-26 |
Family
ID=34510096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005514952A Expired - Fee Related JP4620593B2 (ja) | 2003-10-24 | 2004-10-19 | 情報処理システムおよび情報処理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070174843A1 (ja) |
JP (1) | JP4620593B2 (ja) |
KR (1) | KR101030249B1 (ja) |
WO (1) | WO2005041066A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1901183A4 (en) * | 2005-05-24 | 2010-01-13 | Turbo Data Lab Inc | MULTIPROCESSOR SYSTEM AND INFORMATION PROCESSING METHOD |
US7890705B2 (en) * | 2005-08-15 | 2011-02-15 | Turbo Data Laboratories, Inc. | Shared-memory multiprocessor system and information processing method |
US20070233868A1 (en) * | 2006-03-31 | 2007-10-04 | Tyrrell John C | System and method for intelligent provisioning of storage across a plurality of storage systems |
WO2010013320A1 (ja) * | 2008-07-30 | 2010-02-04 | 株式会社ターボデータラボラトリー | 表形式データを操作する方法、分散メモリ型マルチプロセッサ、及び、プログラム |
JP5488609B2 (ja) * | 2009-03-30 | 2014-05-14 | 日本電気株式会社 | リングバスによって相互接続された複数の処理要素を有する単一命令多重データ(simd)プロセッサ |
JP6550308B2 (ja) * | 2015-09-14 | 2019-07-24 | 株式会社ターボデータラボラトリー | 情報処理システム及びコンピュータプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000010103A1 (fr) * | 1998-08-11 | 2000-02-24 | Shinji Furusho | Procede et dispositif de recuperation, de stockage et de triage de donnees formatees en tableaux |
JP2001092796A (ja) * | 1999-09-17 | 2001-04-06 | Taabo Data Laboratory Kk | 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット |
JP2001147800A (ja) * | 1999-11-22 | 2001-05-29 | Taabo Data Laboratory Kk | 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3474106B2 (ja) | 1998-06-17 | 2003-12-08 | アルプス電気株式会社 | 液晶表示装置 |
JP3826860B2 (ja) * | 2002-08-30 | 2006-09-27 | セイコーエプソン株式会社 | 弁装置及び液体噴射装置 |
-
2004
- 2004-10-19 WO PCT/JP2004/015437 patent/WO2005041066A1/ja active Application Filing
- 2004-10-19 US US10/595,510 patent/US20070174843A1/en not_active Abandoned
- 2004-10-19 KR KR1020067007928A patent/KR101030249B1/ko not_active IP Right Cessation
- 2004-10-19 JP JP2005514952A patent/JP4620593B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000010103A1 (fr) * | 1998-08-11 | 2000-02-24 | Shinji Furusho | Procede et dispositif de recuperation, de stockage et de triage de donnees formatees en tableaux |
JP2001092796A (ja) * | 1999-09-17 | 2001-04-06 | Taabo Data Laboratory Kk | 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット |
JP2001147800A (ja) * | 1999-11-22 | 2001-05-29 | Taabo Data Laboratory Kk | 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2005041066A1 (ja) | 2007-04-26 |
KR101030249B1 (ko) | 2011-04-22 |
WO2005041066A1 (ja) | 2005-05-06 |
US20070174843A1 (en) | 2007-07-26 |
KR20060111455A (ko) | 2006-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102640151A (zh) | 信息系统中转换后的数据的高吞吐量、可靠复制 | |
CN105956166A (zh) | 数据库读写方法和读写装置 | |
US20140181175A1 (en) | Data-Intensive Computer Architecture | |
US6424970B1 (en) | Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes | |
JP4758429B2 (ja) | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 | |
KR100719872B1 (ko) | 병렬 컴퓨터 및 이를 이용한 정보처리유닛 | |
JP4511469B2 (ja) | 情報処理方法及び情報処理システム | |
JP4673299B2 (ja) | 情報処理方法及び情報処理システム | |
JP4620593B2 (ja) | 情報処理システムおよび情報処理方法 | |
JP4511464B2 (ja) | 情報処理システムおよび情報処理方法 | |
JP4559971B2 (ja) | 分散メモリ型情報処理システム | |
JP4772506B2 (ja) | 情報処理方法、情報処理システムおよびプログラム | |
JPWO2009044486A1 (ja) | 表形式データをソートする方法、マルチコア型装置、及び、プログラム | |
US11157692B2 (en) | Neural networks using data processing units | |
JP4995724B2 (ja) | 情報処理システムおよび情報処理方法 | |
JP5208117B2 (ja) | 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム | |
WO2010013320A1 (ja) | 表形式データを操作する方法、分散メモリ型マルチプロセッサ、及び、プログラム | |
CN115577760A (zh) | 一种数据处理方法、系统及相关设备 | |
JPH04336324A (ja) | データ選択処理方法 | |
JPS62210537A (ja) | サ−チ処理装置および方法 | |
JPS63170766A (ja) | 分割決定装置 | |
JPH04235628A (ja) | 分散デ−タ選択処理方式 | |
JPH10307828A (ja) | クラスタリング処理方法およびクラスタリング処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071009 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100617 |
|
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: 20101026 |
|
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: 20101028 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4620593 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |