JPH07249019A - 並列プロセッサシステム - Google Patents
並列プロセッサシステムInfo
- Publication number
- JPH07249019A JPH07249019A JP6042104A JP4210494A JPH07249019A JP H07249019 A JPH07249019 A JP H07249019A JP 6042104 A JP6042104 A JP 6042104A JP 4210494 A JP4210494 A JP 4210494A JP H07249019 A JPH07249019 A JP H07249019A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- transferred
- processors
- processor system
- 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.)
- Granted
Links
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]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Abstract
の各プロセッサにおける処理の単位となるデータ量をプ
ロセッサの主記憶容量の程度として処理を高速化し、か
つ他プロセッサへの転送データを格納するバッファによ
る主記憶容量の圧迫を軽減させる。 【構成】 システム内の各プロセッサが、複数のデータ
転送先プロセッサに対応して転送データを一時的に格納
する複数の第1のデータ記憶手段と、他プロセッサから
転送されたデータを自プロセッサ内での処理の単位に適
合するように分割して格納する複数の第2のデータ記憶
手段とを備えるように構成する。
Description
記憶装置がそれぞれ接続された複数のプロセッサをネッ
トワークによって結合し、全体として1つの作業を遂行
する並列プロセッサシステムに係り、更に詳しくは並列
プロセッサシステムを構成する各プロセッサの間で処理
されるデータを均一化するプロセッサ間データ分割方式
に関する。
数の磁気ディスク装置に格納されたデータに対して、ス
イッチを介してシステム内の各プロセッサが自由にアク
セスできるデータ共有型と、各プロセッサにそれぞれ専
用の二次記憶装置が接続され、各プロセッサがネットワ
ークを介してデータの交換を行うデータ分散型とがあ
る。
ムの構成ブロック図である。同図において、システムを
構成する各プロセッサ10に対してそれぞれ専用の二次
記憶装置、例えば磁気ディスク11が接続され、各プロ
セッサ10の間ではネットワーク12を介して相互にデ
ータの交換が行われる。
システムを用いたデータベース処理におけるハッシュジ
ョインについて説明する。ハッシュジョインはエクイバ
レントジョインと言われるアルゴリズムの1つである。
ータベースにおける第1のテーブルRと、第2のテーブ
ルSとの内容が分散して格納されているものとする。テ
ーブルRには従業員の識別番号と、その識別番号に対応
する従業員名が格納され、テーブルSには従業員の識別
番号と、その識別番号に対応する従業員の年収が格納さ
れているものとする。エクイバレントジョイン処理と
は、テーブルRとテーブルSとの内容を検索し、従業員
の識別番号をキーとして、従業員名とその従業員の年収
を対として格納する第3のテーブルを作成する処理であ
る。
セッサシステムにおいて行われるエクイバレントジョイ
ンであり、この処理では識別番号を複数のグループにグ
ループ分けし、同一グループに属するデータ、すなわち
テーブルRとテーブルSとの内容を、そのグループのデ
ータのエクイバレントジョイン処理を担当するプロセッ
サに、各プロセッサが転送を行い、そのグループのデー
タが全て転送された後に、担当プロセッサがエクイバレ
ントジョイン処理を行うことになる。
1〜手順4によって説明する。 手順1:個々のプロセッサ(プロセッサ番号0〜Npe−
1)はディスクから論理的に1固まりとして扱われるべ
きデータ(レコードあるいはタプルと言う)を読み出
し、これにあるグループ化関数を適用してこのデータを
処理すべきプロセッサを特定する。
サにこのデータを転送する。 手順3:上記処理を全てのデータに適用した後には、各
プロセッサにはそれぞれの内部で処理されるべきデータ
が集中することになる。
でジョイン処理を行う。 上記において、グループ化関数は全てのプロセッサにお
いて同じものが使用されねばならず、かつ同一のデータ
値に対しては同一の値が返されるものが使用される。か
つデータのプロセッサ間転送時には、同一のグループ化
関数出力値を持つデータ群は、全て同一のプロセッサに
対して転送される。
能性のあるデータは全て同一のプロセッサに転送される
ので、同一のデータ値を持つデータ間の処理は該プロセ
ッサ内部に閉じて実行することができる。
関数の出力値の分布が大幅に偏っていると、つまりある
プロセッサのみ大量のデータが送信されると、このプロ
セッサの演算性能がボトルネックとなってシステム全体
の性能が低下してしまう。
業員の氏名が格納されており、前述のグループ化を氏名
のうちの名字をキーとして行うものとすると、例えば鈴
木や田中と言うような名字に対応するグループのデータ
の量は他の名字のグループのデータ量に比べてかなり大
きくなり、そのような名字のグループのデータの処理を
担当するプロセッサの負荷が大きくなり、システム全体
の性能低下の原因となる。この性能低下を防ぐためにバ
ケット組合せ調整処理が行われる。
号によってグループ化されたデータがグループとして全
体的に集められたまとまりのことであり、バケット組合
せ調整処理ではグループ化関数をうまく選んでバケット
の大きさが十分小さくなるようにし、1つのプロセッサ
が複数のバケットのデータの処理を担当して、並列プロ
セッサシステム内の各プロセッサが担当する複数のバケ
ットの組合せとしてのデータの総計が均一化されるよう
に調整する処理である。この処理は次の手順1〜手順4
によって行われる。
がプロセッサ台数を大幅に上回る様なものを選択する。
より具体的には、1プロセッサ中のデータであって同一
のグループ化関数出力値を持つデータ群をまとめたもの
をサブバケットと総称するが、最も大きなサブバケット
のサイズがデータ総量をプロセッサ台数の自乗で割った
ものよりも十分小さい様な関数を選択する。なお、シス
テム内で同一のグループ化関数の(出力)値を持つサブ
バケットを全てのプロセッサから集めたものがバケット
となる。
タに適用しておき、各サブバケットの大きさを調べてお
く。 手順3:どのサブバケット同士を組み合わせて同一のプ
ロセッサに転送すれば全プロセッサの処理データ量がほ
ぼ同じくなるかを考え、これが実現できる様にサブバケ
ット間の組合せを記憶しておく(あるプロセッサでサブ
バケットBとサブバケットCが組み合わされプロセッサ
Dに転送されるならば、全てのプロセッサでサブバケッ
トBとサブバケットCが組み合わされてプロセッサDに
転送されなければならない。この為上記評価は全てのプ
ロセッサでの全てのサブバケットサイズの情報を踏まえ
て行われる)。
各プロセッサは上記情報に基づいてサブバケット間の組
合せを行い、他プロセッサへの転送を行う。グループ化
関数の値が同一で、ある1つのプロセッサへ転送される
データの総称がバケットである。
ッサは各バケットに対応して複数のデータバッファを主
記憶上に準備し、データの生成(例えば二次記憶からの
データ読み出し)と並列してデータへのグループ化関数
の適用と評価(サブバケットへの分割)を行い、対応す
るデータバッファに投入する。そしてこのデータバッフ
ァ内に蓄積されたデータ量があるスレッショルド値を越
えた時、該データバッファ内容(バケットの一部)を対
応するプロセッサに送信する。
ロセッサ間転送手段はデータ量に依存しないかなり大き
なオーバヘッドを持つ為で、転送性能を低下させない為
にはある程度まとまったデータ量を一括して転送するこ
とが必要だからである。
プロセッサの主記憶容量は、システム内で処理されるべ
きデータの総量をプロセッサの台数で割った値、すなわ
ちバケットの組合せとして1つのプロセッサに転送され
るデータの総量よりもかなり小さい。前述のハッシュジ
ョイン処理を高速に行うためには、1つのグループとし
てグループ化されたデータ、すなわちバケットの大きさ
が1つのプロセッサの主記憶上に乗ることが望ましい。
このようにある程度まとまりを持つデータブロックを一
括して主記憶上に展開し、データ処理を高速化する可能
性はメモリコストの低下に伴って発生したものである。
主記憶上に1つのグループのデータが乗るようにバケッ
トを作成して、各プロセッサ内で処理を行う場合につい
て、具体的なプロセッサシステムを対象として従来例を
さらに詳しく説明する。
ある。同図において、n+1個のプロセッサ(A0〜A
n)が、外部バス(B)16によって相互に接続されて
いる。各プロセッサ15はCPU20、主記憶装置2
1、二次メモリ22、および主記憶装置21と外部バス
16との間でデータの入出力に使用される入出力ポート
23から構成されている。このシステム内で、2つのプ
ロセッサの間で行われるデータの転送について説明す
る。
タ転送の従来例の説明図である。同図においてプロセッ
サAiからプロセッサAjへのデータ転送について説明
する。同図において24はプロセッサAiにおいて二次
メモリ22iから読み出されたデータ、例えば1つのレ
コードであり、25はこのデータを他のプロセッサ、こ
こではAjに転送するために一時的にこのデータが格納
されるバッファ群であり、26iおよび26jはそれぞ
れのプロセッサの中でデータの転送を処理するプロセス
であり、27はプロセッサAiから転送されたデータで
あり、28は二次メモリ22iから読み出されたデータ
24をバッファ群25のうちのどのバッファに投入すべ
きかを決定するための変換テーブルであり、29はプロ
セッサAj内で転送されたデータを格納するための二次
メモリ22j内の領域である。
モリ22iから読み出されたデータ24に対して、プロ
セッサ26iによってデータのグループ化のためのグル
ープ化関数が適用される。そのグループ化関数の値によ
ってそのデータが所属すべきバケットが決定され、また
そのデータが転送されるべきプロセッサが決定される。
このデータがどのバケットに所属し、またどのプロセッ
サに転送されるべきかは、全てのプロセッサのデータの
予備読み込みによって、例えば図示しない親プロセッ
サ、または図8のプロセッサ15のうちのいずれか1つ
によって、全てのプロセッサでの負荷が均一になるよう
なバケットの組合せとして決定されており、その結果が
変換テーブル28に格納されている。
ルの従来例である。同図において変換テーブル28は、
グループ化関数出力値からその出力値に対応するデータ
がどの中間バケットに所属すべきかを示す中間バケット
識別子への変換テーブル28aと、中間バケット識別子
からそのデータの転送相手先プロセッサへの変換テーブ
ル28bから構成されている。ここで中間バケットとは
データが転送相手先プロセッサに転送され、そのプロセ
ッサ内で最終的なバケットとしてまとめられる過程にお
ける中間的なバケットを意味し、転送元プロセッサ内で
は前述のサブバケットに対応するものである。
関数としては多くの種類が考えられるが、例えばデータ
が整数であり、またシステム内で扱われる全てのデータ
のグループ化結果としてのグループの数にあたる(中
間)バケットの数がMであるならば、5Mを越える素数
による剰余演算をグループ化関数として用いることがで
きる。
数がMである時、転送データ格納用バッファ群25は、
少なくともMより大きい数L+1個の小バッファから構
成される。一般にバッファ群25へのデータの格納と、
バッファ群25から他のプロセッサへのデータへの転送
を同時に実行可能とするためにダブルバッファリングが
行われ、小バッファの数L+1はバケットの数の2倍、
すなわち2Mより大きくなる。
読み出されたデータ24は、そのデータが所属すべきバ
ケットに対応するバッファ群25内の小バッファに格納
され、この小バッファの容量があるスレッショルド値A
を越えた時、その小バッファ内のデータはその中間バケ
ットが転送されるべきプロセッサ、ここではAjに転送
される。転送されたデータ27は、プロセス26jによ
ってその中間バケットが格納されるべき二次メモリ22
j内の領域29に格納され、全ての他のプロセッサから
転送される対応する中間バケットと組み合わされて最終
的なバケットに構成される。
たように、従来においては他のプロセッサに転送される
べきデータは、システム内に存在するバケットの数に対
応する個数の小バッファによって構成されるバッファ群
25のうちのいずれかに格納され、そのバケットを処理
すべきプロセッサに転送されるが、この小バッファの数
が非常に多くなり、主記憶上に設けられるこれらの小バ
ッファが主記憶の大部分の領域を占有してしまうと言う
問題点があった。
システム内で取り扱われるべきデータの総量をプロセッ
サの台数で割った値に比較して一般に非常に小さく、シ
ステム内に存在するバケットの数は非常に多くなる。二
次メモリからデータが読み出される順序はあらかじめ予
想することができないので、生成される可能生があるバ
ケットの数Mを上回る数の小バッファが必要となり、し
かも個々のバッファの容量としては、プロセッサ間で行
われるデータ転送のオーバヘッドによって定まるスレッ
ショルド値A以上であることが必要である。
み込みによって調査することは不可能ではないが、その
調査内容を全て記憶してバッファ管理に反映することは
事実上不可能である。
ータ総量をプロセッサの主記憶容量で割ったものに対応
し、その結果図9で他のプロセッサへの転送データを一
時的に格納するためのバッファ群25の容量は全体とし
て少なくとも次式で与えられる値を上回る必要がある。
タを一括転送するためのスレッショルド値である。
B、データ総量が64GB、主記憶容量が64MB程度
であるとすると、上式の値は64MBとなり、主記憶容
量を全て使いきってしまうような容量のバッファ群25
が必要となることになり、実際問題としてこのような方
式を実現することは不可能となる。このバッファ容量は
システム内の全てのプロセッサに対して必要となるもの
であり、このような方式を持つ並列プロセッサシステム
は実現不可能であると言う問題点があった。
の程度に止めてデータの高速処理を可能とし、かつ主記
憶容量の圧迫と言う問題点を解決することができる並列
プロセッサシステムを実現することを目的とする。
ブロック図である。同図は、自プロセッサから他プロセ
ッサに転送すべきデータの生成と並行してプロセッサ間
でデータの転送が行われ、転送されたデータを用いて処
理が実行される並列プロセッサシステムの原理ブロック
図である。
並列プロセッサシステム内の各プロセッサの内部に複数
個設けられ、それぞれ複数のデータ転送相手先プロセッ
サに対応して転送すべきデータが一時的に格納されるも
のであり、例えば小バッファである。
プロセッサの内部に複数個設けられ、他のプロセッサか
ら転送されたデータを自プロセッサ内での処理の単位、
例えばバケットに適合するように分割して格納するため
のものであり、第1のデータ記憶手段1と同様に例えば
小バッファである。
段1、および第2のデータ記憶手段2に対応する小バッ
ファ群は、例えば各プロセッサの主記憶上に設けられ
る。
るべきデータは転送相手先プロセッサに対応する小バッ
ファに一次格納された後、その小バッファの容量がある
スレッショルド値を越えた時点で相手先プロセッサに転
送される。前述のように、1つのプロセッサに転送され
るデータは各プロセッサでの処理量を均一化するために
調整が行われた複数のバケットの組合せとなるが、本発
明においてはこれらの複数のバケットを区別することな
く、データ転送が行われる。
ば転送相手先プロセッサを決定するために第1のグルー
プ化関数が適用され、転送相手先プロセッサが決定され
たデータはその相手先プロセッサに対応する第1のデー
タ記憶手段1に格納され、その格納容量があるスレッシ
ョルド値を越えた時点で相手先プロセッサに転送され
る。
に第2のグループ化関数を適用してそのデータを中間バ
ケットに分割し、それぞれの中間バケットに対応する第
2のデータ記憶手段2を構成する小バッファにそれら中
間バケットを格納し、格納されたデータは格納容量があ
るスレッショルド値A′を越えた時点で、二次メモリ内
でその中間バケットが格納され、組み合わされて最終バ
ケットとなるべき領域に格納される。
送元プロセッサにおいては転送データはバケットの区別
を行うことなく、転送相手先プロセッサに対応する1つ
の小バッファに格納されることになる。
データ転送方式の説明図である。同図において、図9の
従来例と異なる部分を中心にデータ転送を説明する。
iには転送データを一時的に格納するデータバッファ群
30として、並列プロセッサシステム内のプロセッサの
数に対応する個数の小バッファが設けられる。この小バ
ッファの数は、システムに存在するバケットの個数がM
であれば、このMをプロセッサ台数で割った商のオーダ
ーである。
28と異なり、グループ化関数の出力値からデータの転
送先プロセッサを決定するためのものである。図3は変
換テーブル31の実施例であり、このテーブルによって
グループ化関数出力値から転送先プロセッサ番号への変
換が行われる。
明図である。同図において、例えばグループ化関数の出
力値が1,111、および75のデータがプロセッサ1
に転送され、これらのデータがまとめられたものがバケ
ット1となることを示している。なお、前述と異なり、
ここではグループ化関数の出力値の1つのみでなく、3
つの値が1つのバケットに対応するものとしている。
二次メモリ22iから読み出されたデータ24に対し、
プロセス26iによってグループ化関数が適用される。
テーブル31の内容は、図9におけると同様に、データ
転送が終了した時点で全てのプロセッサの負荷が均一と
なるようにあらかじめ設定されており、グループ化関数
の出力値からデータ24を転送すべきプロセッサが特定
される。このグループ化関数としては図9で説明したも
のと同じものを用いてもよいが、ここでは転送先プロセ
ッサを決定するのみでよいので、データが整数である時
には、プロセッサ台数をNpeとする時、5Npeを越える
素数による剰余演算をグループ化関数として用いること
ができる。
バッファ群30はシステム内のプロセッサ台数Npeに対
応し、少なくともこのプロセッサ台数より大きい数D+
1個の小バッファから構成される。従来例におけると同
様に、転送先プロセッサ1台に対して2個の小バッファ
が用意され、ダブルバッファリングが行われるために、
一般にD+1はプロセッサ台数の2倍、すなわち2Npe
より大きい。
24に対する転送相手先プロセッサが決定されると、そ
のデータはその相手先プロセッサに対応する小バッファ
に格納され、その小バッファの容量があるスレッショル
ド値Aを越えた時点で転送相手先プロセッサ、ここでは
Ajに転送される。
データ27に対して再びグループ化関数が適用され、デ
ータの属するバケットの決定が行われる。すなわちプロ
セッサAj側のプロセス26jによって転送されたデー
タに対してグループ化関数が適用され、そのグループ化
関数の出力値によってデータバッファ群32のうちのい
ずれかの小バッファに転送データが格納される。
プロセッサ側で使われたものと同じでもよく、また違っ
ていてもよい。このグループ化関数はあるデータの転送
先プロセッサを特定するものではなく、あるデータが属
する(中間)バケットを特定するためのものであり、多
くの場合転送元プロセッサのグループ化関数とは異なる
ものが選択される。データが整数であり、システム全体
に存在するバケット数がMである時には、データを5M
を越える素数で剰余演算するものでもよい。
タが属すべき(中間)バケットが決定され、データバッ
ファ群32のうち、そのバケットに対応する小バッファ
に転送されたデータが一時的に格納されるが、このバケ
ットの決定は変換テーブル33の格納内容を用いて行わ
れる。図5は変換テーブル33の説明図である。同図に
おいて、グループ化関数の出力値をワードアドレスとし
てアクセスすることにより、その出力値に対応する中間
バケットの識別子が得られる。ここで1つのプロセッサ
に転送されるバケットの数は、システム内に存在するバ
ケットの総数Mをプロセッサの台数Npeで割った値のオ
ーダであり、図5のテーブルから得られる中間バケット
識別子は、そのプロセッサ内で処理が行われるバケット
だけを識別することができるローカルな中間バケット識
別子でもよいことになる。これに対して、従来例の図1
0におけるテーブル28aで得られる中間バケット識別
子はシステム全体の中でのバケットを識別するものであ
り、いわばグローバルな中間バケット識別子である。
明図である。同図において、グループ化関数の出力値に
応じてローカルなバケット識別子が格納されている。こ
こでこのプロセッサに転送されるバケットは例えば3つ
であり、それぞれグループ化関数の値が1、111、お
よび75のバケットであるとして、それぞれに対応する
ローカルなバケット識別子が1,2および3としてこの
テーブルに格納されている。
て、それぞれのバケットに対応する小バッファ、すなわ
ちバッファ群32内の1つの小バッファに格納された転
送データは、その小バッファのデータ格納量があるスレ
ッショルド値A′を越えた時に二次メモリ22jに送ら
れ、対応する中間バケット格納部29jに格納される。
ここでのスレッショルド値A′はデータ転送元における
小バッファのスレッショルド値Aとは異なり、プロセッ
サ間の通信のオーバヘッドにより決定されるものではな
く、ディスクなどの二次メモリへのアクセスのオーバヘ
ッドによって決定されるものである。
異なり各プロセッサにはデータの転送を受けてそのデー
タを分割して格納するためのバッファ群32が必要とな
る。このバッファ群32を構成する小バッファの個数
は、システム全体に存在するバケットの総数、例えば10
00をプロセッサの台数、例えば64で割った値となり、
16個程度である。
主記憶容量64MB、他のプロセッサへのデータ転送の
ためのバッファ容量のスレッショルド値A=64KB、
およびプロセッサ台数64を用いると、転送されたデー
タが格納された小バッファから二次メモリへのデータ転
送を行う時のスレッショルド値A′を4KBとして、他
プロセッサへのデータ転送のためのバッファ群30の容
量は最低4MB(64KB×64プロセッサ)、他プロ
セッサから転送されたデータを格納するためのバッファ
群32の容量は最低64KB(4KB+(64GB/6
4MB)/64プロセッサ)となり、合計で4.064 MB
と従来例の64MBに比べて非常に小さくなることが分
かる。しかもデータの受信側プロセッサでのバケット圧
分、すなわち再グループ化処理はメモリ上で実行できる
ために、処理全体の実行速度には悪い影響を与えること
なく行われる。
ればデータの転送時には相手先プロセッサを特定するの
みでデータ転送を行うために、転送データを一時的に格
納するためのバッファ容量を小さくすることができ、か
つデータを主記憶に乗るような大きさのバケットに分割
することが可能となり、更に各プロセッサでの処理すべ
き負荷を均一にすることができる。これによって並列プ
ロセッサシステムでの処理の高速化に寄与するところが
大きい。
説明図である。
示す図である。
する図である。
用いられる変換テーブルの例を示す図である。
する図である。
示すブロック図である。
の構成を示す図である。
る図である。
来例を示す図である。
換テーブル
Claims (10)
- 【請求項1】 自プロセッサから他プロセッサに転送す
べきデータの生成と並行してプロセッサ間でデータの転
送が行われ、該転送されたデータを用いて各プロセッサ
で処理が実行される並列プロセッサシステムにおいて、 前記並列プロセッサシステム内の各プロセッサが、それ
ぞれ複数のデータ転送相手先プロセッサに対応して、転
送すべきデータを一時的に格納する複数の第1のデータ
記憶手段(1)と、 他プロセッサから転送されたデータを自プロセッサ内で
の処理の単位に適合するように分割して格納する複数の
第2のデータ記憶手段(2)とを備えたことを特徴とす
る並列プロセッサシステム。 - 【請求項2】 前記第1のデータ記憶手段(1)と、第
2のデータ記憶手段(2)とが、それぞれ前記各プロセ
ッサ内の主記憶上に設けられることを特徴とする請求項
1記載の並列プロセッサシステム。 - 【請求項3】 前記並列プロセッサシステム内の各プロ
セッサが、システム内の全データに対する第1のグルー
プ化関数の適用結果に応じて、自プロセッサ内のデータ
の転送相手先プロセッサを決定することを特徴とする請
求項1記載の並列プロセッサシステム。 - 【請求項4】 前記並列プロセッサシステム内で扱われ
るデータが整数であり、前記第1のグループ化関数が該
プロセッサシステム内のプロセッサの台数の複数倍を越
える素数による該整数のデータの剰余演算であることを
特徴とする請求項3記載の並列プロセッサシステム。 - 【請求項5】 前記並列プロセッサシステム内の各プロ
セッサが、前記複数の第1のデータ記憶手段(1)のそ
れぞれに格納されたデータの量があらかじめ定められた
スレッショルド値を越えた時に、対応する転送相手先プ
ロセッサにデータの一括転送を行うことを特徴とする請
求項1記載の並列プロセッサシステム。 - 【請求項6】 前記並列プロセッサシステム内の各プロ
セッサが、前記他プロセッサから転送されたデータを自
プロセッサ内での処理の単位に適合するように分割する
ために、該転送されたデータに対して第2のグループ化
関数を適用することを特徴とする請求項1記載の並列プ
ロセッサシステム。 - 【請求項7】 前記並列プロセッサシステム内で扱われ
るデータが整数であり、前記第2のグループ化関数が該
プロセッサシステムで処理されるべきデータの総量を1
つのプロセッサの主記憶容量で除算した商の複数倍を越
える素数による該整数データの剰余演算であることを特
徴とする請求項6記載の並列プロセッサシステム。 - 【請求項8】 前記並列プロセッサシステム内の各プロ
セッサが、前記他プロセッサから転送され、自プロセッ
サ内での処理の単位に適合するように分割されて前記複
数の第2のデータ記憶手段(2)のそれぞれに格納され
たデータの量があらかじめ定められたスレッショルド値
を越えた時に、該データを二次記憶装置に転送すること
を特徴とする請求項1記載の並列プロセッサシステム。 - 【請求項9】 前記第1のデータ記憶手段(1)の数
が、前記他プロセッサに転送すべきデータの格納と格納
されたデータの転送とを同時に実行可能とするために、
前記並列プロセッサシステム内のプロセッサの数の2倍
以上であることを特徴とする請求項1記載の並列プロセ
ッサシステム。 - 【請求項10】 前記並列プロセッサシステム内の各プ
ロセッサが、システム内の全データに対する1つのグル
ープ化関数の適用結果に応じて、自プロセッサ内のデー
タの転送相手先プロセッサを決定し、 他プロセッサから転送されたデータを自プロセッサ内で
の処理の単位に適合するように分割するにあたり、該1
つのグループ化関数を再び転送されたデータに適用し、
該適用結果を更に自プロセッサ内での処理の単位に対応
する値に変換して前記複数の第2のデータ記憶手段
(2)に該データを格納することを特徴とする請求項1
記載の並列プロセッサシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04210494A JP3617672B2 (ja) | 1994-03-14 | 1994-03-14 | 並列プロセッサシステム |
US08/724,428 US5901324A (en) | 1994-03-14 | 1996-10-01 | Parallel processor system for transmitting data in small buffers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04210494A JP3617672B2 (ja) | 1994-03-14 | 1994-03-14 | 並列プロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07249019A true JPH07249019A (ja) | 1995-09-26 |
JP3617672B2 JP3617672B2 (ja) | 2005-02-09 |
Family
ID=12626675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04210494A Expired - Lifetime JP3617672B2 (ja) | 1994-03-14 | 1994-03-14 | 並列プロセッサシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5901324A (ja) |
JP (1) | JP3617672B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011673A (ja) * | 2005-06-30 | 2007-01-18 | Fujitsu Ltd | ホスト間データ転送方法、プログラム及びシステム |
US10075526B2 (en) | 2015-02-02 | 2018-09-11 | Fujitsu Limited | Data transfer controlling method, information processing apparatus, and storage medium |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085769B1 (en) * | 2001-04-26 | 2006-08-01 | Ncr Corporation | Method and apparatus for performing hash join |
US7676588B2 (en) * | 2001-10-05 | 2010-03-09 | International Business Machines Corporation | Programmable network protocol handler architecture |
US7590620B1 (en) * | 2004-06-18 | 2009-09-15 | Google Inc. | System and method for analyzing data records |
JP5658827B2 (ja) * | 2011-06-24 | 2015-01-28 | 株式会社日立製作所 | ストレージシステム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301337A (en) * | 1990-04-06 | 1994-04-05 | Bolt Beranek And Newman Inc. | Distributed resource management system using hashing operation to direct resource request from different processors to the processor controlling the requested resource |
US5245337A (en) * | 1991-05-29 | 1993-09-14 | Triada, Ltd. | Data compression with pipeline processors having separate memories |
JP3679813B2 (ja) * | 1991-07-22 | 2005-08-03 | 株式会社日立製作所 | 並列計算機 |
JPH05342178A (ja) * | 1992-06-10 | 1993-12-24 | Hitachi Ltd | 調停回路およびそれを用いたデータ処理装置 |
-
1994
- 1994-03-14 JP JP04210494A patent/JP3617672B2/ja not_active Expired - Lifetime
-
1996
- 1996-10-01 US US08/724,428 patent/US5901324A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011673A (ja) * | 2005-06-30 | 2007-01-18 | Fujitsu Ltd | ホスト間データ転送方法、プログラム及びシステム |
US10075526B2 (en) | 2015-02-02 | 2018-09-11 | Fujitsu Limited | Data transfer controlling method, information processing apparatus, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP3617672B2 (ja) | 2005-02-09 |
US5901324A (en) | 1999-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5640554A (en) | Parallel merge and sort process method and system thereof | |
KR101502896B1 (ko) | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 | |
CN102541858B (zh) | 基于映射和规约的数据均衡性处理方法、装置及系统 | |
US20150127880A1 (en) | Efficient implementations for mapreduce systems | |
US5854938A (en) | Parallel processor apparatus in which data is divided in sequential stages | |
EP3657740A1 (en) | Message forwarding | |
US6298382B1 (en) | Information retrieving method, information retrieving system, and retrieval managing unit for the same | |
JPH07306824A (ja) | メモリシステム、コンピュータシステム、メモリモジュール、および能動メモリ素子 | |
JP3395208B2 (ja) | 分散データベースのソート方法およびアクセス方法 | |
JPH1097544A (ja) | データベース処理システム | |
Martin | Spiral storage: Incrementally augmentable hash addressed storage | |
JPH07249019A (ja) | 並列プロセッサシステム | |
US7162579B2 (en) | Asymmetrical load balancing for mirrored storage volumes | |
JPH07160557A (ja) | データベースアクセス処理方法 | |
CN107656980A (zh) | 应用于分布式数据库系统中的方法及分布式数据库系统 | |
CN1097783C (zh) | 数据处理的系统和方法以及带有这类系统的通信系统 | |
Kuratli | Distributed Join Result Materialization over High-Performance Networks | |
CN108733678A (zh) | 一种数据搜索的方法、装置和相关设备 | |
CN102194002B (zh) | 哈希表的表项添加、删除、查找方法及哈希表存储装置 | |
JPH06251067A (ja) | 並列データ検索装置 | |
WO2012159480A1 (zh) | 哈希表的表项添加、删除、查找方法及哈希表存储装置 | |
JPS6175649A (ja) | 通信制御装置のバツフア管理方式 | |
JPH01156818A (ja) | バッファ領域設定方法 | |
JPH064389A (ja) | ネームサーバ装置 | |
JPS631196A (ja) | デ−タ索引方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040401 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040720 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040810 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041006 |
|
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: 20041102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041104 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111119 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111119 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121119 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121119 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |