JPH07282026A - マルチノード・コンピュータ・システムおよびその方法 - Google Patents
マルチノード・コンピュータ・システムおよびその方法Info
- Publication number
- JPH07282026A JPH07282026A JP7014039A JP1403995A JPH07282026A JP H07282026 A JPH07282026 A JP H07282026A JP 7014039 A JP7014039 A JP 7014039A JP 1403995 A JP1403995 A JP 1403995A JP H07282026 A JPH07282026 A JP H07282026A
- Authority
- JP
- Japan
- Prior art keywords
- obtaining
- computer system
- communication mode
- particular operation
- parameters
- 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
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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【目的】 通信の実行時に最適の通信モードを自動的に
選択する手段を提供する。 【構成】 マルチプロセサによる並列処理システムの環
境において、プロセサ間の情報配布のオペレーション
(たとえば同時通報)を実行するためにいくつかの異な
る通信モードが使用出来る。本発明による手段は、通信
の実行時に最適の通信モードを自動的に選択する手段を
有する。この選択決定は、システムのハードウェア・パ
ラメータ(たとえばプロセサ間の通信速度)および実行
時のランタイム・パラメータ(たとえばメッセージを送
付するあて先になるノードの数)を使う。通信モードの
選択決定は、メッセージ配布のオペレーションを実行す
るのにかかる時間あるいはワークスペース要求量などの
要因を最適化することを求めて行われる。
選択する手段を提供する。 【構成】 マルチプロセサによる並列処理システムの環
境において、プロセサ間の情報配布のオペレーション
(たとえば同時通報)を実行するためにいくつかの異な
る通信モードが使用出来る。本発明による手段は、通信
の実行時に最適の通信モードを自動的に選択する手段を
有する。この選択決定は、システムのハードウェア・パ
ラメータ(たとえばプロセサ間の通信速度)および実行
時のランタイム・パラメータ(たとえばメッセージを送
付するあて先になるノードの数)を使う。通信モードの
選択決定は、メッセージ配布のオペレーションを実行す
るのにかかる時間あるいはワークスペース要求量などの
要因を最適化することを求めて行われる。
Description
【0001】
【産業上の利用分野】本発明は、情報処理システムにお
けるソフトウェア資源の選択、より具体的には、使用可
能な複数の通信モードから、或る特定のオペレーション
に適切な通信モードを動的に選択する方法に関する。
けるソフトウェア資源の選択、より具体的には、使用可
能な複数の通信モードから、或る特定のオペレーション
に適切な通信モードを動的に選択する方法に関する。
【0002】
【従来の技術】情報処理システム環境において、多くの
手法を使ってプログラムがつくられ、システムが構築さ
れる。具体的なタスクとそのタスクの特徴に基づいて適
切な手法が選ばれる。通常、どれか1つの手法が、全て
の状況にも最良に動作することはありえない。過去にお
いては、或るプログラムが動作中に最良の手法を動的に
選ぶ方法がなかったため、常に、妥協的な手法がとられ
てきた。したがって、実行中のプログラムによっては、
システム性能が犠牲になることがしばしば起こった。
手法を使ってプログラムがつくられ、システムが構築さ
れる。具体的なタスクとそのタスクの特徴に基づいて適
切な手法が選ばれる。通常、どれか1つの手法が、全て
の状況にも最良に動作することはありえない。過去にお
いては、或るプログラムが動作中に最良の手法を動的に
選ぶ方法がなかったため、常に、妥協的な手法がとられ
てきた。したがって、実行中のプログラムによっては、
システム性能が犠牲になることがしばしば起こった。
【0003】この問題が起こる1つの具体的な状況は、
マルチプロセサ・システム、とくに、並列処理システム
においてである。そのようなシステムでは、各プロセサ
は他のプロセサと通信を行う手段を持ち、1つの通信を
行うためにも様々なプロトコルとモードが存在する。並
列処理システムが扱うタスクの範囲は大きく変わり得る
ので、メッセージ通信の構造は、いろいろ異なる状況に
対応できるように最適化されたものであった。しかし、
不幸なことに、或る並列処理システムの操作ソフトウェ
アの設計が行われるときには、その並列処理システムで
処理される具体的な業務を正確に知ることは難しい。し
たがって、並列処理システムのノードの間でどのような
かたちの通信モードを使うのが最適なのかを予測するの
は難しい。
マルチプロセサ・システム、とくに、並列処理システム
においてである。そのようなシステムでは、各プロセサ
は他のプロセサと通信を行う手段を持ち、1つの通信を
行うためにも様々なプロトコルとモードが存在する。並
列処理システムが扱うタスクの範囲は大きく変わり得る
ので、メッセージ通信の構造は、いろいろ異なる状況に
対応できるように最適化されたものであった。しかし、
不幸なことに、或る並列処理システムの操作ソフトウェ
アの設計が行われるときには、その並列処理システムで
処理される具体的な業務を正確に知ることは難しい。し
たがって、並列処理システムのノードの間でどのような
かたちの通信モードを使うのが最適なのかを予測するの
は難しい。
【0004】たとえば、プロセサ間通信を使用する1つ
の場合に、多数のノードを持つ(以下マルチノード)コ
ンピュータ・システムで、1つのノードから他の多くの
ノードにメッセージを送る「同報通信」がある。このよ
うな場合、メッセージを配布するのにかかる時間間隔
は、メッセージの長さ、ノード間の通信手段の速度、メ
ッセージのあて先になるノードの数、メッセージを配布
するのに使われるモード等の要因によって、ノード間の
差は大きく変わる。
の場合に、多数のノードを持つ(以下マルチノード)コ
ンピュータ・システムで、1つのノードから他の多くの
ノードにメッセージを送る「同報通信」がある。このよ
うな場合、メッセージを配布するのにかかる時間間隔
は、メッセージの長さ、ノード間の通信手段の速度、メ
ッセージのあて先になるノードの数、メッセージを配布
するのに使われるモード等の要因によって、ノード間の
差は大きく変わる。
【0005】並列処理システムの1つの実例は、IBM
SP1 (Scalable Power Parallel Systems 9076-SP
l)である。このシステムでは、ノード間通信のための3
つのプリミティブがあり、これらのプリミティブは、se
nd、 receive、および、send/receiveを含む。総合通信
ライブラリ(Collective Communications Library:C
CL)が、複雑なプロセサ・ノード間通信を管理する。
CCLはアプリケーション・プログラムによって呼ば
れ、呼ばれたCCLは必要なプリミティブを呼んで、プ
ロセサ・ノード間の通信を実行する。SP1の実行例で
は、メッセージを配布するために、ただ1つのモード、
すなわち、オール・ツー・オール(all-to-all)の通信
モードが使われる。このモードが選ばれたのは、さまざ
まな条件の下で、全体的に性能が良いためである。しか
し、他のモードを選択した方が良かったという状況も多
々あると考えられる。たとえば、同報通信するメッセー
ジが短いときは、オール・ツー・オール・モードより超
立方体網通信モードの方が速い。
SP1 (Scalable Power Parallel Systems 9076-SP
l)である。このシステムでは、ノード間通信のための3
つのプリミティブがあり、これらのプリミティブは、se
nd、 receive、および、send/receiveを含む。総合通信
ライブラリ(Collective Communications Library:C
CL)が、複雑なプロセサ・ノード間通信を管理する。
CCLはアプリケーション・プログラムによって呼ば
れ、呼ばれたCCLは必要なプリミティブを呼んで、プ
ロセサ・ノード間の通信を実行する。SP1の実行例で
は、メッセージを配布するために、ただ1つのモード、
すなわち、オール・ツー・オール(all-to-all)の通信
モードが使われる。このモードが選ばれたのは、さまざ
まな条件の下で、全体的に性能が良いためである。しか
し、他のモードを選択した方が良かったという状況も多
々あると考えられる。たとえば、同報通信するメッセー
ジが短いときは、オール・ツー・オール・モードより超
立方体網通信モードの方が速い。
【0006】通信パラメータ(たとえば、ノードの数、
1つのメッセージを送るのにかかる時間、全体的なメッ
セージの長さ)の異なる組み合わせによっては、通信モ
ードを変えると最適な場合がある。したがって、通信モ
ードが固定されているコンピュータ・システムに存在す
る問題は、そのコンピュータ・システムで動くそれぞれ
のアプリケーションにとっては、そのモードが通常最適
ではないということである。
1つのメッセージを送るのにかかる時間、全体的なメッ
セージの長さ)の異なる組み合わせによっては、通信モ
ードを変えると最適な場合がある。したがって、通信モ
ードが固定されているコンピュータ・システムに存在す
る問題は、そのコンピュータ・システムで動くそれぞれ
のアプリケーションにとっては、そのモードが通常最適
ではないということである。
【0007】
【発明が解決しようとする課題】従来技術によって解決
されていないさらに大きな問題は、いま実行中のアプリ
ケーション・プログラムのタイプに合った最適な通信モ
ードを、どのようにして自動的に選択するかという方法
である。したがって、通信モードの性能に影響を与える
ことのできる種々のパラメータを動的に決める手段が提
供されれば有益なことである。さらに、アプリケーショ
ン・プログラムに最適化したい性能特性(たとえば、メ
ッセージを配布するのにかかる時間、実行速度、およ
び、プロセサ間を結ぶ通信網の上のトラフィック量を含
むコンピュータ・システムのトラフィックに与える影
響)を指定するための手段を追加することができる。さ
らに、通信モードの選択に影響するパラメータを、アプ
リケーション・プログラムが動作を始めるときに固定す
るのでなく、システムが動作するにしたがいアップデー
トし最適化できれば、なおいっそう有益である。
されていないさらに大きな問題は、いま実行中のアプリ
ケーション・プログラムのタイプに合った最適な通信モ
ードを、どのようにして自動的に選択するかという方法
である。したがって、通信モードの性能に影響を与える
ことのできる種々のパラメータを動的に決める手段が提
供されれば有益なことである。さらに、アプリケーショ
ン・プログラムに最適化したい性能特性(たとえば、メ
ッセージを配布するのにかかる時間、実行速度、およ
び、プロセサ間を結ぶ通信網の上のトラフィック量を含
むコンピュータ・システムのトラフィックに与える影
響)を指定するための手段を追加することができる。さ
らに、通信モードの選択に影響するパラメータを、アプ
リケーション・プログラムが動作を始めるときに固定す
るのでなく、システムが動作するにしたがいアップデー
トし最適化できれば、なおいっそう有益である。
【0008】また、通信モード選択のプロセスが、アプ
リケーション・プログラムに依存しない透明なものであ
るならば、なお有益である。具体的には、アプリケーシ
ョン・プログラムが全ノードにメッセージを同報通信す
るコマンドを出すとき、1つのコマンドを出すだけにす
ることである。このコマンドにより、モード選択の全て
の決定がコンピュータ・システムによって行われるよう
にする。そのようなシステムがあれば、通信モードの選
択がシステムにより動的に行われるので、アプリケーシ
ョン・プログラマは通信モードの選択にわずらわされる
ことがなくなる。また、アプリケーション・コードは、
オペレーションを動的に選択し実行させるためのコマン
ドを1つだけ使えばよいので、アプリケーション・コー
ドを読むのが容易になる。さらに、システム全体につい
てはライブラリ作成者の方がアプリケーション・プログ
ラマより良く知っているので、メッセージ通信の処理が
より効率良く行える。前記の本発明の目的と利点につい
て以下に記す。
リケーション・プログラムに依存しない透明なものであ
るならば、なお有益である。具体的には、アプリケーシ
ョン・プログラムが全ノードにメッセージを同報通信す
るコマンドを出すとき、1つのコマンドを出すだけにす
ることである。このコマンドにより、モード選択の全て
の決定がコンピュータ・システムによって行われるよう
にする。そのようなシステムがあれば、通信モードの選
択がシステムにより動的に行われるので、アプリケーシ
ョン・プログラマは通信モードの選択にわずらわされる
ことがなくなる。また、アプリケーション・コードは、
オペレーションを動的に選択し実行させるためのコマン
ドを1つだけ使えばよいので、アプリケーション・コー
ドを読むのが容易になる。さらに、システム全体につい
てはライブラリ作成者の方がアプリケーション・プログ
ラマより良く知っているので、メッセージ通信の処理が
より効率良く行える。前記の本発明の目的と利点につい
て以下に記す。
【0009】
【課題を解決するための手段】本発明の第1の側面にし
たがい、或るオペレーションを実行するために、複数の
通信モードから1つを動的に選択する方法を提供する。
この方法は、特定のオペレーションに関連する実行時の
パラメータ(以下ランタイム・パラメータ)を得て、前
記のランタイム・パラメータを使って複数の通信モード
の中から1つの通信モードを選択することを含む。具体
的には、選択ステップは、あらかじめ定められた決定関
数を用いて1つの通信モードを選択し、その1つの通信
モードを選択するために、コンピュータ・システムのハ
ードウェア・パラメータを得ることを含む。さらに、望
ましい方法として、1つの通信モードは、コンピュータ
・システムの性能特性を最適化するために、ランタイム
・パラメータを使って選択されるのが望ましい。
たがい、或るオペレーションを実行するために、複数の
通信モードから1つを動的に選択する方法を提供する。
この方法は、特定のオペレーションに関連する実行時の
パラメータ(以下ランタイム・パラメータ)を得て、前
記のランタイム・パラメータを使って複数の通信モード
の中から1つの通信モードを選択することを含む。具体
的には、選択ステップは、あらかじめ定められた決定関
数を用いて1つの通信モードを選択し、その1つの通信
モードを選択するために、コンピュータ・システムのハ
ードウェア・パラメータを得ることを含む。さらに、望
ましい方法として、1つの通信モードは、コンピュータ
・システムの性能特性を最適化するために、ランタイム
・パラメータを使って選択されるのが望ましい。
【0010】本発明の別の側面として、選択された通信
モードを使って、マルチノード・コンピュータ・システ
ムの内部で特定のオペレーションを実行する方法を提供
する。この方法は、マルチノード・コンピュータ・シス
テムの性能特性を最適化するようにして特定のオペレー
ションを実行するために、複数の通信モードから1つの
通信モードを選択し、さらに、選択された通信モードを
使用して、マルチノード・コンピュータ・システムでそ
の特定のオペレーションを実行することを含む。
モードを使って、マルチノード・コンピュータ・システ
ムの内部で特定のオペレーションを実行する方法を提供
する。この方法は、マルチノード・コンピュータ・シス
テムの性能特性を最適化するようにして特定のオペレー
ションを実行するために、複数の通信モードから1つの
通信モードを選択し、さらに、選択された通信モードを
使用して、マルチノード・コンピュータ・システムでそ
の特定のオペレーションを実行することを含む。
【0011】さらにもう一つの側面として、本発明は、
特定のオペレーションを実行するマルチノード・コンピ
ュータ・システムを含む。このシステムには、特定のオ
ペレーションに関連したランタイム・パラメータを得る
ためと、前記のランタイム・パラメータを使用して複数
の通信モードの中から1つの通信モードを選択するため
の処理手段を含む。
特定のオペレーションを実行するマルチノード・コンピ
ュータ・システムを含む。このシステムには、特定のオ
ペレーションに関連したランタイム・パラメータを得る
ためと、前記のランタイム・パラメータを使用して複数
の通信モードの中から1つの通信モードを選択するため
の処理手段を含む。
【0012】
【実施例】図1に、典型的な疎結合の並列処理システム
10を示す。並列処理システム10には、複数のプロセ
サ101、複数のネットワーク接続102、およびネッ
トワーク基本構造(ファブリックともいう)103があ
る。プロセサ101は、ネットワーク接続102を介し
てネットワーク・ファブリック103に接続されてい
る。プロセサ101の各々は、ネットワーク・ファブリ
ック103を介して他のプロセサ101の各々と通信で
きる。本明細書では、プロセサ101をノードと称する
ことがある。
10を示す。並列処理システム10には、複数のプロセ
サ101、複数のネットワーク接続102、およびネッ
トワーク基本構造(ファブリックともいう)103があ
る。プロセサ101は、ネットワーク接続102を介し
てネットワーク・ファブリック103に接続されてい
る。プロセサ101の各々は、ネットワーク・ファブリ
ック103を介して他のプロセサ101の各々と通信で
きる。本明細書では、プロセサ101をノードと称する
ことがある。
【0013】ここで使う「マルチノード」コンピュータ
・システムという用語は、複数のプロセサからなるコン
ピュータ・システムを意味し、たとえば、前記のIBM
SP1並列処理システムである。また、ここで使う
「通信モード」という用語は、ノード間で情報の移送が
行われるときの方法をいう。その例としては、「オール
・ツー・オール」と「超立方体網」通信モードを含む。
・システムという用語は、複数のプロセサからなるコン
ピュータ・システムを意味し、たとえば、前記のIBM
SP1並列処理システムである。また、ここで使う
「通信モード」という用語は、ノード間で情報の移送が
行われるときの方法をいう。その例としては、「オール
・ツー・オール」と「超立方体網」通信モードを含む。
【0014】アプリケーション・プログラムは、コンピ
ュータ・システムに、複数の「オペレーション」を実行
することを要求する。それぞれの特定のオペレーション
は、並列処理システムのノード間の通信を必要とする。
したがって、各オペレーションは、或る通信モードの使
用を必要とする。そのようなオペレーションの例は、
「同報通信」である。同報通信オペレーションは、複数
のノードに「メッセージ」を配布することを必要とす
る。オペレーションのもう一つの例は、「スキャタ」で
ある。スキャタ・オペレーションは、メッセージを、シ
ステムの中の「或る数のノード」にだけ配布する。
ュータ・システムに、複数の「オペレーション」を実行
することを要求する。それぞれの特定のオペレーション
は、並列処理システムのノード間の通信を必要とする。
したがって、各オペレーションは、或る通信モードの使
用を必要とする。そのようなオペレーションの例は、
「同報通信」である。同報通信オペレーションは、複数
のノードに「メッセージ」を配布することを必要とす
る。オペレーションのもう一つの例は、「スキャタ」で
ある。スキャタ・オペレーションは、メッセージを、シ
ステムの中の「或る数のノード」にだけ配布する。
【0015】その他の例について、総合通信ライブラリ
のサブルーチンとして以下に記す。大文字で表したもの
はフォートラン、小文字で表したものはC言語である。 MP-BCAST:mpc-bcast. グループ内の1つのタスク
からすべてのタスクにメッセージを送る。 MP-REDUCE:mpc-reduce. グループ内のすべてのタス
クに対してリダクションすなわち変換オペレーションを
行い、その結果を1つのタスクにおさめる。リダクショ
ン・オペレーションには、加算、乗算、最大、最小、ビ
ットワイズのAND、ビットワイズのOR、ビットワイ
ズのXOR、ブール代数のAND、ブール代数のOR、
および、ユーザが定義するオペレーションが含まれる。 MP-COMBINE:mpc-combine. リダクション・オペレーシ
ョンを行い、結果をグループ内のすべてのタスクにおさ
める。これは実行上、reduceを行いその後にbcastを行
うことに等しい。 MP-SCATTER:mpc-scatter. 別々のメッセージを、1つ
のソース・タスクからグループ内の各タスクに配布す
る。このタイプのオペレーションはワン・ツー・オール
の個人通信すなわちdistributeともよばれる。 MP-GATHER:mpc-gather. 別々のメッセージをグルー
プ内の各タスクから1つのあて先タスクに集める。coll
ectともよばれ、scatterの逆のオペレーションである。 MP-SYNC:mpc-sync. グループ内にバリア同期を
つくる。各タスクがsync呼び出しに達すると、グループ
内のすべてのタスクが対応するsync呼び出しに達するま
でブロックする。 MP-SHIFT:mpc-shift. グループ内のいくつかのス
テップだけ上か下にデータをシフトする。ラップアラウ
ンドを伴う場合と伴わない場合がある。 MP-PREFIX:mpc-prefix. 1つのタスクグループ全体
にリダクション・オペレーションに関連するパラレル・
プレフィックスをつけ、対応する結果をグループ内の各
タスクにおさめる。このオペレーションはscanともよば
れる。 MP-CONCAT:mpc-concat. グループ内のすべてのタス
クをコンカチネーションする。論理的には、グループ内
の各タスクがワン・ツー・オールの同報通信を実行する
のに等しい。完結された同報通信、または、expandとも
よばれる。 MP-INDEX:mpc-index. グループ内の各タスクがsca
tterを実行し、グループ内のすべてのタスクに順位にし
がって別々のメッセージを送る。multi-scatter、オー
ル・ツー・オール個人通信、または、完結型交換ともよ
ばれる。
のサブルーチンとして以下に記す。大文字で表したもの
はフォートラン、小文字で表したものはC言語である。 MP-BCAST:mpc-bcast. グループ内の1つのタスク
からすべてのタスクにメッセージを送る。 MP-REDUCE:mpc-reduce. グループ内のすべてのタス
クに対してリダクションすなわち変換オペレーションを
行い、その結果を1つのタスクにおさめる。リダクショ
ン・オペレーションには、加算、乗算、最大、最小、ビ
ットワイズのAND、ビットワイズのOR、ビットワイ
ズのXOR、ブール代数のAND、ブール代数のOR、
および、ユーザが定義するオペレーションが含まれる。 MP-COMBINE:mpc-combine. リダクション・オペレーシ
ョンを行い、結果をグループ内のすべてのタスクにおさ
める。これは実行上、reduceを行いその後にbcastを行
うことに等しい。 MP-SCATTER:mpc-scatter. 別々のメッセージを、1つ
のソース・タスクからグループ内の各タスクに配布す
る。このタイプのオペレーションはワン・ツー・オール
の個人通信すなわちdistributeともよばれる。 MP-GATHER:mpc-gather. 別々のメッセージをグルー
プ内の各タスクから1つのあて先タスクに集める。coll
ectともよばれ、scatterの逆のオペレーションである。 MP-SYNC:mpc-sync. グループ内にバリア同期を
つくる。各タスクがsync呼び出しに達すると、グループ
内のすべてのタスクが対応するsync呼び出しに達するま
でブロックする。 MP-SHIFT:mpc-shift. グループ内のいくつかのス
テップだけ上か下にデータをシフトする。ラップアラウ
ンドを伴う場合と伴わない場合がある。 MP-PREFIX:mpc-prefix. 1つのタスクグループ全体
にリダクション・オペレーションに関連するパラレル・
プレフィックスをつけ、対応する結果をグループ内の各
タスクにおさめる。このオペレーションはscanともよば
れる。 MP-CONCAT:mpc-concat. グループ内のすべてのタス
クをコンカチネーションする。論理的には、グループ内
の各タスクがワン・ツー・オールの同報通信を実行する
のに等しい。完結された同報通信、または、expandとも
よばれる。 MP-INDEX:mpc-index. グループ内の各タスクがsca
tterを実行し、グループ内のすべてのタスクに順位にし
がって別々のメッセージを送る。multi-scatter、オー
ル・ツー・オール個人通信、または、完結型交換ともよ
ばれる。
【0016】「決定関数」は、特定の配布オペレーショ
ンを実行するための通信モードを選択するために使われ
る。決定関数は、通信モードを選択するために1つまた
は複数の「パラメータ」を使う。パラメータの1つのタ
イプは、特定のオペレーションに関連する「ランタイ
ム」パラメータである。同報通信オペレーションに関連
するランタイム・パラメータの例は、同報通信されるメ
ッセージである。
ンを実行するための通信モードを選択するために使われ
る。決定関数は、通信モードを選択するために1つまた
は複数の「パラメータ」を使う。パラメータの1つのタ
イプは、特定のオペレーションに関連する「ランタイ
ム」パラメータである。同報通信オペレーションに関連
するランタイム・パラメータの例は、同報通信されるメ
ッセージである。
【0017】パラメータのもう1つのタイプは、「ハー
ドウェア・パラメータ」である。ハードウェア・パラメ
ータの1つの例は、プロセサの「実行速度」である。も
う一つの例は、プロセサの「メモリ移動速度」である。
これは、プロセサが数値をメモリの1つの場所から他の
場所へ動かすことができる速度である。メモリ移動速度
は、ある種の通信モードで、プロセサのメモリの中で大
量のデータの操作を必要とするので、有用な測定基準で
ある。1つの単純な実施例では、ハードウェア・パラメ
ータはジョブの初めにつくられる。
ドウェア・パラメータ」である。ハードウェア・パラメ
ータの1つの例は、プロセサの「実行速度」である。も
う一つの例は、プロセサの「メモリ移動速度」である。
これは、プロセサが数値をメモリの1つの場所から他の
場所へ動かすことができる速度である。メモリ移動速度
は、ある種の通信モードで、プロセサのメモリの中で大
量のデータの操作を必要とするので、有用な測定基準で
ある。1つの単純な実施例では、ハードウェア・パラメ
ータはジョブの初めにつくられる。
【0018】両方のパラメータのタイプとも、コンピュ
ータ・システムのライブラリが作成されるときに組み込
まれる或る種の「あらかじめ定められた関係」ととも
に、決定関数によって使用される。ランタイム・パラメ
ータとハードウェア・パラメータは、あらかじめ定めら
れた関係を定義するときに使用される。それぞれの通信
モードを使用する各特定のオペレーションは、1つの関
係によって記述される。「関係」の例は、各通信モード
を使う特定のオペレーション「を実行するのにかかる時
間間隔」、「によって発生されたコンピュータ・システ
ムのトラフィック」、および、「を実行するのに必要な
ワークスペース」を含む。
ータ・システムのライブラリが作成されるときに組み込
まれる或る種の「あらかじめ定められた関係」ととも
に、決定関数によって使用される。ランタイム・パラメ
ータとハードウェア・パラメータは、あらかじめ定めら
れた関係を定義するときに使用される。それぞれの通信
モードを使用する各特定のオペレーションは、1つの関
係によって記述される。「関係」の例は、各通信モード
を使う特定のオペレーション「を実行するのにかかる時
間間隔」、「によって発生されたコンピュータ・システ
ムのトラフィック」、および、「を実行するのに必要な
ワークスペース」を含む。
【0019】関係は、通信モードを選択する際の優先基
準を表すために、ライブラリ作成者により「優先づけ」
される。これにより、オペレーションの実行に必要な時
間あるいはワークスペースを最小(すなわち、最適化)
にすることができる。典型的には、オペレーションは、
コンピュータ・システムの「ジョブ」内で実行される。
ジョブは、それぞれ動的な選択プロセスを必要とする複
数のオペレーションを含むことがある。
準を表すために、ライブラリ作成者により「優先づけ」
される。これにより、オペレーションの実行に必要な時
間あるいはワークスペースを最小(すなわち、最適化)
にすることができる。典型的には、オペレーションは、
コンピュータ・システムの「ジョブ」内で実行される。
ジョブは、それぞれ動的な選択プロセスを必要とする複
数のオペレーションを含むことがある。
【0020】図2に、或る特定のタスクのための手法を
選択する全般的なプロセスの具体例のフローチャートを
示す。ステップ200で、複数の通信モードによって実
行されるオペレーションの使用を要するジョブの始まり
を示す。次に、ステップ201で、ハードウェアの特性
づけのテストが実行される。このテストにより、どの通
信モードを選択するかを判断する決定関数の内部で使わ
れる複数のハードウェア・パラメータが提供される。次
に、ステップ202で、決定関数の中で使われる1組の
ランタイム・パラメータが得られる。これらのパラメー
タには、たとえば、複数のノードに同報通信されるメッ
セージ、あるいは、メッセージの同報通信のあて先にな
るノードの数が含まれる。ステップ203で、決定関数
はランタイム・パラメータとハードウェア・パラメータ
を使って、どの通信モードを選択するかを決める。ステ
ップ204で、選択された通信モードが実行される。も
う一つの具体例では、ジョブに複数の同一ないしは異な
るタイプの複数のオペレーションを含む場合があるが、
それぞれのオペレーションは、通信モードを動的に選択
する必要がある。
選択する全般的なプロセスの具体例のフローチャートを
示す。ステップ200で、複数の通信モードによって実
行されるオペレーションの使用を要するジョブの始まり
を示す。次に、ステップ201で、ハードウェアの特性
づけのテストが実行される。このテストにより、どの通
信モードを選択するかを判断する決定関数の内部で使わ
れる複数のハードウェア・パラメータが提供される。次
に、ステップ202で、決定関数の中で使われる1組の
ランタイム・パラメータが得られる。これらのパラメー
タには、たとえば、複数のノードに同報通信されるメッ
セージ、あるいは、メッセージの同報通信のあて先にな
るノードの数が含まれる。ステップ203で、決定関数
はランタイム・パラメータとハードウェア・パラメータ
を使って、どの通信モードを選択するかを決める。ステ
ップ204で、選択された通信モードが実行される。も
う一つの具体例では、ジョブに複数の同一ないしは異な
るタイプの複数のオペレーションを含む場合があるが、
それぞれのオペレーションは、通信モードを動的に選択
する必要がある。
【0021】上述したように、本発明による通信モード
を動的に選択するプロセスは、多くのパラメータに基づ
いて行われる。これらのパラメータは、複数の源(以下
ソース)から得られる。パラメータの最初のソースは、
マルチノード・コンピュータ・システムのハードウェア
・パラメータである。たとえば、1つの具体例として
は、ジョブを始めるときに、ハードウェア特性づけテス
トを行って、ハードウェア性能特性(たとえば、プロセ
サの実行速度、メモリ移動速度、および、ネットワーク
相互接続速度)を得るのが望ましい。図3に、ハードウ
ェア特性づけのプロセスの1つの具体例をフローチャー
トにして示す。このプロセスにより、ハードウェアを特
性づけるいくつかのテストが行われて、ハードウェア・
パラメータが得られる。
を動的に選択するプロセスは、多くのパラメータに基づ
いて行われる。これらのパラメータは、複数の源(以下
ソース)から得られる。パラメータの最初のソースは、
マルチノード・コンピュータ・システムのハードウェア
・パラメータである。たとえば、1つの具体例として
は、ジョブを始めるときに、ハードウェア特性づけテス
トを行って、ハードウェア性能特性(たとえば、プロセ
サの実行速度、メモリ移動速度、および、ネットワーク
相互接続速度)を得るのが望ましい。図3に、ハードウ
ェア特性づけのプロセスの1つの具体例をフローチャー
トにして示す。このプロセスにより、ハードウェアを特
性づけるいくつかのテストが行われて、ハードウェア・
パラメータが得られる。
【0022】最初にステップ301で、実行速度のテス
トが行われる。このテストで、プロセサが一連の命令を
実行して、命令実行の経過時間が記録される。次に、ス
テップ302で、数値の配列をプロセサのメモリ内でコ
ピーしてメモリ移動速度のテストを行い、その経過時間
が記録される。次に、ステップ303で、一連のメッセ
ージがノード間を移送するのにかかる時間が記録され
る。ステップ304で、前記のテストの結果が返され、
決定関数に含まれる。この発明の別の具体例として、た
とえば、浮動小数点実行の性能のような他のハードウェ
ア特性を測るテストを加えてもよい。これらのハードウ
ェア特性テストを実行するための方法は当業者には公知
のことである。
トが行われる。このテストで、プロセサが一連の命令を
実行して、命令実行の経過時間が記録される。次に、ス
テップ302で、数値の配列をプロセサのメモリ内でコ
ピーしてメモリ移動速度のテストを行い、その経過時間
が記録される。次に、ステップ303で、一連のメッセ
ージがノード間を移送するのにかかる時間が記録され
る。ステップ304で、前記のテストの結果が返され、
決定関数に含まれる。この発明の別の具体例として、た
とえば、浮動小数点実行の性能のような他のハードウェ
ア特性を測るテストを加えてもよい。これらのハードウ
ェア特性テストを実行するための方法は当業者には公知
のことである。
【0023】本発明のさらに別の具体化として、決定関
数によって使われるハードウェア・パラメータが常にシ
ステムの最新の状態を表すように、ジョブの実行中に定
期的にハードウェア特性テストを実行することも可能で
ある。たとえば、ネットワークの負荷がまだ軽いときに
ジョブが始まった場合、コンピュータ・システムのトラ
フィックに関連するハードウェア・パラメータは、低い
トラフィック・レベル、したがって、プロセサ間のネッ
トワーク接続が速いことを示す。しかし、しばらく時間
が経った後では、コンピュータ・システムのトラフィッ
クが増え、その結果、ネットワークが混み、したがって
プロセサ間のネットワーク接続により時間がかかる。し
たがって、この場合、コンピュータ・システム・トラフ
ィックのパラメータをアップデートするにより、より正
確な選択決定が行えるようになる。アップデートは、選
択決定を行う度、あるいは10回の選択決定につき1回
行ってもよいし、または、他の定期的または非定期的周
期で行ってもよい。しかし、ハードウェア特性テストを
あまり頻繁に行うと、テストにとられる時間がコンピュ
ータ時間を余計にとり、したがってシステム全体の性能
を下げることになるということに注意する必要がある。
数によって使われるハードウェア・パラメータが常にシ
ステムの最新の状態を表すように、ジョブの実行中に定
期的にハードウェア特性テストを実行することも可能で
ある。たとえば、ネットワークの負荷がまだ軽いときに
ジョブが始まった場合、コンピュータ・システムのトラ
フィックに関連するハードウェア・パラメータは、低い
トラフィック・レベル、したがって、プロセサ間のネッ
トワーク接続が速いことを示す。しかし、しばらく時間
が経った後では、コンピュータ・システムのトラフィッ
クが増え、その結果、ネットワークが混み、したがって
プロセサ間のネットワーク接続により時間がかかる。し
たがって、この場合、コンピュータ・システム・トラフ
ィックのパラメータをアップデートするにより、より正
確な選択決定が行えるようになる。アップデートは、選
択決定を行う度、あるいは10回の選択決定につき1回
行ってもよいし、または、他の定期的または非定期的周
期で行ってもよい。しかし、ハードウェア特性テストを
あまり頻繁に行うと、テストにとられる時間がコンピュ
ータ時間を余計にとり、したがってシステム全体の性能
を下げることになるということに注意する必要がある。
【0024】また別の具体化として、ハードウェア・パ
ラメータのアップデートを、1つのメッセージを送る度
に動的に行うこともできる。たとえば、或る長さを超え
るメッセージの終わりに、短い(たとえば、2ないし3
バイト)タイムスタンプをつけることもできる。この場
合、メッセージの長さは、タイムスタンプによって使わ
れるバイトをつけ加えることによって、そのメッセージ
の全体の長さが増えない程度の長さである必要がある。
1つの例として、1000バイトを超えるメッセージに
タイムスタンプをつける。タイムスタンプを使用するこ
とにより、メッセージがネットワーク上を伝わるのにか
かる時間間隔の計算をすることが可能になる。計算され
た時間間隔を使って、ネットワークの速度を決定し、コ
ンピュータ・システム・トラフィックのパラメータをア
ップデートすることができる。
ラメータのアップデートを、1つのメッセージを送る度
に動的に行うこともできる。たとえば、或る長さを超え
るメッセージの終わりに、短い(たとえば、2ないし3
バイト)タイムスタンプをつけることもできる。この場
合、メッセージの長さは、タイムスタンプによって使わ
れるバイトをつけ加えることによって、そのメッセージ
の全体の長さが増えない程度の長さである必要がある。
1つの例として、1000バイトを超えるメッセージに
タイムスタンプをつける。タイムスタンプを使用するこ
とにより、メッセージがネットワーク上を伝わるのにか
かる時間間隔の計算をすることが可能になる。計算され
た時間間隔を使って、ネットワークの速度を決定し、コ
ンピュータ・システム・トラフィックのパラメータをア
ップデートすることができる。
【0025】決定関数で使われるパラメータの第2のソ
ースは、アプリケーション・プログラムによって提供さ
れる情報、たとえば、或る処理ノードで動作しているア
プリケーション・プログラムから受けた特定のオペレー
ションに対するリクエストに含まれている情報である。
スキャタ・オペレーションの場合、具体的な例として、
配布されるメッセージの長さ、メッセージ配布のあて先
になる処理ノードの数である。当業者には明らかなよう
に、前記のパラメータの他にも、オペレーションに関係
のあるパラメータが使用できよう。
ースは、アプリケーション・プログラムによって提供さ
れる情報、たとえば、或る処理ノードで動作しているア
プリケーション・プログラムから受けた特定のオペレー
ションに対するリクエストに含まれている情報である。
スキャタ・オペレーションの場合、具体的な例として、
配布されるメッセージの長さ、メッセージ配布のあて先
になる処理ノードの数である。当業者には明らかなよう
に、前記のパラメータの他にも、オペレーションに関係
のあるパラメータが使用できよう。
【0026】各オペレーションに対する各通信モードの
さまざまな特性はあらかじめ定められた関係、すなわ
ち、式によって記述することができる。あらかじめ定め
られた関係は上述したランタイム・パラメータとハード
ウェア・パラメータによって定義することができ、或る
オペレーションを実行するのにかかる時間間隔、オペレ
ーションが必要とするワークスペースの量、および、オ
ペレーションの実行に起因するコンピュータ・システム
・トラフィック等の数値によって表される。
さまざまな特性はあらかじめ定められた関係、すなわ
ち、式によって記述することができる。あらかじめ定め
られた関係は上述したランタイム・パラメータとハード
ウェア・パラメータによって定義することができ、或る
オペレーションを実行するのにかかる時間間隔、オペレ
ーションが必要とするワークスペースの量、および、オ
ペレーションの実行に起因するコンピュータ・システム
・トラフィック等の数値によって表される。
【0027】同報通信オペレーションに対する通信モー
ドの2つの例は、オール・ツー・オール・モードと超立
方体網モードである。オール・ツー・オールあるいは超
立方体網モードを使って実行される同報通信オペレーシ
ョンにかかる時間間隔は、この2つの通信モードに関す
る他の特性に加え、容易に計算できる。以下に、オール
・ツー・オール・モードおよび超立方体網モードによる
同報通信にかかる時間、コンピュータ・システム・トラ
フィック、および、必要ワークスペース量を計算するた
めの式を示す。
ドの2つの例は、オール・ツー・オール・モードと超立
方体網モードである。オール・ツー・オールあるいは超
立方体網モードを使って実行される同報通信オペレーシ
ョンにかかる時間間隔は、この2つの通信モードに関す
る他の特性に加え、容易に計算できる。以下に、オール
・ツー・オール・モードおよび超立方体網モードによる
同報通信にかかる時間、コンピュータ・システム・トラ
フィック、および、必要ワークスペース量を計算するた
めの式を示す。
【0028】諸式に共通の変数は以下の通りである。 N = ノードの数 L = 伝送を始めるためにかかる潜在時間 x = 1バイトを送るのにかかる時間 m = メッセージの長さ T = モードを実行するのにかかる時間 W = 必要ワークスペース量 S = コンピュータ・システム・トラフィック 通信モードを完了するのにかかる時間は以下のように表
すことができる。
すことができる。
【0029】超立方体網モードの同報通信は、 T = [log2N](L + mx) オール・ツー・オール・モードの同報通信は、 T = 3 (N-1)(L + m/N x) 或る通信モードのための必要ワークスペース量の計算は
以下のように表すことができる。
以下のように表すことができる。
【0030】超立方体網モードの同報通信は、 W = 0 オール・ツー・オール・モードの同報通信は、 W = 0 (注意: これらのモードではワークスペースを必要と
しない。他のモードでは必要である。) 或る通信モードに対するコンピュータ・システム・トラ
フィックの計算は以下のように表すことができる。
しない。他のモードでは必要である。) 或る通信モードに対するコンピュータ・システム・トラ
フィックの計算は以下のように表すことができる。
【0031】超立方体網モードの同報通信は、 m (N - 1) オール・ツー・オール・モードの同報通信は、 mlog2N + m(N - 1) 当業者には、他の同報通信モードのための、これらおよ
び他のパラメータの計算方法は明らかであろう。
び他のパラメータの計算方法は明らかであろう。
【0032】例として、図4に、同報通信オペレーショ
ンにどの通信モードを選択するかを決める決定関数の具
体化のフローチャートを示す。先ずステップ400で、
同報通信するメッセージの長さ(m)が非常に小さいかを
決定する。その結果がYesであれば、ステップ401
で、非常に小さいメッセージの同報通信オペレーション
に最適であるとして知られているモード(デフォールト
・モード)が選択される。必要に応じて、準備ステップ
400と401は決定関数から除外してもよい。
ンにどの通信モードを選択するかを決める決定関数の具
体化のフローチャートを示す。先ずステップ400で、
同報通信するメッセージの長さ(m)が非常に小さいかを
決定する。その結果がYesであれば、ステップ401
で、非常に小さいメッセージの同報通信オペレーション
に最適であるとして知られているモード(デフォールト
・モード)が選択される。必要に応じて、準備ステップ
400と401は決定関数から除外してもよい。
【0033】メッセージが非常に小さくない場合、ステ
ップ402で、各通信モードのための必要ワークスペー
ス量が計算される。この例では、可能な2つのモード、
モード1とモード2がある。初めに、ステップ403
で、モード1がメモリに入るかどうかが判断される。そ
うでない場合、ステップ404で、モード2がメモリに
入るかどうかが判断される。どちらのモードもメモリに
入らないならば、ステップ405でプロセスは止まる。
モード2がメモリに入る場合は、ステップ406で、モ
ード2が実行される。この場合、モード1はメモリに入
らなかったと想定している。モード1がメモリに入る場
合、ステップ407で、モード2もメモリに入るかどう
かが判断される。モード2がメモリに入らない場合、ス
テップ408で、モード1が実行される。これは、モー
ド1だけが実行可能な選択だからである。
ップ402で、各通信モードのための必要ワークスペー
ス量が計算される。この例では、可能な2つのモード、
モード1とモード2がある。初めに、ステップ403
で、モード1がメモリに入るかどうかが判断される。そ
うでない場合、ステップ404で、モード2がメモリに
入るかどうかが判断される。どちらのモードもメモリに
入らないならば、ステップ405でプロセスは止まる。
モード2がメモリに入る場合は、ステップ406で、モ
ード2が実行される。この場合、モード1はメモリに入
らなかったと想定している。モード1がメモリに入る場
合、ステップ407で、モード2もメモリに入るかどう
かが判断される。モード2がメモリに入らない場合、ス
テップ408で、モード1が実行される。これは、モー
ド1だけが実行可能な選択だからである。
【0034】モード1およびモード2の両方がメモリに
入る場合は、ステップ409で示すように、それぞれの
モードの必要時間が計算される。ステップ410で、2
つのモードそれぞれを実行するのにかかる時間にかなり
の差があるかどうかが問われる。かなりの時間の差と
は、5%以上の差のことである。かなりの差がある場
合、ステップ411で、モード1の実行にかかる時間
(T1)がモード2の実行にかかる時間(T2)より小
さいかどうかが決められる。T1がT2より小さくない
場合には、ステップ412でモード2が実行される。T
1がT2より小さい場合には、ステップ413でモード
1が実行される。要約すれば、ここでの目的は、同報通
信を行うのにかかる時間を最小にすることである。
入る場合は、ステップ409で示すように、それぞれの
モードの必要時間が計算される。ステップ410で、2
つのモードそれぞれを実行するのにかかる時間にかなり
の差があるかどうかが問われる。かなりの時間の差と
は、5%以上の差のことである。かなりの差がある場
合、ステップ411で、モード1の実行にかかる時間
(T1)がモード2の実行にかかる時間(T2)より小
さいかどうかが決められる。T1がT2より小さくない
場合には、ステップ412でモード2が実行される。T
1がT2より小さい場合には、ステップ413でモード
1が実行される。要約すれば、ここでの目的は、同報通
信を行うのにかかる時間を最小にすることである。
【0035】それぞれのモードを実行するのにかかる時
間にかなりの差がない場合には、次に大切な要因、すな
わち、コンピュータ・システム・トラフィックに基づく
比較が行われる。先ずステップ414で、2つのモード
それぞれに対するコンピュータ・システム・トラフィッ
クが計算される。次に、ステップ415で、モード1の
ネットワーク・トラフィック(S1)がモード2のネッ
トワーク・トラフィック(S2)より小さいかどうかが
問われる。モード1によって生成されたトラフィックの
方が小さい場合には、ステップ416でモード1が選択
され、これにより、コンピュータ・システム・トラフィ
ックを最小にする。逆に、モード1によって生成された
トラフィックがモード2のそれよりも大きい場合には、
ステップ417でモード2が実行され、コンピュータ・
システム・トラフィックを最小にする。
間にかなりの差がない場合には、次に大切な要因、すな
わち、コンピュータ・システム・トラフィックに基づく
比較が行われる。先ずステップ414で、2つのモード
それぞれに対するコンピュータ・システム・トラフィッ
クが計算される。次に、ステップ415で、モード1の
ネットワーク・トラフィック(S1)がモード2のネッ
トワーク・トラフィック(S2)より小さいかどうかが
問われる。モード1によって生成されたトラフィックの
方が小さい場合には、ステップ416でモード1が選択
され、これにより、コンピュータ・システム・トラフィ
ックを最小にする。逆に、モード1によって生成された
トラフィックがモード2のそれよりも大きい場合には、
ステップ417でモード2が実行され、コンピュータ・
システム・トラフィックを最小にする。
【0036】前記の処理過程において、完全な決定関数
をとる前に、予備的なステップをとることが望ましい。
この予備的なステップ(すなわち、ステップ400およ
び401)において、完全な決定関数を実行する必要が
あるかどうかを簡単に問うステップがとられる。完全な
決定関数をとる必要がない場合には、或る特定の通信モ
ードが自動的に選択され、決定プロセスはバイパスされ
る。たとえば、非常に短いメッセージが同報通信される
場合には、決定プロセスを実行する方が、短いメッセー
ジを同報通信するよりも時間がかかる場合もあり得る。
そのような場合には、完全な決定プロセスをとることは
無駄である。したがって、短いメッセージ対しては、良
い性能が得られるデフォールトの通信モードが自動的に
選択される。
をとる前に、予備的なステップをとることが望ましい。
この予備的なステップ(すなわち、ステップ400およ
び401)において、完全な決定関数を実行する必要が
あるかどうかを簡単に問うステップがとられる。完全な
決定関数をとる必要がない場合には、或る特定の通信モ
ードが自動的に選択され、決定プロセスはバイパスされ
る。たとえば、非常に短いメッセージが同報通信される
場合には、決定プロセスを実行する方が、短いメッセー
ジを同報通信するよりも時間がかかる場合もあり得る。
そのような場合には、完全な決定プロセスをとることは
無駄である。したがって、短いメッセージ対しては、良
い性能が得られるデフォールトの通信モードが自動的に
選択される。
【0037】本発明で使える具体化なマルチプロセサの
ハードウェアとしては、たとえばIBM RS/600
0があり、プロセサをつなぐネットワーク網としてはク
ロスバー・スイッチが使える。他の例としては、ネット
ワーク網をローカル・エリア・ネットワークにし、プロ
セサにIBM PS/2プロセサを使ってもよい。当業
者には明らかなように、前記のプロセサや通信網に限ら
ず、本発明の原理を逸脱しない範囲で、他の異なるプロ
セサや通信網を使い、それらを同一のシステムの中に混
在させて使うことも可能である。
ハードウェアとしては、たとえばIBM RS/600
0があり、プロセサをつなぐネットワーク網としてはク
ロスバー・スイッチが使える。他の例としては、ネット
ワーク網をローカル・エリア・ネットワークにし、プロ
セサにIBM PS/2プロセサを使ってもよい。当業
者には明らかなように、前記のプロセサや通信網に限ら
ず、本発明の原理を逸脱しない範囲で、他の異なるプロ
セサや通信網を使い、それらを同一のシステムの中に混
在させて使うことも可能である。
【0038】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)マルチノード・コンピュータ・システムにおい
て、複数の通信モードから特定のオペレーションを実行
するために1つの通信モードを動的に選択する方法であ
って、(a)前記特定オペレーションに関連するランタ
イム・パラメータを得るステップと、(b)前記複数の
通信モードから、前記のランタイム・パラメータを使っ
て1つの通信モードを選択するステップと、を有する方
法。 (2)前記複数の通信モードから前記の1つの通信モー
ドを選択するために、1つの通信モードを選択する前記
ステップ(b)が、あらかじめ定められた決定関数の中
で前記のランタイム・パラメータを使用することを含
む、前記(1)に記載の方法。 (3)前記のあらかじめ定められた決定関数の中で少な
くとも1つのあらかじめ定められた関係を使用すること
を含むことによって前記のあらかじめ定められた決定関
数を作成するステップをさらに有する、前記(2)に記
載の方法。 (4)前記のあらかじめ定められた決定関数を作成する
前記ステップがあらかじめ定められた時間関係を使用す
ることを含み、前記のあらかじめ定められた時間関係
が、選択された前記の1つの通信モードを使って特定の
オペレーションを実行するための時間間隔関係を有す
る、前記(3)に記載の方法。 (5)前記のあらかじめ定められた決定関数を作成する
前記ステップがあらかじめ定められたトラフィック関係
を使用することを含み、前記のあらかじめ定められたト
ラフィック関係が、選択された前記の1つの通信モード
を使って特定のオペレーションを実行することによって
生成されるコンピュータ・システム・トラフィックを確
定する関係を有する、前記(3)に記載の方法。 (6)前記のあらかじめ定められた決定関数を作成する
前記ステップがあらかじめ定められたワークスペース関
係を使用することを含み、前記のあらかじめ定められた
ワークスペース関係が、選択された前記の1つの通信モ
ードを使って特定のオペレーションを実行するのに必要
なワークスペース量を確定する関係を有する、前記
(3)に記載の方法。 (7)前記のあらかじめ定められた決定関数を作成する
前記ステップが前記のあらかじめ定められた決定関数の
中の複数のあらかじめ定められた関係を使用することを
含み、さらに、前記の決定関数のために、前記の複数の
あらかじめ定められた関係の各々を優先順位づけするス
テップを含む、前記(3)に記載の方法。 (8)前記の優先順位づけするステップが、選択された
前記の1つの通信モードを使って特定のオペレーション
を実行するためにかかる時間間隔を最小にするために、
前記の複数のあらかじめ定められた関係を優先順位づけ
することを含む、前記(7)に記載の方法。 (9)前記の優先順位づけするステップが、選択された
前記の1つの通信モードを使って特定のオペレーション
を実行することにより生成されるコンピュータ・システ
ム・トラフィックを最小にするために、前記の複数のあ
らかじめ定められた関係を優先順位づけすることを含
む、前記(7)に記載の方法。 (10)前記の優先順位づけするステップが、選択され
た前記の1つの通信モードを使って特定のオペレーショ
ンを実行するのに必要なワークスペース量を最小にする
ために、前記の複数のあらかじめ定められた関係を優先
順位づけすることを含む、前記(7)に記載の方法。 (11)前記のランタイム・パラメータを得るステップ
(a)が、特定のオペレーションに関連するメッセージ
の長さを得ることを含む、前記(1)に記載の方法。 (12)前記のランタイム・パラメータを得るステップ
(a)が、特定のオペレーションに関連する前記マルチ
ノード・コンピュータ・システムの中における処理ノー
ドの数を得ることを含む、前記(1)に記載の方法。 (13)コンピュータ・システムのハードウェア・パラ
メータを得るステップをさらに有し、1つの通信モード
を選択する前記のステップ(b)が特定のオペレーショ
ンに関連して得られる前記のランタイム・パラメータ、
および、前記の得られたコンピュータ・システムのハー
ドウェア・パラメータを使って、複数の通信モードから
前記の1つの通信モードを選択することを含む、前記
(1)に記載の方法。 (14)前記コンピュータ・システムが実行速度を有
し、ハードウェア・パラメータを得る前記ステップが、
前記コンピュータ・システムの実行速度を得るステップ
を有する、前記(13)に記載の方法。 (15)前記コンピュータ・システムがメモリ移動速度
を有し、ハードウェア・パラメータを得る前記ステップ
が、前記コンピュータ・システムのメモリ移動速度を得
るステップを有する、前記(13)に記載の方法。 (16)前記コンピュータ・システムがネットワーク通
信速度を有し、ハードウェア・パラメータを得る前記ス
テップが、前記コンピュータ・システムのネットワーク
通信速度を得るステップを有する、前記(13)に記載
の方法。 (17)前記の特定のオペレーションがコンピュータ・
システム内で実行されるジョブの内に存在し、ハードウ
ェア・パラメータを得る前記ステップが、前記ジョブを
初期化したときのコンピュータ・システムのハードウェ
ア・パラメータを得ることを含む、前記(13)に記載
の方法。 (18)前記の特定のオペレーションが前記ジョブ内で
複数回実行され、ハードウェア・パラメータを得る前記
ステップが、前記ジョブの内で前記の特定のオペレーシ
ョンが実行される度にコンピュータ・システムのハード
ウェア・パラメータを得ることを含む、前記(17)に
記載の方法。 (19)前記の特定のオペレーションが前記ジョブの内
で複数回実行され、ハードウェア・パラメータを得る前
記ステップが、コンピュータ・システム内で前記ジョブ
を実行中に前記コンピュータ・システムのハードウェア
・パラメータを定期的に得ることを含む、前記(17)
に記載の方法。 (20)1つの通信モードを選択する前記のステップ
(b)が、コンピュータ・システム内で前記ジョブを実
行中に前記の複数の通信モードから前記の1つの通信モ
ードを選択することを含む、前記(17)に記載の方
法。 (21)前記の複数の通信モードがオール・ツー・オー
ルのスキャタ通信モード、および、超立方体網通信モー
ドを含む、前記(1)に記載の方法。 (22)1つの通信モードを選択する前記のステップ
(b)が、コンピュータ・システムの性能特性を最適化
するために、前記のランタイム・パラメータを使って前
記の複数の通信モードから前記の1つの通信モードを選
択することを含む、前記(1)に記載の方法。 (23)マルチノード・コンピュータ・システムにおい
て選択された通信モードを使って特定のオペレーション
を実行する方法であって、(a)マルチノード・コンピ
ュータ・システムの性能特性を最適化するように特定の
オペレーションを実行するために複数の通信モードから
1つの通信モードを選択するステップと、(b)前記の
ステップ(a)により選択された前記の1つの通信モー
ドを使って前記マルチノード・コンピュータ・システム
内で前記の特定のオペレーションを実行するステップ
と、を有する方法。 (24)1つの通信モードを選択する前記のステップ
(a)が、前記の特定のオペレーションに関連するラン
タイム・パラメータを得ることを含む、前記(23)に
記載の方法。 (25)1つの通信モードを選択する前記のステップ
(a)が、前記の複数の通信モードから前記の1つの通
信モードを選択するために、あらかじめ定められた決定
関数の中で前記のランタイム・パラメータを使用するこ
とをさらに含む、前記(24)に記載の方法。 (26)前記のあらかじめ定められた決定関数を作成す
るステップをさらに有し、前記の作成するステップが、
前記のあらかじめ定められた決定関数の中で少なくとも
1つのあらかじめ定められた関係を使用することを含
む、前記(25)に記載の方法。 (27)前記のあらかじめ定められた決定関数を作成す
る前記ステップが、(i)選択された1つの通信モード
を使って特定のオペレーションを実行するためのあらか
じめ定められた時間関係と、(ii)選択された1つの
通信モードを使って特定のオペレーションを実行するこ
とによって生成されるコンピュータ・システム・トラフ
ィックを確定する関係と、(iii)選択された1つの
通信モードを使って特定のオペレーションを実行するた
めに必要なワークスペース量を確定する関係と、のうち
の1つを使用することを含む、前記(26)に記載の方
法。 (28)前記のあらかじめ定められた決定関数を作成す
る前記ステップが、前記のあらかじめ定められた決定関
数の中で複数のあらかじめ定められた関係を使い、さら
に、前記のあらかじめ定められた決定関数のために、前
記の複数のあらかじめ定められた関係の各々を優先順位
づけするステップを含む、前記(26)に記載の方法。 (29)前記の複数のあらかじめ定められた関係を優先
順位づけする前記ステップが、(i)選択された1つの
通信モードを使って特定のオペレーションを実行するた
めにかかる時間と、(ii)選択された1つの通信モー
ドを使って特定のオペレーションを実行することにより
生成されるコンピュータ・システム・トラフィックと、
(iii)選択された1つの通信モードを使って特定の
オペレーションを実行するために必要なワークスペース
量と、のうちの1つを最小にするために、前記の複数の
あらかじめ定められた関係を優先順位づけすることを含
む、前記(28)に記載の方法。 (30)1つの通信モードを選択する前記ステップ
(a)が、特定のオペレーションに関連するランタイム
・パラメータとして、前記の特定のオペレーションのメ
ッセージの長さを得ることを含む、前記(24)に記載
の方法。 (31)1つの通信モードを選択する前記ステップ
(a)が、特定のオペレーションに関連するランタイム
・パラメータとして、前記マルチノード・コンピュータ
・システムのノードの数を得ることを含む、前記(2
4)に記載の方法。 (32)1つの通信モードを選択する前記ステップ
(a)が、コンピュータ・システムのハードウェア・パ
ラメータを得、複数の通信モードから1つの通信モード
を選択する際に、前記ハードウェア・パラメータを使う
ことをさらに含む、前記(23)に記載の方法。 (33)前記の特定のオペレーションがコンピュータ・
システム内で実行されるジョブの内で行われ、ハードウ
ェア・パラメータを得る前記ステップが、前記ジョブを
初期化したときのコンピュータ・システムのハードウェ
ア・パラメータを得ることを含む、前記(32)に記載
の方法。 (34)前記の特定のオペレーションがジョブの内で複
数回行われ、コンピュータ・システムに関連するハード
ウェア・パラメータを得る前記ステップが、ジョブ内で
前記の特定のオペレーションが行われる度にコンピュー
タ・システムのハードウェア・パラメータを得ることを
含む、前記(33)に記載の方法。 (35)コンピュータ・システムのハードウェア・パラ
メータを得る前記ステップが、(i)コンピュータ・シ
ステムの実行速度を得るステップと、(ii)コンピュ
ータ・システムのメモリ移動速度を得るステップと、
(iii)通信システムのネットワーク通信速度を得る
ステップと、のうちの1つを得ることを含む、前記(3
3)に記載の方法。 (36)特定のオペレーションを実行するためのマルチ
ノード・コンピュータ・システムであって、前記の特定
のオペレーションに関連するランタイム・パラメータを
得る手段と、前記のランタイム・パラメータを使って、
複数の通信モードから1つの通信モードを選択する手段
と、を有するシステム。 (37)1つの通信モードを選択する前記手段が、前記
の複数の通信モードから前記の1つの通信モードを選択
するために、あらかじめ定められた決定関数の中で前記
のランタイム・パラメータを使う手段を含む、前記(3
6)に記載のシステム。 (38)前記のあらかじめ定められた決定関数を記憶す
る手段をさらに含む、前記(37)に記載のシステム。 (39)ランタイム・パラメータを得る前記手段が、特
定のオペレーションに関連するメッセージの長さを得る
手段を含む、前記(36)に記載のシステム。 (40)ランタイム・パラメータを得る前記手段が、前
記の特定のオペレーションに関連する前記マルチノード
・コンピュータ・システムの処理ノードの数を得る手段
を含む、前記(36)に記載のシステム。 (41)コンピュータ・システムのハードウェア・パラ
メータを得る手段をさらに有し、1つの通信モードを選
択する前記手段が、前記の特定のオペレーションに関連
して得られた前記のランタイム・パラメータおよび前記
のハードウェア・パラメータを使って、複数の通信モー
ドから1つの通信モードを選択する手段を含む、前記
(36)に記載のシステム。 (42)ハードウェア・パラメータを得る前記手段が、
コンピュータ・システムの実行速度を得る手段を含む、
前記(41)に記載のシステム。 (43)ハードウェア・パラメータを得る前記手段が、
コンピュータのメモリ移動速度を得る手段を含む、前記
(41)に記載のシステム。 (44)前記の特定のオペレーションがコンピュータ・
システムの内で実行されるジョブの内に存在し、ハード
ウェア・パラメータを得る前記手段が、前記ジョブを初
期化したときのコンピュータ・システムのハードウェア
・パラメータを得る手段を含む、前記(41)に記載の
システム。 (45)前記の特定のオペレーションが前記ジョブの内
で複数回実行され、ハードウェア・パラメータを得る前
記手段が、前記ジョブの内で前記の特定のオペレーショ
ンが実行される度にコンピュータ・システムのハードウ
ェア・パラメータを得る手段を含む、前記(44)に記
載のシステム。 (46)前記の特定のオペレーションが前記ジョブの内
で複数回実行され、ハードウェア・パラメータを得る前
記手段が、コンピュータ・システム内で前記ジョブを実
行中にコンピュータ・システムのハードウェア・パラメ
ータを定期的に得る手段を含む、前記(44)に記載の
システム。 (47)1つの通信モードを選択する前記手段が、コン
ピュータ・システム内でジョブの実行中に複数の通信モ
ードから1つの通信モードを選択する手段を含む、前記
(44)に記載のシステム。 (48)前記の複数の通信モードがオール・ツー・オー
ルのスキャタ通信モードおよび超立方体網通信モードを
含む、前記(36)に記載のシステム。 (49)1つの通信モードを選択する前記手段が、コン
ピュータ・システムの性能特性を最適化するように、前
記のランタイム・パラメータを使って、前記の複数の通
信モードから1つの通信モードを選択する手段を含む、
前記(36)に記載のシステム。 (50)選択された1つの通信モードを使ってマルチノ
ード・コンピュータ・システム内で特定のオペレーショ
ンを実行する手段をさらに有する、前記(36)に記載
のシステム。
の事項を開示する。 (1)マルチノード・コンピュータ・システムにおい
て、複数の通信モードから特定のオペレーションを実行
するために1つの通信モードを動的に選択する方法であ
って、(a)前記特定オペレーションに関連するランタ
イム・パラメータを得るステップと、(b)前記複数の
通信モードから、前記のランタイム・パラメータを使っ
て1つの通信モードを選択するステップと、を有する方
法。 (2)前記複数の通信モードから前記の1つの通信モー
ドを選択するために、1つの通信モードを選択する前記
ステップ(b)が、あらかじめ定められた決定関数の中
で前記のランタイム・パラメータを使用することを含
む、前記(1)に記載の方法。 (3)前記のあらかじめ定められた決定関数の中で少な
くとも1つのあらかじめ定められた関係を使用すること
を含むことによって前記のあらかじめ定められた決定関
数を作成するステップをさらに有する、前記(2)に記
載の方法。 (4)前記のあらかじめ定められた決定関数を作成する
前記ステップがあらかじめ定められた時間関係を使用す
ることを含み、前記のあらかじめ定められた時間関係
が、選択された前記の1つの通信モードを使って特定の
オペレーションを実行するための時間間隔関係を有す
る、前記(3)に記載の方法。 (5)前記のあらかじめ定められた決定関数を作成する
前記ステップがあらかじめ定められたトラフィック関係
を使用することを含み、前記のあらかじめ定められたト
ラフィック関係が、選択された前記の1つの通信モード
を使って特定のオペレーションを実行することによって
生成されるコンピュータ・システム・トラフィックを確
定する関係を有する、前記(3)に記載の方法。 (6)前記のあらかじめ定められた決定関数を作成する
前記ステップがあらかじめ定められたワークスペース関
係を使用することを含み、前記のあらかじめ定められた
ワークスペース関係が、選択された前記の1つの通信モ
ードを使って特定のオペレーションを実行するのに必要
なワークスペース量を確定する関係を有する、前記
(3)に記載の方法。 (7)前記のあらかじめ定められた決定関数を作成する
前記ステップが前記のあらかじめ定められた決定関数の
中の複数のあらかじめ定められた関係を使用することを
含み、さらに、前記の決定関数のために、前記の複数の
あらかじめ定められた関係の各々を優先順位づけするス
テップを含む、前記(3)に記載の方法。 (8)前記の優先順位づけするステップが、選択された
前記の1つの通信モードを使って特定のオペレーション
を実行するためにかかる時間間隔を最小にするために、
前記の複数のあらかじめ定められた関係を優先順位づけ
することを含む、前記(7)に記載の方法。 (9)前記の優先順位づけするステップが、選択された
前記の1つの通信モードを使って特定のオペレーション
を実行することにより生成されるコンピュータ・システ
ム・トラフィックを最小にするために、前記の複数のあ
らかじめ定められた関係を優先順位づけすることを含
む、前記(7)に記載の方法。 (10)前記の優先順位づけするステップが、選択され
た前記の1つの通信モードを使って特定のオペレーショ
ンを実行するのに必要なワークスペース量を最小にする
ために、前記の複数のあらかじめ定められた関係を優先
順位づけすることを含む、前記(7)に記載の方法。 (11)前記のランタイム・パラメータを得るステップ
(a)が、特定のオペレーションに関連するメッセージ
の長さを得ることを含む、前記(1)に記載の方法。 (12)前記のランタイム・パラメータを得るステップ
(a)が、特定のオペレーションに関連する前記マルチ
ノード・コンピュータ・システムの中における処理ノー
ドの数を得ることを含む、前記(1)に記載の方法。 (13)コンピュータ・システムのハードウェア・パラ
メータを得るステップをさらに有し、1つの通信モード
を選択する前記のステップ(b)が特定のオペレーショ
ンに関連して得られる前記のランタイム・パラメータ、
および、前記の得られたコンピュータ・システムのハー
ドウェア・パラメータを使って、複数の通信モードから
前記の1つの通信モードを選択することを含む、前記
(1)に記載の方法。 (14)前記コンピュータ・システムが実行速度を有
し、ハードウェア・パラメータを得る前記ステップが、
前記コンピュータ・システムの実行速度を得るステップ
を有する、前記(13)に記載の方法。 (15)前記コンピュータ・システムがメモリ移動速度
を有し、ハードウェア・パラメータを得る前記ステップ
が、前記コンピュータ・システムのメモリ移動速度を得
るステップを有する、前記(13)に記載の方法。 (16)前記コンピュータ・システムがネットワーク通
信速度を有し、ハードウェア・パラメータを得る前記ス
テップが、前記コンピュータ・システムのネットワーク
通信速度を得るステップを有する、前記(13)に記載
の方法。 (17)前記の特定のオペレーションがコンピュータ・
システム内で実行されるジョブの内に存在し、ハードウ
ェア・パラメータを得る前記ステップが、前記ジョブを
初期化したときのコンピュータ・システムのハードウェ
ア・パラメータを得ることを含む、前記(13)に記載
の方法。 (18)前記の特定のオペレーションが前記ジョブ内で
複数回実行され、ハードウェア・パラメータを得る前記
ステップが、前記ジョブの内で前記の特定のオペレーシ
ョンが実行される度にコンピュータ・システムのハード
ウェア・パラメータを得ることを含む、前記(17)に
記載の方法。 (19)前記の特定のオペレーションが前記ジョブの内
で複数回実行され、ハードウェア・パラメータを得る前
記ステップが、コンピュータ・システム内で前記ジョブ
を実行中に前記コンピュータ・システムのハードウェア
・パラメータを定期的に得ることを含む、前記(17)
に記載の方法。 (20)1つの通信モードを選択する前記のステップ
(b)が、コンピュータ・システム内で前記ジョブを実
行中に前記の複数の通信モードから前記の1つの通信モ
ードを選択することを含む、前記(17)に記載の方
法。 (21)前記の複数の通信モードがオール・ツー・オー
ルのスキャタ通信モード、および、超立方体網通信モー
ドを含む、前記(1)に記載の方法。 (22)1つの通信モードを選択する前記のステップ
(b)が、コンピュータ・システムの性能特性を最適化
するために、前記のランタイム・パラメータを使って前
記の複数の通信モードから前記の1つの通信モードを選
択することを含む、前記(1)に記載の方法。 (23)マルチノード・コンピュータ・システムにおい
て選択された通信モードを使って特定のオペレーション
を実行する方法であって、(a)マルチノード・コンピ
ュータ・システムの性能特性を最適化するように特定の
オペレーションを実行するために複数の通信モードから
1つの通信モードを選択するステップと、(b)前記の
ステップ(a)により選択された前記の1つの通信モー
ドを使って前記マルチノード・コンピュータ・システム
内で前記の特定のオペレーションを実行するステップ
と、を有する方法。 (24)1つの通信モードを選択する前記のステップ
(a)が、前記の特定のオペレーションに関連するラン
タイム・パラメータを得ることを含む、前記(23)に
記載の方法。 (25)1つの通信モードを選択する前記のステップ
(a)が、前記の複数の通信モードから前記の1つの通
信モードを選択するために、あらかじめ定められた決定
関数の中で前記のランタイム・パラメータを使用するこ
とをさらに含む、前記(24)に記載の方法。 (26)前記のあらかじめ定められた決定関数を作成す
るステップをさらに有し、前記の作成するステップが、
前記のあらかじめ定められた決定関数の中で少なくとも
1つのあらかじめ定められた関係を使用することを含
む、前記(25)に記載の方法。 (27)前記のあらかじめ定められた決定関数を作成す
る前記ステップが、(i)選択された1つの通信モード
を使って特定のオペレーションを実行するためのあらか
じめ定められた時間関係と、(ii)選択された1つの
通信モードを使って特定のオペレーションを実行するこ
とによって生成されるコンピュータ・システム・トラフ
ィックを確定する関係と、(iii)選択された1つの
通信モードを使って特定のオペレーションを実行するた
めに必要なワークスペース量を確定する関係と、のうち
の1つを使用することを含む、前記(26)に記載の方
法。 (28)前記のあらかじめ定められた決定関数を作成す
る前記ステップが、前記のあらかじめ定められた決定関
数の中で複数のあらかじめ定められた関係を使い、さら
に、前記のあらかじめ定められた決定関数のために、前
記の複数のあらかじめ定められた関係の各々を優先順位
づけするステップを含む、前記(26)に記載の方法。 (29)前記の複数のあらかじめ定められた関係を優先
順位づけする前記ステップが、(i)選択された1つの
通信モードを使って特定のオペレーションを実行するた
めにかかる時間と、(ii)選択された1つの通信モー
ドを使って特定のオペレーションを実行することにより
生成されるコンピュータ・システム・トラフィックと、
(iii)選択された1つの通信モードを使って特定の
オペレーションを実行するために必要なワークスペース
量と、のうちの1つを最小にするために、前記の複数の
あらかじめ定められた関係を優先順位づけすることを含
む、前記(28)に記載の方法。 (30)1つの通信モードを選択する前記ステップ
(a)が、特定のオペレーションに関連するランタイム
・パラメータとして、前記の特定のオペレーションのメ
ッセージの長さを得ることを含む、前記(24)に記載
の方法。 (31)1つの通信モードを選択する前記ステップ
(a)が、特定のオペレーションに関連するランタイム
・パラメータとして、前記マルチノード・コンピュータ
・システムのノードの数を得ることを含む、前記(2
4)に記載の方法。 (32)1つの通信モードを選択する前記ステップ
(a)が、コンピュータ・システムのハードウェア・パ
ラメータを得、複数の通信モードから1つの通信モード
を選択する際に、前記ハードウェア・パラメータを使う
ことをさらに含む、前記(23)に記載の方法。 (33)前記の特定のオペレーションがコンピュータ・
システム内で実行されるジョブの内で行われ、ハードウ
ェア・パラメータを得る前記ステップが、前記ジョブを
初期化したときのコンピュータ・システムのハードウェ
ア・パラメータを得ることを含む、前記(32)に記載
の方法。 (34)前記の特定のオペレーションがジョブの内で複
数回行われ、コンピュータ・システムに関連するハード
ウェア・パラメータを得る前記ステップが、ジョブ内で
前記の特定のオペレーションが行われる度にコンピュー
タ・システムのハードウェア・パラメータを得ることを
含む、前記(33)に記載の方法。 (35)コンピュータ・システムのハードウェア・パラ
メータを得る前記ステップが、(i)コンピュータ・シ
ステムの実行速度を得るステップと、(ii)コンピュ
ータ・システムのメモリ移動速度を得るステップと、
(iii)通信システムのネットワーク通信速度を得る
ステップと、のうちの1つを得ることを含む、前記(3
3)に記載の方法。 (36)特定のオペレーションを実行するためのマルチ
ノード・コンピュータ・システムであって、前記の特定
のオペレーションに関連するランタイム・パラメータを
得る手段と、前記のランタイム・パラメータを使って、
複数の通信モードから1つの通信モードを選択する手段
と、を有するシステム。 (37)1つの通信モードを選択する前記手段が、前記
の複数の通信モードから前記の1つの通信モードを選択
するために、あらかじめ定められた決定関数の中で前記
のランタイム・パラメータを使う手段を含む、前記(3
6)に記載のシステム。 (38)前記のあらかじめ定められた決定関数を記憶す
る手段をさらに含む、前記(37)に記載のシステム。 (39)ランタイム・パラメータを得る前記手段が、特
定のオペレーションに関連するメッセージの長さを得る
手段を含む、前記(36)に記載のシステム。 (40)ランタイム・パラメータを得る前記手段が、前
記の特定のオペレーションに関連する前記マルチノード
・コンピュータ・システムの処理ノードの数を得る手段
を含む、前記(36)に記載のシステム。 (41)コンピュータ・システムのハードウェア・パラ
メータを得る手段をさらに有し、1つの通信モードを選
択する前記手段が、前記の特定のオペレーションに関連
して得られた前記のランタイム・パラメータおよび前記
のハードウェア・パラメータを使って、複数の通信モー
ドから1つの通信モードを選択する手段を含む、前記
(36)に記載のシステム。 (42)ハードウェア・パラメータを得る前記手段が、
コンピュータ・システムの実行速度を得る手段を含む、
前記(41)に記載のシステム。 (43)ハードウェア・パラメータを得る前記手段が、
コンピュータのメモリ移動速度を得る手段を含む、前記
(41)に記載のシステム。 (44)前記の特定のオペレーションがコンピュータ・
システムの内で実行されるジョブの内に存在し、ハード
ウェア・パラメータを得る前記手段が、前記ジョブを初
期化したときのコンピュータ・システムのハードウェア
・パラメータを得る手段を含む、前記(41)に記載の
システム。 (45)前記の特定のオペレーションが前記ジョブの内
で複数回実行され、ハードウェア・パラメータを得る前
記手段が、前記ジョブの内で前記の特定のオペレーショ
ンが実行される度にコンピュータ・システムのハードウ
ェア・パラメータを得る手段を含む、前記(44)に記
載のシステム。 (46)前記の特定のオペレーションが前記ジョブの内
で複数回実行され、ハードウェア・パラメータを得る前
記手段が、コンピュータ・システム内で前記ジョブを実
行中にコンピュータ・システムのハードウェア・パラメ
ータを定期的に得る手段を含む、前記(44)に記載の
システム。 (47)1つの通信モードを選択する前記手段が、コン
ピュータ・システム内でジョブの実行中に複数の通信モ
ードから1つの通信モードを選択する手段を含む、前記
(44)に記載のシステム。 (48)前記の複数の通信モードがオール・ツー・オー
ルのスキャタ通信モードおよび超立方体網通信モードを
含む、前記(36)に記載のシステム。 (49)1つの通信モードを選択する前記手段が、コン
ピュータ・システムの性能特性を最適化するように、前
記のランタイム・パラメータを使って、前記の複数の通
信モードから1つの通信モードを選択する手段を含む、
前記(36)に記載のシステム。 (50)選択された1つの通信モードを使ってマルチノ
ード・コンピュータ・システム内で特定のオペレーショ
ンを実行する手段をさらに有する、前記(36)に記載
のシステム。
【0039】
【発明の効果】本発明は、マルチノード・コンピュータ
・システムにおいて、複数の通信モードから、或る特定
の通信オペレーションを実行するのに適した1つの通信
モードを動的に選択する方法を提供するものである。一
般的に、システムが扱うタスクの範囲は動的に大きく変
動し得るので、たとえば、アプリケーション・プログラ
ムが初期化される時点でシステムを最適化し固定するこ
とは、変動するシステムの状況に最適に対応することは
できない。本発明は、通信の実行時に最適の通信モード
を動的且つ自動的に選択する手段を持ち、この選択の決
定には、システムのハードウェア・パラメータ(たとえ
ば、プロセサ間の通信速度)、および、実行時のランタ
イム・パラメータ(たとえば、メッセージを送付するあ
て先になるノードの数)が使われる。この選択決定の方
法により、通信実行時のシステム性能の最適化、たとえ
ば、メッセージ配布のオペレーションを実行するのにか
かる時間、あるいは、ワークスペース要求量などの要因
を最適化することができる。
・システムにおいて、複数の通信モードから、或る特定
の通信オペレーションを実行するのに適した1つの通信
モードを動的に選択する方法を提供するものである。一
般的に、システムが扱うタスクの範囲は動的に大きく変
動し得るので、たとえば、アプリケーション・プログラ
ムが初期化される時点でシステムを最適化し固定するこ
とは、変動するシステムの状況に最適に対応することは
できない。本発明は、通信の実行時に最適の通信モード
を動的且つ自動的に選択する手段を持ち、この選択の決
定には、システムのハードウェア・パラメータ(たとえ
ば、プロセサ間の通信速度)、および、実行時のランタ
イム・パラメータ(たとえば、メッセージを送付するあ
て先になるノードの数)が使われる。この選択決定の方
法により、通信実行時のシステム性能の最適化、たとえ
ば、メッセージ配布のオペレーションを実行するのにか
かる時間、あるいは、ワークスペース要求量などの要因
を最適化することができる。
【図1】マルチノード・コンピュータ・システムの簡略
化した図を示す。
化した図を示す。
【図2】本発明の具体化にしたがい、通信モード選択プ
ロセスの簡略化したフローチャートを示す。
ロセスの簡略化したフローチャートを示す。
【図3】図2で示した選択プロセスのうち、ハードウェ
ア特性づけを具体化するフローチャートを示す。
ア特性づけを具体化するフローチャートを示す。
【図4】図2で示した選択プロセスを行うための決定プ
ロセスを具体化するフローチャートを示す。
ロセスを具体化するフローチャートを示す。
10 疎結合並列処理システム 101 プロセサ(またはノード) 102 ネットワーク接続 103 ネットワーク基本構造
Claims (50)
- 【請求項1】 マルチノード・コンピュータ・システム
において、複数の通信モードから特定のオペレーション
を実行するために1つの通信モードを動的に選択する方
法であって、 (a)前記特定オペレーションに関連するランタイム・
パラメータを得るステップと、 (b)前記複数の通信モードから、前記のランタイム・
パラメータを使って1つの通信モードを選択するステッ
プと、 を有する方法。 - 【請求項2】 前記複数の通信モードから前記の1つの
通信モードを選択するために、1つの通信モードを選択
する前記ステップ(b)が、あらかじめ定められた決定
関数の中で前記のランタイム・パラメータを使用するこ
とを含む、請求項1に記載の方法。 - 【請求項3】 前記のあらかじめ定められた決定関数の
中で少なくとも1つのあらかじめ定められた関係を使用
することを含むことによって前記のあらかじめ定められ
た決定関数を作成するステップをさらに有する、請求項
2に記載の方法。 - 【請求項4】 前記のあらかじめ定められた決定関数を
作成する前記ステップがあらかじめ定められた時間関係
を使用することを含み、前記のあらかじめ定められた時
間関係が、選択された前記の1つの通信モードを使って
特定のオペレーションを実行するための時間間隔関係を
有する、請求項3に記載の方法。 - 【請求項5】 前記のあらかじめ定められた決定関数を
作成する前記ステップがあらかじめ定められたトラフィ
ック関係を使用することを含み、前記のあらかじめ定め
られたトラフィック関係が、選択された前記の1つの通
信モードを使って特定のオペレーションを実行すること
によって生成されるコンピュータ・システム・トラフィ
ックを確定する関係を有する、請求項3に記載の方法。 - 【請求項6】 前記のあらかじめ定められた決定関数を
作成する前記ステップがあらかじめ定められたワークス
ペース関係を使用することを含み、前記のあらかじめ定
められたワークスペース関係が、選択された前記の1つ
の通信モードを使って特定のオペレーションを実行する
のに必要なワークスペース量を確定する関係を有する、
請求項3に記載の方法。 - 【請求項7】 前記のあらかじめ定められた決定関数を
作成する前記ステップが前記のあらかじめ定められた決
定関数の中の複数のあらかじめ定められた関係を使用す
ることを含み、さらに、前記の決定関数のために、前記
の複数のあらかじめ定められた関係の各々を優先順位づ
けするステップを含む、請求項3に記載の方法。 - 【請求項8】 前記の優先順位づけするステップが、選
択された前記の1つの通信モードを使って特定のオペレ
ーションを実行するためにかかる時間間隔を最小にする
ために、前記の複数のあらかじめ定められた関係を優先
順位づけすることを含む、請求項7に記載の方法。 - 【請求項9】 前記の優先順位づけするステップが、選
択された前記の1つの通信モードを使って特定のオペレ
ーションを実行することにより生成されるコンピュータ
・システム・トラフィックを最小にするために、前記の
複数のあらかじめ定められた関係を優先順位づけするこ
とを含む、請求項7に記載の方法。 - 【請求項10】前記の優先順位づけするステップが、選
択された前記の1つの通信モードを使って特定のオペレ
ーションを実行するのに必要なワークスペース量を最小
にするために、前記の複数のあらかじめ定められた関係
を優先順位づけすることを含む、請求項7に記載の方
法。 - 【請求項11】前記のランタイム・パラメータを得るス
テップ(a)が、特定のオペレーションに関連するメッ
セージの長さを得ることを含む、請求項1に記載の方
法。 - 【請求項12】前記のランタイム・パラメータを得るス
テップ(a)が、特定のオペレーションに関連する前記
マルチノード・コンピュータ・システムの中における処
理ノードの数を得ることを含む、請求項1に記載の方
法。 - 【請求項13】コンピュータ・システムのハードウェア
・パラメータを得るステップをさらに有し、1つの通信
モードを選択する前記のステップ(b)が特定のオペレ
ーションに関連して得られる前記のランタイム・パラメ
ータ、および、前記の得られたコンピュータ・システム
のハードウェア・パラメータを使って、複数の通信モー
ドから前記の1つの通信モードを選択することを含む、
請求項1に記載の方法。 - 【請求項14】前記コンピュータ・システムが実行速度
を有し、ハードウェア・パラメータを得る前記ステップ
が、前記コンピュータ・システムの実行速度を得るステ
ップを有する、請求項13に記載の方法。 - 【請求項15】前記コンピュータ・システムがメモリ移
動速度を有し、ハードウェア・パラメータを得る前記ス
テップが、前記コンピュータ・システムのメモリ移動速
度を得るステップを有する、請求項13に記載の方法。 - 【請求項16】前記コンピュータ・システムがネットワ
ーク通信速度を有し、ハードウェア・パラメータを得る
前記ステップが、前記コンピュータ・システムのネット
ワーク通信速度を得るステップを有する、請求項13に
記載の方法。 - 【請求項17】前記の特定のオペレーションがコンピュ
ータ・システム内で実行されるジョブの内に存在し、ハ
ードウェア・パラメータを得る前記ステップが、前記ジ
ョブを初期化したときのコンピュータ・システムのハー
ドウェア・パラメータを得ることを含む、請求項13に
記載の方法。 - 【請求項18】前記の特定のオペレーションが前記ジョ
ブ内で複数回実行され、ハードウェア・パラメータを得
る前記ステップが、前記ジョブの内で前記の特定のオペ
レーションが実行される度にコンピュータ・システムの
ハードウェア・パラメータを得ることを含む、請求項1
7に記載の方法。 - 【請求項19】前記の特定のオペレーションが前記ジョ
ブの内で複数回実行され、ハードウェア・パラメータを
得る前記ステップが、コンピュータ・システム内で前記
ジョブを実行中に前記コンピュータ・システムのハード
ウェア・パラメータを定期的に得ることを含む、請求項
17に記載の方法。 - 【請求項20】1つの通信モードを選択する前記のステ
ップ(b)が、コンピュータ・システム内で前記ジョブ
を実行中に前記の複数の通信モードから前記の1つの通
信モードを選択することを含む、請求項17に記載の方
法。 - 【請求項21】前記の複数の通信モードがオール・ツー
・オールのスキャタ通信モード、および、超立方体網通
信モードを含む、請求項1に記載の方法。 - 【請求項22】1つの通信モードを選択する前記のステ
ップ(b)が、コンピュータ・システムの性能特性を最
適化するために、前記のランタイム・パラメータを使っ
て前記の複数の通信モードから前記の1つの通信モード
を選択することを含む、請求項1に記載の方法。 - 【請求項23】マルチノード・コンピュータ・システム
において選択された通信モードを使って特定のオペレー
ションを実行する方法であって、 (a)マルチノード・コンピュータ・システムの性能特
性を最適化するように特定のオペレーションを実行する
ために複数の通信モードから1つの通信モードを選択す
るステップと、 (b)前記のステップ(a)により選択された前記の1
つの通信モードを使って前記マルチノード・コンピュー
タ・システム内で前記の特定のオペレーションを実行す
るステップと、 を有する方法。 - 【請求項24】1つの通信モードを選択する前記のステ
ップ(a)が、前記の特定のオペレーションに関連する
ランタイム・パラメータを得ることを含む、請求項23
に記載の方法。 - 【請求項25】1つの通信モードを選択する前記のステ
ップ(a)が、前記の複数の通信モードから前記の1つ
の通信モードを選択するために、あらかじめ定められた
決定関数の中で前記のランタイム・パラメータを使用す
ることをさらに含む、請求項24に記載の方法。 - 【請求項26】前記のあらかじめ定められた決定関数を
作成するステップをさらに有し、前記の作成するステッ
プが、前記のあらかじめ定められた決定関数の中で少な
くとも1つのあらかじめ定められた関係を使用すること
を含む、請求項25に記載の方法。 - 【請求項27】前記のあらかじめ定められた決定関数を
作成する前記ステップが、 (i)選択された1つの通信モードを使って特定のオペ
レーションを実行するためのあらかじめ定められた時間
関係と、 (ii)選択された1つの通信モードを使って特定のオ
ペレーションを実行することによって生成されるコンピ
ュータ・システム・トラフィックを確定する関係と、 (iii)選択された1つの通信モードを使って特定の
オペレーションを実行するために必要なワークスペース
量を確定する関係と、 のうちの1つを使用することを含む、請求項26に記載
の方法。 - 【請求項28】前記のあらかじめ定められた決定関数を
作成する前記ステップが、前記のあらかじめ定められた
決定関数の中で複数のあらかじめ定められた関係を使
い、さらに、前記のあらかじめ定められた決定関数のた
めに、前記の複数のあらかじめ定められた関係の各々を
優先順位づけするステップを含む、請求項26に記載の
方法。 - 【請求項29】前記の複数のあらかじめ定められた関係
を優先順位づけする前記ステップが、 (i)選択された1つの通信モードを使って特定のオペ
レーションを実行するためにかかる時間と、 (ii)選択された1つの通信モードを使って特定のオ
ペレーションを実行することにより生成されるコンピュ
ータ・システム・トラフィックと、 (iii)選択された1つの通信モードを使って特定の
オペレーションを実行するために必要なワークスペース
量と、 のうちの1つを最小にするために、前記の複数のあらか
じめ定められた関係を優先順位づけすることを含む、請
求項28に記載の方法。 - 【請求項30】1つの通信モードを選択する前記ステッ
プ(a)が、特定のオペレーションに関連するランタイ
ム・パラメータとして、前記の特定のオペレーションの
メッセージの長さを得ることを含む、請求項24に記載
の方法。 - 【請求項31】1つの通信モードを選択する前記ステッ
プ(a)が、特定のオペレーションに関連するランタイ
ム・パラメータとして、前記マルチノード・コンピュー
タ・システムのノードの数を得ることを含む、請求項2
4に記載の方法。 - 【請求項32】1つの通信モードを選択する前記ステッ
プ(a)が、コンピュータ・システムのハードウェア・
パラメータを得、複数の通信モードから1つの通信モー
ドを選択する際に、前記ハードウェア・パラメータを使
うことをさらに含む、請求項23に記載の方法。 - 【請求項33】前記の特定のオペレーションがコンピュ
ータ・システム内で実行されるジョブの内で行われ、ハ
ードウェア・パラメータを得る前記ステップが、前記ジ
ョブを初期化したときのコンピュータ・システムのハー
ドウェア・パラメータを得ることを含む、請求項32に
記載の方法。 - 【請求項34】前記の特定のオペレーションがジョブの
内で複数回行われ、コンピュータ・システムに関連する
ハードウェア・パラメータを得る前記ステップが、ジョ
ブ内で前記の特定のオペレーションが行われる度にコン
ピュータ・システムのハードウェア・パラメータを得る
ことを含む、請求項33に記載の方法。 - 【請求項35】コンピュータ・システムのハードウェア
・パラメータを得る前記ステップが、 (i)コンピュータ・システムの実行速度を得るステッ
プと、 (ii)コンピュータ・システムのメモリ移動速度を得
るステップと、 (iii)通信システムのネットワーク通信速度を得る
ステップと、 のうちの1つを得ることを含む、請求項33に記載の方
法。 - 【請求項36】特定のオペレーションを実行するための
マルチノード・コンピュータ・システムであって、 前記の特定のオペレーションに関連するランタイム・パ
ラメータを得る手段と、 前記のランタイム・パラメータを使って、複数の通信モ
ードから1つの通信モードを選択する手段と、 を有するシステム。 - 【請求項37】1つの通信モードを選択する前記手段
が、前記の複数の通信モードから前記の1つの通信モー
ドを選択するために、あらかじめ定められた決定関数の
中で前記のランタイム・パラメータを使う手段を含む、
請求項36に記載のシステム。 - 【請求項38】前記のあらかじめ定められた決定関数を
記憶する手段をさらに含む、請求項37に記載のシステ
ム。 - 【請求項39】ランタイム・パラメータを得る前記手段
が、特定のオペレーションに関連するメッセージの長さ
を得る手段を含む、請求項36に記載のシステム。 - 【請求項40】ランタイム・パラメータを得る前記手段
が、前記の特定のオペレーションに関連する前記マルチ
ノード・コンピュータ・システムの処理ノードの数を得
る手段を含む、請求項36に記載のシステム。 - 【請求項41】コンピュータ・システムのハードウェア
・パラメータを得る手段をさらに有し、1つの通信モー
ドを選択する前記手段が、前記の特定のオペレーション
に関連して得られた前記のランタイム・パラメータおよ
び前記のハードウェア・パラメータを使って、複数の通
信モードから1つの通信モードを選択する手段を含む、
請求項36に記載のシステム。 - 【請求項42】ハードウェア・パラメータを得る前記手
段が、コンピュータ・システムの実行速度を得る手段を
含む、請求項41に記載のシステム。 - 【請求項43】ハードウェア・パラメータを得る前記手
段が、コンピュータのメモリ移動速度を得る手段を含
む、請求項41に記載のシステム。 - 【請求項44】前記の特定のオペレーションがコンピュ
ータ・システムの内で実行されるジョブの内に存在し、
ハードウェア・パラメータを得る前記手段が、前記ジョ
ブを初期化したときのコンピュータ・システムのハード
ウェア・パラメータを得る手段を含む、請求項41に記
載のシステム。 - 【請求項45】前記の特定のオペレーションが前記ジョ
ブの内で複数回実行され、ハードウェア・パラメータを
得る前記手段が、前記ジョブの内で前記の特定のオペレ
ーションが実行される度にコンピュータ・システムのハ
ードウェア・パラメータを得る手段を含む、請求項44
に記載のシステム。 - 【請求項46】前記の特定のオペレーションが前記ジョ
ブの内で複数回実行され、ハードウェア・パラメータを
得る前記手段が、コンピュータ・システム内で前記ジョ
ブを実行中にコンピュータ・システムのハードウェア・
パラメータを定期的に得る手段を含む、請求項44に記
載のシステム。 - 【請求項47】1つの通信モードを選択する前記手段
が、コンピュータ・システム内でジョブの実行中に複数
の通信モードから1つの通信モードを選択する手段を含
む、請求項44に記載のシステム。 - 【請求項48】前記の複数の通信モードがオール・ツー
・オールのスキャタ通信モードおよび超立方体網通信モ
ードを含む、請求項36に記載のシステム。 - 【請求項49】1つの通信モードを選択する前記手段
が、コンピュータ・システムの性能特性を最適化するよ
うに、前記のランタイム・パラメータを使って、前記の
複数の通信モードから1つの通信モードを選択する手段
を含む、請求項36に記載のシステム。 - 【請求項50】選択された1つの通信モードを使ってマ
ルチノード・コンピュータ・システム内で特定のオペレ
ーションを実行する手段をさらに有する、請求項36に
記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22333994A | 1994-04-05 | 1994-04-05 | |
US223339 | 1994-04-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07282026A true JPH07282026A (ja) | 1995-10-27 |
Family
ID=22836080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7014039A Pending JPH07282026A (ja) | 1994-04-05 | 1995-01-31 | マルチノード・コンピュータ・システムおよびその方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5742499A (ja) |
EP (1) | EP0676693B1 (ja) |
JP (1) | JPH07282026A (ja) |
AT (1) | ATE195824T1 (ja) |
CA (1) | CA2146169C (ja) |
DE (1) | DE69518453T2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011013919A (ja) * | 2009-07-01 | 2011-01-20 | Fujitsu Ltd | 転送速度設定方法、データ転送装置及び情報処理システム |
JP2011133972A (ja) * | 2009-12-22 | 2011-07-07 | Nec Corp | 並列計算機、計算機、通信方法およびプログラム |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997029435A1 (en) * | 1996-02-09 | 1997-08-14 | Hitachi, Ltd. | Parallel processor |
US5909368A (en) * | 1996-04-12 | 1999-06-01 | Fisher-Rosemount Systems, Inc. | Process control system using a process control strategy distributed among multiple control elements |
US6035240A (en) * | 1998-11-12 | 2000-03-07 | Moorehead; Jack | Flexible distributed processing system for sensor data acquisition and control |
JP4008162B2 (ja) * | 1999-08-18 | 2007-11-14 | 富士通株式会社 | 通信方法、及び通信装置 |
US7624063B1 (en) | 2003-09-30 | 2009-11-24 | Trading Technologies International, Inc. | System and method for improved distribution of market information |
US20060130042A1 (en) * | 2004-12-15 | 2006-06-15 | Dias Daniel M | Method and apparatus for dynamic application upgrade in cluster and grid systems for supporting service level agreements |
JP4781139B2 (ja) * | 2006-03-20 | 2011-09-28 | キヤノン株式会社 | 通信装置及びその制御方法 |
US7856505B2 (en) | 2007-06-29 | 2010-12-21 | Microsoft Corporation | Instantiating a communication pipeline between software |
US20090228407A1 (en) * | 2008-03-05 | 2009-09-10 | The Boeing Company | Distributed cognitive architecture |
US9853860B2 (en) | 2015-06-29 | 2017-12-26 | International Business Machines Corporation | Application hierarchy specification with real-time functional selection |
US11784930B2 (en) | 2021-04-30 | 2023-10-10 | Bank Of America Corporation | Communication system with auto-routing and load balancing |
US11469988B1 (en) | 2021-04-30 | 2022-10-11 | Bank Of America Corporation | Communication analysis for dynamic auto-routing and load balancing |
US11792108B2 (en) | 2021-04-30 | 2023-10-17 | Bank Of America Corporation | Dynamic auto-routing and load balancing for communication systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04186469A (ja) * | 1990-11-21 | 1992-07-03 | Hitachi Ltd | マルチプロセッサシステムの負荷テスト方式 |
JPH05342172A (ja) * | 1992-06-08 | 1993-12-24 | Toshiba Corp | マルチプロセッサシステム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4247892A (en) * | 1978-10-12 | 1981-01-27 | Lawrence Patrick N | Arrays of machines such as computers |
US4750116A (en) * | 1985-10-11 | 1988-06-07 | International Business Machines Corporation | Hardware resource management |
US4766534A (en) * | 1986-10-16 | 1988-08-23 | American Telephone And Telegraph Company, At&T Bell Laboratories | Parallel processing network and method |
JPS6424540A (en) * | 1987-07-20 | 1989-01-26 | Sanyo Electric Co | Mixed mode communication terminal equipment |
US5101498A (en) * | 1987-12-31 | 1992-03-31 | Texas Instruments Incorporated | Pin selectable multi-mode processor |
US5218676A (en) * | 1990-01-08 | 1993-06-08 | The University Of Rochester | Dynamic routing system for a multinode communications network |
US5426674A (en) * | 1990-02-06 | 1995-06-20 | Nemirovsky; Paul | Method and computer system for selecting and evaluating data routes and arranging a distributed data communication network |
EP0463252B1 (en) * | 1990-06-28 | 1996-12-27 | International Business Machines Corporation | Message handling in data processing apparatus |
JP2753123B2 (ja) * | 1990-08-28 | 1998-05-18 | 富士通株式会社 | 制御モード選択式通信コントローラ |
US5367636A (en) * | 1990-09-24 | 1994-11-22 | Ncube Corporation | Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit |
EP0506135A3 (en) * | 1991-03-29 | 1993-11-03 | Ibm | Multi-sender/switching apparatus for status reporting over unbuffered asynchronous multi-stage networks |
US5265239A (en) * | 1991-04-08 | 1993-11-23 | Ardolino Anthony A | Method for remotely accessing service programs of a local processing system supporting multiple protocol stacks and multiple device drivers |
JP2930257B2 (ja) * | 1991-04-22 | 1999-08-03 | 株式会社東芝 | 携帯可能電子装置 |
-
1995
- 1995-01-25 AT AT95100958T patent/ATE195824T1/de not_active IP Right Cessation
- 1995-01-25 DE DE69518453T patent/DE69518453T2/de not_active Expired - Fee Related
- 1995-01-25 EP EP95100958A patent/EP0676693B1/en not_active Expired - Lifetime
- 1995-01-31 JP JP7014039A patent/JPH07282026A/ja active Pending
- 1995-04-03 CA CA002146169A patent/CA2146169C/en not_active Expired - Fee Related
-
1996
- 1996-07-22 US US08/681,200 patent/US5742499A/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04186469A (ja) * | 1990-11-21 | 1992-07-03 | Hitachi Ltd | マルチプロセッサシステムの負荷テスト方式 |
JPH05342172A (ja) * | 1992-06-08 | 1993-12-24 | Toshiba Corp | マルチプロセッサシステム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011013919A (ja) * | 2009-07-01 | 2011-01-20 | Fujitsu Ltd | 転送速度設定方法、データ転送装置及び情報処理システム |
US8769142B2 (en) | 2009-07-01 | 2014-07-01 | Fujitsu Limited | Data transfer apparatus, information processing apparatus and method of setting data transfer rate |
JP2011133972A (ja) * | 2009-12-22 | 2011-07-07 | Nec Corp | 並列計算機、計算機、通信方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CA2146169A1 (en) | 1995-10-06 |
EP0676693A2 (en) | 1995-10-11 |
US5742499A (en) | 1998-04-21 |
CA2146169C (en) | 2001-06-05 |
DE69518453D1 (de) | 2000-09-28 |
EP0676693B1 (en) | 2000-08-23 |
EP0676693A3 (en) | 1996-02-14 |
DE69518453T2 (de) | 2001-05-23 |
ATE195824T1 (de) | 2000-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07282026A (ja) | マルチノード・コンピュータ・システムおよびその方法 | |
CN113778694B (zh) | 一种任务处理方法、装置、设备及介质 | |
US20200137151A1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
JP3382953B2 (ja) | 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置 | |
Barak et al. | A distributed load‐balancing policy for a multicomputer | |
US8146081B2 (en) | Method of selecting one of execution schedules of guest OSes and virtual machine monitor employing the method | |
JP2004171234A (ja) | マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム | |
CN112019581B (zh) | 一种调度任务处理实体的方法及装置 | |
Nicol et al. | Parallel simulation of timed petri-nets | |
CN116663639A (zh) | 一种梯度数据同步方法、系统、装置及介质 | |
JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
JPH0855091A (ja) | 分散処理システムおよび分散処理システムにおける負荷分散方法 | |
JPH0916534A (ja) | 分散型プロセス処理方法およびその装置 | |
JP2017146764A (ja) | データ再配置システム、データ再配置装置、及びデータ再配置方法 | |
Huang et al. | Preemptive task execution and scheduling of parallel programs in message-passing systems | |
KR20010018796A (ko) | 리눅스에 기반한 피씨 클러스터상에서의 에프엠지알엠/에프엠씨엠 원격 제어 방법 | |
Maier et al. | On the Efficiency of Job Offloading in Edge Networks | |
JPH07302235A (ja) | クライアント・サーバシステム | |
KR0175534B1 (ko) | 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법 | |
CN114217913A (zh) | 一种异构众核架构下的任务动态分配异步管理方法 | |
Gan et al. | Scheduling dynamically evolving parallel programs using the genetic approach | |
CN113504991A (zh) | 选择区块链节点的方法、装置及可读存储介质 | |
JPH11110238A (ja) | コンピュータネットワーク | |
KR100241356B1 (ko) | 분산 시스템에서 동적 동기화를 위한 다단계 스케줄링 구조 및 그 방법 | |
Friedrich et al. | On the Performance of Real-Time Scheduling in a Parallel/Distributed Environment |