(57)【要約】      （修正有）【課題】複数のプロセッサで物理的及び／または化学的現象をシミュレーティングするためのシステム及び方法を提供する。【解決手段】複数のプロセッサ３は、それぞれ複数のコンピューティングコア４を備える。システムは、複数のメモリセグメント６を含むランダムアクセスメモリ５をさらに含む。システム及び方法は、全てのコア４間で「共有される」単一のランダムアクセスメモリセグメント７に格納された数値データのテーブル２の利用に基づくものである。【選択図】図２
2019145104.tif 000002
【特許請求の範囲】
【請求項１】
物理的及び／または化学的現象を予測するためのコンピュータシステムであって、並列コンピューティングのための複数のマルチコア（４）プロセッサ（３）と、複数のメモリセグメント（６）を含むランダムアクセスメモリ（５）とを有し、前記物理的及び／または化学的現象の前記予測が、数値データが格納される少なくとも１つのテーブル（２）に基づいて実行される計算をよって行われるコンピュータシステムにおいて、
前記ランダムアクセスメモリ（５）は、前記テーブル（２）が格納された単一の共有セグメントを有し、各プロセッサ（３）の各コア（４）は、前記物理的及び／または化学的現象を予測する前記計算を実行するために前記テーブル（２）を読み出すよう、前記共有セグメントと通信するように構成されていることを特徴とするコンピュータシステム。
【請求項２】
前記物理的及び／または化学的現象が、内燃機関を備える車両の燃焼及び汚染物質の排出現象である、請求項１に記載のシステム。
【請求項３】
前記テーブル（２）が、化学キネティクスコード及び／または炎の構造に関するフレームレット計算に基づいて生成される、請求項１または２に記載のシステム。
【請求項４】
各プロセッサの各コア（４）が、前記共有セグメント（７）の前記テーブル（２）を、メッセージパッシングインターフェースＭＰＩを用いて読み取るように構成されている、請求項１から３のいずれか１項に記載のシステム。
【請求項５】
前記システムは、前記プロセッサ（３）間及び／または前記プロセッサ（３）の前記コア（４）間で前記計算を並列化するための手段を有する、請求項１から４のいずれか１項に記載のシステム。
【請求項６】
前記プロセッサ（３）は、前記物理的及び／または化学的現象を予測するための数値流体力学コードを実行するように構成されている、請求項１から５のいずれか１項に記載のシステム。
【請求項７】
請求項１から６のいずれか１項に記載のコンピュータシステムと、前記物理的及び／または化学的現象を予測するために使用されるデータを記憶する数値データのテーブル（２）とを用いて物理的及び／または化学的現象を予測するための方法であって、
ａ）前記テーブル（２）が、ランダムアクセスメモリの単一の共有セグメントに割り当てられ、
ｂ）前記物理的及び／または化学的現象が、前記システムの前記複数のプロセッサ（３）の複数のコア（４）で前記テーブル（２）を用いて物理的及び／または化学的計算を実行することで予測され、各コア（４）が前記テーブルを読み出すように前記共有セグメント（７）と通信する、方法。
【請求項８】
前記物理的及び／または化学的現象は、内燃機関を備える車両の燃焼及び汚染物質の排出現象である、請求項７に記載の方法。
【請求項９】
前記方法は、化学キネティクスコード及び／または炎の構造に関するフレームレット計算コードに基づいて前記テーブル（２）を生成する先行ステップを含む、請求項７または８に記載の方法。
【請求項１０】
前記共有セグメント（７）に識別子が割り当てられ、前記識別子が複数の前記プロセッサの前記コアへ送信され、前記プロセッサ（３）から前記共有セグメント（７）へのポインタ（８）が前記識別子を用いて設定される、請求項７から９のいずれか１項に記載の方法。
【請求項１１】
前記物理的及び／または化学的現象を予測するために、前記プロセッサ（３）の前記コア（４）でそれぞれ流体力学計算が実行される、請求項７から１０のいずれか１項に記載の方法。
【請求項１２】
前記物理的及び／または化学的計算が、複数の前記プロセッサ（３）間及び／または前記コア（４）間で並列に実行される、請求項７から１１のいずれか１項に記載の方法。
【請求項１３】
前記コア（４）は、ＭＰＩ関数を用いて前記共有セグメント（７）上の前記テーブル（２）を読み出す、請求項７から１２のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理的／化学的現象を予測するためのコンピュータシステム及び方法の分野に関し、特に内燃機関を備える車両の燃焼及び汚染物質の排出量を予測するためのコンピュータシステム及び方法に関する。
【背景技術】
【０００２】
燃料消費量及び汚染物質の排出量に対する経済面及び環境面の制限によって、自動車メーカーはますます厳しい制約を受けている。例えば、車両の汚染物質の排出量（ＣＯ２、ＮＯｘ、煤、微粒子、未燃炭化水素）に関する最大限度を設定した欧州排出量の基準はますます厳しくなっている。そのため、各メーカーは、汚染物質の排出量を最小限に抑制することを目的として車両の最適化に努めている。したがって、エンジンの挙動を予測する場合に、時間がかかる多数の実験的測定を実施することがない、汚染物質の排出シミュレーションがますます利用されるようになってきている。
【０００３】
車両の汚染物質の排出量を予測するために、ＦＰＩ（flame prolongation of intrinsic low-dimensional manifold）化学キネティクスタビュレーション法（chemical kinetics tabulation method）またはＡＤＦ−ＰＣＭ（approximated diffusion flame-presumed conditional moment）燃焼モデルによって燃焼チャンバ内の酸化後のフェーズ（すなわち、拡散火炎によるガスの酸化）がシミュレートされることがある。この種のモデルで使用される数値データのテーブルは、化学キネティクスを解くためのコンピュータコード、例えばＲｅａｃｔｉｏｎ  Ｄｅｓｉｇｎによって開発されたＣｈｅｍｉｎＴＭソフトウェア、またはＩＦＰ  Ｅｎｅｒｇｉｅｓ  Ｎｏｕｖｅｌｌｅｓによって開発されたＩＦＰ−ＫｉｎｅｔｉｃｓＴＭに基づいて、あるいはＰＣＭ法のための炎の構造に関するフレームレット計算（flamelet calculations）によって生成されることがある。このタビュレーションでは、所与の反応スキーム及び熱力学条件に従って反応中に存在する全ての化学化合物に関するモル量が列挙される。その次に、これらのテーブルは、コンピュータプログラム、例えばＣＦＤ（数値流体力学）プログラム、具体的にはＩＦＰ  Ｅｎｅｒｇｉｅｓ  Ｎｏｕｖｅｌｌｅｓによって開発されたＩＦＰ−Ｃ３Ｄ（登録商標）ソフトウェアを利用する汚染物質の排出量の計算で用いられる。
【０００４】
しかしながら、これらのタビュレーション法に関連するいくつかの欠点に注意すべきである。熱力学的経路及び物理的化学的プロセスのセットを考慮するために、追加の入出力変数をテーブルに入力しなければならない。このパラメータ数が増えることは、物理−化学テーブルのサイズが大きくなり、モデルがＭＰＩ（message-passing interface）パラダイムを用いる並列ソルバーに実装されると、物理−化学テーブルのサイズが急速にコンピュータのメモリ容量に適合しなくなることがある。この分散メモリパラダイムを用いると、プロセス間のメッセージの送受信を中心として通信が構築される。各プロセスに関するメモリゾーンは、共有されておらず、ランダムアクセスメモリＲＡＭ内にセグメント化される。物理−化学テーブルは、サイズが大きく、数ギガバイトに相当する場合がある。例えば、ＰＣＭモデル用に生成されるテーブルは、３．５ＧＢを超えるデータに相当する。
【０００５】
図１は、従来技術による、そのような動作を概略的に示している。コンピュータシステム１は、複数（ここでは４つ）のプロセッサ３とランダムアクセスメモリ５とを含む。各プロセッサ３は、マルチコアプロセッサであり、図で示された例によれば、各プロセッサ３は、４つのコンピューティングコア４を含む。ランダムアクセスメモリ５は、複数のメモリセグメント６（図で示されたケースでは１６のセグメント）を含む。用語「セグメント」は、ランダムアクセスメモリのメモリゾーンを示す（直線の矢印）。この構成では、ランダムアクセスメモリの各セグメント６にテーブル２が割り当てられている。各プロセッサ３のコア４は、計算を並列に実行するように構成されている。このことを実現するため、各コア４は、テーブル２に格納されたデータを上記コアに固有のセグメント６から読み出す。
【０００６】
図１における動作では、テーブルは各並列プロセスの各セグメントに割り当てられている。そのため、コンピュータシステムは、大容量のランダムアクセスメモリが必要であり、このランダムアクセスメモリを多用する必要がある。集約コンピューティングに関するコンピュータの予測成長では、このストレージ問題を解決することができないことに留意されたい。特に、コンピュータの成長に関する各メーカーの見積もりでは、コンピューティングノード当たりのプロセッサ数の増大が比較的小さくなると共に、プロセッサ当たりのメモリ量が少ないコンピューティングコア数が増える傾向にある。この種のアーキテクチャは、将来のコンピュータの電力消費量を低減するために推奨されている。
【０００７】
現在、タビュレーション法を用いる並列シミュレーションでは、各プロセスがテーブル全体をメモリにロードしている。例えば、８つのコンピューティングコアを含むプロセッサから成るノードのシミュレーションでは、テーブルの読み出しに関連して数ギガバイト（例えば、３．５ＧＢ）のデータから成る８つのデータテーブル（プロセス）がロードされる。このメモリの過負荷は、シミュレーションの過程で割り当てられるメッシュ及び他のテーブルをロードするための残りのメモリ量を大幅に制限する。
【０００８】
物理的及び／または化学的現象のシミュレーションを伴う他の分野、具体的には複合流体反応流（complex-fluid reactive flow）シミュレーションの分野（原子力産業、エネルギープロセス等）において、同様の問題が生じる場合がある。
【発明の概要】
【０００９】
この問題を解消するため、本発明は全ての並列コア間で「共有される」単一のランダムアクセスメモリセグメントを用いてメモリ消費量を大幅に低減することを可能にする予測（シミュレーション）方法及びシステムに関する。
【００１０】
本発明は、物理的及び／または化学的現象を予測するためのコンピュータシステムであって、並列コンピューティングのための複数のマルチコアプロセッサと、複数のメモリセグメントを含むランダムアクセスメモリとを有し、前記物理的及び／または化学的現象の前記予測が、数値データが格納される少なくとも１つのテーブルに基づいて実行される計算によって行われるコンピュータシステムに関する。前記ランダムアクセスメモリは、前記テーブルが格納された単一の共有セグメントを有し、各プロセッサの各コアは、前記物理的及び／または化学的現象を予測する前記計算を実行するために前記テーブルを読み出すよう、前記共有セグメントと通信するように構成されている。
【００１１】
前記物理的及び／または化学的現象は、内燃機関を備える車両の燃焼及び汚染物質の排出現象であることが有利である。
【００１２】
一実施形態によれば、前記テーブルは、化学キネティクスコード及び／または炎の構造に関するフレームレット計算に基づいて生成される。
【００１３】
一実装形態によれば、各プロセッサの各コアは、前記共有セグメントの前記テーブルを、メッセージパッシングインターフェースＭＰＩを用いて読み出すように構成されている。
【００１４】
前記システムは、前記プロセッサ間及び／または前記プロセッサの前記コア間の前記計算を並列化するための手段を有することが有利である。
【００１５】
一態様によれば、前記プロセッサは、前記物理的及び／または化学的現象を予測するために数値流体力学コードを実行するように構成されている。
【００１６】
さらに、本発明は、上記の特徴のうちの１つのコンピュータシステム、並びに前記物理的及び／または化学的現象を予測するために使用されるデータを記憶する数値データのテーブルを用いて物理的及び／または化学的現象を予測する方法に関する。この方法では、以下のステップが実行される。
【００１７】
ａ）前記テーブルが、前記ランダムアクセスメモリの単一の共有セグメントに割り当てられ、
ｂ）前記物理的及び／または化学的現象が、前記テーブルを用いて前記システムの前記複数のプロセッサの複数のコアで物理的計算及び／または化学的計算を実行することで予測され、各コアが前記テーブルを読み出すように前記共有セグメントと通信する。
【００１８】
前記物理的及び／または化学的現象は、内燃機関を備える車両の燃焼及び汚染物質の排出現象であることが有利である。
【００１９】
一実施形態によれば、前記方法は、化学キネティクスコード及び／または炎の構造に関するフレームレット計算コードに基づいて前記テーブルを生成する先行ステップを含む。
【００２０】
一実装形態によれば、前記共有セグメントに識別子が割り当てられ、前記識別子が前記プロセッサの前記コアに送信され、前記プロセッサから前記共有セグメントへのポインタが前記識別子を用いて設定される。
【００２１】
一態様によれば、前記物理的及び／または化学的現象を予測するために前記プロセッサの前記コアで流体力学計算が実行される。
【００２２】
前記物理的及び／または化学的計算は、前記プロセッサ間及び／または前記プロセッサの前記コア間で並列に実行されることが有利である。
【００２３】
前記各コアは、ＭＰＩ関数を用いて前記共有セグメントの前記テーブルを読み出すことが好ましい。
【図面の簡単な説明】
【００２４】
本発明による方法の他の特徴並びに利点は、非限定的な例として与えられる後述する実施形態の説明を添付の図面と併せて読むことで明らかになるであろう。
【図１】上述した従来技術によるコンピュータシステムを示す図である。
【図２】本発明の一実施形態によるコンピュータシステムを示す図である。
【図３】従来技術のシステムを用いる例で使用されるメモリを示すヒストグラムである。
【図４】本発明の一実施形態によるコンピュータシステムを用いる、図３と同じ例で使用するメモリを示すヒストグラムである。
【発明を実施するための形態】
【００２５】
本発明は、物理的及び／または化学的現象を予測（シミュレート）するためのコンピュータシステムに関する。この予測（シミュレーション）は、マルチコアプロセッサで実行される計算によって行われる。さらに、この予測は、データを格納するためのランダムアクセスメモリ（ＲＡＭ）を用いる。これらの計算は、数値データを格納する少なくとも１つのテーブルを利用する。
【００２６】
本発明において定義されるコンピュータシステムは、コンピューティングノードとも呼ばれる。コンピュータシステムは、スーパーコンピュータのコンピューティングノード、すなわちスーパーコンピュータの一部であってもよい。したがって、本発明によるコンピュータシステムのアセンブリによってスーパーコンピュータが形成されてもよい。
【００２７】
マルチコアプロセッサは、同時に動作する複数の物理的コンピューティングコアで処理するプロセッサである。マルチコアプロセッサは、単一のプロセッサが複数の同時コンピューティング回路を制御する旧来のアーキテクチャとは異なる。
【００２８】
物理的コンピューティングコアは、プログラムを自律的に実行することができる回路のセットである。プログラムカウンタ、レジスタ、コンピューティングユニット等、プログラムを実行するのに必要な機能の全てがこれらのコアに存在する。さらに、複数のキャッシュが、プロセッサ毎に定義されるか、または各プロセッサ間で共有される。
【００２９】
ランダムアクセスメモリは、コンピュータで処理された情報が格納可能であり、その後、該情報を消去できるコンピュータメモリである。ランダムアクセスメモリは、メモリセグメントと呼ばれる複数のストレージゾーンを含む。いくつかの既存の構成によれば、図１で示されているように、単一のメモリセグメントが単一のプロセッサコアと関連付けられていてもよい。
【００３０】
テーブルは、数値データをグループ分けするマトリクスである。これらのデータは、先行する計算の結果であってもよい。典型的な一実施形態によれば、先行する計算は、同じプロセッサで実行されていてもよい。
【００３１】
本発明によれば、ランダムアクセスメモリは、数値データのテーブルが格納される単一の共有メモリセグメントを有し、ランダムアクセスメモリの他のセグメントは、数値データのテーブルを格納しない。さらに、各プロセッサの各コアは、物理的及び／または化学的現象を予測する計算を実行するため、数値データのテーブルを読み出すよう共有セグメントと通信するように構成されている。すなわち、ランダムアクセスメモリのメモリセグメントのうちの１つのみが数値データのテーブルを格納するために用いられ、全てのコアは共有メモリセグメント内の数値データのテーブルを読み出す。
【００３２】
本発明は、ソフトウェアプロセスのメモリ消費量を減らすことを可能にして、利用可能なランダムアクセスメモリの容量を増大させることを可能にする。特に、本発明は、ランダムアクセスメモリの使用を単一の共有メモリセグメントに限定しつつ、物理的及び／または化学的現象を予測（シミュレート）することを可能にする。本発明は、ますます大型化する数値データのテーブルに適合することを可能にし、（プロセッサ当たりのメモリの量が少ないコンピューティングコアを有する）電力消費量の少ないプロセッサに適合することを可能にする。さらに、メモリに関するロードをこのように制限することで、シミュレーションの過程において割り当てられたメッシュ及び他のテーブルをロードするためのメモリを解放することができる。
【００３３】
特に、本発明は、分散メモリ並列コンピュータに関する大きいサイズの化学及び／または物理テーブルを使用することに関する。この場合、本発明は、大きいサイズの物理−化学テーブルを使用するとき、マルチコアプロセッサに基づくコンピューティングノードから成るコンピュータに関する並列化されたソフトウェアプロセスで消費されるメモリを低減することを可能にする。
【００３４】
好ましくは、本発明は、内燃機関を備える車両の燃焼及び汚染物質の排出量を予測することに関する。特に、本出願は、流体力学計算を実行するために、（例えば、化学キネティクスを解くためのコンピュータコードに基づいて生成されるテーブル、またはＰＣＭ法のための炎の構造に関するフレームレット計算によって生成されるテーブルの場合、数ギガバイトの）大きいサイズのテーブルを用いる。
【００３５】
また一方、本発明は、例えば複合流体反応流（complex-fluid reactive flows）の分野（原子力産業、エネルギープロセス等）における、大きいサイズの化学及び／または物理テーブルの少なくとも一方を必要とする任意の予測（シミュレーション）に適している。
【００３６】
本発明の一実施形態によれば、数値データのテーブルは、Ｒｅａｃｔｉｏｎ  Ｄｅｓｉｇｎによって開発されたＣｈｅｍｋｉｎＴＭソフトウェアまたはＩＦＰ  Ｅｎｅｒｇｉｅｓ  Ｎｏｕｖｅｌｌｅｓによって開発されたＩＦＰ−ＫｉｎｅｔｉｃｓＴＭ等の化学キネティクスコードに基づいて生成されてもよい。これらのタイプのソフトウェアは、複雑な問題を理解することを目的として化学反応の相当数の組合せを解決することが可能であり、そのことにより、例えば汚染物質の排出量の問題に適している。
【００３７】
その代わりにまたはそれに加えて、ＰＣＭ法のための炎の構造に関するフレームレット計算に基づいてデータのテーブルが生成されてもよい。
【００３８】
本発明の一実装形態によれば、各プロセッサは、物理的及び／または化学的現象を予測する数値流体力学（ＣＦＤ）コードを実行するように構成されていてもよい。これらのコードは、特に、化学キネティクスコード及び／またはフレームレット計算コードから得られる数値データのテーブルに基づいて、内燃機関を備える車両の燃焼及び排出をシミュレートすることを可能にする。
【００３９】
ＩＦＰ  Ｅｎｅｒｇｉｅｓ  Ｎｏｕｖｅｌｌｅｓによって開発されたＩＦＰ−Ｃ３Ｄ（登録商標）ソフトウェアは、内燃機関における反応二相（気体／液体燃料）流の３次元（３Ｄ）シミュレーションに適用されるＣＦＤソフトウェアの一例である。このソフトウェアは、エンジンで生じる複雑な物理的現象（バルブオーバーラップに起因する掃気、壁面での液膜の形成、汚染物質の形成等）を分析することを可能にする。
【００４０】
本発明の一態様によれば、システムは、プロセッサ間及び／またはコア間で計算を並列化するための手段を有していてもよい。このようにして、物理的及び／または化学的現象の計算、従って予測（シミュレーション）が高速化し、それによってプロセッサ及びランダムアクセスメモリが使用される時間を短縮することが可能になる。これらの並列化手段は、メッセージパッシングインターフェースＭＰＩを使用してもよい。
【００４１】
メッセージパッシングインターフェースＭＰＩは、Ｃ言語及びＦｏｒｔｒａｎ言語と共に使用できる関数のライブラリを定義する規格である。メッセージパッシングインターフェースＭＰＩは、メッセージパッシングによってリモートコンピュータまたはマルチプロセッサの使用を可能にする。この技術は、一般的に分散メモリシステム上で並列プログラムを実行するために使用されている。
【００４２】
このＭＰＩは、共有メモリ超並列コンピュータ及び分散メモリ異種コンピュータアセンブリの両方において良好な性能レベルを提供する利点を有する。さらに、ＭＰＩは、非常に広範囲のハードウェア及びオペレーティングシステムで利用可能である。したがって、ＭＰＩは、ほとんど全てのメモリアーキテクチャに実装されているため、他のメッセージパッシングライブラリに関して広く移植可能であるという利点を有し、かつ実装される各ＭＰＩは、それが実行されるハードウェアに最適化されているために高速である。
【００４３】
各プロセッサの各コアは、メッセージパッシングインターフェースＭＰＩによって共有セグメントのテーブルを読み出すように構成されていることが有利である。
【００４４】
図２は、本発明の一実施形態によるコンピュータシステムを概略的にかつ非制限的に示している。図２の表現は図１の表現と類似している。コンピュータシステム１は、複数（ここでは４つ）のプロセッサ３と、ランダムアクセスメモリ５とを含む。各プロセッサ３はマルチコアプロセッサであり、図で示された例によれば、各プロセッサ３は、４つのコア４とキャッシュ９とを含む。ランダムアクセスメモリ５は、複数のセグメント６（この場合は１６のセグメント）を含む。用語「セグメント」は、ランダムアクセスメモリのメモリゾーンを示している。この構成では、ランダムアクセスメモリの単一の共有セグメント７にテーブル２が割り当てられている（直線の矢印）。各プロセッサ３のコア４は計算を並列に実行するように構成されている。このことを実現するため、各コア４は共有セグメント７内のテーブル２に格納されたデータを読み出す。各プロセッサ３の各キャッシュ９は、共有セグメント７内のテーブル２を読み出すように構成されたポインタ８を含む。各プロセッサ３内において、各コア４はポインタ８によって共有セグメント７から取り出されたキャッシュ９からデータを読み出す（曲線の矢印）。
【００４５】
また、本発明は、物理的及び／または化学的現象を予測（シミュレート）する方法に関する。この方法は、上述した変形例の任意の組み合わせによるコンピュータシステム（コンピューティングノード）で実行される。さらに、この予測方法は、数値データを格納するテーブルを用いる。
【００４６】
この方法では、以下のステップが実行される。
【００４７】
ａ）数値データのテーブルがコンピュータシステムのランダムアクセスメモリ５の単一のメモリセグメントに割り当てられ、
ｂ）データのテーブルを用いて、コンピュータシステムの複数のプロセッサの複数のコアで物理的及び／または化学的計算を実行することで、物理的及び／または化学的現象が予測（シミュレート）される。このことを実現するために、各プロセッサの各コアは、数値データのテーブルを読み出すように共有セグメントと通信する。
【００４８】
そのため、本発明による方法は、ランダムアクセスメモリの使用を単一の共有メモリセグメントに限定しつつ、物理的及び／または化学的現象を予測（シミュレート）することを可能にする。
【００４９】
好ましくは、本発明による方法は、内燃機関を備える車両の燃焼及び汚染物質の排出量を予測する（シミュレートする）ことに関する。特に、本出願は、（例えば、化学キネティクスを解くためのコンピュータコードに基づいて生成されるテーブル、またはＰＣＭ法のための炎の構造に関するフレームレット計算によって生成されるテーブルの場合は数ギガバイトの）大きいサイズのテーブルを用いて流体力学計算を実行する。
【００５０】
また一方、本発明による方法は、例えば複合流体反応流の分野（原子力産業、エネルギープロセス等）におけるサイズの大きい化学及び／または物理テーブルを必要とする任意の予測（シミュレーション）に適している。
【００５１】
本発明の一実施形態によれば、本方法は、Ｒｅａｃｔｉｏｎ  Ｄｅｓｉｇｎによって開発されたＣｈｅｍｋｉｎＴＭソフトウェアまたはＩＦＰ  Ｅｎｅｒｇｉｅｓ  Ｎｏｕｖｅｌｌｅｓによって開発されたＩＦＰ−ＫｉｎｅｔｉｃｓＴＭ等の化学キネティクスコードに基づいてデータのテーブルを生成する先行ステップを含んでいてもよい。
【００５２】
その代わりにまたはそれに加えて、本方法は、ＰＣＭ法のための炎の構造に関するフレームレット計算に基づいてデータテーブルを生成する先行ステップを含んでいてもよい。
【００５３】
本発明の一実装形態によれば、物理的及び／または化学的現象を予測するステップ（ｂ）に関して数値流体力学（ＣＦＤ）コードが実行されてもよい。これらのコードは、特に内燃機関を備える車両の燃焼及び排出をシミュレートすることを可能にする。
【００５４】
本発明の一態様によれば、物理的及び／または化学的計算は、様々なプロセッサ間及び／または様々なコア間で並列に実行されてもよい。このようにして、物理的及び／または化学的現象の計算、従って予測（シミュレーション）が高速化し、それによってプロセッサ及びランダムアクセスメモリが使用される時間を短縮することが可能になる。これらの並列化は、メッセージパッシングインターフェースＭＰＩを用いて実行されてもよい。
【００５５】
各プロセッサの各コアは、メッセージパッシングインターフェースＭＰＩによって共有セグメント内のテーブルを読み出すように構成されていることが有利である。
【００５６】
本発明の一特徴によれば、本方法は、物理的及び／または化学的現象を予測する、ステップ（ｂ）に先行する以下のステップを含んでいてもよい。
【００５７】
共有セグメントに識別子が割り当てられ、
前記識別子が各プロセッサの各コアに送信され、
プロセッサから（各プロセッサのキャッシュから）共有メモリセグメントへのポインタが、共有セグメントに割り当てられた識別子を用いて設定される。
【００５８】
これらのステップは、「マスター」プロセッサコアと見なされる少なくとも１つのプロセッサコアによって実行されてもよい。
【００５９】
これらのステップは、各プロセッサを共有メモリセグメントと直接的に関連付けることを可能にし、ポインタは、その後、数値データのテーブルを読み出すためにプロセッサコアによって用いられる。
【００６０】
本発明によるシステム及び方法は、任意のタイプのオペレーティングシステム、例えばＷｉｎｄｏｗｓＴＭ、ＵＮＩＸＴＭ及びＩＯＳＴＭで動作してもよい。
本発明を実施する典型的なアルゴリズム
以下のアルゴリズムは、ＬＩＮＵＸ  ＯＳのコンピューティングコードにおける本発明の一実装形態を非制限的に表している。
【００６１】
シミュレータの並列実行に続いて、各プロセスのメモリ初期化が実行されなければならず、事前に以下のことを行う必要がある。
【００６２】
１−並列プロセスの各々を、プロセスが実行されるコンピューティングコード（コンピュータシステム）と関連付けるために、各プロセスの類似性を算出する。
【００６３】
プロセスのグループ毎に、１つのプロセスが「マスター」プロセスと見なされる（プロセッサコアのうちの１つがメモリアロケーションに関するマスターと見なされる）。
【００６４】
２−同じコンピューティングコード上で実行されるプロセスのグループ毎に、以下のステップが実行される。
【００６５】
グループのマスタープロセスにおいて、
２．１−ＩＤＫＥＹと呼ばれる一意の鍵を用いて認証される、マスタープロセスによって共有メモリセグメントを作成する。
【００６６】
２．２−メモリゾーンを割り当てる（Ｃメモリアロケーション関数を用いる。この関数はＣカーネル内に実装されている）。
【００６７】
２．３−「マスター」プロセスによって、ｓｈｍｍａｔ関数（この関数はＣカーネル内に実装されている）を用いて、ＩＤＫＥＹで認証される共有メモリセグメントにメモリゾーンを関連付ける。
【００６８】
２．４−ＩＤＫＥＹの値をグループの全ての他のプロセスと共有する。
【００６９】
各グループの他の非マスタープロセスに関して、
２．５−ＩＤＫＥＹ認証鍵をマスターから受信する。
【００７０】
２．６−ｓｈｍｇｅｔ関数（この関数はＣカーネル内に実装されている）を用いて、共有メモリセグメントのアドレスを取り出す。
【００７１】
２．７−共有メモリセグメントを指し示す（割り当てられていない）Ｃポインタを割り当てる。
【００７２】
３−読み出し／書き込みテーブル
３．１−各グループの各マスタープロセスは、物理−化学テーブルを読み出し、メモリへ格納する。
【００７３】
３．２−各非マスタープロセスは、共有セグメントを指し示すローカルポインタを用いてテーブルから値を読み出す。
比較例
本発明の特徴及び利点は、以下に記載する比較例から明確になるであろう。
【００７４】
表１において、（図１で示されている）従来技術を用いることに対して、本発明で実現されるメモリ削減量は、様々な実際の集約的並列スーパーコンピュータアーキテクチャに従って推定される。表１において、利得係数は、本発明のシステム及び方法で用いられるメモリ消費量（ランダムアクセスメモリの単一の共有セグメントへの数値データのテーブルの割り当て）に対する、従来技術のシステムで用いられるメモリ消費量（ランダムアクセスメモリの各セグメントへのデータのテーブルの割り当て）の割合に対応している。
【００７５】
【表１】
2019145104.tif 000003
【００７６】
メモリ消費量の削減は、マシンのアーキテクチャに依存する。本発明のシステム及び方法では、実質的価値のあるメモリ利得係数（１６〜１２８の範囲）が使用可能であることに留意されたい。
【００７７】
また一方、エクサスケールマシンでは、コンピューティングノード当たりのコアの数が、２０２０年までに２５６（３２のコアを有する８つのプロセッサ）及び１０２４（１２８のコアを有する８つのプロセッサ）を超える可能性があり、それは利得係数が大きくなる（それぞれ２５６及び１０２４になる）。
【００７８】
図３及び図４は、例えば表１のＮｏ．３（２つの８コアＩｎｔｅｌ（登録商標）Ｓａｎｄｙ  Ｂｒｉｄｇｅプロセッサを有するコンピューティングノード）において、３．２ＧＢのテーブルで使用されるメモリを示している。図３は、従来技術のシステム及び方法によるメモリの使用（各メモリセグメントへのテーブルの割振り）に対応し、図４は、本発明のシステム及び方法によるメモリの使用（単一のメモリセグメントへのテーブルの割当て）に対応している。
【００７９】
図３及び図４は、ランダムアクセスメモリのセグメントｎ°Ｓの数を横軸で示すヒストグラムである。ランダムアクセスメモリのセグメントには０〜１５の番号が付けられている。図３及び図４の縦軸は、ＧＢ単位のメモリ使用量Ｍに相当する。従来技術の方法では各メモリセグメントで３．２ＧＢのメモリが使用されていることが分かる（図３）。それに対して、本発明の方法では１つのメモリセグメントのみが使用されている（図４）。
【００８０】
これらの図は、本発明によるメモリ使用量に関する利点を適切に示しており、この利点によってランダムアクセスメモリの容量を制限することが可能になる。
【図１】
2019145104.tif 000004
【図２】
2019145104.tif 000005
【図３】
2019145104.tif 000006
【図４】
2019145104.tif 000007
【外国語明細書】
2019145104000001.pdf