JPH06243113A - 並列計算機における計算モデルのマッピング法 - Google Patents

並列計算機における計算モデルのマッピング法

Info

Publication number
JPH06243113A
JPH06243113A JP5030971A JP3097193A JPH06243113A JP H06243113 A JPH06243113 A JP H06243113A JP 5030971 A JP5030971 A JP 5030971A JP 3097193 A JP3097193 A JP 3097193A JP H06243113 A JPH06243113 A JP H06243113A
Authority
JP
Japan
Prior art keywords
mapping
dimensional
unit
processors
divided
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.)
Pending
Application number
JP5030971A
Other languages
English (en)
Inventor
Kazuya Shibata
一哉 柴田
Masahide Fujisaki
正英 藤崎
Hiroyuki Kanazawa
宏幸 金澤
Motoi Okuda
基 奥田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5030971A priority Critical patent/JPH06243113A/ja
Publication of JPH06243113A publication Critical patent/JPH06243113A/ja
Priority to US08/714,527 priority patent/US5649198A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

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)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 ユーザ空間で並列計算機のアーキテクチャを
意識することなくマッピングができ、かつ、高速なマッ
ピングパターンを得ることを目的とする。 【構成】 ユーザが分割したN次元計算モデル21の計
算ユニットと、物理プロセッサ23に識別符号をつけて
おき、その対応をアドレス変換テーブル25でもつこれ
にユーザがアクセスするだけで、自由にマッピング操作
ができるので、その後は、プロセッサ間通信はユーザが
分割ユニットの識別符号を用いて行うことが出来る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列計算機における関
し、特に、並列計算機におけるマッピングを効率よく行
い、通信の効率化を図る技術に関する。
【0002】
【従来の技術】コンピュータシステムの高速化や大容量
化が要求されるに伴って、複数のプロセッサに処理を分
散させる分散処理技術が必要となってきた。
【0003】そこで、複数のプロセッサが処理を並列的
に行なう並列計算機が提供されている。この並列計算機
では、各プロセッサが通信手段を介して互いに通信を行
うことで各プロセッサが並列に動作し、複数のプロセッ
サ全体であるまとまった処理を実行する。これによれ
ば、1つの仕事に対する処理の高速化を図ることができ
る。
【0004】近年は、このような並列計算機の開発が進
み、並列化を行う環境が次第に整い、実用的なアプリケ
ーションが適応可能となってきた。しかし、並列化の過
程で必要となる作業、例えばマッピングなどは未だ自動
化されていない。特に、マッピングの際のデータ分割
や、機能分割のアルゴリズム(以降、分割アルゴリズ
ム)を考える時に、並列計算機のネットワーク・アーキ
テクチャの構造を考慮に入れなければならない。
【0005】この場合、並列計算機のネットワーク・ア
ーキテクチャの構造が様々であることから、効率のよい
プログラムを開発するためには、一般ユーザが、マシン
のアーキテクチャを十分に考慮する必要がある。
【0006】このようにして完成した並列アプリケーシ
ョン・プログラムでは、並列計算機のアーキテクチャが
進歩した場合、再度、改良されたアーキテクチャに合わ
せてプログラムを変更しなければならない。
【0007】従って、事実上は、並列アプリケーション
・プログラムは並列計算機のアーキテクチャの変化に追
いついて行けないであろう。これでは、適応性の高い並
列アプリケーション・プログラムの蓄積は望めない。
【0008】
【発明が解決しようとする課題】このような現状の環境
にもかかわらず、一部の先進ユーザは、アプリケーショ
ンの高速化を達成するために、アーキテクチャを十分に
考慮して高速化を行っている。
【0009】一方、並列計算機を普及させるには、一般
ユーザに分割アルゴリズムを意識させないで、並列アプ
リケーションを開発させる環境が必要である。それに
は、使い勝手だけを考えれば、ユーザが自分のN次元計
算モデルのイメージのままで並列アプリケーション・プ
ログラムの開発が出来ればよい。また、アプリケーショ
ンの高速化という観点では、先進ユーザの計算モデルに
対応したマッピングが必要になる。
【0010】そこで、アプリケーションによく見られる
データ参照パターンについて、ユーザに使いやすくか
つ、高速であるインターフェースが必要となる。本発明
は、このような要請に基づきなされたもので、並列計算
機において、ユーザが、並列計算機のアーキテクチャを
意識せずに、アプリケーションの開発あるいは運用を図
れるようにすることを課題とする。
【0011】
【課題を解決するための手段】本発明は、前記課題を解
決するため、複数のプロセッサの間で相互にデータ及び
情報を通信手段により転送することで各々のプロセッサ
が並列に処理を実行する並列計算機において、以下の構
成をとった。
【0012】図1の原理図に示したように、並列計算機
において、計算モデルを分割した計算ユニットと、並列
計算機のアーキテクチャである複数の物理プロセッサと
が、アドレス変換テーブルを介して、対応づけられる。
【0013】図1で、21は、ユーザが演算処理しよう
とするN次元計算モデルである。ここでは3次元モデル
であるが、任意のN次元(N=自然数)が可能である。
N次元計算モデルは、識別符号を有する複数の計算ユニ
ットに分割される。
【0014】また、23は、物理プロセッサ構成であ
る。ここでは、2次元に配列されている。複数の物理プ
ロセッサ(PE)には、識別符号が付与されている。2
5は、分割された複数の計算ユニットと、各プロセッサ
とを、識別符号により対応づけるアドレス変換テーブル
である。
【0015】ユーザが計算させようとする計算モデルは
様々であるが、適応する問題にはアプリケーション独特
のデータ参照パターンが存在していて、さらに計算モデ
ル構成が3次元以上の高次元であるものが多く、ネット
ワークアーキテクチャの構成と異なることが多い。前記
問題を解決するためには、これを反映させる必要があ
る。
【0016】これらを踏まえ、ユーザに、アーキテクチ
ャを意識させず、計算モデルのイメージのままで作業さ
せるためには、あたかも、物理プロセッサ構成がユーザ
の計算モデルと同じ構成をしているかのごとく、ユーザ
にイメージさせて、その空間(ユーザ空間)のイメージ
のままでプロセッサ間通信をさせるインターフェースを
定義しなければならない。このようなインターフェース
を実現するのが以上の構成である。
【0017】そして、このユーザ・インターフェースを
介して、分割した計算ユニットを、各プロセッサに任意
にマッピングする。マッピングとは、計算モデルを、ア
プリケーションプログラム上で並列に計算できる計算領
域の単位(ユニット)に分割したあとのプロセスであ
り、各ユニットを並列計算機上の、各プロセッサに割り
当てることをいう。ここで、前記単位(ユニット)は、
アプリケーションプログラムで並列に計算できる計算領
域の最小単位ユニットでもよいし、この最小単位ユニッ
トをいくつか集めたユニットブロックであってもよい。
【0018】本発明は、方法として、あるいは、ライブ
ラリ・プログラムとして、さらには、並列計算機自体と
してとらえることが可能である。まず、方法としてとら
えた場合、並列計算機において、ユーザが演算処理しよ
うとするN次元計算モデルを、前記複数のプロセッサで
並列処理する方法であり、前記N次元計算モデルを識別
符号を有する複数の計算ユニットに分割するステップ
と、前記分割した計算ユニットと各プロセッサとを対応
づけるステップとでユーザ・インタフェースを形成す
る。このインターフェースを介して、分割した計算ユニ
ットを、各プロセッサに任意にマッピングするステップ
を有する。その後、プロセッサ間通信を分割ユニットの
識別符号を用いて行う。
【0019】この方法をライブラリ・プログラムとした
場合、前記N次元計算モデルを識別符号を有する複数の
計算ユニットに分割する分割ルーチンと、分割した計算
ユニットの識別符号と前記各プロセッサに付与された識
別符号との対応関係をアドレス変換テーブル上に形成す
る管理ルーチンと、分割した計算ユニットを、各プロセ
ッサに任意にマッピングするマッピングルーチンと、を
備え、プロセッサ間通信を分割ユニットの識別符号を用
いて行うことを特徴とする並列計算機用通信ライブラリ
として実現できる。これを、従来のライブラリ群に加え
て、N次元サブルーチン・ライブラリとする。
【0020】このようなライブラリの実行により、並列
計算機において、前記N次元計算モデルを識別符号を有
する複数の計算ユニットに分割する計算モデル分割部
と、前記複数の各プロセッサに識別符号をつけておき、
分割した計算ユニットと各プロセッサとの対応関係をア
ドレス変換テーブル上に形成する管理部と、分割した計
算ユニットを、各プロセッサに任意にマッピングするマ
ッピング部と、が実現される。
【0021】以上において、計算モデルに対応した最適
なマッピングを行う必要がある。最適なマッピングと
は、アプリケーションのデータ参照パターンに対し、高
速化という観点で最も効率的なプロセッサ間通信を実現
するものである。
【0022】本来、ユーザ空間から、プロセッサ空間へ
のマッピング作業は、自動的に最適な形が選ばれるのが
理想的である。しかし、アプリケーション独自のデータ
参照パターンは、ユーザしか知らないもので、これまで
多くの並列計算機システムでは、満足のいくマッピング
を行ってはいなかった。また、最適なマッピング手法自
体分からない部分が多い。そこで、本発明では、まず各
通信パターンに対応した、最適なマッピング規則を見つ
けることに目標をおいた。そのためには、ユーザが自由
にマッピング規則を操作できるものが必要になる。
【0023】前記で説明した構成は、このような要請に
応えるユーザ・インターフェースを提供する。マッピン
グに当たっては、通信の高速化の観点から、ネットワー
クアーキテクチャに加え、新たにアプリケーションのデ
ータ参照関係を考慮する必要がある。そこで、マッピン
グの決定という問題を前述のように通信の高速化問題と
してとらえ、通信時間の評価関数を設定し、通信の最小
化を図ることとした。
【0024】通信時間の最小化のアルゴリズムとして、
焼き鈍し法(アニーリング)を採用することで並列計算
機上の通信時間が最小となるようにするとよい。代表的
なデータ参照関係の場合は、この最適化問題をユーザが
解くことなく、最小な時間で、最適なマッピング情報を
得られるようにするとよい。
【0025】代表的なデータ参照関係とは、最近接参
照、近接参照、全対全、等これまで経験的にアプリケー
ションプログラムに見られたものである。ユーザ固有の
データ参照関係の場合は、予め最適化問題を解き、最適
マッピング情報データベースにこれを登録することで、
代表的なデータ参照関係の場合と同様に、アプリケーシ
ョンプログラムの中からデータベースにアクセスするだ
けで最適なマッピングを得られるようにするとよい。
【0026】ユーザ固有のデータ参照関係とは、ユーザ
にきわめて強く依存したもので、前記したデータ参照パ
ターン以外の汎用性にとぼしいものである。例えば、”
2つ飛び”、とか、”ある領域のみ”とかいった極めて
まれなデータ参照パターンである。
【0027】最適マッピング情報データベースシステム
の作成にあたっては、データの参照関係、計算ユニット
単位のプロセッサ間データ量、プロセッサ台数を定義
し、マッピングの最適化手法により、マッピング情報を
データベース出力する。
【0028】データベースが構築されると、その後は、
並列処理に当たって、このデータベースを参照し、計算
モデルにふさわしいマッピングを選択して、処理を遂行
する。
【0029】
【作用】本発明では、前記図1のような、ユーザ・イン
ターフェースを提供し、ユーザが分割したN次元モデル
の計算ユニットと、物理プロセッサに識別符号をつけて
おき、その対応をアドレス変換テーブルでもつので、こ
れにユーザがアクセスするだけで、自由にマッピング操
作をすることが可能になる。
【0030】その後は、プロセッサ間通信はユーザが分
割ユニットの識別符号を用いて行うことが出来る。これ
で、ユーザ空間での作業が実現し、N次元計算モデルに
応じてマッピングを自由に操作できるようになる。
【0031】
【実施例】以下、本発明の好適具体例を図を参照して説
明する。実施例では、並列計算機AP1000を対象に
行った研究について、このユーザ・インターフェース実
現の方法を述べるとともに、典型的なデータ参照パター
ンについての、最適なマッピング方法について述べる。 <AP1000について>まず、並列計算機AP100
0を、図2、図3に従って説明する。
【0032】AP1000は、各プロセッサが、2次元
トーラス状に接続されているMIMD(Multi Instruct
ion stream Multi Data stream)型の並列コンピュータ
である。特徴として、3つの通信ネットワークを装備し
ていて、プロセッサ(PE)間の通信はトーラスネット
ワークを用いる。PE間通信の最適化にあったては、ネ
ットワークの特性を考慮しなければならない。
【0033】図2にAP1000のアーキテクチャ構成
図を示す。AP1000は、1対1の通信に使用するト
ーラス・ネットワーク31(Torus network)(以下、
T-net という)、1対多の通信に使用する放送ネット
ワーク33(Broadcast network)(以下、B-net とい
う)、バリア同期専用の同期ネットワーク35(Synchr
onization network)(以下、S-net という)の3種の
独立した通信ネットワークをもつ。
【0034】T-net はその2次元格子点にルーチング
・コントローラ37(RTC)を有し、B-net は複数
の放送ネットワーク・インターフェース39(BIF)
を有している。T-net のRTC37とB-net のBIF
39とは4対1の関係でそれぞれバスで接続され、各バ
ス上に、それぞれセル・プロセッサ41(以下、単にセ
ルという)が設けられている。その内にいくつかには、
オプション構成として、フレーム・バッファ43と、ハ
ード・ディスク45とが接続されている。また、フレー
ム・バッファ43にモニタ47が接続されている。
【0035】前記B-net の各BIF39は、S-net3
5に一括して接続されている。また、BIFの一つにホ
ストコンピュータ49が接続されている。この結果、全
セル41とホスト49は、B-netによって接続される。
【0036】B-netは、階層バスとリングを組み合わせ
たネットワークで、データ放送、分散、収集に使用す
る。B-netは、データ転送中は一つのセルまたはホスト
に占有されるので、データ転送を行いたいホストまたは
セルは、データ転送を行う前にB-netの使用要求を出し
使用権を獲得する。B-netは、32−bitのデータパ
スとリセット、割込みなどの制御信号から構成されてお
り、パイプライン化されたハンドシェーク制御によっ
て、50MByte/sのデータ転送レートをもつ。
【0037】T-netは、2次元トーラス状のトポロジー
をもつネットワークでメッセージの中継は、ワームホー
ルルーチングによりハードウェアで自動的に行われる。
ワームホールルーチングでは、メッセージのヘッダが、
入力チャネルから出力チャネルへ中継ルートを作りなが
らメッセージを送り出す。ストアアンドフォワードルー
チングが、中継プロセッサがメッセージ全体をストアす
るのに対し、ワームホールルーチングではフリットと呼
ばれる数バイト(ビット、AP1000では16ビッ
ト)のデータのみが中継プロセッサにストアされるた
め、低レイテンシが実現できる。
【0038】このように、ワームホールルーチングは、
通信の遅延時間(レイテンシ:ltency)が小さいという
特長をもつが、メッセージが通信チャネルをブロックす
るためデッドロック発生の可能性とスループットの低下
という問題がある。AP1000のT-netでは、ワーム
ホールルーチングに構造化バッファプールアルゴリズム
を組み合わせることによりデッドロックを回避しスルー
プットの低下を抑えた。また、放送通信のレイテンシを
小さくするため、行または列への放送機能も同時にイン
プリメントした。T-netのそれぞれのポートは、16b
it幅のデータパスをもち、B-netと同じようにパイプ
ライン化されたハンドシェーク制御により、25MBy
te/sのデータ転送レートをもつ。
【0039】全セルとホストは、S-netによっても接続
されている。S-netは、ツリー状のトポロジーをもち、
バリア同期とステータスの検出に使用される。各セルか
らのデータは、S-netの根の部分に向かって送られる。
S-netの各ノードでは、各セルからのデータがAND演
算によってマージされる。全セルの出力したデータの理
論積がS-netの根の部分で得られる。得られた結果は、
今度はS-netを逆に進んで全セルに知らされる。各セル
がS-netに送り出したデータの結果が得られるまでの時
間は、8クロック(640ns)とセル数に関係なく一
定である。
【0040】ホストコンピュータには、汎用ワークステ
ーションを使用している。AP1000のホストインタ
ーフェースは、ホストコンピュータに実装するVMEバ
スインターフェースボードとAP1000フレーム内に
実装されるホストインターフェースボードから構成され
る。ホストインターフェースボードには、B-netインタ
ーフェースと32MByteのローカルメモリが実装さ
れ、メッセージバッファとして利用できる。
【0041】図3に前記セルの構成を示す。個々のセル
は、整数演算ユニット51(IU)、不動小数点演算ユ
ニット53(FPU)、メッセージコントローラ55
(MSC)、ルーチングコントローラ57(RTC)、
B-netインターフェース59(BIF)、16MByt
eのメインメモリ(DRAM)61から構成される。I
UとFPUは、128KByteのダイレクトマップキ
ャシュメモリ63に接続され、25MHzで動作する。
IUには、SPARCアーキテクチャのものを採用し
た。RTCには、2次元トーラスネットワーク上での自
動ルーチング機能を、BIFには、データ分散収集及び
バリア同期機能をインプリメントした。MSC,RT
C,BIF,とDRAMコントローラ65(DRAM
C)は,LBUSとよばれる32bitの内部バスで接
続される。個々のセルのLBUSは、コネクタを介して
外部に取り出されており、高速I/Oインターフェー
ス、拡張メモリ、ディスクインターフェース、ベクター
プロセッサ等の個々のオプション・ハードウェアが接続
できるようになっている。
【0042】メインメモリは4重インタリーブでDRA
Mを制御するDRAMCと、40個の4M−DRAMで
構成される。MSCはキャッシュコントローラ、ライン
センド(Line sending)とバッファレシーブと呼ばれる
1対のメッセージハンドラー、4チャンネルの高機能D
MAコントローラから構成される。
【0043】本実施例では、このような構成のアーキテ
クチャ上に、図4のような、前記N次元計算モデルを識
別符号を有する複数の計算ユニットに分割する計算モデ
ル分割部71と、前記複数の各プロセッサに識別符号を
つけておき分割した計算ユニットと各プロセッサとの対
応関係をアドレス変換テーブル上に形成する管理部73
と、分割した計算ユニットを、各プロセッサに任意にマ
ッピングするマッピング部75と、が実現される。そし
て、マッピング部75で得られた最適マッピング情報は
データベース部77に出力される。このデータベース部
77は、図2のハードディスク45上に設けられる。以
後は、このデータベース部77を管理部73を介して参
照し、アドレス変換テーブルを構成して、並列計算を行
う。
【0044】ところで、ユーザ空間の重要性、また、そ
のユーザ空間からの自由なユーザ・マッピングの必要性
は前記したところであるが、このような要請に応えるイ
ンターフェースをAP1000上に実現した。
【0045】実現方法の概要は、図4で示したように、
最初に、ユーザが分割したN次元モデルの計算ユニット
と、物理プロセッサに識別符号をつけておき、その対応
をアドレス変換テーブルでもつ方法である。すると、こ
れにユーザがアクセスするだけで、自由にマッピング操
作をすることが可能になる。その後は、プロセッサ間通
信はユーザが分割ユニットの識別符号を用いて行うこと
が出来る。これで、ユーザ空間での作業が実現し、N次
元計算モデルに応じてマッピングを自由に操作できるよ
うになる。これを、従来のライブラリ群に加えて、図5
で示したようなN次元サブルーチン・ライブラリとして
拡張、実現した。
【0046】より詳細には、使用するプロセッサ数を宣
言するステップ、宣言したプロセッサの数の範囲内の数
=Nn に計算モデルを計算ユニットへと分割するステッ
プ、分割した計算ユニットに識別符号を付与するステッ
プ、使用するプロセッサに識別符号を付与するステッ
プ、計算ユニットに付与された識別符号と、プロセッサ
に付与された識別符号とを対応づけて管理テーブルに登
録するステップとによりユーザ・インターフェースが構
築される。なお、分割された計算ユニットと、プロセッ
サに付与される識別符号は、1、2、3・・・というよ
うな通し番号が管理上好ましい。
【0047】<処理の流れ>最適マッピングをするため
には、図6のように、まず、計算モデルについての情報
を入力する必要がある。すなわち、データの参照関係
(データ参照パターンともいう)、計算ユニット単位の
プロセッサ間データ量、プロセッサ台数を定義する(ス
テップA1)。
【0048】そして、マッピングの最適化手法により、
最適マッピングを得る(ステップA2)。マッピングの
最適化手法については後記する。得られたマッピング情
報をデータベース出力する(ステップA3)。
【0049】<アプリケーションプログラムでの使用例
>データベースが構築されると、その後は、アプリケー
ションプログラムなどにおいて計算モデルの並列処理に
当たって、以下のような処理が行われる。まず、図7で
示したように、ユニット分割次元数とマッピングテーブ
ルの入力が行われる(ステップB1)。ここで、マッピ
ングテーブルの入力とは、前記したユーザ・インターフ
ェースの構築である。次に、最適マッピング情報データ
ベースにアクセスして、計算すべき計算モデルにふさわ
しい最適マッピング情報を読み出し、システム環境を設
定する(ステップB2)。ここでは、図4のアドレス変
換テーブル25上にマッピング・テーブルが構築され
る。
【0050】この処理が終了すると、ユニット分割次元
上での通信を行いつつ、並列的に処理が行われる。 <計算モデルに対応したマッピング>では、最適なマッ
ピングを得る方法について説明する。
【0051】マッピングは、図8に示したように、デー
タを任意のN次元に分割したあと、これを最適にプロセ
ッサに割り当てることである。図9は、2次元に分割す
べきか、3次元に分割すべきか、マッピングとしてパタ
ーン1がよいのかパターン2がよいのかという検討すべ
きことを示している。
【0052】マッピングに当たって考慮すべきことは、
データ参照パターン、計算モデルの次元数、通信コスト
の評価関数である。 「データ参照パターン」データ参照パターンと通信と計
算のバランスを考慮して、分割の仕方が決定される。
【0053】マッピングの前提としてデータ分割が問題
となるが、考慮すべきことは、分割によって分割ユニッ
ト間での通信がどうなるかということと、ユニット内の
計算量を他ユニットとの通信量とのバランスである。
【0054】例えば、あるLattice sizeの立体格子モデ
ルがあり、これを分割して各セル(プロセッサ)に割り
当てるとき、データ参照パターンが最近接(±X方向、
±Y方向、±Z方向の合わせて6方向を参照する)であ
るとしたら、AP1000は2次元トーラス構造なの
で、マッピングの容易性を考えて図10(A)のように
分割する。これを2次元分割という。ところが、このよ
うな分割では問題がある。すなわち、2次元分割では、
図11(A)のように、通信方向が4方向となり、立体
モデルで表面積を通信量、体積を計算量と見るとき、分
割数が増えていくと、すなわち、セル(プロセッサ)台
数を増やしていくと、計算量に対して通信量の占める割
合が増してゆく。
【0055】そこで、図10(B)のような分割方法を
考慮してみた。これを3次元分割という。3次元分割で
は、図11(B)のように、通信方向が6方向となり、
最近接のデータ参照パターンに対応できる。このため、
通信量の占める割合が2次元分割に比較して少なくな
る。しかし、マッピングの仕方が難しくなる。
【0056】以上をまとめると、単位通信方向の通信量
の占める割合を計算量に対して減らすために、分割の方
法を考え、分割によって発生した通信パターンを考慮に
いれマッピングの容易さを考慮するということである。
【0057】ところで、データ参照パターンは、アプリ
ケーションによってさまざまである。最初から全ての場
合について考えるのは無理であろう。そこで、図9のよ
うに、アプリケーションによく見られるデータ参照パタ
ーンによって分類してみることにする。 最近接格子:自分のデータ更新に必要なデータを最も
近い隣の格子点から参照する必要がある格子である。±
X方向、±Y方向、±Z方向の合わせて6方向を参照す
る。
【0058】応用例として、構造解析、熱伝動、流体解
析(有限要素法、中心差分)、物性(イジングスピ
ン)、MD(モデキュラーダイナミクス)などの計算に
利用できる。 近接格子:自分のデータの更新に必要なデータを近く
で隣合っている(最近接+斜め方向の)格子点から参照
する必要がある格子をいう。±X方向、±Y方向、±Z
方向の合わせて6方向に加えて、±ZX方向、±YZ方
向、±XY方向の合わせて6方向、合計12方向を参照
する。
【0059】応用例として、QCD(Quantum chromody
namics:量子色力学)などに利用できる。 N対N:データの更新に全ての格子点を参照する必要
があるもので、応用例として、希薄流体の粒子追跡など
に利用できる。希薄流体の粒子を追跡するとき、どの領
域に粒子が行くか分からないので、全ての分割領域を参
照する必要がある。 完全独立:通信が無い場合である。この場合、計算が
並列計算機の全てのプロセッサ(PE)で独立に行える
場合である。
【0060】以上の各場合と、分割すべき次数との関係
を図9に示す。以上のデータ参照パターンの相違により
本発明でどのような影響があるかを、前記3次元分割の
場合を例にととって説明する。
【0061】最近接のとき:3次元分割によって各ユニ
ットには6方向の通信が発生する。これを2次元のセル
(プロセッサ)へマッピングするのであるが、2次元セ
ルには4方向の通信経路しか存在しない。AP1000
では、セル間の距離に通信時間は依存しないのが建て前
であるが、メッセージの競合を避けるためには互いに通
信すべきユニットはできるだけ近くに置きたい。そこ
で、4方向を隣に置けるが、残りの2方向をどのように
処理するかが問題となる。
【0062】近接(斜め方向も含む)のとき:この場
合、ユニットが計算に必要とする方向が増えるのでその
分、マッピングの仕方に影響がでる。 N対Nの場合:この場合は、データの更新に全ての計算
単位の参照が必要な場合であるから、その点を考慮する
必要がある。この場合、分割によって膨大な通信量が発
生するのでマッピングには近接と異なる考え方を導入す
る必要がある。 「計算モデルの次元数とマッピング」データの参照は、
問題が何次元であるかによっても考え方が異なってく
る。例えば図10、図11の様に、データ参照が最近接
方向で2次元の計算モデルを、AP1000のような2
次元トーラスにマッピングする場合は、そのままマッピ
ングすればいいが、3次元の計算モデルの場合だと、途
中で変換が必要になる。計算モデルの次元が増える程、
各計算ユニットが通信する方向は増えてゆき、高次元の
計算モデルになるにつれて、難しくなることが想像され
る。例えば、3次元の最近接格子の場合は通信方向が6
方向で、4次元だと8方向である。これを2次元にマッ
ピングするには、残りの方向に当たる部分をどこかに持
ってゆかなければならない。
【0063】実施例では、AP1000(2次元トーラ
ス)での3次元の最近接格子の通信の最適化問題を考え
ることとした。これは、アプリケーションで最も応用範
囲の広いケースである。 「通信コストの評価関数」一般的に、並列計算機で通信
コスト(時間)の削減を考える時に、通信回数、通信
量、通信の混み方、プロセッサ(PE)間距離を考えね
ばならない。どれが、どのくらい通信コストに、効いて
くるかの比率は、その並列計算機のアーキテクチャに大
きく依存している。AP1000の場合は、プロセッサ
間通信コストは、図12、図13に示されるように、プ
ロセッサ(PE)間の距離にはあまり依存せず、通信の
混み方に大きく依存している。
【0064】しかし、通信が混んでくると、むしろ通信
距離ができるだけ少ない方が、通信の衝突も起こりにく
く混み方が少なくなり、通信コストが最小に近い値が得
られるだろうと仮定した。
【0065】このことは、図14のAP1000のネッ
トワーク特性からも想定できる。図14の実験は、全て
のセルが同じ方向、同じ距離だけ離れたセルに一斉に送
信した場合メッセージの発信から受信までどれくらいか
かるか?という実験である(メッセージの交換ではな
い)。これは32×16セルなのでトーラスの効用で最
大送信距離(X,Y)は図から明かなように24とな
る。この結果から、データが大きくなり、経路上でメッ
セージの引きずりが起こるとき距離に対してリニアに通
信時間が上がるように見える。そこで、これを確認する
ために、評価関数として各プロセッサ間の距離の総和L
を導入した。マッピングは、この距離の総和Lが最小と
なるように行う。AP1000について、距離の総和と
通信速度との関係を調べたところ、図15のように、距
離の総和が小さいほど、通信速度が速いことがわかっ
た。 「マッピング」実施例では、サンプルとして、33の物
理体系を82の2次元ネットワーク構成の計算機に、43
を82にマッピングする場合について考える。しかし、
全ての組み合せはそれぞれ、1048通り、1090通り存
在するため、これら全てを調べるのは無理である。そこ
で、経験的に規則的な並びを考える方法と、シミュレー
ションにより求める方法を行った。 *経験的マッピング 3次元の計算ユニットの、6つの通信方法全てに対し均
等な通信コストは考えにくいので、まず、ある方向を優
先的に隣になるようにおき、残りの方向についてなるべ
く近く、規則的になるように置くことを考えた。
【0066】XYZ各方向に対して、立体的に分割し、
それをマッピングするモデルを考える。図16は33
2にマッピングした場合であり、図17は43を82
マッピングした場合である。図16、図17に於いて、
Aのマッピング方法(スキップ法という)は、ZX平面
で4つに切っておき、Y方向の各計算ユニットが正方形
で隣合うように並べる方法で、ZX方向の通信がひとつ
飛びに並ぶ恰好になる。しかし、Y方向が隣合う為に
は、ZX平面を4つに分割しなければならない。
【0067】より具体的には、(a)3次元計算モデル
において、X方向、Y方向、Z方向の計算単位をVC
X、VCY、VCZと定義し、X方向、Y方向、Z方向
の分割数をVX、VY、VZと定義する。同時に、マッ
ピング対象となる2次元物理プロセッサにおいて、X方
向物理プロセッサ台数、Y方向物理プロセッサ台数をそ
れぞれPCX、PCYと定義するとともに、X方向、Y
方向に分割した分割数をそれぞれPX、PYと定義して
物理プロセッサをグループ化する。
【0068】そして、(b)3次元計算モデルをVX=
PCX/2、VY=PCY/2、VZ=0に分割し、こ
の分割によって出来た直方体ユニットをメインユニット
と呼び、各分割単位に通し番号(メインユニット番号)
を付与し、さらにこのメインユニットをZ軸方向に4つ
に分割し、この結果できたユニットをサブユニットと呼
んで、各分割単位に通し番号(サブユニット番号)を付
与し、同時に、2次元物理プロセッサにおいて、PX=
PCX/2、PY=PCY/2に分割してプロセッサを
グループ化し、各分割単位に通し番号(グループ番号)
を付与する。
【0069】さらに、(c)3次元モデルのメインユニ
ット番号と同一番号のグループ番号を有する物理プロセ
ッサのグループに、図18のように、サブユニット番号
0から3を、0と1、1と2、2と3、3と0とが隣接
するように分配してマッピングする。図16、図17に
於いて、Bのマッピング方法(タイル法という)は、Z
X平面でスライスしたものを順番に置いていったもので
ある。これで、ZX方向が隣合いY方向が均等(スライ
ス数分離れる)に並ぶ。
【0070】より具体的には、(a)3次元計算モデル
において、X方向、Y方向、Z方向の計算単位をVC
X、VCY、VCZと定義し、X方向、Y方向、Z方向
の分割数をVX、VY、VZと定義する。同時に、マッ
ピング対象となる2次元物理プロセッサにおいて、X方
向物理プロセッサ台数、Y方向物理プロセッサ台数をそ
れぞれPCX、PCYと定義するとともに、X方向、Y
方向に分割した分割数をそれぞれPX、PYと定義して
物理プロセッサをグループ化することを前提とする。
【0071】そして、(b)3次元計算モデルをVX=
0、VY=0、VZ=VCZに分割し、この分割によっ
て出来た直方体ユニットをメインユニットと呼び、各分
割単位に通し番号(メインユニット番号)を付与し、こ
のメインユニットのX方向計算単位数、Y方向計算単位
数をvx、vyとする。同時に、2次元物理プロセッサ
において、PX=PCX/vx、PY=PCY/vyに
分割してプロセッサをグループ化し、各分割単位に通し
番号(グループ番号)を付与する。
【0072】さらに、(c)vx=PX、vy=PYの
位置に対応して、図19のように、メインユニットを2
次元物理プロセッサのX方向に通し番号順に配置し、そ
のライン上でのX方向の端部物理プロセッサに来たら、
Y方向へ移行し、今度はメインユニットを逆のX方向に
通し番号順に配置し、再度X方向の端部物理プロセッサ
に来たら、Y方向へ移行し、以後、以上の蛇行によるマ
ッピングを繰り返す。 *シミュレーションによるマッピング 次に、シミュレーションによって最適なマッピングを求
めようという方法を用いた。つまり、今回のマッピング
の問題を距離の総和を最小化する組合わせの最適化問題
として考えた。
【0073】マッピングによる通信コストは、すべての
最近接間格子間の距離の総和にほかならないとした。方
法は、初期状態としてランダムにマッピングしておき、
経路の総和を求めておく。図20のように、どこか一組
を取り替えてみて、経路の総和が減ったら交換を採用す
る。交換を繰り返していき、総和の変化が少なくなった
状態を近似解として採用する方法である。
【0074】具体的には、隣接格子点PiPjがそれぞ
れ2次元格子点上のある点(Xi,Yi)(Xj,Y
j)にマッピングされたとする。PiPjの距離lij
は lij=|Xi−Xj|+|Yi−Yj| よって評価関数は、L=Σlijになりこれが最小にな
った時の、マッピング状態を最適なものと近似する。
(最小なのは全ての格子点が一つになったときである
が、交換で格子点が重なることは考えない)ところが、
このような緩和法には、局所的最小の存在が確認されて
おり、△Lが最小だからといって必ずしも、通信コスト
が最小であるとは限らない。 *アニーリング法 そこで、組合わせの最適化の近似解法として、カークパ
トリックら(S.Kirkpatrick et a
l.1983)によって提案された、シミュレーテドアニー
リング法(simulated annealing
method)[4]を用いた。これは、評価関数をよ
り小さくするように変化させていく過程に、局所的最小
を脱出するような確率を導入した方法である。その確率
をω、目安をT(確率を決定するパラメータ)とする。
【0075】 ω(△L)=exp(−△L/T),△L>0 ω(△L)=1 ,△L<0 △L=L(交換前)−L(交換後):距離の変化 T(確率を決定するパラメータ)を段々下げてゆく(確
率を下げてゆく)と評価関数が最小に近くなる。Tの下
げかた(アニーリング・スケジュール)は、ギーマン兄
弟(S.Geman and D.Geman 1984)
による、 T(t)=B/ln t T(t)→0 (t→無限大)とした。
【0076】B:評価関数の障壁の高さ 図21に、アニーリング法のアルゴリズムを示す。すな
わち、初期マップ位置を決定した後(ステップ10
1)、マップ位置を変化させ(ステップ102)、
長さの変化(前記距離の総和の変化)△Lを算出し(ス
テップ103)、△L<0のとき、前記マップ位置の
変更を採用し(ステップ104、105)、△L<0
でないとき、乱数X(0<X<1)を引き出し(ステッ
プ106)、exp(−△L/T)を演算し(Tは確立
を決める目安となるパラメータであり、例えば自然数を
代入できる)(ステップ107)、exp(−△L/
T)<Xのとき、マップ位置の変更を採用せず(ステッ
プ108)、exp(−△L/T)<Xでないとき、
マップ位置の変更を採用することとし(ステップ10
5)、以上からの処理を、前記Tの値を減少させて
(ステップ109)繰り返すことにより、最終的に最適
なマッピングを得ることができる。からまでの繰返
し回数は、経験則から、100万回程度で行うと、Lが
十分に下がることがわかった。よって、ループの繰返し
回数を予め入力して最適なLを求めることができる。な
お、前記が一定回数連続して繰り返されたとき、前記
処理ループを中断させるブレークポイントを設けてもよ
い。
【0077】このアニーリング法でどのように通信時間
が減るかを、図22に示す。 <結果>このアニーリングによって得られた、マッピン
グ結果、33→82の場合を図23、43→82の場合を図
26に示す。 (図中の番号はXYZ各座標を表す)同時に、前記した
経験マッピングのAパターン方法(スキップ法)、Bパ
ターン方法(タイル法)についてもマッピング結果を得
た。33→82の場合をそれぞれ図24、図25、43
2の場合をそれぞれ図27、図28に示す。 <マッピングの評価>図29に示したように、シミュレ
ーションで、得られたマッピングと経験的に得られたマ
ッピングとを距離の総和(L)で比較してみた。
【0078】33→82の場合は、経験的に得られたマッ
ピングより、本手法でのマッピングの方が距離の総和が
少なく良い結果が得られた。ただし、最良なマッピング
であるとは限らない。43→82の場合は、経験的に得ら
れたマッピングと同程度の結果が得られた。 <データベースへの格納>以上のマッピングで得られた
最適マッピングに関する情報は、図30のようなファイ
ル形式でデータベースに登録される。
【0079】このデータベースがどのように使用される
かは、前記したように、図7で示した通りである。 <結論>評価関数として距離をとり、3次元格子の最近
接参照モデルを2次元のトーラス・ネットワークにマッ
ピングする時、アニーリング法を用いる事で、結果を比
較的容易に経験的マッピングより良い結果が得られる場
合があることを示した。今後、評価関数を正確化し改良
することで、経験的手法が働かないような、高次元の問
題のマッピングを考えるのに有効と考えられる。
【0080】なお、本実施例は、AP1000について
行ったが、本発明により前記ユーザ・インターフェース
を実現できる並列計算機であれば、他の並列計算機でも
本発明を実施できることはいうまでもない。 <マッピング最適化の並列処理>図31に、以上説明し
たマッピングの最適化を並列処理で行った場合の例を示
した。
【0081】ここでは説明を簡単にするため、2台のプ
ロセッサで並列処理を行ったものとする。まず、親プロ
セッサがマップ位置等の初期値を子プロセッサに放送す
る(ステップ101−1)。また、親プロセッサでは、
障壁サンプルの設定を行い(ステップ206)、障壁B
を子プロセッサに送信する(ステップ207)。このス
テップ206、207を繰返し、最終フラグを子プロセ
ッサに送信する(ステップ208)。最終フラグとは以
下のループを行うか行わないかのフラグである。
【0082】子プロセッサでは、初期値を受信して初期
設定を行う(ステップ101−2)。ついで、前記障壁
Bを受信し(ステップ201)、マップ位置を変化させ
る(ステップ102)。ついで、長さの変化(前記距離
の総和の変化)△Lを算出する(ステップ103)。△
L<0のとき、前記マップ位置の変更を採用する(ステ
ップ104、105)。△L<0でないとき、乱数X
(0<X<1)を引き出し(ステップ106)、exp
(−△L/T)を演算する(Tは確立を決める目安とな
るパラメータで、例えば自然数を代入できる)(ステッ
プ107)。exp(−△L/T)<Xのとき、マップ
位置の変更を採用しない(ステップ108)。exp
(−△L/T)<Xでないとき、マップ位置の変更を採
用する(ステップ105)。その後、Tの値を減少させ
(ステップ109)、減少率が十分低いか否かを判定し
(ステップ203)、目標値に達していない場合、ステ
ップ201から109までの処理を繰り返す。
【0083】ステップ201で最終フラグを受信した場
合は、ステップ102から202の処理を飛ばして、全
サンプル中での最小値を計算する(ステップ203)。
そして、全サンプル中で「PE間距離の総和」が最小で
あるか否かを判定し(ステップ204)、全プロセッサ
の中で最小であればその結果を親プロセッサに送信する
(ステップ205)。親プロセッサでは、最小マッピン
グの出力をして(ステップ210)、処理を終了する。
なお、子プロセッサのステップ204で全サンプル中で
最小でないとされた場合、結果は親プロセッサに送信せ
ず、処理を終了する。ここで、全サンプルとは、全セル
でのそれぞれのサンプル、すなわち、あるセルでの評価
関数が最小となったマッピングパターンである。
【0084】この並列化処理により、マッピングの最適
化が高速で行われる。
【0085】
【発明の効果】本発明では、ユーザ空間において、並列
計算機のアーキテクチャを意識することなく最適なマッ
ピングをすることができる。よって、並列処置の高速化
を簡単に実現できる。
【図面の簡単な説明】
【図1】 本発明で構成されるユーザ・インターフェー
スを示す概念図
【図2】 実施例で使用した並列計算機のアーキテクチ
ャを示す構成図
【図3】 実施例のセル構成図を示した構成図
【図4】 インターフェースと本発明の機能ブロックと
の関係を示した図
【図5】 ライブラリプログラムの一部を示した図
【図6】 本実施例における処理フロー図
【図7】 得られたデータベースの使用例を示す処理フ
ロー図
【図8】 データ分割とマッピングパターン選択の考え
方を示した図
【図9】 データ参照パターンと分割次元数との関係を
示す図
【図10】 データ分割・マッピングの関係の一例を示
した図
【図11】 データ分割・マッピングの関係の一例を示
した図
【図12】 AP1000におけるPE間距離対通信時
間を示す図
【図13】 AP1000における通信コンテンション
対通信時間を示す図
【図14】 AP1000における距離と時間との関係
を示す図
【図15】 AP1000における距離の総和と通信時
間との関係を示す図
【図16】 33を82にマッピングした場合を示す図
【図17】 43を82にマッピングした場合を示す図
【図18】 マッピング例を示す図
【図19】 マッピング例を示す図
【図20】 最適マッピングの検索例を示す図
【図21】 シュミレーテド・アニーリング法のアルゴ
リズムを示す図
【図22】 評価関数(距離)による通信時間の差を示
す図
【図23】 33を82にアニーリング法でマッピングし
た場合の具体的結果を示す図
【図24】 33を82にスキップ法でマッピングした場
合の具体的結果を示す図
【図25】 33を82にタイル法でマッピングした場合
の具体的結果を示す図
【図26】 43を82にアニーリング法でマッピングし
た場合の具体的結果を示す図
【図27】 43を82にスキップ法でマッピングした場
合の具体的結果を示す図
【図28】 43を82にタイル法でマッピングした場合
の具体的結果を示す図
【図29】 マッピングの手法による評価関数と実測の
通信時間との関係を示した図
【図30】 最適マッピング情報データベースのファイ
ル形式を示した図
【図31】 マッピングの最適化を並列処理で行った場
合のフローチャート図
【符号の説明】
21・・・N次元計算モデル 23PE・・・物理プロセッサ 25・・・アドレス変換テーブル 31・・・トーラス・ネットワーク 33・・・放送ネットワーク 35・・・同期ネットワーク 37・・・ルーチング・コントローラ 39・・・放送ネットワーク・インターフェース 41・・・セル・プロセッサ 41・・・全セル 43・・・フレーム・バッファ 45・・・ハード・ディスク 47・・・モニタ 49・・・ホストコンピュータ 51・・・整数演算ユニット 53・・・不動小数点演算ユニット 55・・・メッセージコントローラ 57・・・ルーチングコントローラ 59・・・インターフェース 63・・・ダイレクトマップキャシュメモリ 65・・・DRAMコントローラ 71・・・計算モデル分割部 73・・・管理部 75・・・マッピング部 L・・・距離の総和
───────────────────────────────────────────────────── フロントページの続き (72)発明者 奥田 基 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (31)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサの間で相互にデータ及
    び情報を通信手段により転送することで各々のプロセッ
    サが並列に処理を実行する並列計算機において、ユーザ
    が演算処理しようとするN次元計算モデルを、前記複数
    のプロセッサで並列処理する方法であり、 前記N次元計算モデルを識別符号を有する複数の計算ユ
    ニットに分割するステップと、 前記分割した計算ユニットと各プロセッサとを対応づけ
    るステップと、 でユーザ・インターフェースを形成し、 このユーザ・インターフェースを介して、分割した計算
    ユニットを、各プロセッサに任意にマッピングするステ
    ップを有し、 その後、プロセッサ間通信を分割ユニットの識別符号を
    用いて行うことを特徴とする並列計算機における計算モ
    デルのマッピング法。
  2. 【請求項2】 請求項1において、通信コストの評価関
    数として、プロセッサ間の距離の総和Lを用い、前記マ
    ッピングは、この距離の総和Lが最小となるように行う
    ことを特徴とする並列計算機における計算モデルのマッ
    ピング法。
  3. 【請求項3】 請求項2において、分割ユニットの隣接
    格子点Pi、Pjが、それぞれ、2次元格子点上のある
    点(Xi、Yi)(Xj、Yj)にマッピングされると
    き、 Pi、Pj間の距離lijは、|Xi−Xj|+|Yi
    −Yj|と表され、 前記評価関数L=Σlijとし、これが最小となったと
    きのマッピングを最適なものとして採用することを特徴
    とする並列計算機における計算モデルのマッピング法。
  4. 【請求項4】 請求項2または3において、初期マップ
    位置を決定した後、マップ位置を変化させ、長さの
    変化(前記距離の総和の変化)△Lを算出し、△L<
    0のとき、前記マップ位置の変更を採用し、△L<0
    でないとき、乱数X(0<X<1)を引き出してexp
    (−△L/T)を演算し(Tは確立を決める目安となる
    パラメータ)、exp(−△L/T)<Xのとき、マ
    ップ位置の変更を採用せず、exp(−△L/T)<
    Xでないとき、マップ位置の変更を採用することとし、
    以上からの処理を、前記Tの値を減少させて繰り返
    すことを特徴とする並列計算機における計算モデルのマ
    ッピング法。
  5. 【請求項5】 請求項1において、前記マッピングは、
    3次元計算モデルを、XYZ方向の3方向の計算ユニッ
    トに立体的に分割し、それらを2次元に配列されたプロ
    セッサにマッピングする場合であり、 前記3次元計算モデルをZX平面でn個の計算ユニット
    に分割しておき、前記2次元において、Y方向の各計算
    ユニットが正方形で隣合うようにし、ZX方向の計算ユ
    ニットを一つ飛びに並べることを特徴とする並列計算機
    における計算モデルのマッピング法。
  6. 【請求項6】 請求項5において、(a)3次元計算モ
    デルにおいて、X方向、Y方向、Z方向の計算単位をV
    CX、VCY、VCZと定義し、X方向、Y方向、Z方
    向の分割数をVX、VY、VZと定義するとともに、 マッピング対象となる2次元物理プロセッサにおいて、
    X方向物理プロセッサ台数、Y方向物理プロセッサ台数
    をそれぞれPCX、PCYと定義するとともに、X方
    向、Y方向に分割した分割数をそれぞれPX、PYと定
    義して物理プロセッサをグループ化することを前提と
    し、(b)3次元計算モデルをVX=PCX/2、VY
    =PCY/2、VZ=0に分割し、この分割によって出
    来た直方体ユニットをメインユニットと呼び、各分割単
    位に通し番号(メインユニット番号)を付与し、さらに
    このメインユニットをZ軸方向に4つに分割し、この結
    果できたユニットをサブユニットと呼んで、各分割単位
    に通し番号(サブユニット番号)を付与し、 2次元物理プロセッサにおいて、PX=PCX/2、P
    Y=PCY/2に分割してプロセッサをグループ化し、
    各分割単位に通し番号(グループ番号)を付与し、
    (c)3次元モデルのメインユニット番号と同一番号の
    グループ番号を有する物理プロセッサのグループにサブ
    ユニット番号0から3を、0と1、1と2、2と3、3
    と0とが隣接するように分配してマッピングすることを
    特徴とする並列計算機における計算モデルのマッピング
    法。
  7. 【請求項7】 請求項1において、前記マッピングは、
    3次元計算モデルを、XYZ方向の3方向の計算ユニッ
    トに立体的に分割し、それらを2次元に配列されたプロ
    セッサにマッピングする場合であり、 前記3次元計算モデルをZX平面でn個の計算ユニット
    に分割しておき、前記2次元において、各計算ユニット
    を順番に置き、ZX方向が隣合いY方向が均等(n個分
    離れる)に並べたことを特徴とする並列計算機における
    計算モデルのマッピング法。
  8. 【請求項8】 請求項7において、(a)3次元計算モ
    デルにおいて、X方向、Y方向、Z方向の計算単位をV
    CX、VCY、VCZと定義し、X方向、Y方向、Z方
    向の分割数をVX、VY、VZと定義するとともに、 マッピング対象となる2次元物理プロセッサにおいて、
    X方向物理プロセッサ台数、Y方向物理プロセッサ台数
    をそれぞれPCX、PCYと定義するとともに、X方
    向、Y方向に分割した分割数をそれぞれPX、PYと定
    義して物理プロセッサをグループ化することを前提と
    し、(b)3次元計算モデルをVX=0、VY=0、V
    Z=VCZに分割し、この分割によって出来た直方体ユ
    ニットをメインユニットと呼び、各分割単位に通し番号
    (メインユニット番号)を付与し、このメインユニット
    のX方向計算単位数、Y方向計算単位数をvx、vyと
    し、 2次元物理プロセッサにおいて、PX=PCX/vx、
    PY=PCY/vyに分割してプロセッサをグループ化
    し、各分割単位に通し番号(グループ番号)を付与し、
    (c)vx=PX、vy=PYの位置に対応して、メイ
    ンユニットを2次元物理プロセッサのX方向に通し番号
    順に配置し、そのライン上でのX方向の端部物理プロセ
    ッサに来たら、Y方向へ移行し、今度はメインユニット
    を逆のX方向に通し番号順に配置し、再度X方向の端部
    物理プロセッサに来たら、Y方向へ移行し、以後、以上
    の蛇行によるマッピングを繰り返すことを特徴とする並
    列計算機における計算モデルのマッピング法。
  9. 【請求項9】 請求項4の処理を並列処理することを特
    徴とする並列計算機における計算モデルのマッピング
    法。
  10. 【請求項10】 請求項1において前記マッピングで得
    られた最適マッピング・パターンをデータベースに蓄積
    し、以後、このデータベースを参照して、計算モデルに
    適合する最適マッピングを選択し、並列処理をすること
    を特徴とする並列計算機における計算モデルのマッピン
    グ法。
  11. 【請求項11】 複数のプロセッサの間で相互にデータ
    及び情報を通信手段により転送することで各々のプロセ
    ッサが並列に処理を実行する並列計算機において、ユー
    ザが演算処理しようとするN次元計算モデルを、前記複
    数のプロセッサで並列処理するにあたり使用する通信ラ
    イブラリであり、 前記N次元計算モデルを識別符号を有する複数の計算ユ
    ニットに分割する分割ルーチンと、 分割した計算ユニットの識別符号と前記各プロセッサに
    付与された識別符号との対応関係をアドレス変換テーブ
    ル上に形成する管理ルーチンと、 分割した計算ユニットを、各プロセッサに任意にマッピ
    ングするマッピングルーチンと、 を備え、プロセッサ間通信を分割ユニットの識別符号を
    用いて行うことを特徴とする並列計算機用通信ライブラ
    リ。
  12. 【請求項12】 請求項11において、前記マッピング
    ルーチンにおける通信コストの評価関数として、プロセ
    ッサ間の距離の総和Lを用い、前記マッピングは、この
    距離の総和Lが最小となるように行うことを特徴とする
    並列計算機用通信ライブラリ。
  13. 【請求項13】 請求項12において、分割ユニットの
    隣接格子点Pi、Pjが、それぞれ、2次元格子点上の
    ある点(Xi、Yi)(Xj、Yj)にマッピングされ
    るとき、 Pi、Pj間の距離lijは、|Xi−Xj|+|Yi
    −Yj|と表され、 前記評価関数L=Σlijとし、これが最小となったと
    きのマッピングを最適なものとして採用することを特徴
    とする並列計算機用通信ライブラリ。
  14. 【請求項14】 請求項12または13において、初期
    マップ位置を決定した後、マップ位置を変化させ、
    長さの変化(前記距離の総和の変化)△Lを算出し、
    △L<0のとき、前記マップ位置の変更を採用し、△
    L<0でないとき、乱数X(0<X<1)を引き出して
    exp(−△L/T)を演算し(Tは確立を決める目安
    となるパラメータ)、exp(−△L/T)<Xのと
    き、マップ位置の変更を採用せず、exp(−△L/
    T)<Xでないとき、マップ位置の変更を採用すること
    とし、以上からの処理を、前記Tの値を減少させて
    繰り返すことを特徴とする並列計算機用通信ライブラ
    リ。
  15. 【請求項15】 請求項11において、前記マッピング
    は、3次元計算モデルを、XYZ方向の3方向の計算ユ
    ニットに立体的に分割し、それらを2次元に配列された
    プロセッサにマッピングする場合であり、 前記3次元計算モデルをZX平面でn個の計算ユニット
    に分割しておき、前記2次元において、Y方向の各計算
    ユニットが正方形で隣合うようにし、ZX方向の計算ユ
    ニットを一つ飛びに並べることを特徴とする並列計算機
    用通信ライブラリ。
  16. 【請求項16】 請求項15において、(a)3次元計
    算モデルにおいて、X方向、Y方向、Z方向の計算単位
    をVCX、VCY、VCZと定義し、X方向、Y方向、
    Z方向の分割数をVX、VY、VZと定義するととも
    に、 マッピング対象となる2次元物理プロセッサにおいて、
    X方向物理プロセッサ台数、Y方向物理プロセッサ台数
    をそれぞれPCX、PCYと定義するとともに、X方
    向、Y方向に分割した分割数をそれぞれPX、PYと定
    義して物理プロセッサをグループ化することを前提と
    し、(b)3次元計算モデルをVX=PCX/2、VY
    =PCY/2、VZ=0に分割し、この分割によって出
    来た直方体ユニットをメインユニットと呼び、各分割単
    位に通し番号(メインユニット番号)を付与し、さらに
    このメインユニットをZ軸方向に4つに分割し、この結
    果できたユニットをサブユニットと呼んで、各分割単位
    に通し番号(サブユニット番号)を付与し、 2次元物理プロセッサにおいて、PX=PCX/2、P
    Y=PCY/2に分割してプロセッサをグループ化し、
    各分割単位に通し番号(グループ番号)を付与し、
    (c)3次元モデルのメインユニット番号と同一番号の
    グループ番号を有する物理プロセッサのグループにサブ
    ユニット番号0から3を、0と1、1と2、2と3、3
    と0とが隣接するように分配してマッピングすることを
    特徴とする並列計算機用通信ライブラリ。
  17. 【請求項17】 請求項11において、前記マッピング
    は、3次元計算モデルを、XYZ方向の3方向の計算ユ
    ニットに立体的に分割し、それらを2次元に配列された
    プロセッサにマッピングする場合であり、 前記3次元計算モデルをZX平面でn個の計算ユニット
    に分割しておき、前記2次元において、各計算ユニット
    を順番に置き、ZX方向が隣合いY方向が均等(n個分
    離れる)に並べたことを特徴とする並列計算機用通信ラ
    イブラリ。
  18. 【請求項18】 請求項17において、(a)3次元計
    算モデルにおいて、X方向、Y方向、Z方向の計算単位
    をVCX、VCY、VCZと定義し、X方向、Y方向、
    Z方向の分割数をVX、VY、VZと定義するととも
    に、 マッピング対象となる2次元物理プロセッサにおいて、
    X方向物理プロセッサ台数、Y方向物理プロセッサ台数
    をそれぞれPCX、PCYと定義するとともに、X方
    向、Y方向に分割した分割数をそれぞれPX、PYと定
    義して物理プロセッサをグループ化することを前提と
    し、(b)3次元計算モデルをVX=0、VY=0、V
    Z=VCZに分割し、この分割によって出来た直方体ユ
    ニットをメインユニットと呼び、各分割単位に通し番号
    (メインユニット番号)を付与し、このメインユニット
    のX方向計算単位数、Y方向計算単位数をvx、vyと
    し、 2次元物理プロセッサにおいて、PX=PCX/vx、
    PY=PCY/vyに分割してプロセッサをグループ化
    し、各分割単位に通し番号(グループ番号)を付与し、
    (c)vx=PX、vy=PYの位置に対応して、メイ
    ンユニットを2次元物理プロセッサのX方向に通し番号
    順に配置し、そのライン上でのX方向の端部物理プロセ
    ッサに来たら、Y方向へ移行し、今度はメインユニット
    を逆のX方向に通し番号順に配置し、再度X方向の端部
    物理プロセッサに来たら、Y方向へ移行し、以後、以上
    の蛇行によるマッピングを繰り返すことを特徴とする並
    列計算機用通信ライブラリ。
  19. 【請求項19】 請求項14の処理を並列処理すること
    を特徴とする並列計算機用通信ライブラリ。
  20. 【請求項20】 請求項11において前記マッピングで
    得られた最適マッピング・パターンをデータベースに蓄
    積するルーチンを有し、以後、このデータベースを参照
    して、計算モデルに適合する最適マッピングを選択し、
    並列処理をすることを特徴とする並列計算機用通信ライ
    ブラリ。
  21. 【請求項21】 複数のプロセッサの間で相互にデータ
    及び情報を通信手段により転送することで、ユーザが演
    算処理しようとするN次元計算モデルを、前記複数のプ
    ロセッサで並列処理する並列計算機において、 前記N次元計算モデルを識別符号を有する複数の計算ユ
    ニットに分割する計算モデル分割部と、 前記複数の各プロセッサに識別符号をつけておき、分割
    した計算ユニットと各プロセッサとの対応関係をアドレ
    ス変換テーブル上に形成する管理部と、 分割した計算ユニットを、各プロセッサに任意にマッピ
    ングするマッピング部と、を備え、 プロセッサ間通信を分割ユニットの識別符号を用いて行
    うことを特徴とする並列計算機。
  22. 【請求項22】 請求項21において、前記マッピング
    部は、通信コストの評価関数として、プロセッサ間の距
    離の総和Lを演算するプロセッサ間距離演算部と、距離
    の総和Lが最小となったときのマッピングを最適なもの
    として採用することを特徴とする並列計算機。
  23. 【請求項23】 請求項22において、前記マッピング
    部は、前記プロセッサ間距離演算部で得られた距離の総
    和Lが最小であるか否かを判定する判定部とを有し、距
    離の総和Lが最小となったと判定部が判定したときのマ
    ッピングを最適なものとして採用することを特徴とする
    並列計算機。
  24. 【請求項24】 請求項21において、分割ユニットの
    隣接格子点Pi、Pjが、それぞれ、2次元格子点上の
    ある点(Xi、Yi)(Xj、Yj)にマッピングされ
    るとき、 Pi、Pj間の距離lijは、|Xi−Xj|+|Yi
    −Yj|と表され、 前記評価関数L=Σlijとし、このLが最小であると
    されたときのマッピングを最適なものとして採用するこ
    とを特徴とする並列計算機。
  25. 【請求項25】 請求項22または23において、初期
    マップ位置を決定した後、マップ位置を変化させ、
    長さの変化(前記距離の総和の変化)△Lを算出し、
    △L<0のとき、前記マップ位置の変更を採用し、△
    L<0でないとき、乱数X(0<X<1)を引き出して
    exp(−△L/T)を演算し(Tは確立を決める目安
    となるパラメータ)、exp(−△L/T)<Xのと
    き、マップ位置の変更を採用せず、exp(−△L/
    T)<Xでないとき、マップ位置の変更を採用すること
    とし、以上からの処理を、前記Tの値を減少させて
    繰り返すことを特徴とする並列計算機。
  26. 【請求項26】 請求項21において、前記マッピング
    部は、3次元計算モデルを、XYZ方向の3方向の計算
    ユニットに立体的に分割し、それらを2次元に配列され
    たプロセッサにマッピングする場合であり、 前記3次元計算モデルをZX平面でn個の計算ユニット
    に分割しておき、前記2次元において、Y方向の各計算
    ユニットが正方形で隣合うようにし、ZX方向の計算ユ
    ニットを一つ飛びに並べることを特徴とする並列計算
    機。
  27. 【請求項27】 請求項26において、(a)3次元計
    算モデルにおいて、X方向、Y方向、Z方向の計算単位
    をVCX、VCY、VCZと定義し、X方向、Y方向、
    Z方向の分割数をVX、VY、VZと定義するととも
    に、 マッピング対象となる2次元物理プロセッサにおいて、
    X方向物理プロセッサ台数、Y方向物理プロセッサ台数
    をそれぞれPCX、PCYと定義するとともに、X方
    向、Y方向に分割した分割数をそれぞれPX、PYと定
    義して物理プロセッサをグループ化することを前提と
    し、(b)3次元計算モデルをVX=PCX/2、VY
    =PCY/2、VZ=0に分割し、この分割によって出
    来た直方体ユニットをメインユニットと呼び、各分割単
    位に通し番号(メインユニット番号)を付与し、さらに
    このメインユニットをZ軸方向に4つに分割し、この結
    果できたユニットをサブユニットと呼んで、各分割単位
    に通し番号(サブユニット番号)を付与し、 2次元物理プロセッサにおいて、PX=PCX/2、P
    Y=PCY/2に分割してプロセッサをグループ化し、
    各分割単位に通し番号(グループ番号)を付与し、
    (c)3次元モデルのメインユニット番号と同一番号の
    グループ番号を有する物理プロセッサのグループにサブ
    ユニット番号0から3を、0と1、1と2、2と3、3
    と0とが隣接するように分配してマッピングすることを
    特徴とする並列計算機。
  28. 【請求項28】 請求項21において、前記マッピング
    部は、3次元計算モデルを、XYZ方向の3方向の計算
    ユニットに立体的に分割し、それらを2次元に配列され
    たプロセッサにマッピングする場合であり、 前記3次元計算モデルをZX平面でn個の計算ユニット
    に分割しておき、前記2次元において、各計算ユニット
    を順番に置き、ZX方向が隣合いY方向が均等(n個分
    離れる)に並べたことを特徴とする並列計算機。
  29. 【請求項29】 請求項28において、(a)3次元計
    算モデルにおいて、X方向、Y方向、Z方向の計算単位
    をVCX、VCY、VCZと定義し、X方向、Y方向、
    Z方向の分割数をVX、VY、VZと定義するととも
    に、 マッピング対象となる2次元物理プロセッサにおいて、
    X方向物理プロセッサ台数、Y方向物理プロセッサ台数
    をそれぞれPCX、PCYと定義するとともに、X方
    向、Y方向に分割した分割数をそれぞれPX、PYと定
    義して物理プロセッサをグループ化することを前提と
    し、(b)3次元計算モデルをVX=0、VY=0、V
    Z=VCZに分割し、この分割によって出来た直方体ユ
    ニットをメインユニットと呼び、各分割単位に通し番号
    (メインユニット番号)を付与し、このメインユニット
    のX方向計算単位数、Y方向計算単位数をvx、vyと
    し、 2次元物理プロセッサにおいて、PX=PCX/vx、
    PY=PCY/vyに分割してプロセッサをグループ化
    し、各分割単位に通し番号(グループ番号)を付与し、
    (c)vx=PX、vy=PYの位置に対応して、メイ
    ンユニットを2次元物理プロセッサのX方向に通し番号
    順に配置し、そのライン上でのX方向の端部物理プロセ
    ッサに来たら、Y方向へ移行し、今度はメインユニット
    を逆のX方向に通し番号順に配置し、再度X方向の端部
    物理プロセッサに来たら、Y方向へ移行し、以後、以上
    の蛇行によるマッピングを繰り返すことを特徴とする並
    列計算機。
  30. 【請求項30】 請求項25の処理を並列処理すること
    を特徴とする並列計算機。
  31. 【請求項31】 請求項21において、さらにデータベ
    ース部を有し、前記マッピングで得られた最適マッピン
    グ・パターンをこのデータベース部に蓄積し、以後、こ
    のデータベースを参照して、計算モデルに適合する最適
    マッピングを選択し、並列処理をすることを特徴とする
    並列計算機。
