JP5208117B2 - 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム - Google Patents
表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム Download PDFInfo
- Publication number
- JP5208117B2 JP5208117B2 JP2009529900A JP2009529900A JP5208117B2 JP 5208117 B2 JP5208117 B2 JP 5208117B2 JP 2009529900 A JP2009529900 A JP 2009529900A JP 2009529900 A JP2009529900 A JP 2009529900A JP 5208117 B2 JP5208117 B2 JP 5208117B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- item
- record
- item value
- block
- 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
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
"Cell Broadband EngineArchitecture", Version 1.01, October 3, 2006、[平成19年7月26日検索]、インターネット(URL:http://cell.scei.co.jp/pdf/CBE_Architecture_v101.pdf)
専用のローカルメモリを含む複数台の演算ユニットと、
上記複数台の演算ユニットに接続されているグローバルメモリと、
上記複数台の演算ユニットを接続するバスと、
上記グローバルメモリ及び上記複数台の演算ユニットに接続されている少なくとも1台の制御ユニットと、
を備えるマルチコア型処理装置において、
データ項目に対応した項目値を含むレコードの配列として表され、上記複数台の演算ユニットによって分担して操作される表形式データを、上記グローバルメモリに構築する方法であって、
上記制御ユニットが、上記レコードを各演算ユニットが担当する担当レコードを含むブロックに分割し、各レコードに対応するブロック番号を上記表形式データ中の原始レコード位置番号の順番に格納するブロック番号配列を作成し、上記グローバルメモリに格納するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードの上記原始レコード位置番号をレコード順序番号の順番に格納するレコード順序番号配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードに含まれる上記項目値にアクセスする項目値アクセス情報を上記レコード順序番号の順番に格納する項目値アクセス情報配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードに含まれる上記項目値が上記項目値アクセス情報を用いてアクセスされるように、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリ上に展開し、上記展開された項目値を上記グローバルメモリへ転送するステップと、
を備える方法を提供する。
上記制御ユニットが、上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードを含むブロックのブロック番号と上記所定のレコードを担当する演算ユニットとを決定するステップと、
上記制御ユニットが、上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知するステップと、
上記レコード順序番号を通知された演算ユニットが、当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送するステップと、
上記レコード順序番号を通知された演算ユニットが、上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、データ項目毎に、上記グローバルメモリから、上記特定された項目値アクセス情報によって指定される上記項目値を取得し、上記取得された項目値を上記グローバルメモリへ転送するステップと、
をさらに備える。
上記複数台の演算ユニットが並列的に動作して、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリに展開し、上記展開された項目値を上記グローバルメモリに格納するステップが、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、単一のブロックに含まれる上記項目値を上記グローバルメモリから上記ローカルメモリへ転送し、上記単一のブロックに含まれる項目値のうちの一意の値を所定の順序で格納するローカル項目値作業配列、及び、上記単一のブロックに含まれる上記担当レコードの上記原始レコード位置番号の順番に、上記担当レコードに含まれる項目値が上記ローカル項目値作業配列中に格納されている位置を指定するローカル項目値番号を格納するローカル項目値番号配列を上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、1対のブロックに関連した、上記ブロックに含まれる上記項目値のうちの一意の値に対応する上記ブロック番号を格納したブロック番号作業配列と、上記ローカル項目値作業配列と、上記ブロックに含まれる上記項目値が上記ローカル項目値作業配列中で格納されている位置を指定するポインタを格納するローカル項目値指定ポインタ作業配列とからなる1対の組から、上記1対のブロックがマージされたブロックに関連した、さらなるブロック番号作業配列と、さらなるローカル項目値作業配列と、さらなるローカル項目値指定ポインタ作業配列とからなる組を作成するマージ処理を実行するステップと、
上記複数台の演算ユニットが並列的かつ階層的に動作して、データ項目毎に、最終的な1個のブロックにマージされるまで上記マージ処理を繰り返し、得られた最終的なブロック番号作業配列と、最終的なローカル項目値作業配列と、最終的なローカル項目値指定ポインタ作業配列とを上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、上記最終的なローカル項目値指定ポインタ作業配列中の要素を上記最終的なブロック番号作業配列中の対応する要素によって指定されたブロック番号毎に分配し所定の順番に並べることにより、上記ローカル項目値番号によって表される上記項目値が、上記項目値を所定の順序で格納するグローバル項目値配列に一致する、上記最終的なローカル項目値作業配列中で格納されている位置を指定するポインタを格納する項目値指定ポインタ配列を作成し上記グローバルメモリへ転送するステップと、
を含む。
専用のローカルメモリを含む複数台の演算ユニットと、
上記複数台の演算ユニットに接続されているグローバルメモリと、
上記複数台の演算ユニットを接続するバスと、
上記グローバルメモリ及び上記複数台の演算ユニットに接続されている少なくとも1台の制御ユニットと、
を備え、
データ項目に対応した項目値を含むレコードの配列として表され、上記複数台の演算ユニットによって分担して操作される表形式データを上記グローバルメモリに構築する。このマルチコア型情報処理装置において、
上記制御ユニットが、上記レコードを各演算ユニットが担当する担当レコードを含むブロックに分割し、各レコードに対応するブロック番号を上記表形式データ中の原始レコード位置番号の順番に格納するブロック番号配列を作成し、上記グローバルメモリに格納する手段を含み、
各演算ユニットが、
他の演算ユニットと並列的に動作して、上記担当レコードの上記原始レコード位置番号をレコード順序番号の順番に格納するレコード順序番号配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、上記担当レコードに含まれる上記項目値にアクセスする項目値アクセス情報を上記レコード順序番号の順番に格納する項目値アクセス情報配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、上記担当レコードに含まれる上記項目値が上記項目値アクセス情報を用いてアクセスされるように、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリ上に展開し、上記展開された項目値を上記グローバルメモリへ転送する手段と、
を含む。
上記制御ユニットが、
上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードが含まれるブロックのブロック番号と上記所定のレコードを担当する上記演算ユニットとを決定する手段と、
上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知する手段と、
をさらに含み、
上記レコード順序番号を通知された演算ユニットが、
当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送する手段と、
上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定する手段と、
上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定する手段と、
データ項目毎に、上記グローバルメモリから、上記特定された項目値アクセス情報によって指定される上記項目値を取得し、上記取得された項目値を上記グローバルメモリへ転送する手段と、
をさらに含む。
各演算ユニットが、
他の演算ユニットと並列的に動作して、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリに展開し、上記展開された項目値を上記グローバルメモリに格納する手段と、
他の演算ユニットと並列的に動作して、データ項目毎に、単一のブロックに含まれる上記項目値を上記グローバルメモリから上記ローカルメモリへ転送し、上記単一のブロックに含まれる項目値のうちの一意の値を所定の順序で格納するローカル項目値作業配列、及び、上記単一のブロックに含まれる上記担当レコードの上記原始レコード位置番号の順番に、上記担当レコードに含まれる項目値が上記ローカル項目値作業配列中に格納されている位置を指定するローカル項目値番号を格納するローカル項目値番号配列を上記ローカルメモリ上に作成し、上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、データ項目毎に、1対のブロックに関連した、上記ブロックに含まれる上記項目値のうちの一意の値に対応する上記ブロック番号を格納したブロック番号作業配列と、上記ローカル項目値作業配列と、上記ブロックに含まれる上記項目値が上記ローカル項目値作業配列中で格納されている位置を指定するポインタを格納するローカル項目値指定ポインタ作業配列とからなる1対の組から、上記1対のブロックがマージされたブロックに関連した、さらなるブロック番号作業配列と、さらなるローカル項目値作業配列と、さらなるローカル項目値指定ポインタ作業配列とからなる組を作成するマージ処理を実行する手段と、
他の演算ユニットと並列的かつ階層的に動作して、データ項目毎に、最終的な1個のブロックにマージされるまで上記マージ処理を繰り返し、得られた最終的なブロック番号作業配列と、最終的なローカル項目値作業配列と、最終的なローカル項目値指定ポインタ作業配列とを上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、データ項目毎に、上記最終的なローカル項目値指定ポインタ作業配列中の要素を上記最終的なブロック番号作業配列中の対応する要素によって指定されたブロック番号毎に分配し所定の順番に並べることにより、上記ローカル項目値番号によって表される上記項目値が、上記項目値を所定の順序で格納するグローバル項目値配列に一致する、上記最終的なローカル項目値作業配列中で格納されている位置を指定するポインタを格納する項目値指定ポインタ配列を作成し上記グローバルメモリへ転送する手段と、
をさらに含む。
専用のローカルメモリを含む複数台の演算ユニットと、
上記複数台の演算ユニットに接続されているグローバルメモリと、
上記複数台の演算ユニットを接続するバスと、
上記グローバルメモリ及び上記複数台の演算ユニットに接続されている少なくとも1台の制御ユニットと、
を備えるコンピュータにロードされ、データ項目に対応した項目値を含むレコードの配列として表され、上記複数台の演算ユニットによって分担して操作される表形式データを、上記グローバルメモリに構築する方法を上記コンピュータに実行させるためのコンピュータプログラムが記録された記憶媒体が提供される。
101 マルチコア型プロセッサチップ
110,120,130,140 演算ユニット
111,121,131,141 コア
112,122,132,142 ローカルメモリ
150 チップ内バス
160,161,162,163 バス
170,171,172,173 グローバルメモリ
200 コンピュータシステム
202 マルチコア型処理装置
210 CPU
212 RAM
214 ROM
216 固定記憶装置
218 CD−ROM
220 CD−ROMドライバ
222 I/F
224 入力装置
226 表示装置
228 バス
500 表形式データ
501 データ項目「School」
502 データ項目「Age」
510 レコード0
511 レコード14
520,521,・・・,527 ブロック
530 順序情報
531 項目情報「School」
532 項目情報「Age」
540 ブロック番号配列
551−0,551−1,・・・,551−7 レコード順序番号配列
552−0,552−1,・・・,552−7 項目値アクセス情報配列
560−0,560−1,・・・,560−7 ブロック情報「School」
561−0,561−1,・・・,561−7 ローカル項目値番号配列「School」
562−0,562−1,・・・,562−7 項目値指定ポインタ配列「School」
570 グローバル項目値配列「School」
580−0,580−1,・・・,580−7 ブロック情報「Age」
581−0,581−1,・・・,581−7 ローカル項目値番号配列「Age」
582−0,582−1,・・・,582−7 項目値指定ポインタ配列「Age」
590 グローバル項目値配列「Age」
最初に、本発明の一実施例によるデータ処理を実現するマルチコア型処理装置について説明する。図1はマルチコア型処理装置の一実施形態の概略図である。マルチコア型処理装置100は、マルチコア型プロセッサチップ101上に複数台(たとえば、2台、4台、8台等、本例では4台)の演算ユニット110、120、130、140が設けられている。各演算ユニット110、120、130、140は、データ処理用のコア111、121、131、141とコア専用のローカルメモリ112、122、132、142とを含む。各演算ユニット110、120、130、140は、チップ内のバス150によって接続されている。このバス150は、好ましくは、リング型バスである。演算ユニットは、チップ内のバス150によって接続されているので、高速にデータ通信することが可能である。さらに、各演算ユニット110、120、130、140は、DMA転送をサポートするバス160、161、162、163を介して、チップ101に外付けされたグローバルメモリ170、171、172、173と接続されている。
図2は、本発明の一実施形態による表形式データを操作するコンピュータシステム200の概略図である。コンピュータシステム200は、データ項目に対応した項目値を含むレコードの配列として表される表形式データを複数台の演算ユニットによって分担して操作する、図1に示されているような、マルチコア型処理装置202を備えている。図2に示されているように、コンピュータシステム200は、さらに、プログラムを実行することによりシステム全体および個々の構成部分を制御するCPU210と、ワークデータ等を記憶する、たとえば、RAM(Random Access Memory)のようなメモリ212と、プログラム等を記憶するROM(Read Only Memory)214と、ハードディスク等の固定記憶媒体216と、CD−ROM218をアクセスするためのCD−ROMドライバ220と、CD−ROMドライバ220及び外部ネットワーク等(図示せず)へ繋がれた外部端子に接続されているインタフェース(I/F)222と、キーボード及びマウス等のような入力装置224と、コンピュータモニターのような表示装置226とを備えている。マルチコア型処理装置210、RAM212、ROM214、外部記憶媒体216、I/F222、入力装置224及び表示装置226は、バス228を介して相互に接続されている。
図3は本発明の一実施形態の基礎となるデータ管理機構を説明するための表形式データの一例を表す図である。この表形式データは、上述の国際公開第WO00/10103号に提案したデータ管理機構を用いることにより、コンピュータ内では図4に示されるようなデータ構造として記憶される。このデータ構造は、市販されているコンピュータ、たとえば、パーソナルコンピュータのハードウェア資源、特に、プロセッサ及びメモリを使用して大規模な表形式データの検索、ソート、集計等を実現するために提案された、コンピュータのメモリ上に置かれる表形式データのデータ構造であることに注意すべきである。
次に、本発明の一実施形態によるマルチコア型処理装置向けデータ構造について説明する。図5A乃至5Dは本発明の一実施形態によるデータ構造の説明図である。図5Aは、元々の表形式データの一例を示している。図5Aに示された表形式データ500は、「School」というデータ項目501に対応した項目値(たとえば、「West」、「South」、「North」及び「East」と、「Age」というデータ項目502に対応した項目値(たとえば、「12」、「8」、「11」、「10」など)とを含むレコードの配列として表される。この元々の表形式データ500は、説明を簡単にするため、レコードが原始レコード位置番号の順番に並んでいる、すなわち、レコードを特定する原始レコード位置番号と、レコードの並び順を表すレコード順序番号とが一致しているものと仮定する。配列の先頭に位置するレコード510は、原始レコード位置番号0が付与されたレコードである。レコード510のデータ項目「School」の項目値は「West」であり、データ項目「Age」の項目値は「12」である。
図6は、本発明の一実施形態によるマルチコア型処理装置向けデータ構造をグローバルメモリ上に構築する方法のフローチャートである。本方法によれば、マルチコア型処理装置の制御ユニットは、表形式データレコードをマルチコア型処理装置の各演算ユニットが担当する担当レコードを含むブロックに分割し、各レコードに対応するブロック番号を表形式データ中のレコード順に格納するブロック番号配列を作成し、グローバルメモリに格納する(ステップ602)。次に、複数台の演算ユニットが並列的に、担当レコードのレコード順序番号をレコード順序番号の順番に格納するレコード順序番号配列を、各演算ユニット内のローカルメモリ上に作成し、グローバルメモリへ転送する(ステップ604)。この処理は、たとえば、制御ユニットから各演算ユニットへ、各演算ユニットの担当レコードの先頭のレコード順序番号と担当レコードのレコード数とを通知することによって、簡単に実現される。その後、複数台の演算ユニットが並列的に動作して、担当レコードに含まれる項目値にアクセスする項目値アクセス情報をレコード順序番号の順番に格納する項目値アクセス情報配列を各演算ユニット内のローカルメモリ上に作成し、グローバルメモリへ転送するステップ(ステップ606)。各演算ユニットは、0から始まる連番を、担当レコードのレコード数に一致する個数だけ、項目値アクセス情報配列に格納すればよい。最後に、複数台の演算ユニットが並列的に動作して、担当レコードに含まれる項目値が項目値アクセス情報を用いてアクセスされるように、データ項目毎に項目値を各演算ユニット内のローカルメモリ上に展開し、展開された項目値をグローバルメモリへ転送する(ステップ608)。たとえば、演算ユニットは、協働して、データ項目毎に、ブロック内で各項目値に付けられたローカル項目値番号を原始レコード位置番号の順番に格納するローカル項目値番号配列と、このローカル項目値番号とグローバル項目値配列中の項目値とを対応付ける項目値指定ポインタをローカル項目値番号の順番に格納する項目値指定ポインタ配列とをローカルメモリ上に作成し、グローバルメモリへ転送し、全レコードに含まれる一意の項目値が所定の順序(昇順又は降順)で格納されたグローバル項目値配列をグローバルメモリ上に作成する。
次に、本発明の一実施形態によるマルチコア型処理装置向けデータ構造における表形式データの項目値の取得について説明する。図7は、本発明の一実施形態による項目値取得方法のフローチャートである。項目値は、図5A乃至5Dを参照して説明したように、データ項目毎に、項目情報の形でグローバルメモリ上に保持されている。よって、たとえば、制御ユニットは、唯一のレコードに含まれる項目値を容易に取得することができる。しかし、制御ユニットは、多数のレコードに含まれる項目値を同時に取得するには適していない。したがって、本実施形態では、多数の演算ユニットが同時に動作することにより、多数のレコードに含まれる項目値を同時に取得するような状況を考慮している。このような状況においても、項目値取得の基本動作は、ある特定の演算ユニットが担当レコード中のあるレコードに含まれる項目値を取得する処理であることが理解されるであろう。多数の演算ユニットが同時に動作できるようにするため、各演算ユニットは、項目値を取得するために必要な情報をグローバルメモリからローカルメモリへ転送し、ローカルメモリ上で各種の演算を実行する。
次に、本発明の一実施形態による表形式データからマルチコア型処理装置向けデータを作成するコンパイル処理について説明する。以下では、図5A乃至5Dに示されたデータ構造に関連して、本発明の一実施形態によるコンパイル処理が記述される。図8は、本発明の一実施形態によるコンパイル処理の概略的なフローチャートである。
利点1:省メモリ
グローバル項目値配列、すなわち、値リストに同一値が重複して格納されないので、省メモリになる。
利点2:演算の高速性
ブロック間ソートでは、算出した順位が全てのブロックにとって有効である。
利点3:演算ユニット間通信によるグローバルメモリアクセスの低減
ブロック間ソートの第1フェーズが最も沢山のO(n*log(n))のグローバルメモリアクセスを必要とする。それ以外の処理のグローバルメモリアクセスはO(n)である。ブロック間通信を使うと、グローバルメモリアクセス量をちょうど1/3にすることができる。
School[i]=wVL[VNo[i]]
という関係が成り立つような配列である。なお、以下の処理は、演算ユニットが演算ユニットのローカルメモリを使用して実行する。
School[PTR[0]]=School[0]=“West”
と
School[PTR[1]]=School[1]=“South”
を比較すると、
“West”>“South”
であるため、
wPTR[0]=PTR[1]=1
TR[1]=0
となる。すなわち、i、jが0から始まる整数として、一般的に、
IF School[PTR[i]]>School[PTR[j]]
THEN wPTR[i]=PTR[j]
TR[j]=i
ELSE IF School[PTR[i]]<School[PTR[j]]
THEN wPTR[j]=PTR[i]
TR[i]=j
と記述できる。この処理では、小さい方が比較処理を通過し、大きい方はもう一度次の相手と比較される。
wPTR[1]=PTR[0]=0
TR[0]=1
となる。
VNo[i]=TR[VNo[i]]
によってローカル項目値番号が変換される。これは、ペアの比較処理によって、小さいと判定された項目値に対応するローカル項目値番号がローカル項目値番号配列VNo中で前方に配置されることを意味している。次に、ポインタ配列PTRが更新される。具体的には、
PTR[i]=wPTR[i]
に従って、ポインタ配列PTRに作業ポインタ配列wPTRを上書きすることによって、ポインタ配列PTRが更新される。
IF School[PTR[i]]=School[PTR[j]]
THEN wPTR[i]=PTR[i]
IF PTR[i]<PTR[j]
THEN TR[i]=PTR[i]
TR[j]=PTR[i]
ELSE TR[i]=PTR[j]
TR[j]=PTR[j]
に従って、
wPTR[2]=3
TR[2]=2
TR[4]=2
のように設定される。
VNo[i]=TR[VNo[i]]
によってローカル項目値番号が変換される。次に、
PTR[i]=wPTR[i]
に従って、ポインタ配列PTRに作業ポインタ配列wPTRを上書きすることによって、ポインタ配列PTRが更新される。
wVL[0]=School[PTR[0]]=School[1]=“South”
wVL[1]=School[PTR[1]]=School[0]=“West”
である。
for (i=0;i<19;i++) {
index[i]=0;
}
for (i=0;i<19;i++) {
LVL[BlkNo’[i]][index[i]]=LVL’[i];
index[i]++;
}
によって記述される操作にしたがって、ローカル項目値指定ポインタをブロック番号毎に分配される。これにより得られた配列LVLは、まさに項目値指定ポインタ配列である。上記の分配処理は1台のプロセッサで操作を実施する場合の操作に対応している。しかし、本発明の一実施形態によれば、好ましくは、複数台の演算ユニットを用いて、配列LVLが生成される。そのため、ブロック番号作業配列BlkNo’とローカル項目値指定ポインタ作業配列LVL’を分割して、複数台の演算ユニットに割り当てる。次に、各演算ユニットが、担当するBlkNo’とLVL’とに関して、ブロック番号毎にローカル項目値指定ポインタを分配する。最後に、各演算ユニットに分散して保持されているローカル項目値指定ポインタを、ブロック番号毎に1つに統合する。これにより、項目値指定ポインタ配列LVLが得られる。
Claims (13)
- 専用のローカルメモリを含む複数台の演算ユニットと、
上記複数台の演算ユニットに接続されているグローバルメモリと、
上記複数台の演算ユニットを接続するバスと、
上記グローバルメモリ及び上記複数台の演算ユニットに接続されている少なくとも1台の制御ユニットと、
を備えるマルチコア型処理装置において、
データ項目に対応した項目値を含むレコードの配列として表され、上記複数台の演算ユニットによって分担して操作される表形式データを、上記グローバルメモリに構築する方法であって、
上記制御ユニットが、上記レコードを各演算ユニットが担当する担当レコードを含むブロックに分割し、各レコードに対応するブロック番号を上記表形式データ中の原始レコード位置番号の順番に格納するブロック番号配列を作成し、上記グローバルメモリに格納するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードの上記原始レコード位置番号をレコード順序番号の順番に格納するレコード順序番号配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードに含まれる上記項目値にアクセスする項目値アクセス情報を上記レコード順序番号の順番に格納する項目値アクセス情報配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードに含まれる上記項目値が上記項目値アクセス情報を用いてアクセスされるように、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリ上に展開し、上記展開された項目値を上記グローバルメモリへ転送するステップと、
を備える方法。 - 上記制御ユニットが、上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードが含まれるブロックのブロック番号と上記所定のレコードを担当する上記演算ユニットとを決定するステップと、
上記制御ユニットが、上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知するステップと、
上記レコード順序番号を通知された演算ユニットが、当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送するステップと、
上記レコード順序番号を通知された演算ユニットが、上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、データ項目毎に、上記グローバルメモリに保持されている上記項目値の中から、上記特定された項目値アクセス情報によって指定される項目値を取得し、上記取得された項目値を上記グローバルメモリへ転送するステップと、
をさらに備える、
請求項1に記載の方法。 - 上記複数台の演算ユニットが並列的に動作して、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリに展開し、上記展開された項目値を上記グローバルメモリに格納するステップが、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、単一のブロックに含まれる上記項目値を上記グローバルメモリから上記ローカルメモリへ転送し、上記単一のブロックに含まれる項目値のうちの一意の値を所定の順序で格納するローカル項目値作業配列、及び、上記単一のブロックに含まれる上記担当レコードの上記原始レコード位置番号の順番に、上記担当レコードに含まれる項目値が上記ローカル項目値作業配列中に格納されている位置を指定するローカル項目値番号を格納するローカル項目値番号配列を上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、1対のブロックに関連した、上記ブロックに含まれる上記項目値のうちの一意の値に対応する上記ブロック番号を格納したブロック番号作業配列と、上記ローカル項目値作業配列と、上記ブロックに含まれる上記項目値が上記ローカル項目値作業配列中で格納されている位置を指定するポインタを格納するローカル項目値指定ポインタ作業配列とからなる1対の組から、上記1対のブロックがマージされたブロックに関連した、さらなるブロック番号作業配列と、さらなるローカル項目値作業配列と、さらなるローカル項目値指定ポインタ作業配列とからなる組を作成するマージ処理を実行するステップと、
上記複数台の演算ユニットが並列的かつ階層的に動作して、データ項目毎に、最終的な1個のブロックにマージされるまで上記マージ処理を繰り返し、得られた最終的なブロック番号作業配列と、最終的なローカル項目値作業配列と、最終的なローカル項目値指定ポインタ作業配列とを上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、上記最終的なローカル項目値指定ポインタ作業配列中の要素を上記最終的なブロック番号作業配列中の対応する要素によって指定されたブロック番号毎に分配し所定の順番に並べることにより、上記ローカル項目値番号によって表される上記項目値が、上記項目値を所定の順序で格納するグローバル項目値配列に一致する、上記最終的なローカル項目値作業配列中で格納されている位置を指定するポインタを格納する項目値指定ポインタ配列を作成し上記グローバルメモリへ転送するステップと、
を含む、
請求項1に記載の方法。 - 専用のローカルメモリを含む複数台の演算ユニットと、
上記複数台の演算ユニットに接続されているグローバルメモリと、
上記複数台の演算ユニットを接続するバスと、
上記グローバルメモリ及び上記複数台の演算ユニットに接続されている少なくとも1台の制御ユニットと、
を備え、
データ項目に対応した項目値を含むレコードの配列として表され、上記複数台の演算ユニットによって分担して操作される表形式データを上記グローバルメモリに構築するマルチコア型処理装置であって、
上記制御ユニットが、上記レコードを各演算ユニットが担当する担当レコードを含むブロックに分割し、各レコードに対応するブロック番号を上記表形式データ中の原始レコード位置番号の順番に格納するブロック番号配列を作成し、上記グローバルメモリに格納する手段を含み、
各演算ユニットが、
他の演算ユニットと並列的に動作して、上記担当レコードの上記原始レコード位置番号をレコード順序番号の順番に格納するレコード順序番号配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、上記担当レコードに含まれる上記項目値にアクセスする項目値アクセス情報を上記レコード順序番号の順番に格納する項目値アクセス情報配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、上記担当レコードに含まれる上記項目値が上記項目値アクセス情報を用いてアクセスされるように、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリ上に展開し、上記展開された項目値を上記グローバルメモリへ転送する手段と、
を含む、
マルチコア型処理装置。 - 上記制御ユニットが、
上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードが含まれるブロックのブロック番号と上記所定のレコードを担当する上記演算ユニットとを決定する手段と、
上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知する手段と、
をさらに含み、
上記レコード順序番号を通知された演算ユニットが、
当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送する手段と、
上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定する手段と、
上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定する手段と、
データ項目毎に、上記グローバルメモリに保持されている上記項目値の中から、上記特定された項目値アクセス情報によって指定される項目値を取得し、上記取得された項目値を上記グローバルメモリへ転送する手段と、
をさらに含む、
請求項4に記載のマルチコア型処理装置。 - 各演算ユニットが、
他の演算ユニットと並列的に動作して、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリに展開し、上記展開された項目値を上記グローバルメモリに格納する手段と、
他の演算ユニットと並列的に動作して、データ項目毎に、単一のブロックに含まれる上記項目値を上記グローバルメモリから上記ローカルメモリへ転送し、上記単一のブロックに含まれる項目値のうちの一意の値を所定の順序で格納するローカル項目値作業配列、及び、上記単一のブロックに含まれる上記担当レコードの上記原始レコード位置番号の順番に、上記担当レコードに含まれる項目値が上記ローカル項目値作業配列中に格納されている位置を指定するローカル項目値番号を格納するローカル項目値番号配列を上記ローカルメモリ上に作成し、上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、データ項目毎に、1対のブロックに関連した、上記ブロックに含まれる上記項目値のうちの一意の値に対応する上記ブロック番号を格納したブロック番号作業配列と、上記ローカル項目値作業配列と、上記ブロックに含まれる上記項目値が上記ローカル項目値作業配列中で格納されている位置を指定するポインタを格納するローカル項目値指定ポインタ作業配列とからなる1対の組から、上記1対のブロックがマージされたブロックに関連した、さらなるブロック番号作業配列と、さらなるローカル項目値作業配列と、さらなるローカル項目値指定ポインタ作業配列とからなる組を作成するマージ処理を実行する手段と、
他の演算ユニットと並列的かつ階層的に動作して、データ項目毎に、最終的な1個のブロックにマージされるまで上記マージ処理を繰り返し、得られた最終的なブロック番号作業配列と、最終的なローカル項目値作業配列と、最終的なローカル項目値指定ポインタ作業配列とを上記グローバルメモリへ転送する手段と、
他の演算ユニットと並列的に動作して、データ項目毎に、上記最終的なローカル項目値指定ポインタ作業配列中の要素を上記最終的なブロック番号作業配列中の対応する要素によって指定されたブロック番号毎に分配し所定の順番に並べることにより、上記ローカル項目値番号によって表される上記項目値が、上記項目値を所定の順序で格納するグローバル項目値配列に一致する、上記最終的なローカル項目値作業配列中で格納されている位置を指定するポインタを格納する項目値指定ポインタ配列を作成し上記グローバルメモリへ転送する手段と、
をさらに含む、
請求項4に記載のマルチコア型処理装置。 - 専用のローカルメモリを含む複数台の演算ユニットと、
上記複数台の演算ユニットに接続されているグローバルメモリと、
上記複数台の演算ユニットを接続するバスと、
上記グローバルメモリ及び上記複数台の演算ユニットに接続されている少なくとも1台の制御ユニットと、
を備えるコンピュータにロードされ、データ項目に対応した項目値を含むレコードの配列として表され、上記複数台の演算ユニットによって分担して操作される表形式データを、上記グローバルメモリに構築する処理を、上記コンピュータに実行させるコンピュータ読み取り可能なプログラムであって、前記処理が、
上記制御ユニットが、上記レコードを各演算ユニットが担当する担当レコードを含むブロックに分割し、各レコードに対応するブロック番号を上記表形式データ中の原始レコード位置番号の順番に格納するブロック番号配列を作成し、上記グローバルメモリに格納するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードの上記原始レコード位置番号をレコード順序番号の順番に格納するレコード順序番号配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードに含まれる上記項目値にアクセスする項目値アクセス情報を上記レコード順序番号の順番に格納する項目値アクセス情報配列を各演算ユニット内の上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、上記担当レコードに含まれる上記項目値が上記項目値アクセス情報を用いてアクセスされるように、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリ上に展開し、上記展開された項目値を上記グローバルメモリへ転送するステップと、
を含むプログラム。 - 上記制御ユニットが、上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードが含まれるブロックのブロック番号と上記所定のレコードを担当する上記演算ユニットとを決定するステップと、
上記制御ユニットが、上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知するステップと、
上記レコード順序番号を通知された演算ユニットが、当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送するステップと、
上記レコード順序番号を通知された演算ユニットが、上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、データ項目毎に、上記グローバルメモリに保持されている上記項目値の中から、上記特定された項目値アクセス情報によって指定される項目値を取得し、上記取得された項目値を上記グローバルメモリへ転送するステップと、
をさらに含む、
請求項7に記載のプログラム。 - 上記複数台の演算ユニットが並列的に動作して、データ項目毎に上記項目値を各演算ユニット内の上記ローカルメモリに展開し、上記展開された項目値を上記グローバルメモリに格納するステップが、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、単一のブロックに含まれる上記項目値を上記グローバルメモリから上記ローカルメモリへ転送し、上記単一のブロックに含まれる項目値のうちの一意の値を所定の順序で格納するローカル項目値作業配列、及び、上記単一のブロックに含まれる上記担当レコードの上記原始レコード位置番号の順番に、上記担当レコードに含まれる項目値が上記ローカル項目値作業配列中に格納されている位置を指定するローカル項目値番号を格納するローカル項目値番号配列を上記ローカルメモリ上に作成し、上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、1対のブロックに関連した、上記ブロックに含まれる上記項目値のうちの一意の値に対応する上記ブロック番号を格納したブロック番号作業配列と、上記ローカル項目値作業配列と、上記ブロックに含まれる上記項目値が上記ローカル項目値作業配列中で格納されている位置を指定するポインタを格納するローカル項目値指定ポインタ作業配列とからなる1対の組から、上記1対のブロックがマージされたブロックに関連した、さらなるブロック番号作業配列と、さらなるローカル項目値作業配列と、さらなるローカル項目値指定ポインタ作業配列とからなる組を作成するマージ処理を実行するステップと、
上記複数台の演算ユニットが並列的かつ階層的に動作して、データ項目毎に、最終的な1個のブロックにマージされるまで上記マージ処理を繰り返し、得られた最終的なブロック番号作業配列と、最終的なローカル項目値作業配列と、最終的なローカル項目値指定ポインタ作業配列とを上記グローバルメモリへ転送するステップと、
上記複数台の演算ユニットが並列的に動作して、データ項目毎に、上記最終的なローカル項目値指定ポインタ作業配列中の要素を上記最終的なブロック番号作業配列中の対応する要素によって指定されたブロック番号毎に分配し所定の順番に並べることにより、上記ローカル項目値番号によって表される上記項目値が、上記項目値を所定の順序で格納するグローバル項目値配列に一致する、上記最終的なローカル項目値作業配列中で格納されている位置を指定するポインタを格納する項目値指定ポインタ配列を作成し上記グローバルメモリへ転送するステップと、
を含む、
請求項7に記載のプログラム。 - 専用のローカルメモリを含む複数台の演算ユニットと、
上記複数台の演算ユニットに接続されているグローバルメモリと、
上記複数台の演算ユニットを接続するバスと、
上記グローバルメモリ及び上記複数台の演算ユニットに接続されている少なくとも1台の制御ユニットと、
を備えるコンピュータにロードされ、データ項目に対応した項目値を含むレコードの配列として表され、上記複数台の演算ユニットによって分担して操作される表形式データを、上記グローバルメモリに構築する請求項1乃至3のうち何れか1項に記載の方法を上記コンピュータに実行させるためのコンピュータプログラムが記録された記憶媒体。 - 上記制御ユニットが、上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードが含まれるブロックのブロック番号と上記所定のレコードを担当する上記演算ユニットとを決定するステップと、
上記制御ユニットが、上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知するステップと、
上記レコード順序番号を通知された演算ユニットが、当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送するステップと、
上記レコード順序番号を通知された演算ユニットが、上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、データ項目毎に、上記グローバルメモリから、上記特定された項目値アクセス情報によって指定される上記項目値を取得するステップと、
をさらに備える、
請求項1に記載の方法。 - 上記制御ユニットが、
上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードが含まれるブロックのブロック番号と上記所定のレコードを担当する上記演算ユニットとを決定する手段と、
上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知する手段と、
をさらに含み、
上記レコード順序番号を通知された演算ユニットが、
当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送する手段と、
上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定する手段と、
上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定する手段と、
データ項目毎に、上記グローバルメモリから、上記特定された項目値アクセス情報によって指定される上記項目値を取得する手段と、
をさらに含む、
請求項4に記載のマルチコア型処理装置。 - 上記制御ユニットが、上記グローバルメモリ上の上記ブロック番号配列を参照して、所定のレコードが含まれるブロックのブロック番号と上記所定のレコードを担当する上記演算ユニットとを決定するステップと、
上記制御ユニットが、上記決定された演算ユニットへ上記所定のレコードのレコード順序番号を通知するステップと、
上記レコード順序番号を通知された演算ユニットが、当該演算ユニットの上記担当レコードに関する上記レコード順序番号配列及び前記項目値アクセス情報配列を、上記グローバルメモリから当該演算ユニットの上記ローカルメモリへ転送するステップと、
上記レコード順序番号を通知された演算ユニットが、上記通知されたレコード順序番号が格納されている位置を上記転送されたレコード順序番号配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、上記特定された位置によって指定される項目値アクセス情報を上記転送された項目値アクセス情報配列中で特定するステップと、
上記レコード順序番号を通知された演算ユニットが、データ項目毎に、上記グローバルメモリから、上記特定された項目値アクセス情報によって指定される上記項目値を取得するステップと、
をさらに含む、
請求項7に記載のプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/066672 WO2009028050A1 (ja) | 2007-08-28 | 2007-08-28 | 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009028050A1 JPWO2009028050A1 (ja) | 2010-11-25 |
JP5208117B2 true JP5208117B2 (ja) | 2013-06-12 |
Family
ID=40386794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009529900A Expired - Fee Related JP5208117B2 (ja) | 2007-08-28 | 2007-08-28 | 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5208117B2 (ja) |
WO (1) | WO2009028050A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5687219B2 (ja) * | 2012-01-20 | 2015-03-18 | 日本電信電話株式会社 | データ検索システム、データ検索方法及びデータ検索プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147800A (ja) * | 1999-11-22 | 2001-05-29 | Taabo Data Laboratory Kk | 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法 |
WO2005041067A1 (ja) * | 2003-10-27 | 2005-05-06 | Shinji Furusho | 分散メモリ型情報処理システム |
WO2006126467A1 (ja) * | 2005-05-24 | 2006-11-30 | Turbo Data Laboratories Inc. | マルチプロセッサシステム及びその情報処理方法 |
-
2007
- 2007-08-28 WO PCT/JP2007/066672 patent/WO2009028050A1/ja active Application Filing
- 2007-08-28 JP JP2009529900A patent/JP5208117B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147800A (ja) * | 1999-11-22 | 2001-05-29 | Taabo Data Laboratory Kk | 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法 |
WO2005041067A1 (ja) * | 2003-10-27 | 2005-05-06 | Shinji Furusho | 分散メモリ型情報処理システム |
WO2006126467A1 (ja) * | 2005-05-24 | 2006-11-30 | Turbo Data Laboratories Inc. | マルチプロセッサシステム及びその情報処理方法 |
Non-Patent Citations (2)
Title |
---|
CSND200501100001; 'Cell誕生<設計思想をひも解く>埋め込まれた遺伝子で変化自在に進化' 日経エレクトロニクス 第894号, 20050228, p.100〜109, 日経BP社 * |
JPN6009052170; 'Cell誕生<設計思想をひも解く>埋め込まれた遺伝子で変化自在に進化' 日経エレクトロニクス 第894号, 20050228, p.100〜109, 日経BP社 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2009028050A1 (ja) | 2010-11-25 |
WO2009028050A1 (ja) | 2009-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262500B2 (en) | Memory system including key-value store | |
JP4848317B2 (ja) | データベースのインデックス作成システム、方法及びプログラム | |
JP4339381B2 (ja) | 共有メモリ型マルチプロセッサシステム及びその情報処理方法 | |
US20230359435A1 (en) | Sorting for data-parallel computing devices | |
JP5460486B2 (ja) | データをソートする装置及び方法 | |
Liu et al. | GPU-accelerated BWT construction for large collection of short reads | |
JP4511469B2 (ja) | 情報処理方法及び情報処理システム | |
WO2015098707A1 (ja) | 情報検索機能を備えたメモリ、その利用方法、装置、情報処理方法。 | |
JP4673299B2 (ja) | 情報処理方法及び情報処理システム | |
US11030714B2 (en) | Wide key hash table for a graphics processing unit | |
US20230385258A1 (en) | Dynamic random access memory-based content-addressable memory (dram-cam) architecture for exact pattern matching | |
JP2007299021A (ja) | インデクス更新方法及びそのシステム | |
JP5208117B2 (ja) | 表形式データを操作するマルチコア対応データ処理方法、マルチコア型処理装置、及び、プログラム | |
JPWO2009044486A1 (ja) | 表形式データをソートする方法、マルチコア型装置、及び、プログラム | |
JP6006740B2 (ja) | インデックス管理装置 | |
WO2011099114A1 (ja) | ハイブリッド型データベースシステム及びその動作方法 | |
JP4511464B2 (ja) | 情報処理システムおよび情報処理方法 | |
JPWO2005041066A1 (ja) | 情報処理システムおよび情報処理方法 | |
WO2010013320A1 (ja) | 表形式データを操作する方法、分散メモリ型マルチプロセッサ、及び、プログラム | |
JP4559971B2 (ja) | 分散メモリ型情報処理システム | |
JP4772506B2 (ja) | 情報処理方法、情報処理システムおよびプログラム | |
JPWO2008155852A1 (ja) | メモリ共有型並列処理システムにおいて表形式データを集計する方法及び装置 | |
JPWO2014168199A1 (ja) | 論理演算方法および情報処理装置 | |
JP4995724B2 (ja) | 情報処理システムおよび情報処理方法 | |
de Oliveira et al. | BDDBlast—A Memory Efficient Architecture for Pairwise Alignments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121227 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130219 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160301 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |