(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-10
(45)【発行日】2022-08-19
(54)【発明の名称】レイテンシが短縮された並列プロセッサ・データ処理システム
(51)【国際特許分類】
G06F 17/13 20060101AFI20220812BHJP
G16Z 99/00 20190101ALI20220812BHJP
【FI】
G06F17/13
G16Z99/00
(21)【出願番号】P 2021527928
(86)(22)【出願日】2019-11-26
(86)【国際出願番号】 IB2019060190
(87)【国際公開番号】W WO2020110002
(87)【国際公開日】2020-06-04
【審査請求日】2021-07-06
(32)【優先日】2018-11-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-11-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506018363
【氏名又は名称】サウジ アラビアン オイル カンパニー
(73)【特許権者】
【識別番号】596060697
【氏名又は名称】マサチューセッツ インスティテュート オブ テクノロジー
(74)【代理人】
【識別番号】100088616
【氏名又は名称】渡邉 一平
(74)【代理人】
【識別番号】100154829
【氏名又は名称】小池 成
(74)【代理人】
【識別番号】100132403
【氏名又は名称】永岡 儀雄
(72)【発明者】
【氏名】アルフバイル,マイタム マッキ
(72)【発明者】
【氏名】ウィリアムズ,ジョン アール.
(72)【発明者】
【氏名】ワン,キキ
(72)【発明者】
【氏名】ドグル,アリ
(72)【発明者】
【氏名】ミッディア,ウスフ
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2012-128793(JP,A)
【文献】米国特許出願公開第2012/0316792(US,A1)
【文献】特表2014-526044(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/13
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
技術的物理的関係が生じているシミュレーション時間ステップのシーケンスにおける、時間の関数として離散化された格子データ点の3つの空間次元に存在する技術的物理的関係のパラメータの測定値の並列処理ネットワークとして数値解法を実行するデータ処理システムであって、前記データ処理システムが、少なくとも1つのマスタノードと複数の関連するプロセッサノードとを備えるクラスタコンピュータ・ネットワークを備え、前記データ処理システムが、シミュレーション時間ステップのシーケンス中にノード間のシミュレーションの処理結果の通信のレイテンシを短縮して数値シミュレーションを実行する、データ処理システムであって、
(a)入力データと、技術的プロセスの数値シミュレーションのための初期化および時間ステップ・パラメータと、前記時間ステップのシーケンスにおける現在の時間ステップにおいて前記技術的プロセスにおいて発生する物理的現象の入力測定値とを提供する、前記少なくとも1つのマスタノードと、
(b)前記少なくとも1つのマスタノードは、前記数値シミュレーションによって処理されるべき複数のプロセッサノードの間で格子データ点を割り当て、割り当てられた格子データ点が、現在の時間ステップにおける技術的物理的関係のパラメータの測定値を表す、前記少なくとも1つのマスタノードと、
(c)前記プロセッサノードは、以下のステップであって、
(1)前記マスタノードからの前記割り当てられた格子データ点を受信するステップと、
(2)以下のステップであって、
(i)前記割り当てられた格子データ点に対してステンシル演算を実行することによって、前記割り当てられた格子データ点の外面に対するデータ点の3次元縮小立方体を形成するステップと、
(ii)形成された前記データ点の3次元縮小立方体を、3次元空間座標内の連続するデータ点を割り当てられたプロセッサノードに通信するステップと、
(iii)前記割り当てられた格子データ点に対してステンシル演算を行うことにより、離散化された格子データ点の3つの空間次元の各々に対してデータ点の3次元縮小ビームを形成するステップと、
(iv)形成された前記データ点の3次元縮小ビームを、3次元空間座標内の連続するデータ点を割り当てられたプロセッサノードに通信するステップと、
(v)前記割り当てられた格子データ点に対してステンシル演算を行うことにより、離散化された格子データ点の3つの空間次元の各々に対するデータ点の3次元縮小コアを形成するステップと、
(vi)形成された前記データ点の3次元縮小コアを、3次元空間座標内の連続するデータ点を割り当てられたプロセッサノードに通信するステップと、
(vii)前記割り当てられた格子データ点に対してステンシル演算を行うことにより、離散化された格子データ点の3つの空間次元の各々についてデータ点の3次元伸長立方体を形成し、現在の時間ステップにおける割り当てられた格子データ点の3つの空間次元における技術的物理的関係のパラメータの測定値を形成するステップと、
を実行することによって、前記格子データを編成する、前記受信された割り当てられた格子データ点を処理するステップと、
を実行することによって、現在の時間ステップについて前記割り当てられた格子データ点の4次元計算領域として前記数値シミュレーションを実行する、前記プロセッサノードと、
(d)前記少なくとも1つのマスタノードが、前記数値シミュレーションが前記シーケンスの前記時間ステップの各々が実行されたかどうかをさらに判定し、実行されていない場合、
(1)前記時間ステップを増分し、
(2)入力データと、技術的プロセスの数値シミュレーションのための初期化および時間ステップ・パラメータと、前記時間ステップのシーケンスにおける前記増分された時間ステップにおいて前記技術的プロセスで発生する前記物理的現象の入力測定値とを提供する、前記ステップに戻り、
(3)前記少なくとも1つのマスタノードは、前記数値シミュレーションによって処理されるべき格子データ点を前記複数のプロセッサノード間に割り当てる、
前記少なくとも1つのマスタノードと、
(e)前記増分された時間ステップについて割り当てられた格子データ点の4次元計算領域として数値シミュレーションを実行する、前記複数のプロセッサノードと、
を備える、データ処理システム。
【請求項2】
前記少なくとも1つのマスタノードが、前記数値シミュレーションの前記シーケンスの前記時間ステップの各々が実行されたことを決定し、さらに、前記数値シミュレーションの前記時間ステップのシーケンスについて、前記割り当てられた格子データ点の前記3つの空間次元における技術的物理的関係のパラメータの前記測定値を記憶するステップを含む、請求項1に記載のデータ処理システム。
【請求項3】
前記少なくとも1つのマスタノードが、前記数値シミュレーションの前記シーケンスの前記時間ステップの各々が実行されたことを決定し、さらに、前記数値シミュレーションの前記時間ステップのシーケンスについて、前記割り当てられた格子データ点の前記3つの空間次元における技術的物理的関係のパラメータの前記測定値の出力表示を形成するステップを含む、請求項1に記載のデータ処理システム。
【請求項4】
前記技術的物理的関係が、3次元空間座標を経由する経時的な熱拡散を含む、請求項1に記載のデータ処理システム。
【請求項5】
前記技術的物理的関係が、地下炭化水素貯留層からの炭化水素生産中の流体状態の経時的な貯留層シミュレーションを含む、請求項1に記載のデータ処理システム。
【請求項6】
前記技術的物理的関係が、3次元空間座標を経由する経時的なエネルギー波の伝搬を含む、請求項1に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複雑な技術的特徴の物理的条件の決定中のレイテンシの短縮によって改良された性能で動作し、技術的問題を解決する、並列プロセッサを有するデータ処理システムに関する。データ処理システムは、偏微分方程式の数値解法によるシミュレーションと他の複雑な数値シミュレーションを実行することにより動作する。
【背景技術】
【0002】
多くの技術は、複雑な物理的関係によって支配される技術上のまたは技術的な問題を伴う。例としては、タービン翼の設計と建設に関わる熱拡散関係、地下炭化水素貯留層からの流体生産、地震探査中の3次元地下領域を通る機械的波動エネルギーの移動が挙げられる。これらの技術に含まれる測定値および条件の性能および相互関係は、偏微分方程式(PDE)によって支配される。反復線形ソルバとして知られているものを使用して、測定値および条件の性能および相互関係をコンピュータで解くことができる場合にも、同様の状況が存在する。より多くの並列プロセッサを使用することによって、より時間のかからない方法で数値解法によってこれらの結果を決定することに対する強い要求は現在、小規模で長い非定常シミュレーションでは満たされていない。PDEが数百万(200万以上)の格子点上で空間的に離散化されている場合、シミュレーションは小規模と考えられる。また、PDEが何百万もの時間ステップに対して時間積分する必要がある場合には、シミュレーションは長いと考えられる。小規模で長いシミュレーションは、多くの技術的プロセスおよび物理的関係、ならびに科学的研究から生じる。多くの産業では、小規模で長いシミュレーションに遭遇する。
【0003】
貯留層シミュレーションから生じる、熱拡散、波動方程式および線形システムは、並列プロセッサでの数値解法によるシミュレーションを含む技術プロセスおよび物理的関係の実施例である。例えば、ターボ機械部品の空熱設計では、タービン翼の後縁の設計において、小規模で長いシミュレーションが用いられてきた。上述した様々なタイプのこれらのシミュレーションの解法に要するコンピュータ処理時間は、しばしば新製品開発や技術革新に対するネックとなる。これらのシミュレーションは並列化するのが困難であり、多くの並列プロセッサにスケーリングするのがさらに困難である。
【0004】
平行なPDEソルバまたは数値ソルバのスケーリングは、計算ノードが互いに通信し、データを交換する必要があるので、常に制限される。各時間ステップにおける各プロセッサノードの離散化された格子点におけるデータ値は、プロセッサノードにおいて処理されているデータ値のいくつかおよび隣接する格子点の処理に影響を及ぼすので、通信が必要とされる。さらに、離散化された格子点のうちのいくつかは、他のプロセッサノードで処理される格子点に隣接している。
【0005】
並列処理におけるプロセッサノード間の通信の必要性は、並列PDEソルバがより多くのノードに展開されるにつれて、より頻繁に発生する。これにより、潜在的なPDEソルバの速度が低下する。さらに、プロセッサを追加しても、実行時間が短縮されなくなる。実行時間の短縮が得られない限界はスケーリング限界として知られており、並列PDEソルバがより多くのノードに展開されるにつれて必然的に遭遇する。ほとんどの場合、平行PDEソルバのスケーリング限界は、計算ノード間で通信するのに必要な時間である。計算ノード間でデータを送受信するのにかかる時間は、ネットワークレイテンシと呼ばれる。ノード間の通信時間は、スケーリング限界の基本的な原因である。
【発明の概要】
【0006】
簡単に述べると、本発明は、偏微分方程式の数値解法によるシミュレーションまたは同程度の複雑さと持続時間のシミュレーションを実行する並列プロセッサを備えた、新しい改良されたデータ処理システムを提供する。データ処理システムは、数値シミュレーション中に遭遇する頻繁なネットワークレイテンシを克服することによって、並列プロセッサソルバのスケーリング限界を拡張する。これは計算ノード間で、より少ないが、より大きなデータ・バッチを交換することによって達成される。データ処理システムは、シミュレーションのためのさらなる計算を実行するために他のノードと通信することが絶対的に必要となるまで、通信される必要があるデータをプロセッサノード内で連続的にアセンブルする。プロセッサノード間の通信が必要になると、アセンブルされたデータは、いくつかのより小さなデータ・バッチではなく、大きなバッチとして一度に通信される。
【0007】
本出願は、カラーで作成された図面を含む。本発明の利点および恩恵をより完全に理解するために、カラー図面が必要であることが提示される。上記参照した出願に開示されているように、本発明は複雑な技術的特徴の物理的状態の決定中のレイテンシの短縮によって改良された性能で動作し、技術的問題を解決する、並列プロセッサを有するデータ処理システムに関する。得られたカラー図面は、この短縮されたレイテンシがどのように得られるかを示す上で重要である。出願人は、本出願と共に提出された同封のカラー図が、本発明の特許請求された実施形態のこれらの特徴を例示するための唯一の実用的な媒体であることを提示している。
【図面の簡単な説明】
【0008】
【
図1】本発明による数値解法によりシミュレーションを行う並列プロセッサを有するデータ処理システムの概略図である。
【0009】
【
図2】本発明による数値解法によりシミュレーションを実行する
図1の並列プロセッサを有するデータ処理システムのワークフローまたは動作の機能ブロック図である。
【0010】
【
図3】本発明による数値解によりシミュレーションを行う
図1のデータ処理システムの動作の機能性の概略図である。
【0011】
【
図4】(A)~(J)
図2のワークフローの一部による
図1のデータ処理システムの動作の一例を示す概略図である。
【
図4K】
図2のワークフローの一部による
図1のデータ処理システムの動作の一例を示す概略図である。
【0012】
【
図5】(A)~(L)は
図2のワークフローの別の部分による
図1のデータ処理システムの動作の一例を示す概略図である。
【0013】
【
図6】(A)~(L)は
図2のワークフローのさらなる部分による
図1のデータ処理システムの動作の一例を示す概略図である。
【0014】
【
図7】(A)~(H)は
図2のワークフローの別の部分による
図1のデータ処理システムの動作の一例を示す概略図である。
【0015】
【
図8A】
図1のデータ処理システムの動作の出力結果の表示例である。
【
図8B】
図1のデータ処理システムの動作の出力結果の表示例である。
【
図8C】
図1のデータ処理システムの動作の出力結果の表示例である。
【
図8D】
図1のデータ処理システムの動作の出力結果の表示例である。
【
図8E】
図1のデータ処理システムの動作の出力結果の表示例である。
【
図8F】
図1のデータ処理システムの動作の出力結果の表示例である。
【発明を実施するための形態】
【0016】
本発明では、
図1に概略的に示すように、本発明によるデータ処理システムDが、CPU102の複数のマスタノード100と、偏微分方程式によって支配される技術的および物理的関係などの同時数値シミュレーションを実行するように構成されたネットワークとして動作するプロセッサまたはワーカノード104のグループとを含む。
【0017】
データ処理システムDは、非定常シミュレーションの高性能計算(HPC)のための処理プラットフォームとして提供される。データ処理システムDは、1つ以上の中央処理装置またはCPU102を含む。CPUまたはCPU102は、実行されている数値シミュレーションによるタイプおよび性質の一般的な入力パラメータのためのメモリまたはデータベース106と関連付けられている。このデータベースは例えば、実行されるシミュレーションの初期条件を記憶する。貯留層シミュレーションにおいて、初期条件は、圧力分布、油井データ、油飽和データを含む。熱拡散シミュレーションでは、初期熱源と本体材料タイプが提供される。
【0018】
CPU102と動作可能に接続されたユーザ・インターフェース108は、グラフィカル・イメージを表示するためのグラフィカル・ディスプレイ110、プリンタまたは他の適切なイメージ形成機構、および処理結果、データベース記録および他の情報の出力形態を操作、アクセス、および提供するためのユーザ・アクセスを提供するためのユーザ入力装置112を含む。
【0019】
メモリまたはデータベース106は、典型的には外部データ記憶サーバまたはコンピュータ118のメモリ114内にある。データベース106は、実行されている数値シミュレーションにおけるセルの構造、位置、および編成を含むデータ、データ一般入力パラメータ、ならびに以下に説明するように、数値シミュレーションのためにデータ処理システムDによって処理されるデータを含む。
【0020】
データ処理システムDのCPUまたはコンピュータ102は、動作命令、制御情報を記憶し、必要に応じて記憶または転送バッファとして機能するために、マスタノード100と、マスタノード100に結合された内部メモリ120とを含む。データ処理システムDは、メモリ120に記憶されたプログラムコード122を含む。本発明によるプログラムコード122は、データ処理システムDに必要な数値シミュレーションを実行させるコンピュータ動作可能命令の形態である。プログラムコード122は
図1に示すように、マスタノード100および並列プロセッサノード124のそれぞれにも格納される。プログラムコード122は、マスタノード100およびプロセッサノード104に、実行されている数値適合シミュレーションの間に、数値シミュレーションデータおよび制御命令を、互いを行き来するよう転送させる。
【0021】
プログラムコード122は、データ処理システムDの機能を制御し、その動作を指示する、特定の順序付けられた動作のセットを提供するマイクロコード、プログラム、ルーチン、またはシンボリック・コンピュータ動作可能言語の形態であってもよいことに留意されたい。本出願の後続の部分に提示される表1~表9は、擬似コードで書かれた、そのような命令の一実施形態であり、任意の最新のコンピュータプログラミング言語で実装することができる。本発明の検証目的のために、完全に機能的なプロトタイプがC++プログラミング言語で書かれた。
【0022】
プロセッサノード104は、本発明による探査および生産データの処理を実行するようにプログラムされた汎用のプログラム可能なデータ処理ユニットである。プロセッサノード104はマスタノード100の制御の下で動作し、得られた処理結果はその後メモリ114内にアセンブルされ、そこでデータは、出力ディスプレイのユーザ・インターフェース108と共に形成するために提供され、分析および解釈のためのデータ記録を形成する。
【0023】
本発明は使用される特定のコンピュータ・ハードウェアから独立しているが、本発明の例示的な実施形態はクラウドベースまたは高ネットワークレイテンシ・クラスタコンピュータのマスタノード100およびプロセッサノード104に基づくことが好ましい。しかし、他のコンピュータ・ハードウェアを使用することもでき、本発明は、最近開発された多数のタイプのコンピュータ・ネットワーキング・ハードウェアを装備したコンピュータ・クラスタにおいても有効であることを理解されたい。
【0024】
ネットワークレイテンシは、バンド幅または計算能力ではなく、偏微分方程式(PDE)によって支配される複雑な物理的関係、または線形ソルバを使用してコンピュータで解く複雑な物理的関係を、並列処理によっていかに迅速に解くことができるかをしばしば制限する。本発明は、コンピュータ性能を改善し、非定常PDEおよび他の数値シミュレーションの並列時間積分の速度を上げるための、新しい、改良された方法論を提供する。この方法論は、時空間領域分解の掃引ルールと呼ばれる。コンピュータ・クラスタ内の計算ノード間のPDEの計算領域を分解するとき、掃引ルールは時間を追加の次元とみなす。既存の空間のみの領域分解と比較して、掃引ルールは、同様の量のデータを通信するが、頻度は少なく、より大きなメッセージで通信する。
【0025】
図2は、マスタノード100によって実行される、本発明によるデータ処理システムDにおけるデータ処理ステップのセット200の機能ブロック図である。処理ステップセット200の制御下で本発明に従って動作するデータ処理システムDは、コンピュータ性能を改善し、非定常PDEおよび他の数値シミュレーションの並列時間積分の速度を上げる。これは、影響の領域と依存性の領域を利用する方法で計算ノード間の空間と時間を分解することによって、いかなる冗長な計算を招くことなく達成され、多くの時間ステップごとに1回通信できるようにする。より少ない頻度で通信することによって、データ処理システムDはレイテンシの障壁を克服し、並列プロセスコンピュータネットワークの往復レイテンシ当たり平均して2つ以上の時間ステップを進める。
【0026】
本発明は、上述した時間の測定および条件の性能および相互関係が複雑な物理的関係の数値シミュレーション中に遭遇する頻繁なネットワークレイテンシを克服することによって、並列PDEソルバのスケーリング限界を拡張する。
【0027】
したがって、本発明はネットワークレイテンシを短縮することにより、並列プロセッサコンピュータ・ネットワークのコンピュータ機能を改善する。本発明は特に、各プロセッサが少数の格子点を割り当てられるコンピュータ・クラスタの並列プロセッサ104の間で区分される離散化されたデータ点の数値解法によるシミュレーションを実行するように適合される。本発明はまた、並列コンピュータ・ネットワーク処理における技術的問題、すなわち、隣接する格子点間のデータ値の通信が、シミュレーションの目的のために使用することができる並列プロセッサノードの数に制限を課すネットワークレイテンシを解決する。
【0028】
本発明は、計算ノード間で、より少ないが、より大きなデータのバッチを交換することによって、スケーリング限界を拡張する。本発明は、さらなる計算を実行するためにそのデータを通信することが必要になるまで、個々のプロセッサノードにおいて、通信され、アセンブルされ、配置される必要があるデータを保持することによって、これらの条件におけるスケーリング限界を拡張する。この場合、アセンブルされ、組織化されたデータは、各々がいくつかのより小さなデータのバッチから構成される複数の中間通信のいくつかの代わりに、単一の大きなデータグループとして通信される。
【0029】
ステップ201(
図2)に示すように、本発明によるデータ処理システムDによる処理は、実行されるべき特定の複雑な数値シミュレーションのための初期化および時間ステップ関数またはパラメータを受信することから始まる。ステップ201中、シミュレーションされる物理的または技術的プロセスの初期条件および初期パラメータ値、シミュレーションのための初期シミュレーション時間ステップ条件、およびシミュレーションが実行されるべき特定の数のシミュレーション時間ステップもまた、データ処理システムD内で受信される。
【0030】
(3次元空間(3D)におけるアセンブルされたシミュレーションデータの構成要素の種類)
本発明による3次元空間(3D)におけるデータ処理システムDの動作は、4つの主要な時空間構成要素を有する。これらの時空間構成要素のうちの2つは、3つの順列を有する。したがって、全体として、データ処理システムDはx、y、およびz軸のすべての可能な順列を含むように、アセンブルされたデータの8つの時空間成分を有する。動作は、個々のプロセッサノード104に分割された離散化されたデータ点の一例を概略的に表す、
図4Aに示すような立方体部分領域分域400を形成するためのステップ202(
図2)から始まる。立方体400は、
図4Iに402として示されるような小さな2×2×2立方体になるまで、掃引3D処理が時間的に進むにつれて縮小する。ステップ202中に形成されるアセンブルされたシミュレータ・データの第1の時空間構成要素は、縮小立方体と呼ばれる。ステップ204に示すように、マスタノード100とプロセッサノード104との間の第1の通信は、ステップ202中に縮小立方体が形成された後に行われる。その後、ステップ206中に、縮小立方体420を形成する結果は、
図4Kに示されるように、互いに適切に接続されて、ビームと呼ばれる別のタイプの構成要素を形成する。
【0031】
3つの空間軸で作業する方法論のために、ステップ206中に3つのビームが形成され、それらの方向によって、緯線方向ビーム、経線方向ビーム、および高度方向ビームとして識別される。
図5は、経線方向ビームの形成に含まれるステップを示す。
【0032】
ステップ206中に緯線方向ビーム、経線方向ビーム、および高度方向ビームが形成された後、ステップ208中にデータ処理システムDは、マスタノード100とプロセッサノード104との間で第2の通信を実行する。
図5Lに示すようにビームを形成した最終結果を通信する通信ステップ208の後、データ処理システムDはステップ210中に、コアとして定義される立方体の形態の追加要素の内部伸長面を構築する。ここでも、x、y、およびz軸について働くことにより、ステップ210中に形成されるコアは、緯線方向コア、経線方向コア、および高度方向コアと呼ばれる。
図6の
図6Lは、底部高度方向コアを示す。ステップ210中にコアを構築した後、ステップ212中にデータ処理システムDは、その第3の、マスタノード100とプロセッサノード104との間の通信を実行する。
【0033】
ステップ214中に、データ処理システムDは、数値シミュレーションのためにデータが集められた最後の時空間構成要素を形成する。この第4の構成要素は、
図7の7Bに概略的に示されるように、2×2×2の立方体を生成することによって開始し、この立方体は
図7の7Hに示されるように、処理が開始したサイズと同様のサイズにサイズが伸長する。
【0034】
ステップ216は、本シミュレーション時間ステップについて、ステップ214中に3D立方体を形成した後に実行される。ステップ216は、数値シミュレーションに必要な指定数のシミュレーション時間ステップが実行されたかどうかを決定する。ステップ216中に、数値シミュレーションについて指定数のシミュレーション時間ステップが実行されたことが示された場合、データ処理システムDによる処理はステップ220に進む。
【0035】
ステップ220中、数値シミュレーションの結果は、メモリ106またはデータ処理システムDの他のメモリ内の適切な記憶位置に記憶される。数値シミュレーションの結果はまた、検査、研究、および分析のために、ユーザ・インターフェース108のグラフィカル・ディスプレイ110を介して利用可能にされ得る。
【0036】
ステップ216の結果が、実行されている数値シミュレーションについて指定数のシミュレーション時間ステップがまだ発生していないことを示す場合、シミュレーション時間ステップは増分または進められ、処理はステップ201に戻る。
【0037】
図3は、
図2による処理ワークフローシーケンス200によるデータ処理システムDの動作中の3次元空間構成要素の集合を概略的に示すダイアグラム300であり、ダイアグラム300の横方向に含まれる矢印は、処理シーケンス200のステップ中の各時空間構成要素のx軸、y軸、およびz軸の伸長および縮小挙動を示す。
図3において斜め下向き矢印は、特定の軸がその特定の構成要素の形成中に次元数を減少させることを示す。したがって、ステップ204中の立方体の形成は、3次元立方体を縮小させる空間座標のx軸、y軸、およびz軸のそれぞれに沿って次元数を減少させる。
【0038】
同様にダイアグラム300は、ステップ206中、斜め上向き矢印が、3次元ビームの形成が1つの軸上の次元数を増加させることによって形成されるビームに依存して次元数を増加させることを示している。ステップ206中の次元数の減少は、3次元ビームの他の二つの空間座標軸に沿った斜め下向き矢印によって示される。
【0039】
ダイアグラム300はさらに、ステップ210中の斜め上向き矢印が、3次元コアの形成が1つの軸上の次元数を増加させることによって形成されるコアに依存して、次元数を増加させることを示す。ステップ210中の次元数の減少は、3次元コアの他の2つの空間座標軸に沿った斜め下向き矢印によって示される。
【0040】
ステップ214中、ダイアグラム300に示されるように、次元数は3次元コアの伸長中に、空間座標のx軸、y軸、およびz軸のそれぞれに沿って増加される。
【0041】
その特定の時空間構成要素の形成中。システムの縮小立方体時空間構成要素のx、y、z軸は次元数を減少させることに留意されたい。以下のセクションでは、掃引3Dの各時空間構成要素について詳細に列挙する。
【0042】
(掃引3D縮小立方体)
400(
図4A)に示されているような縮小立方体構成要素は、離散時空間では4次元である。3つの空間次元は、その3つの空間次元に対して(i、j、k)で表示された格子で離散化される。時間次元は、Lによって表示された処理時間ステップで離散化される。縮小立方体における最初の処理時間ステップは0として表され、最後の処理時間ステップは
として表される。ここで、nは立方体の6つの側面の3つの空間次元のいずれかに沿った格子の数である。初期立方体部分領域は、処理時間ステップ0において、n×n×nの格子点のサイズである。処理時間ステップが進むにつれて、立方体の6つの面は縮小し、立方体形状を維持しながら、その辺長は時間ステップごとに2つずつ減少する。最後の時間ステップでは、立方体サイズは2×2×2である。
【0043】
縮小立方体を構築することは、立方体が
図4Aの400に示すような元の大きさから、
図4Iの402に示すように2×2×2の立方体の大きさになるまで縮小するときに、各格子における格子データ点の値を計算する形態をとる。縮小立方体が完全に構築された後、
図4Kの縮小面402上の時空間格子の各々における値は出力を形成し、これは、掃引3D処理方法論の他の構成要素への入力を提供する。縮小立方体の構築は入力としての初期の立方体の分割およびシミュレーション時間ステップ0における値から始まり、次に、各連続する時間ステップの
における時空間格子点にステンシル演算を適用する。
【0044】
例として
図4A~4Iを考えると、シミュレーションの8×8×8の3次元格子点の立方体部分領域が図示され、各格子点は以下の形式:
で説明されるように、ステンシル演算による数値シミュレーションの結果としての値を有する。説明と理解を容易にするために、シミュレーションが進行することにつれて処理されるデータの第4または時間次元は、処理時間ステップL=0に対して青色、処理時間ステップL=1に対して橙色、処理時間ステップL=2に対して黄色、処理時間ステップL=3に対して緑色、および処理時間ステップL=4に対して赤色で色分けされる。この色分けは、本出願を通じて維持される。処理時間ステップは、
図2に示すシミュレーション・ワークフロー・シーケンスに関連して言及したシミュレーション時間ステップではなく、データ処理システムの動作のものである。
【0045】
疑似コードで書かれた、掃引3D縮小立方体を構築するための方法論は、以下の表1に示される。
【0046】
上記の表1による処理において、および本発明により実行される方法論の後続の表の各々において、データ初期化関数Cおよび時間ステップステンシル演算関数Stは、処理ステップ201中に入力として提供されるユーザ定義入力変数である。データ初期化関数Cへの入力変数は、各空間点および3Dステンシルを表す空間点構造に対するグローバル(i、j、k)インデックスである。
【0047】
以下の表は、初期化関数インタフェースの例示を擬似コード形式で含む。
【0048】
インタフェースにおける時間ステップ関数は、PDE解が実行される間の処理動作である。時間ステップ関数への入力変数は、どの処理時間ステップまたはサブ時間ステップが実行されるべきかのインデックスであり、3次元の27点ステンシル空間点構造である。以下の擬似コードは、このようなインタフェースの時間ステップ機能を示している。
【0049】
図2のステップ202による掃引3D縮小立方体を構築する例(
図4A)は、
図4Aに示すような時間L=0におけるサイズ8×8×8のプロセッサノード104の1つに割り当てられた立方体部分領域分域を有する。縮小立方体方法論は、以下のように進行する。最初に、8×8×8立方体の6つの正方形面の各2つのレイヤーのコピーが作成される。
図4Bは、時間レベルL=0における一実施例の2×8×8面を示す。各立方体は東面、西面、北面、南面、頂面および底面を有し、
図4Bに示される立方体と同様の形状の合計6個の立方体を生じる。
図4Cは、表1で上述した処理による内部6×6×6の立方体に対するレベル0での後続のステンシル演算を示す。ステンシル演算は上述したように、PDE解または他の形式の数値解が実行される処理操作である。
【0050】
次のレベルに進むと、立方体の6つの面の2つのレイヤーのコピーが作成される。
図4Eは、時間レベルL=1における立方体のサンプルの2×6×6面を示す。
図4Fは、内部4×4×4の立方体に対するレベル1での後続のステンシル演算を示す。
【0051】
図4G~4Iは、ステンシル演算が内部2×2×2の立方体に対して行われる次のレベルのプロセスを示す。このレベルの後には、それ以上のステンシル演算を行うことはできない。
図4Iの最後の2×2×2の立方体は、立方体の6つの面のすべてによって共有されることに留意されたい。したがって、本発明は立方体の6つの縮小面を適切に収め、それらを出力のために準備したことが分かる。
図4Jは、本発明の縮小立方体方法論の出力の1つ、すなわち西面を示す。
【0052】
(掃引3D緯線方向ビーム、経線方向ビーム、および高度方向ビーム)
本発明によるデータ処理システムDの動作のステップ206は、ステップ204中に隣接するプロセッサノードに通信された後、ステップ202中でプロセッサノード104の各々によって形成された縮小立方体の出力を一緒に接続して、ビームと呼ばれる3つの構成要素を形成する。ビームは、その向きのみが互いに異なる。3つの軸で動作する方法論のために、掃引3D方法論はそれらの向きまたは方向に対応するように命名される3つのそのようなビーム、すなわち、緯線方向ビーム、経線方向ビーム、および高度方向ビームを構築する。
【0053】
掃引3Dビームは、4次元の離散時空間の構造である。掃引3D縮小立方体と同様に、3つの空間次元は、その3つの空間次元に対して(i、j、k)で表示された格子で離散化される。時間次元は、L=0における第1の時間ステップによって表示された時間ステップによってまた離散化される。緯線方向掃引3Dビーム、経線方向掃引3Dビーム、および高度方向掃引3Dビームは、縮小立方体と同じタイムスパンを有する。
【0054】
4次元離散時空間次元を考えると、各掃引3Dビームはそれが完全に形成される時間までに、2個の隣接する2×2×2の立方体を接続する。本発明による掃引3Dビームの構築は、2個の隣接する2×2×2の立方体の間の空間における全ての可能な時空間値を2つの立方体によって計算することとして定義される。この処理は、2組の縮小立方体面、縮小立方体の2つの出力をリンクすることによって開始され、長さn+2のビームで終わる。
【0055】
ビーム構造の出力は4つの4次元構造である。緯線方向ビームは東および西の立方体縮小面を必要として、南北頂部および底部側を生成する。経線方向ビームは北および南の立方体縮小面を必要として、東側、西側、頂部側および底部側を生成する。高度方向ビームは頂部および底部の立方体縮小面を必要として、北、南、東および西側を生成する。
【0056】
擬似コードで書かれた、緯線方向ビーム、経線方向ビーム、および高度方向ビームを構築するための方法論は、それぞれ、以下の表2、3、および4に記載されている。
【0057】
図5A~5Kは、側面長さ8の立方体分割のための経線方向ビームを構築する一実施例を概略的に示す。入力は、
図4の4Jで示されるような、縮小立方体によって生成される東および西の縮小面である。経線方向ビームを構築する第1のステップでは、8×8の東および西の立方体面の最初の2つのレイヤーをリンクすることによって開始する。これは、
図5Aに示されるように、時間レベルL=0におけるサイズ4×8×8の領域分域を形成する。その後、処理は、北側、南側、頂部側および底部側のコピーを形成する。コピーされたレイヤーは、
図5Bにおいて白色で示されている。このレベルについての最後の処理ステップは、
図5Cに示すように、内部2×6×6分域に対してステンシル演算を実行して、それを時間レベルL=1に移動させることである。
【0058】
次のレベルでは、東立方体面と西立方体面の両方からのサイズ6×6の次の2つのレイヤーが入力としてロードされ、前のレベルから生成され、
図5Cに示される2×6×6領域分域の東および西に適切に配置される。これは、
図5Dに示すように、時間レベルL=1でサイズ6×6×6の分域を形成する。コピーは、
図5Eに白色で示されるように、北側、南側、頂部側および底部側の、外側の2つのレイヤーから作られる。このレベルにおける作業は、
図5Fに示すように、内側の4×4×4分域にステンシル演算を実行して、それを時間レベルL=2に移動させることによって終了する。
【0059】
前の2つのレベルで行われたのと同様の操作を実行する際に次のレベルに進むと、次のレベルは時間レベルL=3で、
図5Iに示すように、6×2×2分域になる。
図5G~5Iは、このレベルで行われた作業を要約している。処理は、東および西入力の最後の2つのレイヤーをロードし、それらを6×2×2の分域の隣に置いて、10×2×2の分域を形成することで終了する。この共通の分域は、
図5J~5Kに示すように、北側、南側、頂部側、および底部側にコピーされる。これにより、経線方向ビームと呼ばれる10×2×2分域の形成が完了する。処理の4つの出力は、積み重ねられた北側、南側、頂部側および底部側である。
図5Lは、頂部側のサンプル出力を示す。
【0060】
緯線方向ビームと高度方向ビームは、経線方向ビームの方法論に従って同等の方法で構成され、それぞれ表2、表3、表4に示す擬似コードに従って実行される。
【0061】
(掃引3D緯線方向、経線方向、高度方向コア)
第2の通信がステップ208中に行われた後、掃引3Dは、残りの掃引3D構成要素のコアとして使用される立方体の内部伸長面の構築を開始する。この理由から、掃引3Dの第3の時空間構成要素は「コア」として指定される。ここでも、x軸、y軸、およびz軸に作用することにより、掃引3Dは、緯線方向、経線方向、および高度方向のコアを構築する。3つの掃引3Dコア、つまり掃引3D緯線方向、経線方向、高度方向コアの構成要素は、方向のみが異なる。掃引3Dコアは4次元離散時空間構造である。前の掃引3D構成要素と同様に、3つの空間次元は(i、j、k)でインデックスされた格子で離散化され、時間次元はLでインデックスされた時間ステップで離散化される。
【0062】
掃引3Dコアは、縮小立方体およびビームと同じタイムスパンを有する。4次元離散時空間を考えると、コアは立方体の伸長面を表す。掃引3Dコアを構築することは、立方体伸長面における全ての考えられる時空間値を計算することを意味する。プロセスは、2対の側面、掃引3Dビームの4つの出力をリンクすることによって開始し、伸長する立方体面のセットで終了する。
図6は、掃引3Dコア構成要素がどのように構築されるかを示す。
【0063】
ここでも、構築されたコアの向きに応じて、構築されたコアは、経線方向コア、緯線方向コア、または高度方向コアとして指定される。
図3に示すように、経線方向コアは、ステップ214中にy軸とz軸において空間的に伸長することを思い起こされたい。緯線方向コアはx軸とz軸で伸長し、高度方向のコアはx軸とy軸で伸長する。
【0064】
コア構築の出力は二つの4次元構造である。経線方向コアは、北側、南側、頂部側および底部側を必要とし、東および西の伸長面を出力する。緯線方向コアは、東側、西側、頂部側、および底部側を必要とし、北および南の立方体の伸長面を出力する。高度方向コアは、東側、西側、北側、および南側を必要とし、頂部および底部の立方体伸長面を生成する。コアの向きと、その入力と、その出力との間の関係またはパターンに留意されたい。
【0065】
緯線方向コア、経線方向コア、および高度方向コアを構築するための方法論は、擬似コードで記述され、以下の表5、6、および7に記載される。
【0066】
ここで、辺長nの立方体分域の高度方向コアを構築する一実施例を考える。入力は、掃引3D緯線方向および経線方向ビームによって生成される、北側、南側、東側、および西側である。第1のレベルの第1のステップでは、北側、南側、東側、および西側の第1の2つのレイヤーがリンクされている。これは、
図6Aに示されるように、サイズ4×4×8および時間レベルL=0の領域分域を形成する。その後、処理は、上側の2つのレイヤーが頂部伸長面として伸長し、下側の2つが底部伸長面として伸長する、4つのレイヤーのコピーを形成する。コピーされたレイヤーは、
図6Bに白色で示されている。このレベルの処理の最終ステップは、
図6Cに示すように、内部2×2×6分域に対してステンシル演算を実行して、それを時間レベルL=1に移動させることである。
【0067】
次のレベルでは、次の2つのレイヤーが北、南、東および西の入力からロードされ、前のレベルから生成されたばかりの分域の北、南、東および西の隣に配置される。これは、
図6Dに示すように、時間レベルL=1でサイズ6×6×6の分域を形成する。次に、処理は、4つのレイヤーのコピーを作成する。再び、上側の2つのレイヤーは頂部伸長面となり、下側の2つのレイヤーは底部伸長面となる。
図6Eは、コピーされる4つのレイヤーを示す。このレベルでの作業は、
図6Fに示すように、内部4×4×4分域にステンシル演算を行い、それを時間レベルL=2に移動させることによって終了する。
【0068】
次のレベルに進み、前の2つのレベルで行われたように同様の作業を行って、このレベルは、時間レベルL=3で6×6×2分域で終了する。
図6G~6Iは、このレベルで行われた作業を概略的に示す。ステップ210中に緯線方向、経線方向および高度方向コアを構築する処理は、入力の最後の2つのレイヤーをロードし、それらを6×6×2の分域の周りに適切に配置して、10×10×2の分域を形成し、この共通の分域を伸長面として頂部および底部にコピーすることによって完了する。
図6J~
図6Kは、この処理を実行した結果を示す。そして、アルゴリズムの2つの出力は、コアと呼ばれる積み重ねられた頂部および底部伸長面の形態である。
図6Lは、底部伸長面のサンプル出力を示す。
【0069】
緯線方向および経線方向コアは、高度方向ビームの方法論に従った同等の方法で構築され、それぞれ表6および表7に示す擬似コードに従って実行される。
【0070】
(掃引3D伸長立方体)
掃引3Dの最後の時空間構成要素の構築は、ステップ212中の第3の通信が行われた後に行われる。この第4の構成要素は2×2×2の立方体で始まり、この立方体はその大きさが、処理操作の開始時における縮小を開始した立方体のn×n×nの要素のサイズに等しくなるまで、時間が進むにつれて伸長する。この第4の構成要素は、掃引3D伸長立方体として指定される。これは、掃引3Dの最後の時空間構成要素である。掃引3Dコアは、4次元の離散時空環構造である。この構造では、三つの空間次元を(i、j、k)でインデックスされた格子で再び離散化し、時間次元をLでインデックスされた処理時間ステップで離散化する。
【0071】
掃引3D伸長立方体の形成は、本発明による掃引3Dの前の構成要素と比較して、伸長することにつれて追加レベルのステンシル演算を含む。4次元離散時空間を考慮すると、伸長立方体は、n×n×nのサイズになるまで時間と共に伸長する2×2×2サイズの小さな立方体を表す。掃引3D伸長立方体を構築することは、n×n×nの立方体領域全体が同じ時間レベルになるまで、立方体内のすべての時空間値を計算することを含む。このプロセスは、3対の伸長面、掃引3Dコアの6つの出力をリンクすることによって開始し、n×n×nの立方体で終了する。
図7は、掃引3D伸長立方体構成要素が本発明に従ってどのように構築されるかを示す。
【0072】
なお、この時空間構成要素では、各レベル後に生成される分域がx軸、y軸、およびz軸で伸長する。擬似コードで書かれた伸長立方体を構築するための方法論を表8に示す。
【0073】
図7A~7Hは、サイズ8×8×8の立方体部分領域分域のための伸長立方体の形成の一実施例を概略的に示す。第1のレベルでは、北、南、東、西、頂部および底部伸長面の最初の2つのレイヤーが入力としてロードされ、4×4×4の分域を形成する。
図7Aに示すように、分域は時間レベルL=0にあることに留意されたい。
図7Bに示されるように、ステンシル演算はここで、内部2×2×2立方体に対して実行することができ、時間レベルL=1に移動する。1つのレベルに対する作業はここで行われる。次のレベルは入力から次の伸長面をロードし、前のレベルから生成された2×2×2の立方体の周りにそれらを配置することによって開始する。これは、
図7Cに示すように、時間レベルL=1において6×6×6の分域を生成する。ステンシル演算は、
図7Dに示されるように、内部4×4×4立方体に対して実行され、時間レベルL=2に移動する。処理は、同様の方法で次のレベルを通って進み、アルゴリズムは、時間レベルL=4においてサイズ8×8×8の立方体で終了する。
図7E~7Hは、本発明による掃引3D立方体を伸長させた結果を概略的に示す。
【0074】
(掃引3Dの時空間構成要素の接続)
掃引3D時空間構成要素の形成後、ここでは、3Dにおける掃引ルールを構築するために、これらの構成要素が互いにどのように機能するかを説明する。
図4A~7Hに関連して説明した形成例から、計算処理に関与する各格子点は、隣接する完全な集合体によって囲まれていることが分かる。これらの隣接物は、3D数値離散化スキームにおける27点3Dステンシルを表す。
【0075】
一実施例は、等しいサイズの8つの立方体部分領域に分解することができる、3周期境界条件を有する立方体計算領域の形態をとる。これらの各部分領域は、異なるプロセッサに割り当てられる。各プロセッサが明示的にPDEを解き始めると、隣接するプロセスと通信する必要なしに、影響の領域に続いて依存性の領域が進行し、各プロセッサが縮小立方体を構築する。このステップの結果、
図4Jに概略的に示すように、3対の縮小面が得られる。
【0076】
掃引3Dにおける次のステージは、経度方向、緯度方向、および高度方向ビームを構築することである。しかし、ビームを構築する前に、並列プロセッサ間のデータ交換が必要である。ビームを構築することを含むステージ1からステージ2に進むために、各プロセスはその隣接する3つにデータを送信し、他の隣接する3つからデータを受信する必要がある。より具体的には、各プロセスがステージ1で構築された縮小立方体から3つの縮小面を交換する。各縮小立方体は6つの縮小面を有し、それらの面は、北、南、東、西、頂部、および底部として指定される。緯度方向ビームを構築するために、各プロセスは、一組の北・南縮小面を必要とすることに留意されたい。他方、経度方向ビームを構築するために、各プロセスは、一組の東・西縮小面を必要とする。また、高度方向ビームの場合は、一組の頂部・底部面が必要である。このため、各プロセスは、その北、西、および頂部縮小面が、それぞれ北、西、および頂部の隣接物と通信する。また、各プロセスは、南、東、および底部の隣接物から、それぞれ、南、東、および底部の縮小面を受信する。このデータ交換の後、各プロセスは3つのビームを構築するために必要なものを有し、掃引3Dのステージ2を完了する。
【0077】
掃引3Dのステージ3に進み、掃引3Dコアが構築される。各掃引3Dステージの出力が入力として次のステージに供給されると、プロセッサ間の第2のデータ交換が掃引3Dのステージ3を開始するために必要とされる。
図5および表2、3、4の掃引3Dビームに戻ると、各ビームの構築は、4つの数である側面と呼ばれるものの形成をもたらすことが分かる。そして、各プロセスが3つのビームを構築することにつれて、各プロセスは合計で12の側面を有し、ここで、各2つは1つの方向に属する。これをさらに明確にするために、各プロセスは、2つの北側面の一組、2つの南側面の一組などを残りの方向についても有する。
【0078】
通信は、隣接するプロセスと6つの側面を交換することである。したがって、各プロセスは、2つの北側面、2つの西側面、2つの頂部側面を、それぞれの北、西、頂部の隣接物と通信する。また、各プロセスは、その南、東、および底部の隣接物からそれぞれ2つの南側面、2つの東側面、および2つの底部側面を受信する。データが適切に交換された後、各プロセスは進行し、3つのコアを構築できる。
【0079】
掃引3Dの最後の段階は、6組の伸長面を必要とする掃引3D伸長立方体を構築することである。これらの伸長面は、ステージ3で掃引3Dコアを構築した結果である。したがって、プロセッサ間の第3の通信は掃引3Dのこの最終段階で処理するために、プロセッサノード104間で伸長面を交換するように行われる。この時、各プロセスは、その北、西、頂部の伸長面を、それぞれ北、西、頂部の隣接物に通信する。また、各プロセッサノード104はそれぞれ、その南、東、および底部の隣接物から、南、東、および底部の伸長面を受信する。データが適切に交換された後、各プロセッサノード104は伸長立方体を構築することができる。
【0080】
このステージの最後では、計算領域全体が一貫した状態にある。これは、すべてのブロック、格子点、またはセルが同じ時間レベルにあることを意味する。しかし、初期に仮定した3周期境界条件によって生じるシフトの結果として、領域配置が変化した。上記は、半掃引3Dサイクルとして定義することができるものを表す。
【0081】
掃引3Dサイクルの残りの半分は、プロセッサノード104間のデータ交換が隣接する他の3つの間で行われることを除いて、同じ方法で実行することができる。例えば、縮小立方体の北、西、および頂部縮小面を北、西、および頂部隣接物に送る代わりに、縮小立方体の南、東、および底部縮小面が南、東、および底部隣接物に送られる。同じことが、残りの掃引3D構成要素にも適用可能である。掃引3Dサイクルの後半の終わりに、領域はその元の配置を有する。
【0082】
したがって、データ処理システムDのステップ202~214の完全な掃引3D処理サイクルは、合計6つの通信が行われることを必要とする。3つの通信が、掃引3Dサイクルの各半分で起こる。時間レベル0の初期条件で開始し、12×12×12の立方体部分領域で動作すると、完全な掃引3Dサイクルは、計算領域の12の時間レベルを促進することが可能であり、しかもプロセッサノード104間の6つの通信のみを含むことに留意されたい。
【0083】
掃引3D構成要素を構築するための命令のプログラムリストは、それぞれ、上記の表1~8に記載されている。以下の表9は、掃引3D構成要素を一緒に接続し、掃引ルールを3次元空間座標で実施するための、擬似コードで書かれた方法論を表す。表9は、各掃引3D構成要素を構築するために実行されたステンシル演算の結果の必要な通信を示す。表9のプログラムリストでは、プロセッサノード104間で交換される構成要素は、方向の最初の文字によって大文字として省略される。さらに、θ→記号はプロセッサノード104への送信を示すために使用され、記号→θはプロセッサノード104からの受信を示すために使用される。
【0084】
【0085】
データ処理システムDが所望の数の掃引3Dサイクルを実行した後、ステップ220中に、偏微分方程式であろうと他の複雑な数値シミュレーションであろうと、検査、研究および解析のためにユーザ・インターフェース108のグラフィカル・ディスプレイ110を通して、数値シミュレーションの結果を提供する。
【0086】
(3Dにおける掃引ルールの検証-3D熱方程式の解法)
掃引3Dアルゴリズムを検証し、実装が正しいことを確認するために、3次元熱拡散方程式を解くことによって実装を試験した。周期的境界条件を有する3次元体積および領域の中心に位置する初期熱源800Aへの3次元熱拡散のためのPDE構成。この解法の検証は、
図8A~8Fに示されている。
図8A~
図8Fは、熱源800Aからの熱拡散方程式の解としての、そのような各図の中心点での実施例表示である。期待される挙動は、3次元空間への熱拡散のシミュレーションが時間的に進むにつれて、熱がその位置と状態から拡散することである。
【0087】
図8A~8Fは、熱を、3次元x、y、およびz空間格子804内のカラーコードキー802に従って対数スケールの色によって表している。拡散が起こるときの格子804の特定の3次元x、y、z座標での熱は、温度カラーキー802による色によって示される位置で決定され、表示される。
図8Aは、熱拡散の開始状態の一実施例における熱源800Aを示す。熱は、800Aで示されるように比較的コンパクトな体積内に閉じ込められ、比較的低い温度の外側のフリンジ810Aのみを有する。
図8B~8Fの連続したものにおいて、実際に加熱された3次元空間の体積は、時間の経過とともに、3次元空間において
図8Aに示される元の位置および状態から外方に膨張し、同時に、カラーキー802に従って色によって示されるように温度が低下する。また、それぞれ、
図8B~8Fの800B、800C、800D、800E、および800Fで示されるように、熱は、時間が経過することにつれて、3次元空間への拡散によって、より大きな体積へと外向きに膨張する。
図800B~800Fにも示されるように、温度はカラーキー802に従って色によって示されるように、外側フリンジ領域810B、810C、810D、810E、および810Fによってそれぞれ境界付けられる面積において減少する。
【0088】
表示の
図8A~
図8Fは、熱拡散部分拡散方程式またはPDEの解が時間の経過とともに進むにつれて、領域の状態をシーケンシャル表示するものである。
図8A~8Fは、実装が正しいことを示す。本発明による並列ネットワーク処理のためのこの実施例は8つのプロセスで実行され、これは、異なるコンピュータ・プロセッサノード104が領域の一部のみを処理し、マスタノード100が処理結果を提供したプロセッサノードからの結果を結合し、そのための正しい解が得られたことを意味する。従って、熱拡散部分拡散方程式の解に必要な部分領域の各々の間の通信は正しかった。その結果は、データ処理システムDの異なる構成要素と、そのマスタノード100と、シミュレーションに関与する並列動作コンピューティングプロセッサコア104との間のデータの流れが正しいことを検証した。
【0089】
実験は、それぞれ16×16×16立方体を含む8つのMPIプロセスを使用して8つの部分領域に分解された、サイズ32×32×32の立方体領域において行われた。この実行の背後にある全体の目的は、掃引3Dアルゴリズムの設計を検証し、掃引3D構成要素間の通信が正しいことを確認することであった。得られた解における熱拡散の挙動は、掃引3Dの設計および実施の修正を証明する。
【0090】
掃引3D機能から短縮されたレイテンシを有する本発明によるデータ処理システムは、実際のアプリケーションに統合され、技術的特徴の問題に対処する。
図8A~8Fに関連して記載された試験実施において、接続タービン翼の設計および製造における、経時的な3次元座標を通る熱拡散は、そのような実際のアプリケーションの例示的な一例である。また、本発明によるデータ処理システムは、貯留層からの生産中に炭化水素貯留層内での経時的な3次元の流体流れの貯留層シミュレーションのための処理におけるレイテンシを短縮することによって、技術的な問題を解決する。また、本発明によるデータ処理システムは、地震探査の間、経時的な3次元の地下領域を通る機械的波エネルギーの処理移動におけるレイテンシを短縮することによって、技術的な問題を解決する。
【0091】
本発明によるデータ処理システムは、影響の領域および依存性の領域を利用する方法で計算ノード間の空間および時間を分解し、多数の時間ステップ当たり1回の通信を可能にすることによって、冗長な計算を招くことなく、これを達成する。より少ない頻度で通信することによって、掃引ルールはレイテンシの障壁を克服し、ネットワークの往復レイテンシ当たり平均して2つ以上の時間ステップを進める。
【0092】
本発明によるデータ処理システムは、PDEのような数値シミュレーションを解く際に、3次元空間問題に空間と時間を分解することによって、データ処理システムの実行および数値シミュレーションにおけるネットワークレイテンシの障壁の技術的問題を解決する。これらの数値シミュレーションを解く上での本発明によるデータ処理システムは、レイテンシの障壁を克服または打破し、メッセージが1つの計算ノードから別の計算ノードに移動するのに必要な時間の一部で各処理時間ステップを進める。
【0093】
本発明は並列プロセッサ・コンピュータシステムの分野における平均的な知識を有する人が本明細書で述べた結果を再現し、取得することができるように、十分に説明されてきた。それにもかかわらず、本明細書の本発明の主題である技術分野の当業者は、本明細書の要求に記載されていない修正を実行して、これらの修正を決定された構造および方法論に適用することができ、またはその使用および実施において、以下の特許請求の範囲に記載された事項を必要とし、そのような構造およびプロセスは、本発明の範囲内に包含されるものとする。
【0094】
添付の特許請求の範囲に記載される本発明の精神または範囲から逸脱することなく、上記に詳細に記載された本発明の改良および変更がなされ得ることに留意され、理解されたい。