JP5030971A 1993-02-19 1993-02-19 並列計算機における計算モデルのマッピング法 Pending JPH06243113A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5030971A JPH06243113A (ja) 1993-02-19 1993-02-19 並列計算機における計算モデルのマッピング法
US08/714,527 US5649198A (en) 1993-02-19 1996-09-16 Mapping calculation units by dividing a calculation model which can be calculated in parallel on an application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5030971A JPH06243113A (ja) 1993-02-19 1993-02-19 並列計算機における計算モデルのマッピング法

Publications (1)

Publication Number Publication Date
JPH06243113A true JPH06243113A (ja) 1994-09-02

Family

ID=12318557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5030971A Pending JPH06243113A (ja) 1993-02-19 1993-02-19 並列計算機における計算モデルのマッピング法

Country Status (2)

Country Link
US (1) US5649198A (ja)
JP (1) JPH06243113A (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206986A (ja) * 2006-02-01 2007-08-16 Nomura Research Institute Ltd スケジューラプログラム、格子型コンピュータシステム、タスク割り当て装置
JP2008502029A (ja) * 2004-03-16 2008-01-24 テクノロジー プロパティーズ リミテッド コンピュータ・プロセッサ・アレイ
JP2008165531A (ja) * 2006-12-28 2008-07-17 Internatl Business Mach Corp <Ibm> 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法
US7444385B2 (en) 2001-02-24 2008-10-28 International Business Machines Corporation Global interrupt and barrier networks
JP2008539527A (ja) * 2005-04-26 2008-11-13 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ナノスケール相互接続インターフェース
JP2009020797A (ja) * 2007-07-13 2009-01-29 Hitachi Ltd 並列計算機システム
WO2009057208A1 (ja) * 2007-10-31 2009-05-07 Fujitsu Limited 資源割当プログラム、管理ノード、資源割当方法、および並列計算機システム
JP2010521731A (ja) * 2007-03-14 2010-06-24 エックスモス リミテッド メッセージルーティング構造
JP2010225134A (ja) * 2009-02-25 2010-10-07 Lstar Technologies Llc 実在のデータ又はモデル化されたデータを使用したマルチコアネットワークにわたるルーティング
JP2011523140A (ja) * 2008-06-06 2011-08-04 アップル インコーポレイテッド マルチプロセッサのための多次元スレッドグループ化
JP2012243224A (ja) * 2011-05-23 2012-12-10 Fujitsu Ltd プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
JP2012243223A (ja) * 2011-05-23 2012-12-10 Fujitsu Ltd プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
JP2013196323A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 転置装置、転置方法、および転置プログラム
JP2015069577A (ja) * 2013-09-30 2015-04-13 富士通株式会社 情報処理システム、管理装置制御プログラム及び情報処理システムの制御方法
KR20190003849A (ko) * 2016-02-05 2019-01-09 구글 엘엘씨 매트릭스 처리 장치

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305551A (ja) * 1996-05-10 1997-11-28 Toshiba Corp 並列計算機システム
US6282570B1 (en) 1998-12-07 2001-08-28 International Business Machines Corporation Monitoring a large parallel database through dynamic grouping and sequential sampling
US6647408B1 (en) * 1999-07-16 2003-11-11 Novell, Inc. Task distribution
DE60237433D1 (de) * 2001-02-24 2010-10-07 Ibm Neuartiger massivparalleler supercomputer
KR100713514B1 (ko) * 2001-03-06 2007-05-02 삼성전자주식회사 프로세서간 통신을 사용하는 시스템에서 유토피아 매퍼를이용한 프로세서간 통신장치 및 방법
JP2003067354A (ja) * 2001-08-29 2003-03-07 Hitachi Ltd 並列計算機システム及びプロセッサ間通信処理方法
US7007155B2 (en) * 2001-09-17 2006-02-28 Morpho Technologies Digital signal processor for wireless baseband processing
US7685103B2 (en) * 2003-09-29 2010-03-23 International Business Machines Corporation Method, system, and program for predicate processing by iterator functions
US7308683B2 (en) * 2003-10-30 2007-12-11 International Business Machines Corporation Ordering of high use program code segments using simulated annealing
US7394472B2 (en) * 2004-10-08 2008-07-01 Battelle Memorial Institute Combinatorial evaluation of systems including decomposition of a system representation into fundamental cycles
US8756044B2 (en) * 2005-05-31 2014-06-17 The Mathworks, Inc. Graphical partitioning for parallel execution of executable block diagram models
US8447580B2 (en) * 2005-05-31 2013-05-21 The Mathworks, Inc. Modeling of a multiprocessor system
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
KR100782594B1 (ko) * 2006-07-14 2007-12-06 엠텍비젼 주식회사 데이터 처리 기능을 구비한 메모리 장치
EP1953643A3 (en) * 2007-02-01 2009-12-16 Denso Corporation Calculation apparatus provided with a plurality of calculating units which access a single memory
CN101782930B (zh) * 2009-01-21 2012-08-22 国际商业机器公司 在多处理器***上进行分子动力学模拟的方法和装置
JP5644566B2 (ja) * 2011-02-09 2014-12-24 富士通株式会社 計算システム、構成管理装置および構成管理プログラム
EP2763049B1 (en) * 2011-09-28 2018-06-20 Toyota Jidosha Kabushiki Kaisha Engine control device
EP2793141B1 (en) * 2011-12-12 2018-02-28 Toyota Jidosha Kabushiki Kaisha Engine control device
JP2014137732A (ja) * 2013-01-17 2014-07-28 Fujitsu Ltd 情報処理システム及び情報処理システムの制御方法
US9874160B2 (en) * 2013-09-27 2018-01-23 Ford Global Technologies, Llc Powertrain control system
US11314674B2 (en) 2020-02-14 2022-04-26 Google Llc Direct memory access architecture with multi-level multi-striding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614745A (en) * 1969-09-15 1971-10-19 Ibm Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof
JPS59205605A (ja) * 1983-05-07 1984-11-21 Hitachi Ltd シ−ケンス制御装置
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US5058001A (en) * 1987-03-05 1991-10-15 International Business Machines Corporation Two-dimensional array of processing elements for emulating a multi-dimensional network
US5056000A (en) * 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
US5255385A (en) * 1990-02-26 1993-10-19 Hitachi, Ltd. Method of testing program, and compiler and program testing tool for the method
US5237685A (en) * 1990-02-26 1993-08-17 International Business Machines Corporation Linear recurrence dispersal structure and method for parallel processors
JPH05265975A (ja) * 1992-03-16 1993-10-15 Hitachi Ltd 並列計算処理装置
JP3208870B2 (ja) * 1992-10-30 2001-09-17 株式会社日立製作所 データ分割パタンの評価方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444385B2 (en) 2001-02-24 2008-10-28 International Business Machines Corporation Global interrupt and barrier networks
JP4856053B2 (ja) * 2004-03-16 2012-01-18 ブイエヌエス ポートフォリオ エルエルシー コンピュータ・プロセッサ・アレイ
JP2008502029A (ja) * 2004-03-16 2008-01-24 テクノロジー プロパティーズ リミテッド コンピュータ・プロセッサ・アレイ
JP2008539527A (ja) * 2005-04-26 2008-11-13 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ナノスケール相互接続インターフェース
JP2007206986A (ja) * 2006-02-01 2007-08-16 Nomura Research Institute Ltd スケジューラプログラム、格子型コンピュータシステム、タスク割り当て装置
JP2008165531A (ja) * 2006-12-28 2008-07-17 Internatl Business Mach Corp <Ibm> 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法
JP2010521731A (ja) * 2007-03-14 2010-06-24 エックスモス リミテッド メッセージルーティング構造
JP2009020797A (ja) * 2007-07-13 2009-01-29 Hitachi Ltd 並列計算機システム
WO2009057208A1 (ja) * 2007-10-31 2009-05-07 Fujitsu Limited 資源割当プログラム、管理ノード、資源割当方法、および並列計算機システム
JP2011523140A (ja) * 2008-06-06 2011-08-04 アップル インコーポレイテッド マルチプロセッサのための多次元スレッドグループ化
JP2010225134A (ja) * 2009-02-25 2010-10-07 Lstar Technologies Llc 実在のデータ又はモデル化されたデータを使用したマルチコアネットワークにわたるルーティング
US8854379B2 (en) 2009-02-25 2014-10-07 Empire Technology Development Llc Routing across multicore networks using real world or modeled data
JP2012243224A (ja) * 2011-05-23 2012-12-10 Fujitsu Ltd プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
JP2012243223A (ja) * 2011-05-23 2012-12-10 Fujitsu Ltd プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
JP2013196323A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 転置装置、転置方法、および転置プログラム
JP2015069577A (ja) * 2013-09-30 2015-04-13 富士通株式会社 情報処理システム、管理装置制御プログラム及び情報処理システムの制御方法
KR20190003849A (ko) * 2016-02-05 2019-01-09 구글 엘엘씨 매트릭스 처리 장치

Also Published As

Publication number Publication date
US5649198A (en) 1997-07-15

Similar Documents

Publication Publication Date Title
JPH06243113A (ja) 並列計算機における計算モデルのマッピング法
CN100568183C (zh) 优化大规模并行超级计算机上的应用布局的方法和装置
JP2020520530A (ja) デジタル処理コネクティビティ
CN102024011A (zh) 自主子***体系结构
Sao et al. A communication-avoiding 3D LU factorization algorithm for sparse matrices
Ercal Heuristic approaches to task allocation for parallel computing
Sao et al. A communication-avoiding 3D algorithm for sparse LU factorization on heterogeneous systems
Nakajima Optimization of serial and parallel communications for parallel geometric multigrid method
Mackerras A fast parallel marching-cubes implementation on the Fujitsu AP1000
Flaherty et al. Software for the parallel adaptive solution of conservation laws by discontinuous Galerkin methods
CN108304261B (zh) 一种基于6D-Torus网络的作业调度方法和装置
Liszka et al. Problems with comparing interconnection networks: Is an alligator better than an armadillo?
Dong et al. SDS-sort: Scalable dynamic skew-aware parallel sorting
JP6666548B2 (ja) 並列計算機、fft演算プログラムおよびfft演算方法
Bani-Mohammad et al. On the performance of non-contiguous allocation for common communication patterns in 2D mesh-connected multicomputers
Ali et al. The static performance effect of hybrid-hierarchical interconnection by shifted completely connected network
Kumar Optimizing communication for massively parallel processing
JP6778728B2 (ja) 粒子相互作用を計算するための並行計算アーキテクチャ
Bani-Mohammad et al. A new compacting non-contiguous processor allocation algorithm for 2D mesh multicomputers
Monien et al. A realizable efficient parallel architecture
Al-Dubai et al. On balancing network traffic in path-based multicast communication
CN113704681B (zh) 一种数据处理方法、装置及超算***
Mao et al. One-to-all personalized communication in torus networks.
CN106383791A (zh) 一种基于非统一内存访问架构的内存块组合方法及装置
Lee et al. A fully distributed parallel ray tracing scheme on the Delta Touchstone machine

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010327