JP4758429B2 - 共有メモリ型マルチプロセッサシステム及びその情報処理方法 - Google Patents
共有メモリ型マルチプロセッサシステム及びその情報処理方法 Download PDFInfo
- Publication number
- JP4758429B2 JP4758429B2 JP2007530960A JP2007530960A JP4758429B2 JP 4758429 B2 JP4758429 B2 JP 4758429B2 JP 2007530960 A JP2007530960 A JP 2007530960A JP 2007530960 A JP2007530960 A JP 2007530960A JP 4758429 B2 JP4758429 B2 JP 4758429B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- elements
- value
- processors
- tabular data
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 37
- 238000003672 processing method Methods 0.000 title claims description 36
- 230000001174 ascending effect Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 17
- 238000003491 array Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 description 80
- 238000000034 method Methods 0.000 description 67
- 230000008569 process Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 42
- 238000013523 data management Methods 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 17
- 230000001186 cumulative effect Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/32—Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging methods in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Description
前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて前記第1の配列の前記複数の区間に対応する前記第2の配列の複数の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較することにより、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で順位付けし、前記区間に含まれる要素のユニークな値の個数をカウントするステップと、
前記複数台のプロセッサのそれぞれが、前記所定の順序に関して自プロセッサに割り当てられた前記区間よりも前の区間に含まれる要素の前記ユニークな値の個数の合計を、前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素に付けられた順位に加算することにより、前記第1の配列に格納された値及び前記第2の配列に格納された値に前記所定の順序で順位付けするステップと、
を含む情報処理方法である。
前記メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型プロセッサシステムにおいて、前記第1の配列に格納された値のうち前記第2の配列に存在する値を識別する情報処理方法である。
前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて対応する前記第2の配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の配列に存在する場合に、前記一致する値を有する前記第1の配列の要素にマークを付けるステップと、
を含む。
前記一致する値を有する前記第1の配列の要素にマークを付けるステップが、前記一致する値を有する前記第1の配列の要素に対応する前記第3の配列の要素にフラグを立てるステップを含む。これにより、後の処理で使用できるように、値の一致の有無を示すフラグ配列をメモリ上に作成することができる。
前記第1の表形式データの前記項目値配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の表形式データの前記項目値配列の分割された区間の境界の要素の値に応じて対応する前記第2の表形式データの前記項目値配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の表形式データの前記項目値配列の要素の個数と前記第2の表形式データの前記項目値配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の表形式データの前記項目値配列に存在する場合に、前記一致する値を有する前記第1の表形式データの前記項目値配列の要素にマークを付けるステップと、
前記第1の表形式データの前記レコード番号配列を前記複数台のプロセッサの台数と同じ個数の複数の部分に分割し、前記複数の部分を前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、前記第1の表形式データの前記レコード番号配列の前記割り当てられた部分から当該部分に格納されているレコード番号を読み出し、前記第1の表形式データの前記項目値番号配列から前記読み出されたレコード番号に対応する項目値番号を読み出し、前記読み出された項目値番号に対応する前記第1の表形式データの前記項目値配列の要素に前記マークが付けられているかどうかを判定し、前記マークが付けられている場合、前記読み出されたレコード番号を前記一致レコードとして分類し、前記マークが付けられていない場合、前記読み出されたレコード番号を前記不一致レコードとして分類するステップと、
を含む情報処理方法である。
前記所定の順序に関して自プロセッサに割り当てられた前記区間よりも前の区間に含まれる要素の前記ユニークな値の個数の合計を、前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素に付けられた順位に加算することにより、前記第1の配列に格納された値及び前記第2の配列に格納された値に前記所定の順序で順位付けする手段と、を具備する。
図1は複数台のプロセッサがメモリを共有して大規模データの情報処理方法を実施するコンピュータシステムの一実施例の概略図である。図1に示すように、このコンピュータシステム10は、プログラムを実行することによりシステム全体および個々の構成部分を制御するp台のプロセッサ(CPU)12−1、12−2、...12−p、ワークデータなどを記憶する共有メモリ、たとえば、RAM(Random Access Memory)14、プログラム等を記憶するROM(Read Only Memory)16、ハードディスク等の固定記憶媒体18、CD−ROM19をアクセスするためのCD−ROMドライバ20、CD−ROMドライバ20や外部ネットワーク(図示せず)と接続された外部端子との間に設けられたインタフェース(I/F)22、キーボードやマウスからなる入力装置24、CRT表示装置26を備えている。CPU12、RAM14、ROM16、外部記憶媒体18、I/F22、入力装置24および表示装置26は、バス28を介して相互に接続されている。図示されていないが、各CPUは固有のローカルメモリを備えていてもよい。
図2はデータ管理機構を説明するための表形式データの一例を表す図である。この表形式データは、上述の国際公開第WO00/10103号パンフレットに提案したデータ管理機構を用いることにより、コンピュータ内では図3に示されるようなデータ構造として記憶される。
最初に、本発明の実施の形態にかかる共有メモリ型マルチプロセッサシステムにおいて二つの大規模データをマージする情報処理方法、すなわち、並列マージ処理を説明する。ここで、共有メモリ型マルチプロセッサシステムは、複数台のプロセッサがメモリを共有して並列処理を行うシステムを表す。また、二つの大規模データとは、昇順又は降順である所定の順序で重複のない値が格納された第1の配列及び第2の配列である。上記のデータ管理機構の値リストVLはこのような配列の一例である。これらの配列がメモリに記憶され、複数台のプロセッサはこのメモリにアクセス可能である。以下の説明では、簡単のため、プロセッサの台数は4台とする。
次に、複数台のプロセッサのいずれか1台のプロセッサによって実行される本発明の実施の形態にかかる区間分割処理を説明する。この区間分割処理は、2組の昇順リスト(要素の値の大きさの順番に要素を並べた配列)であるArray1及びArray2を、分割される要素の数のバランスを考慮して、N個の区間に分割する。Array1のサイズ(すなわち、要素の個数)はS1、Array2のサイズはS2であり、Array1のi番目(i=0,1,2,・・・,S1−1)の要素をArray1[i]のように表し、Array2のj番目(j=0,1,2,・・・,S2−1)の要素をArray2[j]のように表す。また、区間k=0,1,2,・・・,N−1に割り当てられるArray1の要素の個数をn1[k]、Array2の要素の個数をn2[k]のように表す。尚、以下の説明中、割り算等の演算は整数演算である。
割り当て個数=n1[k]+n2[k]
が
目標値=(S1+S2)/N
にほぼ一致するようにリストを分割することを目標とする。そのため、割り当て個数と目標値との差が所定のマージンMの範囲内に収まるように、すなわち、
条件:|(n1[k]+n2[k])−(S1+S2)/N|<M
が成り立つようにリストを分割する。
拘束条件1:Array1[n1[k]−1]=Array2[n2[k]−1]
又は、
拘束条件2:Array1[n1[k]−1]>Array2[n2[k]−1]
かつ
Array1[n1[k]−1]<Array2[n2[k]]
を設定する。
n1[k]=n1[k]−diff
に従って変更し、次に、調整量diffを
diff=diff/2
に従って変更し、ステップ1003へ戻る。
n1[k]=n1[k]+diff
に従って変更し、次に、調整量diffを
diff=diff/2
に従って変更し、ステップ1003へ戻る。
N←N−1
S1←S1−n1
S2←S2−n2
とし、リスト中の割り当てられた要素を削除して、すなわち、
Array1[0]←Array1[n1]
Array1[1]←Array1[n1+1]
・・・
Array2[0]←Array2[n2]
Array2[1]←Array2[n2+1]
・・・・
のように配列の添え字を置き換えることにより、すべての区間に対して全く同じ処理ステップを適用することが可能になる。
次に、図4Aに示された二つの昇順リストを4台のプロセッサを使用してマージする一実施例を説明する。以下の説明では、これらの二つの昇順リストは、コンピュータシステム10のメモリ14にあることを前提としているが、これらの昇順リストは外部からインタフェース22を介して、たとえば、通信によって入力されることもある。
Aggr−2[2]=Count−2[2]=0
Aggr−2[3]=Count−2[2]+Count−2[3]=0+1=1
Aggr−2[4]=Count−2[3]+Count−2[4]=1+1=2
Aggr−2[5]=Count−2[4]+Count−2[5]=2+0=2
CPU−1、CPU−2及びCPU−3は、図16C、図17A及びBに示されるように、CPU−1と同様にCount配列の累計数化を行う。第3ステップで除外された区間はCount配列の要素が0のままであるため、累計数化は不要である。
最後に、本発明による並列マッチング処理の実施例を説明する。マッチング処理とは、データAとデータBの二つのデータが存在する場合に、相手側のデータに同じ値が存在するかどうかに応じて、自分側のデータ(すなわち、元集合)から一致する相手側が存在するマッチ集合と一致する相手側が存在しないアンマッチ集合とを作成することを意味する。以下の実施例の説明では、データは上記の情報ブロックに基づくデータ管理機構に適合した表形式データである。また、データA側とデータB側とでは同じ処理が行われるので、一方のデータ側だけについて説明する。データA側の処理とデータB側の処理は、十分の台数のプロセッサが存在する場合には並列に実行してもよいが、データA側の処理終了後にデータB側の処理を実行するような形で逐次的に実行してもよい。
Flagを作成し、初期化する。有効フラグ配列のサイズは値配列のサイズと同じである。
Flagの中でその値番号に対応した要素のフラグをセットする(すなわち、Valid Flag[VNo[i]]=1)。各プロセッサが割り当てられたレコード番号配列の要素に対して、この処理を繰り返すことにより、有効フラグ配列が完成する。尚、有効フラグ配列Valid
Flagをビットマップとして、プロセッサごとに別々の有効フラグを作成し、その後、これらの有効フラグのビットOR演算を実行しても同じ有効フラグ配列が完成する。
Flagが得られる。この完成後Valid FlagはValid Flag[0]、Valid Flag[1]、Valid Flag[2]及びValid
Flag[4]がセットされているので、テーブルA側の有効値配列の要素は、VL[0]=16、VL[1]=18、VL[2]=20及びVL[4]=24の4個である。図26Bに示されたテーブルB側でも同様の処理がなされ、有効値配列が得られる。
Flagによって実現される。
Flagのフラグはセットされる。以下同様に、テーブルA側の値配列VLの全ての要素に対して、複数台のプロセッサが並列にこのマーキングを行う。テーブルB側についても同様である。
12−1,12−2,・・・,12−p CPU
14 共有メモリ
16 ROM
18 固定記憶装置
20 CD−ROMドライバ
22 I/F
24 入力装置
26 表示装置
Claims (10)
- 昇順又は降順である所定の順序で重複のない値が格納された第1の配列及び第2の配列を記憶するメモリと、
前記メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型プロセッサシステムにおいて、前記第1の配列に格納された値のうち前記第2の配列に存在する値を識別する情報処理方法であって、
前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて対応する前記第2の配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の配列に存在する場合に、前記一致する値を有する前記第1の配列の要素にマークを付けるステップと、
を含む、情報処理方法。 - 第1の表形式データ及び第2の表形式データを記憶するメモリと、前記メモリにアクセス可能である複数台のプロセッサと、を具備し、前記第1の表形式データ及び前記第2の表形式データが、それぞれのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に従って格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列として前記メモリに記憶される、共有メモリ型マルチプロセッサシステムにおいて、前記第1の表形式データの前記レコードを、前記第2の表形式データにそのレコードと同じ項目値を有するレコードが存在する一致レコードと、前記同じ項目値を有するレコードが存在しない不一致レコードとに分類する情報処理方法であって、
前記第1の表形式データの前記項目値配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の表形式データの前記項目値配列の分割された区間の境界の要素の値に応じて対応する前記第2の表形式データの前記項目値配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の表形式データの前記項目値配列の要素の個数と前記第2の表形式データの前記項目値配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の表形式データの前記項目値配列に存在する場合に、前記一致する値を有する前記第1の表形式データの前記項目値配列の要素にマークを付けるステップと、
前記第1の表形式データの前記レコード番号配列を前記複数台のプロセッサの台数と同じ個数の複数の部分に分割し、前記複数の部分を前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、前記第1の表形式データの前記レコード番号配列の前記割り当てられた部分から当該部分に格納されているレコード番号を読み出し、前記第1の表形式データの前記項目値番号配列から前記読み出されたレコード番号に対応する項目値番号を読み出し、前記読み出された項目値番号に対応する前記第1の表形式データの前記項目値配列の要素に前記マークが付けられているかどうかを判定し、前記マークが付けられている場合、前記読み出されたレコード番号を前記一致レコードとして分類し、前記マークが付けられていない場合、前記読み出されたレコード番号を前記不一致レコードとして分類するステップと、
を含む情報処理方法。 - 昇順又は降順である所定の順序で重複のない値が格納された第1の配列及び第2の配列を記憶するメモリと、前記メモリにアクセス可能である複数台のプロセッサと、を具備した共有メモリ型プロセッサシステムにおいて、前記第1の配列と前記第2の配列を前記所定の順序で重複なしにマージする情報処理方法であって、
前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて前記第1の配列の前記複数の区間に対応する前記第2の配列の複数の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較することにより、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で順位付けし、前記区間に含まれる要素のユニークな値の個数をカウントするステップと、
前記複数台のプロセッサのそれぞれが、前記所定の順序に関して自プロセッサに割り当てられた前記区間よりも前の区間に含まれる要素の前記ユニークな値の個数の合計を、前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素に付けられた順位に加算することにより、前記第1の配列に格納された値及び前記第2の配列に格納された値に前記所定の順序で順位付けするステップと、
を含む情報処理方法。 - 昇順又は降順である所定の順序で重複のない値が格納された第1の配列及び第2の配列を記憶するメモリと、
前記メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型プロセッサシステムであって、
前記複数台のプロセッサのいずれか1台のプロセッサが、前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて対応する前記第2の配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てる手段を具備し、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の配列に存在する場合に、前記一致する値を有する前記第1の配列の要素にマークを付ける手段を具備する、
共有メモリ型プロセッサシステム。 - 第1の表形式データ及び第2の表形式データを記憶するメモリと、
前記メモリにアクセス可能である複数台のプロセッサと、
を具備し、
前記第1の表形式データ及び前記第2の表形式データが、それぞれのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に従って格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列として前記メモリに記憶される、
共有メモリ型マルチプロセッサシステムであって、
前記複数台のプロセッサのいずれか1台のプロセッサが、前記第1の表形式データの前記項目値配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の表形式データの前記項目値配列の分割された区間の境界の要素の値に応じて対応する前記第2の表形式データの前記項目値配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の表形式データの前記項目値配列の要素の個数と前記第2の表形式データの前記項目値配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てる手段を具備し、
前記複数台のプロセッサのそれぞれが、自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の表形式データの前記項目値配列に存在する場合に、前記一致する値を有する前記第1の表形式データの前記項目値配列の要素にマークを付ける手段を具備し、
前記複数台のプロセッサのうちのいずれか1台のプロセッサが、前記第1の表形式データの前記レコード番号配列を前記複数台のプロセッサの台数と同じ個数の複数の部分に分割し、前記複数の部分を前記複数台のプロセッサに割り当てる手段を具備し、
前記複数台のプロセッサのそれぞれが、前記第1の表形式データの前記レコード番号配列の前記割り当てられた部分から当該部分に格納されているレコード番号を読み出し、前記第1の表形式データの前記項目値番号配列から前記読み出されたレコード番号に対応する項目値番号を読み出し、前記読み出された項目値番号に対応する前記第1の表形式データの前記項目値配列の要素に前記マークが付けられているかどうかを判定し、前記マークが付けられている場合、前記読み出されたレコード番号を一致レコードとして分類し、前記マークが付けられていない場合、前記読み出されたレコード番号を不一致レコードとして分類する手段を具備する、
共有メモリ型プロセッサシステム。 - 昇順又は降順である所定の順序で重複のない値が格納された第1の配列及び第2の配列を記憶するメモリと、前記メモリにアクセス可能である複数台のプロセッサと、を具備した共有メモリ型プロセッサシステムであって、
前記複数台のプロセッサのいずれか1台のプロセッサが、前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて前記第1の配列の前記複数の区間に対応する前記第2の配列の複数の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てる手段を具備し、
前記複数台のプロセッサのそれぞれが、
自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較することにより、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で順位付けし、前記区間に含まれる要素のユニークな値の個数をカウントする手段と、
前記所定の順序に関して自プロセッサに割り当てられた前記区間よりも前の区間に含まれる要素の前記ユニークな値の個数の合計を、前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素に付けられた順位に加算することにより、前記第1の配列に格納された値及び前記第2の配列に格納された値に前記所定の順序で順位付けする手段と、
を具備する、
共有メモリ型マルチプロセッサシステム。 - 昇順又は降順である所定の順序で重複のない値が格納された第1の配列及び第2の配列を記憶するメモリと、前記メモリにアクセス可能である複数台のプロセッサと、を具備した共有メモリ型プロセッサシステムにおいて、
前記複数台のプロセッサのいずれか1台のプロセッサに、前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて対応する前記第2の配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てる機能を実現させ、
前記複数台のプロセッサのそれぞれに、自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の配列に存在する場合に、前記一致する値を有する前記第1の配列の要素にマークを付ける機能を実現させるためのプログラム。 - 第1の表形式データ及び第2の表形式データを記憶するメモリと、前記メモリにアクセス可能である複数台のプロセッサと、を具備し、前記第1の表形式データ及び前記第2の表形式データが、それぞれのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に従って格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列として前記メモリに記憶される、共有メモリ型マルチプロセッサシステムにおいて、
前記複数台のプロセッサのいずれか1台のプロセッサに、前記第1の表形式データの前記項目値配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の表形式データの前記項目値配列の分割された区間の境界の要素の値に応じて対応する前記第2の表形式データの前記項目値配列の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の表形式データの前記項目値配列の要素の個数と前記第2の表形式データの前記項目値配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てる機能を実現させ、
前記複数台のプロセッサのそれぞれに、自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素及び前記第2の表形式データの前記項目値配列の要素を比較し、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の表形式データの前記項目値配列の要素の値と一致する値を有する要素が前記自プロセッサに割り当てられた前記第2の表形式データの前記項目値配列に存在する場合に、前記一致する値を有する前記第1の表形式データの前記項目値配列の要素にマークを付ける機能を実現させ、
前記複数台のプロセッサのいずれか1台のプロセッサに、前記第1の表形式データの前記レコード番号配列を前記複数台のプロセッサの台数と同じ個数の複数の部分に分割し、前記複数の部分を前記複数台のプロセッサに割り当てる機能を実現させ、
前記複数台のプロセッサのそれぞれに、前記第1の表形式データの前記レコード番号配列の前記割り当てられた部分から当該部分に格納されているレコード番号を読み出し、前記第1の表形式データの前記項目値番号配列から前記読み出されたレコード番号に対応する項目値番号を読み出し、前記読み出された項目値番号に対応する前記第1の表形式データの前記項目値配列の要素に前記マークが付けられているかどうかを判定し、前記マークが付けられている場合、前記読み出されたレコード番号を一致レコードとして分類し、前記マークが付けられていない場合、前記読み出されたレコード番号を不一致レコードとして分類する機能を実現させるためのプログラム。 - 昇順又は降順である所定の順序で重複のない値が格納された第1の配列及び第2の配列を記憶するメモリと、前記メモリにアクセス可能である複数台のプロセッサと、を具備した共有メモリ型プロセッサシステムにおいて、
前記複数台のプロセッサのいずれか1台のプロセッサに、前記第1の配列を前記複数台のプロセッサの台数に応じて複数の区間に分割し、前記第1の配列の分割された区間の境界の要素の値に応じて前記第1の配列の前記複数の区間に対応する前記第2の配列の複数の区間を定め、前記複数の区間のそれぞれに含まれる前記第1の配列の要素の個数と前記第2の配列の要素の個数の合計の差が所定の幅に収まるように前記区間の境界を調整することにより、前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で前記複数台のプロセッサに割り当てる機能を実現させ、
前記複数台のプロセッサのそれぞれに、
自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を比較することにより、前記自プロセッサに対応する前記区間の範囲内で前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素を前記所定の順序で順位付けし、前記区間に含まれる要素のユニークな値の個数をカウントする機能と、
前記所定の順序に関して自プロセッサに割り当てられた前記区間よりも前の区間に含まれる要素の前記ユニークな値の個数の合計を、前記自プロセッサに割り当てられた前記第1の配列の要素及び前記第2の配列の要素に付けられた順位に加算することにより、前記第1の配列に格納された値及び前記第2の配列に格納された値に前記所定の順序で順位付けする機能と、
を実現させるためのプログラム。 - 請求項7乃至9のうちいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007530960A JP4758429B2 (ja) | 2005-08-15 | 2006-08-09 | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005235129 | 2005-08-15 | ||
JP2005235129 | 2005-08-15 | ||
PCT/JP2006/315738 WO2007020849A1 (ja) | 2005-08-15 | 2006-08-09 | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 |
JP2007530960A JP4758429B2 (ja) | 2005-08-15 | 2006-08-09 | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007020849A1 JPWO2007020849A1 (ja) | 2009-02-26 |
JP4758429B2 true JP4758429B2 (ja) | 2011-08-31 |
Family
ID=37757511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007530960A Active JP4758429B2 (ja) | 2005-08-15 | 2006-08-09 | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7890705B2 (ja) |
JP (1) | JP4758429B2 (ja) |
WO (1) | WO2007020849A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101196566B1 (ko) * | 2005-05-24 | 2012-11-01 | 가부시키가이샤 터보 데이터 라보라토리 | 멀티 프로세서 시스템 및 그 정보처리방법 |
JP4881435B2 (ja) * | 2007-06-21 | 2012-02-22 | 株式会社ターボデータラボラトリー | メモリ共有型並列処理システムにおいて表形式データを集計する方法及び装置 |
US20150019516A1 (en) * | 2013-07-09 | 2015-01-15 | David Wein | Providing Durability of In-Memory Columnar Datastores Using Multile Logs |
US9721007B2 (en) * | 2014-10-07 | 2017-08-01 | Oracle International Corporation | Parallel data sorting |
US10706055B2 (en) | 2016-04-06 | 2020-07-07 | Oracle International Corporation | Partition aware evaluation of top-N queries |
US10599395B1 (en) | 2017-10-11 | 2020-03-24 | Amperity, Inc. | Dynamically merging database tables |
CN111339133B (zh) * | 2018-12-19 | 2022-08-05 | 深圳市优必选科技有限公司 | 数据的切分方法、装置、计算机设备及存储介质 |
CN113791742B (zh) * | 2021-11-18 | 2022-03-25 | 南湖实验室 | 一种高性能的数据湖系统及数据存储方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044667A (ja) * | 2001-07-30 | 2003-02-14 | Nippon Risk Data Bank Kk | 名寄せシステム、名寄せ方法、そのシステムでの処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体、及び、情報一致判断装置 |
JP2004086782A (ja) * | 2002-08-29 | 2004-03-18 | Hitachi Ltd | 異種データベース統合支援装置 |
JP2004171220A (ja) * | 2002-11-19 | 2004-06-17 | Yamatake Corp | 文書管理装置および方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3449216A (en) * | 1966-08-11 | 1969-06-10 | Artisan Ind | Multistage evaporator system for the separation of monomer-solvent mixtures |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
JP3392280B2 (ja) * | 1996-01-11 | 2003-03-31 | 富士通株式会社 | 並列ソート処理方法 |
US6131113A (en) * | 1998-02-24 | 2000-10-10 | International Business Machines Corporation | Managing a shared resource in a multi-processor system |
JP3581831B2 (ja) | 1998-08-11 | 2004-10-27 | 晋二 古庄 | 表形式データの検索・集計・ソート方法及び装置 |
US6427148B1 (en) * | 1998-11-09 | 2002-07-30 | Compaq Computer Corporation | Method and apparatus for parallel sorting using parallel selection/partitioning |
JP2001147800A (ja) * | 1999-11-22 | 2001-05-29 | Taabo Data Laboratory Kk | 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法 |
JP3674515B2 (ja) * | 2000-02-25 | 2005-07-20 | 日本電気株式会社 | アレイ型プロセッサ |
WO2001093106A2 (en) * | 2000-05-26 | 2001-12-06 | Infolibria, Inc. | High performance efficient subsystem for data object storage |
US20070174843A1 (en) * | 2003-10-24 | 2007-07-26 | Shinji Furusho | Distributed memory type information processing system |
KR101196566B1 (ko) * | 2005-05-24 | 2012-11-01 | 가부시키가이샤 터보 데이터 라보라토리 | 멀티 프로세서 시스템 및 그 정보처리방법 |
-
2006
- 2006-08-09 JP JP2007530960A patent/JP4758429B2/ja active Active
- 2006-08-09 WO PCT/JP2006/315738 patent/WO2007020849A1/ja active Application Filing
- 2006-08-09 US US12/063,798 patent/US7890705B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044667A (ja) * | 2001-07-30 | 2003-02-14 | Nippon Risk Data Bank Kk | 名寄せシステム、名寄せ方法、そのシステムでの処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体、及び、情報一致判断装置 |
JP2004086782A (ja) * | 2002-08-29 | 2004-03-18 | Hitachi Ltd | 異種データベース統合支援装置 |
JP2004171220A (ja) * | 2002-11-19 | 2004-06-17 | Yamatake Corp | 文書管理装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
US7890705B2 (en) | 2011-02-15 |
US20090106299A1 (en) | 2009-04-23 |
WO2007020849A1 (ja) | 2007-02-22 |
JPWO2007020849A1 (ja) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4758429B2 (ja) | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 | |
US7558802B2 (en) | Information retrieving system | |
US10579661B2 (en) | System and method for machine learning and classifying data | |
US9292567B2 (en) | Bulk matching with update | |
US8126911B2 (en) | System and method for content-based partitioning and mining | |
US8943091B2 (en) | System, method, and computer program product for performing a string search | |
US11281645B2 (en) | Data management system, data management method, and computer program product | |
EP2804115B1 (en) | Index scan device and index scan method | |
US6424970B1 (en) | Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes | |
US10545960B1 (en) | System and method for set overlap searching of data lakes | |
US8515976B2 (en) | Bit string data sorting apparatus, sorting method, and program | |
US11182125B2 (en) | Computing device sort function | |
JP4511469B2 (ja) | 情報処理方法及び情報処理システム | |
US8667008B2 (en) | Search request control apparatus and search request control method | |
US7533245B2 (en) | Hardware assisted pruned inverted index component | |
US20130031048A1 (en) | Data partitioning apparatus and data partitioning method | |
JP4620593B2 (ja) | 情報処理システムおよび情報処理方法 | |
JP2015162042A (ja) | インデックス管理装置 | |
CN110309367B (zh) | 信息分类的方法、信息处理的方法和装置 | |
JP4511464B2 (ja) | 情報処理システムおよび情報処理方法 | |
US20050055364A1 (en) | Hardware assisted pruned inverted index component | |
JP4772506B2 (ja) | 情報処理方法、情報処理システムおよびプログラム | |
CN111639103B (zh) | 业务数据处理方法、装置、计算机系统和介质 | |
US11734282B1 (en) | Methods and systems for performing a vectorized delete in a distributed database system | |
US20150278259A1 (en) | Entry insertion apparatus, method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090629 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090629 |
|
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: 20110524 |
|
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: 20110602 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4758429 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140610 Year of fee payment: 3 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |