JP4339381B2 - 共有メモリ型マルチプロセッサシステム及びその情報処理方法 - Google Patents
共有メモリ型マルチプロセッサシステム及びその情報処理方法 Download PDFInfo
- Publication number
- JP4339381B2 JP4339381B2 JP2007517805A JP2007517805A JP4339381B2 JP 4339381 B2 JP4339381 B2 JP 4339381B2 JP 2007517805 A JP2007517805 A JP 2007517805A JP 2007517805 A JP2007517805 A JP 2007517805A JP 4339381 B2 JP4339381 B2 JP 4339381B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- item value
- array
- value
- item
- 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 34
- 238000003672 processing method Methods 0.000 title claims description 33
- 230000001186 cumulative effect Effects 0.000 claims description 129
- 238000000034 method Methods 0.000 claims description 117
- 230000006870 function Effects 0.000 claims description 29
- 230000000644 propagated effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 62
- 230000001174 ascending effect Effects 0.000 description 39
- 238000012546 transfer Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 33
- 238000013523 data management Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 10
- 238000003491 array Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 229930091051 Arenine Natural products 0.000 description 1
- 241000545442 Radix Species 0.000 description 1
- 238000004891 communication Methods 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
- 239000011159 matrix material Substances 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Description
1)ソート対象が整数であること
2)ソート対象となる整数の上限と下限が分かっていること
3)ソート対象となる整数の上限と下限の差が、大きすぎないこと
という前提条件がある。
前記レコード番号配列を分割して第1の複数台のプロセッサに割り当てるステップと、
前記第1の複数台のプロセッサのうちの各プロセッサにおいて、前記割り当てられたレコード番号配列の部分に含まれるレコードに対応した項目値番号の出現回数をカウントするステップと、
前記項目値番号の範囲を分割して第2の複数台のプロセッサに割り当てるステップと、
前記第2の複数台のプロセッサのうちの各プロセッサにおいて、前記項目値番号の順番に、前記項目値番号が一致する範囲内では前記レコード番号配列の部分の順番に従って、前記割り当てられた項目値番号のそれぞれの出現回数を累計数に変換するステップと、
前記第1の複数台のプロセッサのうちの各プロセッサにおいて、前記割り当てられたレコード番号配列の部分に含まれるレコードに対応した前記項目値番号の累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納するステップと、
を含む。
前記項目値番号の範囲に応じて前記項目値番号の基数を設定するステップと、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁に関して、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として、ソート処理を繰り返すステップと、
を含む。これにより、最下位桁から最上位桁まで順番に項目値番号の桁ごとに並列ソート処理が行われる。前記ソート処理は、
前記現在のレコード番号配列を分割して第1の複数台のプロセッサに割り当てるステップと、
前記第1の複数台のプロセッサのうちの各プロセッサにおいて、前記割り当てられたレコード番号配列の部分に含まれるレコードに対応した項目値番号の現在の桁の値の出現回数をカウントするステップと、
前記項目値番号の現在の桁の値の範囲を分割して第2の複数台のプロセッサに割り当てるステップと、
前記第2の複数台のプロセッサのうちの各プロセッサにおいて、前記項目値番号の現在の桁の値の順番に、前記項目値番号の現在の桁の値が一致する範囲内では前記レコード番号配列の部分の順番に従って、前記割り当てられた項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換するステップと、
前記第1の複数台のプロセッサのうちの各プロセッサにおいて、前記割り当てられたレコード番号配列の部分に含まれるレコードに対応した前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納するステップと、
を含む。
前記項目値番号の範囲に応じて前記項目値番号の基数を設定するステップと、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁に関して、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として、ソート処理を繰り返すステップと、
を含み、
前記ソート処理が、
前記現在のレコード番号配列を分割して前記複数台のプロセッサに割り当てるステップと、
各プロセッサにおいて、前記割り当てられたレコード番号配列の部分に含まれるレコードに対応した項目値番号の現在の桁の値の出現回数をカウントするステップと、
少なくとも1台のプロセッサにおいて、前記項目値番号の現在の桁の値の順番に、前記項目値番号の現在の桁の値が一致する範囲内では前記レコード番号配列の部分の順番に従って、前記割り当てられた項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換するステップと、
前記各プロセッサにおいて、前記割り当てられたレコード番号配列の部分に含まれるレコードに対応した前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納するステップと、
を含む。
前記共有メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、
前記レコード番号配列を分割して前記複数台のプロセッサに割り当てるステップと、
前記複数台のプロセッサのうちの各プロセッサにおいて、前記割り当てられたレコード番号配列の部分に含まれるレコードの順番を当該レコードに対応した項目値番号に応じて入れ替え、当該レコードのレコード番号をさらなるレコード番号配列に格納するステップと、
を含む、レコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法を提供する。
前記共有メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定するステップと、
前記基数で表現された前記項目値番号の上位の桁に関して前記レコード番号配列中のレコード番号を並べ換え、前記項目値番号の上位の桁の値の順番に区分された中間的なレコード番号配列を生成するステップと、
前記中間的なレコード番号配列の区分ごとにプロセッサを割り当てるステップと、
前記区分ごとに割り当てられた各プロセッサが、前記中間的なレコード番号配列の前記区分内のレコード番号を前記項目値番号の下位の桁の値の順番に並べ換えるステップと、
を含む、レコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法を提供する。
前記レコード番号配列のうち自プロセッサが受け持つ部分を決める手段と、
前記レコード番号配列の部分に含まれるレコードに対応した項目値番号の出現回数をカウントする手段と、
前記項目値番号の範囲のうち自プロセッサが受け持つ範囲を決める手段と、
前記項目値番号の順番に、前記項目値番号が一致する範囲内では前記レコード番号配列の部分の順番に従って、前記受け持つ範囲内の項目値番号のそれぞれの出現回数を累計数に変換する手段と、
前記レコード番号配列の部分に含まれるレコードに対応した前記項目値番号の累計数をポインタとして利用して、前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する手段と、
を含む。
前記項目値番号の範囲に応じて前記項目値番号の基数を設定する手段と、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁を設定し、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に示されるようなデータ構造として記憶される。
次に、本発明の実施の形態にかかる、共有メモリ型マルチプロセッサシステムにおいてレコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法、すなわち、並列ソート方法を説明する。図4A、Bはソート対象のデータ構造を表す図である。図4Aに示された表形式データ401は、ソート対象のデータ構造を行列形式で分かりやすく表現したものであり、レコード0からレコード19までの20個のレコードを含み、各レコードは、年齢と地域の二つの項目により構成される。図4Bに示されたデータ構造402は、コンピュータシステム10の共有メモリ14に記憶されたデータ構造を表している。図4Bのレコード番号配列(OrdSet:順序集合を表す)403はレコード番号0から19を所定の順に従って格納する配列である。本例では、レコード番号は0から19の順に格納されている。年齢と地域のデータは、それぞれ、情報ブロック404と情報ブロック405の形で記憶される。年齢の情報ブロック404は、年齢の項目値に対応する項目値番号がレコード番号の順番に従って格納された項目値番号配列(以下では、VNo:値番号とも称される)406と、年齢の項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列(以下では、VL:値リストとも称される)407とにより構成される。同様に、地域の情報ブロック405は、地域の項目値に対応する項目値番号がレコード番号の順番に従って格納された項目値番号配列408と、地域の項目値が当該項目値に対応する項目番号の順序に従って格納された項目値配列409とにより構成される。コンピュータシステム10のp台のプロセッサ12−1、・・・、12−pは、共有メモリ14上のこれらのデータにアクセスすることが可能である。
Count'[0][0]=0
Count'[i][0]=Count'[i-1][q-1]+Count[i-1][q] 但し、i>1
Count'[i][j]=Count'[i][j-1]+Count[i][j-1] 但し、j>1
このように、累計数演算では、先行の行から次の行へオフセットCount'[i-1][q-1]を伝搬させることが必要である。したがって、本実施の形態では、累計数化の演算をCPUが分担して行っているが、1台のプロセッサを選択し、そのプロセッサが単独で累計数化を行ってもよい。
1,2,2,0,2,0,2,2,0,2,0,1,1,1,0,1,1,0,1,1
というカウント値の系列を累計数化すると、
0,1,3,5,5,7,7,9,11,11,13,13,14,15,16,16,17,18,18,19
になる。
Count'[p-1][0]=0
Count'[i][0]=Count'[i+1][q-1]+Count[i+1][q] 但し、i>1
Count'[i][j]=Count'[i][j-1]+Count[i][j-1] 但し、j>1
このように、累計数演算では、後方の行から前の行へオフセットCount'[i+1][q-1]を伝搬させることが必要である。したがって、本実施の形態では、累計数化の演算をCPUが分担して行っているが、1台のプロセッサを選択し、そのプロセッサが単独で累計数化を行ってもよい。図16Bは累計数化の順番を縦方向で一列に表したものである。図16Bにおいて、たとえば、(1)Count−0:4の行は、配列Count−0の先頭の要素Count−0[4]のカウント値1が累計数0に変換されることを表している。
次に、上記の実施例で説明した累計数化ステップ504をさらに具体的に説明する。図9Bに示すようなカウント結果が得られたとき、図10A及びBに示されるような累計数化が行われる。累計数化を並列に行うため、各CPUには、対象とする項目値番号の値の範囲が割り当てられる。CPU−0には項目値番号0と1が、CPU−1には項目値番号2が、CPU−2には項目値番号3が、CPU−3には項目値番号4が割り当てられる。したがって、Count配列の要素を、上述のようにCount[i][j]の形で表す(iはカウントを担当したCPUの番号、jは項目値番号を表す)と、各CPUの累計数化の担当範囲:
・CPU−0の担当範囲(項目値番号0及び1)
Count[0][0]=1
Count[1][0]=2
Count[2][0]=2
Count[3][0]=0
Count[0][1]=2
Count[1][1]=0
Count[2][1]=2
Count[3][1]=2
・CPU−1の担当範囲(項目値番号2)
Count[0][2]=0
Count[1][2]=2
Count[2][2]=0
Count[3][2]=1
・CPU−2の担当範囲(項目値番号3)
Count[0][3]=1
Count[1][3]=1
Count[2][3]=0
Count[3][3]=1
・CPU−3の担当範囲(項目値番号4)
Count[0][4]=1
Count[1][4]=0
Count[2][4]=1
Count[3][4]=1
が得られる。
Sum[0]=11
Sum[1]=3
Sum[2]=3
Sum[3]=3
が得られる。この小計の計算は並列処理である。
Aggr_sum[0]=0
Aggr_sum[1]=Aggr_sum[0]+Sum[0]=11
Aggr_sum[2]=Aggr_sum[1]+Sum[1]=14
Aggr_sum[3]=Aggr_sum[2]+Sum[2]=17
が得られる。小計の累計数は先頭が0になるように定義される。
・CPU−0の担当範囲(項目値番号0及び1)
Count'[0][0]=0+Aggr_sum[0]=0+0=0
Count'[1][0]=Count'[0][0]+Count[0][0]=0+1=1
Count'[2][0]=Count'[1][0]+Count[1][0]=1+2=3
Count'[3][0]=Count'[2][0]+Count[2][0]=3+2=5
Count'[0][1]=Count'[3][0]+Count[3][0]=5+0=5
Count'[1][1]=Count'[0][1]+Count[0][1]=5+2=7
Count'[2][1]=Count'[1][1]+Count[1][1]=7+0=7
Count'[3][1]=Count'[2][1]+Count[2][1]=7+2=9
・CPU−1の担当範囲(項目値番号2)
Count'[0][2]=0+Aggr_sum[1]=9+2=11
Count'[1][2]=Count'[0][2]+Count[0][2]=11+0=11
Count'[2][2]=Count'[1][2]+Count[1][2]=11+2=13
Count'[3][2]=Count'[2][2]+Count[2][2]=13+0=13
・CPU−2の担当範囲(項目値番号3)
Count'[0][3]=0+Aggr_sum[2]=0+14=14
Count'[1][3]=Count'[0][3]+Count[0][3]=14+1=15
Count'[2][3]=Count'[1][3]+Count[1][3]=15+1=16
Count'[3][3]=Count'[2][3]+Count[2][3]=16+0=16
・CPU−3の担当範囲(項目値番号4)
Count'[0][4]=0+Aggr_sum[3]=0+17=17
Count'[1][4]=Count'[0][4]+Count[0][4]=17+1=18
Count'[2][4]=Count'[1][4]+Count[1][4]=18+0=18
Count'[3][4]=Count'[2][4]+Count[2][4]=18+1=19
が得られる。
上記のカウンティングソートに基づく並列ソートは基数ソートの考え方と組み合わせることが可能である。項目値配列VLのサイズが大きいとき、すなわち、項目値番号の個数が多数であるときには、項目値番号を基数で表現し、桁ごとに上記の並列ソートを実施することにより、効率的なソートを実現することが可能である。以下では、このような多段階並列ソート方法について説明する。特に、本実施の形態にかかる多段階並列ソートは、最下位の桁から始めて順番に現在の桁に関するソート処理を行い、最後に最上位の桁に関するソート処理を行うことによって最終的なソートを完了する。
上記の多段階並列ソートは、最下位の桁から始めて順番に現在の桁に関するソート処理を行い、最後に最上位の桁に関するソート処理を行うことによって最終的なソートを完了している。これに対して、最上位の桁から始めて順番に現在の桁に関するソート処理を行い、最後に最下位の桁に関するソート処理を行うことによって最終的なソートを完了することも可能である。以下では、このような最上位から最下位の順にソート処理を多段化する方法を簡単に説明する。
12−1,12−2,・・・,12−p CPU
14 共有メモリ
16 ROM
18 固定記憶装置
20 CD−ROMドライバ
22 I/F
24 入力装置
26 表示装置
Claims (16)
- 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、レコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法であって、
前記レコード番号配列をn1(n1≦n)個の部分に分割し、前記分割されたレコード番号配列のn1個の部分を前記n台のプロセッサのうちのn1台のプロセッサにそれぞれ割り当てるステップと、
前記n1台のプロセッサのうちの各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の出現回数をカウントするステップと、
前記項目値番号の範囲をn2(n2≦n)個の範囲に分割し、前記分割された項目値番号のn2個の範囲を前記n台のプロセッサのうちのn2台のプロセッサにそれぞれ割り当てるステップと、
前記n2台のプロセッサのうちの各プロセッサによって、前記項目値番号が異なる場合には前記項目値番号の順序に従い、同じ項目値番号の出現回数が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、前記n1台のプロセッサによってカウントされた前記項目値番号のそれぞれの出現回数を累計数に変換するステップと、
前記n1台のプロセッサのうちの各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納するステップと、
を含む情報処理方法。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、レコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法であって、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定するステップと、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁に関して、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として、ソート処理を繰り返すステップと、
を含み、
前記ソート処理が、
前記現在のレコード番号配列をn1(n1≦n)個の部分に分割し、前記分割された現在のレコード番号配列の部分を前記n台のプロセッサのうちのn1台のプロセッサに割り当てるステップと、
前記n1台のプロセッサのうちの各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の現在の桁の値の出現回数をカウントするステップと、
前記項目値番号の現在の桁の値の範囲をn2(n2≦n)個の範囲に分割し、前記分割された項目値番号の桁の値のn2個の範囲を前記n台のプロセッサのうちのn2台のプロセッサに割り当てるステップと、
前記n2の複数台のプロセッサのうちの各プロセッサによって、前記項目値番号の現在の桁の値が異なる場合には前記項目値番号の現在の桁の値の順序に従い、前記項目値番号の現在の桁の同じ値が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、前記n1台のプロセッサによってカウントされた項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換するステップと、
前記n1台のプロセッサのうちの各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納するステップと、
を含む、
情報処理方法。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、レコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法であって、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定するステップと、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁に関して、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として、ソート処理を繰り返すステップと、
を含み、
前記ソート処理が、
前記現在のレコード番号配列を分割し、前記分割された現在のレコード番号配列の部分を前記複数台のプロセッサに割り当てるステップと、
各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の現在の桁の値の出現回数をカウントするステップと、
少なくとも1台のプロセッサによって、前記項目値番号の現在の桁の値が異なる場合には前記項目値番号の現在の桁の値の順序に従い、前記項目値番号の現在の桁の同じ値が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、前記割り当てられた項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換するステップと、
前記各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納するステップと、
を含む、
情報処理方法。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、レコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法であって、
前記レコード番号配列をn1(n1≦n)個の部分に分割し、前記分割されたレコード番号配列のn1個の部分を前記n台のプロセッサのうちのn1台のプロセッサに割り当てるステップと、
前記n1台のプロセッサのうちの各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の出現回数をカウントするステップと、
前記項目値番号の範囲をn2(n2≦n)個の範囲に分割し、前記分割された項目値番号のn2個の範囲を前記n台のプロセッサのうちのn2台のプロセッサに割り当てるステップと、
前記n2台のプロセッサのうちの各プロセッサによって、前記n2台のプロセッサに割り当てられた項目値番号に関して、(i)前記n1台のプロセッサのうちの各プロセッサによってカウントされた前記出現回数の和を算出し、算出された和を前記項目値番号の範囲の順番に前記n2台のプロセッサ間で伝搬させ、(ii)前記項目値番号が異なる場合には前記項目値番号の順序に従い、同じ項目値番号の出現回数が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順番に従って、前記出現回数を累計数に変換し、前記伝搬させられた和を前記累計数に加算することにより、前記n1台のプロセッサのうちの各プロセッサに割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号毎に前記出現回数を累計数に変換するステップと、
前記n1台のプロセッサのうちの各プロセッサによって、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号毎に得られた前記累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納するステップと、
を含む、
情報処理方法。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、レコードの所定の項目の項目値に応じてレコード順を並べ換える情報処理方法であって、
少なくとも1台のプロセッサによって、前記項目値番号の範囲に応じて前記項目値番号の基数を設定することにより、前記項目値番号を上位の桁の下位の桁に分けるステップと、
少なくとも1台のプロセッサによって、前記レコード番号配列に含まれるレコード番号に関連付けられた前記項目値番号の上位の桁の値の出現回数をカウントし、前記項目値番号の上位の桁の値の順序に従って前記出現回数を累計数に変換し、前記項目値番号の上位の桁の値の累計数をポインタとして利用して前記レコード番号配列中のレコード番号を並べ換え、前記項目値番号の上位の桁の値の順序に従ってn1(≦n)個に区分された中間的なレコード番号配列を生成するステップと、
少なくとも1台のプロセッサによって、前記中間的なレコード番号配列のn1個の区分をそれぞれ前記n台のプロセッサのうちのn1台のプロセッサに割り当てるステップと、
前記区分ごとに割り当てられた各プロセッサによって、前記中間的なレコード番号配列のうちの前記割り当てられた区分内のレコード番号に関連付けられた前記項目値番号の下位の桁の値の出現回数をカウントし、前記項目値番号の下位の桁の値の順序に従って前記出現回数を累計数に変換し、前記項目値番号の下位の桁の値の累計数をポインタとして利用して前記中間的なレコード番号配列のうちの前記割り当てられた区分内のレコード番号をその関連付けられた前記項目値番号の下位の桁の値の順序に並べ換えるステップと、
を含む、
情報処理方法。 - 共有メモリと前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサとを具備した共有メモリ型マルチプロセッサシステムであって、
前記共有メモリが、表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶し、
各プロセッサが、
n1(n1≦n)個の部分に分割された前記レコード番号配列のうち各プロセッサによって受け持たれる部分を決める手段と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の出現回数をカウントする手段と、
n2(n2≦n)個の範囲に分割された前記項目値番号の範囲のうち各プロセッサによって受け持たれる範囲を決める手段と、
前記項目値番号が異なる場合には前記項目値番号の順序に従い、同じ項目値番号の出現回数が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、各プロセッサによって受け持たれる範囲内の項目値番号のそれぞれの出現回数を累計数に変換する手段と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の累計数をポインタとして利用して、前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する手段と、
を含む、
共有メモリ型マルチプロセッサシステム。 - 前記項目値番号の範囲のうち先行する範囲を受け持つプロセッサの前記出現回数を累計数に変換する手段によって得られた前記累計数が、直後の範囲を受け持つプロセッサの前記出現回数を累計数に変換する手段によって参照される、請求項6に記載の共有メモリ型マルチプロセッサシステム。
- 共有メモリと前記共有メモリにアクセス可能である複数台のプロセッサとを具備した共有メモリ型マルチプロセッサシステムであって、
前記共有メモリが、表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶し、
各プロセッサが、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定する手段と、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁を設定し、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として設定し、ソート処理を繰り返す手段と、
を含み、
前記ソート処理を繰り返す手段が、
前記レコード番号配列のうち各プロセッサによって受け持たれる部分を決める手段と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の現在の桁の値の出現回数をカウントする手段と、
前記項目値番号の現在の桁の値の範囲のうち各プロセッサによって受け持たれる範囲を決める手段と、
前記項目値番号の現在の桁の値が異なる場合に前記項目値番号の現在の桁の値の順序に従い、前記項目値番号の現在の桁の同じ値が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、各プロセッサによって受け持たれる範囲内の項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換する手段と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する手段と、
を含む、
共有メモリ型マルチプロセッサシステム。 - 前記項目値番号の現在の桁の範囲のうち先行する範囲を受け持つプロセッサの前記出現回数を累計数に変換する手段によって得られた前記累計数が、直後の範囲を受け持つプロセッサの前記出現回数を累計数に変換する手段によって参照される、請求項8に記載の共有メモリ型マルチプロセッサシステム。
- 共有メモリと前記共有メモリにアクセス可能である複数台のプロセッサとを具備した共有メモリ型マルチプロセッサシステムであって、
前記共有メモリが、表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶し、
各プロセッサが、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定する手段と、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁を設定し、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として設定し、ソート処理を繰り返す手段と、
を含み、
前記ソート処理を繰り返す手段が、
前記レコード番号配列のうち各プロセンサによって受け持たれる部分を決める手段と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の現在の桁の値の出現回数をカウントする手段と、
を含み、
少なくとも1台のプロセッサの前記ソート処理を繰り返す手段が、前記項目値番号の現在の桁の値が異なる場合には前記項目値番号の現在の桁の値の順序に従い、前記項目値番号の現在の桁の同じ値が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、前記項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換する手段を含み、
前記ソート処理を繰り返す手段が、前記レコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する手段をさらに含む、
共有メモリ型マルチプロセッサシステム。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、
各プロセッサに、
n1(n1≦n)個の部分に分割された前記レコード番号配列のうち各プロセッサによって受け持たれる部分を決める機能と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の出現回数をカウントする機能と、
n2(n2≦n)個の範囲に分割された前記項目値番号の範囲のうち各プロセッサによって受け持たれる範囲を決める機能と、
前記項目値番号が異なる場合には前記項目値番号の順序に従い、同じ項目値番号の出現回数が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、各プロセッサによって受け持たれる範囲内の項目値番号のそれぞれの出現回数を累計数に変換する機能と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の累計数をポインタとして利用して、前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する機能と、
を実現させるためのプログラム。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、
各プロセッサに、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定する機能と、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁を設定し、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として設定し、前記現在の桁のソート処理を制御する機能と、
前記レコード番号配列のうち各プロセッサによって受け持たれる部分を決める機能と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の現在の桁の値の出現回数をカウントする機能と、
前記項目値番号の現在の桁の値の範囲のうち各プロセッサによって受け持たれる範囲を決める機能と、
前記項目値番号の現在の桁の値が異なる場合に前記項目値番号の現在の桁の値の順序に従い、前記項目値番号の現在の桁の同じ値が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、各プロセッサによって受け持たれる範囲内の項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換する機能と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する機能と、
を実現させるためのプログラム。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能である複数台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、
各プロセッサに、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定する機能と、
前記基数で表現された前記項目値番号の最下位桁から最上位桁まで順番に現在の桁を設定し、1回目は前記レコード番号配列を現在のレコード番号配列として、2回目以降はさらなるレコード番号配列を現在のレコード番号配列として設定し、前記現在の桁のソート処理を制御する機能と、
前記レコード番号配列のうち各プロセッサによって受け持たれる部分を決める機能と、
前記レコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の現在の桁の値の出現回数をカウントする機能と、
を実現させ、
少なくとも1台のプロセッサに、前記項目値番号の現在の桁の値が異なる場合には前記項目値番号の現在の桁の値の順序に従い、前記項目値番号の現在の桁の同じ値が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順序に従って、前記項目値番号の現在の桁の値のそれぞれの出現回数を累計数に変換する機能を実現させ、
前記各プロセッサに、前記レコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号の現在の桁の値の累計数をポインタとして利用して、前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する機能をさらに実現させるためのプログラム。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、
n1(n1≦n)個の部分に分割された前記レコード番号配列の部分が割り当てられた前記n台のプロセッサのうちのn1台のプロセッサのそれぞれに、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号の出現回数をカウントする機能を実現させ、
n2(n2≦n)個の範囲に分割された前記項目値番号の範囲が割り当てられた前記n台のプロセッサのうちのn2台のプロセッサのそれぞれに、前記n2台のプロセッサに割り当てられた項目値番号に関して、(i)前記n1台のプロセッサのうちの各プロセッサによってカウントされた前記出現回数の和を算出し、算出された和を前記項目値番号の範囲の順番に前記n2台のプロセッサ間で伝搬させ、(ii)前記項目値番号が異なる場合には前記項目値番号の順序に従い、同じ項目値番号の出現回数が2台以上のプロセッサによってカウントされている場合には前記レコード番号配列の部分の順番に従って、前記出現回数を累計数に変換し、前記伝搬させられた和を前記累計数に加算することにより、前記n1台のプロセッサのうちの各プロセッサに割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた項目値番号毎に前記出現回数を累計数に変換する機能を実現させ、
前記n1台のプロセッサのうちの各プロセッサに、前記割り当てられたレコード番号配列の部分に含まれるレコード番号に関連付けられた前記項目値番号毎に得られた前記累計数をポインタとして利用して、前記割り当てられた前記レコード番号配列の部分に含まれるレコード番号をさらなるレコード番号配列に格納する機能を実現させるためのプログラム。 - 表形式データのレコードのレコード番号が所定のレコード順に従って格納されたレコード番号配列、表形式データのレコードの所定の項目の項目値に対応する項目値番号がレコード番号に関連付けて格納された項目値番号配列、及び、表形式データの項目値が当該項目値に対応する項目値番号の順序に従って格納された項目値配列を記憶する共有メモリと、
前記共有メモリにアクセス可能であるn(n≧1)台のプロセッサと、
を具備した共有メモリ型マルチプロセッサシステムにおいて、
少なくとも1台のプロセッサに、
前記項目値番号の範囲に応じて前記項目値番号の基数を設定することにより、前記項目値番号を上位の桁と下位の桁に分ける機能と、
前記レコード番号配列に含まれるレコード番号に関連付けられた前記項目値番号の上位の桁の値の出現回数をカウントし、前記項目値番号の上位の桁の値の順序に従って前記出現回数を累計数に変換し、前記項目値番号の上位の桁の値の累計数をポインタとして利用して前記レコード番号配列中のレコード番号を並べ換え、前記項目値番号の上位の桁の値の順序に従ってn1(≦n)に区分された中間的なレコード番号配列を生成する機能と、
を実現させ、
前記中間的なレコード番号配列の区分ごとに割り当てられた各プロセッサに、前記中間的なレコード番号配列のうちの前記割り当てられた区分内のレコード番号に関連付けられた前記項目値番号の下位の桁の値の出現回数をカウントし、前記項目値番号の下位の桁の値の順序に従って前記出現回数を累計数に変換し、前記項目値番号の下位の桁の値の累計数をポインタとして利用して前記中間的なレコード番号配列のうちの前記割り当てられた区分内のレコード番号をその関連付けられた前記項目値番号の下位の桁の値の順序に並べ換える機能を実現させるためのプログラム。 - 請求項11乃至15のうちいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005150604 | 2005-05-24 | ||
JP2005150604 | 2005-05-24 | ||
PCT/JP2006/310110 WO2006126467A1 (ja) | 2005-05-24 | 2006-05-22 | マルチプロセッサシステム及びその情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006126467A1 JPWO2006126467A1 (ja) | 2008-12-25 |
JP4339381B2 true JP4339381B2 (ja) | 2009-10-07 |
Family
ID=37451891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007517805A Active JP4339381B2 (ja) | 2005-05-24 | 2006-05-22 | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7801903B2 (ja) |
EP (1) | EP1901183A4 (ja) |
JP (1) | JP4339381B2 (ja) |
KR (1) | KR101196566B1 (ja) |
CN (1) | CN101133414B (ja) |
CA (1) | CA2595858A1 (ja) |
WO (1) | WO2006126467A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101196145B1 (ko) | 2012-02-21 | 2012-10-30 | 인하대학교 산학협력단 | Cuda를 이용한 최장공통비상위문자열 그래프 모델의 병렬 생성 방법 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007020849A1 (ja) * | 2005-08-15 | 2007-02-22 | Turbo Data Laboratories Inc. | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 |
WO2008155852A1 (ja) * | 2007-06-21 | 2008-12-24 | Turbo Data Laboratories Inc. | メモリ共有型並列処理システムにおいて表形式データを集計する方法及び装置 |
JP5208117B2 (ja) * | 2007-08-28 | 2013-06-12 | 株式会社ターボデータラボラトリー | 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム |
JPWO2009044486A1 (ja) * | 2007-10-05 | 2011-02-03 | 株式会社ターボデータラボラトリー | 表形式データをソートする方法、マルチコア型装置、及び、プログラム |
US8473467B2 (en) | 2009-01-02 | 2013-06-25 | Apple Inc. | Content profiling to dynamically configure content processing |
US8959094B2 (en) * | 2010-05-28 | 2015-02-17 | Oracle International Corporation | Early return of partial sort results in a database system |
US20120259869A1 (en) * | 2011-04-07 | 2012-10-11 | Infosys Technologies, Ltd. | System and method for implementing a window sorting mechanism |
GB2500863A (en) * | 2012-01-20 | 2013-10-09 | Data Re Ltd | A method of indexing a database |
KR101993258B1 (ko) | 2012-11-22 | 2019-09-27 | 삼성전자주식회사 | 레지스터 슬라이싱 회로 및 이를 포함하는 시스템 온 칩 |
US9177006B2 (en) * | 2012-12-29 | 2015-11-03 | International Business Machines Corporation | Radix sort with read-only key |
KR101770234B1 (ko) * | 2013-10-03 | 2017-09-05 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 소프트웨어 프로그램의 연산 블록을 멀티-프로세서 시스템의 코어에 할당하는 방법 및 시스템 |
CN104657388A (zh) * | 2013-11-22 | 2015-05-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
US9628107B2 (en) | 2014-04-07 | 2017-04-18 | International Business Machines Corporation | Compression of floating-point data by identifying a previous loss of precision |
US9959299B2 (en) * | 2014-12-02 | 2018-05-01 | International Business Machines Corporation | Compression-aware partial sort of streaming columnar data |
US10909078B2 (en) | 2015-02-25 | 2021-02-02 | International Business Machines Corporation | Query predicate evaluation and computation for hierarchically compressed data |
US10296612B2 (en) | 2015-09-29 | 2019-05-21 | At&T Mobility Ii Llc | Sorting system |
US10416959B2 (en) | 2015-10-27 | 2019-09-17 | At&T Mobility Ii Llc | Analog sorter |
US10496370B2 (en) | 2015-12-02 | 2019-12-03 | At&T Intellectual Property I, L.P. | Adaptive alphanumeric sorting apparatus |
US10261832B2 (en) | 2015-12-02 | 2019-04-16 | At&T Mobility Ii Llc | Sorting apparatus |
US10216478B2 (en) * | 2016-03-30 | 2019-02-26 | International Business Machines Corporation | Increasing radix sorting efficiency utilizing a crossover point |
US9934287B1 (en) * | 2017-07-25 | 2018-04-03 | Capital One Services, Llc | Systems and methods for expedited large file processing |
CN108052309A (zh) * | 2017-12-26 | 2018-05-18 | 杭州迪普科技股份有限公司 | 一种对象排序方法及装置 |
CN109857573B (zh) * | 2018-12-29 | 2021-03-05 | 深圳云天励飞技术有限公司 | 一种数据共享方法、装置、设备及系统 |
US11281427B2 (en) * | 2019-04-24 | 2022-03-22 | Ido Dov Cohen | Fast sort engine |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0522488B1 (en) * | 1991-07-10 | 2002-02-20 | Hitachi, Ltd. | Method of sorting on distributed database system and method of accessing thereto |
JP3395208B2 (ja) * | 1991-07-10 | 2003-04-07 | 株式会社日立製作所 | 分散データベースのソート方法およびアクセス方法 |
US5765146A (en) * | 1993-11-04 | 1998-06-09 | International Business Machines Corporation | Method of performing a parallel relational database query in a multiprocessor environment |
JP3581831B2 (ja) * | 1998-08-11 | 2004-10-27 | 晋二 古庄 | 表形式データの検索・集計・ソート方法及び装置 |
JP2001147800A (ja) * | 1999-11-22 | 2001-05-29 | Taabo Data Laboratory Kk | 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法 |
KR20040019335A (ko) * | 2001-07-18 | 2004-03-05 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 다중프로세서 디바이스 및 동기화 최적화 방법 및 액세스제어 방법 |
KR20060008889A (ko) * | 2003-04-16 | 2006-01-27 | 신지 후루쇼 | 정보처리시스템 및 정보처리방법 |
WO2005041066A1 (ja) * | 2003-10-24 | 2005-05-06 | Shinji Furusho | 分散メモリ型情報処理システム |
WO2007020849A1 (ja) * | 2005-08-15 | 2007-02-22 | Turbo Data Laboratories Inc. | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 |
-
2006
- 2006-05-22 JP JP2007517805A patent/JP4339381B2/ja active Active
- 2006-05-22 EP EP06756416A patent/EP1901183A4/en not_active Withdrawn
- 2006-05-22 WO PCT/JP2006/310110 patent/WO2006126467A1/ja active Application Filing
- 2006-05-22 US US11/883,264 patent/US7801903B2/en active Active
- 2006-05-22 CN CN2006800034124A patent/CN101133414B/zh active Active
- 2006-05-22 KR KR1020077017364A patent/KR101196566B1/ko active IP Right Grant
- 2006-05-22 CA CA002595858A patent/CA2595858A1/en not_active Abandoned
-
2010
- 2010-08-13 US US12/856,429 patent/US8065337B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101196145B1 (ko) | 2012-02-21 | 2012-10-30 | 인하대학교 산학협력단 | Cuda를 이용한 최장공통비상위문자열 그래프 모델의 병렬 생성 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2006126467A1 (ja) | 2006-11-30 |
JPWO2006126467A1 (ja) | 2008-12-25 |
US20080215584A1 (en) | 2008-09-04 |
CN101133414A (zh) | 2008-02-27 |
US20100312802A1 (en) | 2010-12-09 |
KR101196566B1 (ko) | 2012-11-01 |
CN101133414B (zh) | 2011-05-04 |
US8065337B2 (en) | 2011-11-22 |
EP1901183A1 (en) | 2008-03-19 |
KR20080014726A (ko) | 2008-02-14 |
EP1901183A4 (en) | 2010-01-13 |
CA2595858A1 (en) | 2006-11-30 |
US7801903B2 (en) | 2010-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4339381B2 (ja) | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 | |
JP6977239B2 (ja) | 行列乗算器 | |
US8751556B2 (en) | Processor for large graph algorithm computations and matrix operations | |
JP2019148969A (ja) | 行列演算装置、行列演算方法および行列演算プログラム | |
US9240237B2 (en) | Semiconductor device and method of writing/reading entry address into/from semiconductor device | |
CN103914506A (zh) | 数据检索装置、数据存储方法和数据检索方法 | |
WO2012076377A2 (en) | Optimizing output vector data generation using a formatted matrix data structure | |
Komarov et al. | Fast k-NNG construction with GPU-based quick multi-select | |
JP4511469B2 (ja) | 情報処理方法及び情報処理システム | |
WO2005106713A1 (ja) | 情報処理方法及び情報処理システム | |
JP4881435B2 (ja) | メモリ共有型並列処理システムにおいて表形式データを集計する方法及び装置 | |
US20210049012A1 (en) | Parallel union control device, parallel union control method, and storage medium | |
CN105608056A (zh) | 一种基于Flink的大规模矩阵并行化的计算方法 | |
JPWO2009044486A1 (ja) | 表形式データをソートする方法、マルチコア型装置、及び、プログラム | |
CN110765413B (zh) | 矩阵求和结构及神经网络计算平台 | |
WO2010013320A1 (ja) | 表形式データを操作する方法、分散メモリ型マルチプロセッサ、及び、プログラム | |
JP4772506B2 (ja) | 情報処理方法、情報処理システムおよびプログラム | |
JP4995724B2 (ja) | 情報処理システムおよび情報処理方法 | |
Bandyopadhyay et al. | Sorting large multifield records on a GPU | |
CN108280461B (zh) | 使用OpenCL加速的快速全局K-均值聚类方法 | |
JP3259622B2 (ja) | ベクトル演算装置を用いたバケットソート処理方式 | |
JP5008720B2 (ja) | メモリ間接参照をメモリ直接参照に変換する方法及び装置 | |
JPS6143338A (ja) | 連想技術を使用して稀薄なデータベースをサーチする方法 | |
JPWO2009028050A1 (ja) | 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム | |
Shao et al. | Speeding up model building for ECGA on CUDA platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20090623 |
|
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: 20090701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4339381 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: 20120710 Year of fee payment: 3 |
|
S202 | Request for registration of non-exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R315201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120710 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150710 Year of fee payment: 6 |
|
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 |
|
S303 | Written request for registration of pledge or change of pledge |
Free format text: JAPANESE INTERMEDIATE CODE: R316303 |
|
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 |
|
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 |