"コンピュータに対して、主アプリケーションの実行再開時に前記コンピュータのマイクロプロセッサにおけるメモリアクセスを最適化する方法にして、前記マイクロプロセッサは少なくとも上位部と下位部とを備える階層編成の共有メモリを備える環境で少なくとも2つのプロセスの同時実行を可能にし、少なくとも1つのデータ項目が前記主アプリケーションによって処理されるために下位部から上位部にコピーされ、前記コンピュータは前記主アプリケーションの実行を中断するのに適したメモリアクセス最適化方法であって、前記主アプリケーションの実行の中断時に、少なくとも1つの補助アプリケーションを実行するために、前記メモリの上位部に記憶されている少なくとも1つのデータ項目であって、前記主アプリケーションの実行を可能にするのに使用される前記少なくとも1つのデータ項目の少なくとも1つの参照を記憶するステップ710と、前記少なくとも1つの補助アプリケーションの実行時に、前記主アプリケーションの実行再開をプログラミングした後、前記主アプリケーションの実行再開前に、前記少なくとも1つの参照に従って、前記メモリの下位部の前記少なくとも1つのデータ項目にアクセスするステップ805と、前記メモリの上位部の前記少なくとも1つのデータ項目を記憶するステップ810とを含むことを特徴とする、方法。前記主アプリケーションの少なくとも1つの構成パラメータにアクセスするステップ800をさらに含み、前記少なくとも1つのデータ項目にアクセスするステップは前記少なくとも1つのパラメータに従って実行される、請求項1に記載の方法。前記少なくとも1つの主アプリケーションが特権アプリケーションであると宣言される事前宣言ステップと、前記少なくともパラメータを定義するステップとをさらに含む、請求項2に記載の方法。前記少なくとも1つのパラメータを検証するステップをさらに含み、前記少なくとも1つのパラメータはデータブロックサイズを定義し、前記少なくとも1つの参照は少なくとも1つのメモリアドレスを含む、請求項3に記載の方法。前記プロセッサが少なくとも2つの論理コアを実装することができ、前記少なくとも2つのプロセスの各々は1つの論理コアによって実行可能であり、前記少なくとも2つの論理コアは前記共有メモリを共有し、前記主アプリケーションは前記少なくとも2つの論理コアのうちの一方の論理コアによって実行され、前記少なくとも1つのデータ項目にアクセスするステップおよび少なくとも1つのデータ項目を記憶するステップの実行に関連する命令は、前記少なくとも2つの論理コアの他方のコアに送信される、請求項1から4のいずれか一項に記載の方法。前記マイクロプロセッサが、マルチコアプロセッサであり、前記少なくとも2つの論理コアは、同じ物理コアで実装される、請求項5に記載の方法。前記少なくとも1つのデータ項目の前記少なくとも1つの参照を記憶するための前記命令および少なくとも1つのデータ項目にアクセスするための前記命令は、前記コンピュータの論理層によって開始される、請求項1から6のいずれか一項に記載の方法。前記論理層が、前記コンピュータに実装されるオペレーティングシステムに属する、請求項7に記載の方法。コンピュータ上で実行される場合、請求項1から8のいずれか一項の方法のステップの各々を実行するのに適した命令を含むコンピュータプログラム。取り外し可能または取り外し不可能で、請求項1から8のいずれか一項に記載の方法のステップの各々を実行するためのコンピュータプログラムのコード命令を含むコンピュータまたはマイクロプロセッサによって部分的または全体的に読み取り可能な情報記憶手段。この技術によりマイクロプロセッサの性能は大幅に向上するが、その利用が補助プログラムの実行によって妨げられる場合がある。正確には、主プログラムの実行時に、特に、デーモンと呼ばれるオペレーティングシステムの補助タスクを実行するために中断される場合が多い。中断に続いて、デーモンを実行する時に、キャッシュメモリがそのデーモンを実行するために最適化される。その結果、デーモンの実行後に、マイクロプロセッサが主プログラムを再び実行する時に、キャッシュメモリはデーモンに関連するデータを含み、主アプリケーションに接続されたデータがメモリ階層で引き上げられるために待ち時間が生じる。本発明により、上述の少なくとも1つの問題が解決される。本発明は、コンピュータに対して、主アプリケーションの実行再開時に前記コンピュータのマイクロプロセッサにおけるメモリアクセスを最適化する方法にして、前記マイクロプロセッサは少なくとも上位部と下位部とを備える階層編成の共有メモリを備える環境で少なくとも2つのプロセスの同時実行を可能にし、少なくとも1つのデータ項目が前記主アプリケーションによって処理されるために下位部から上位部にコピーされ、前記コンピュータは前記主アプリケーションの実行を中断するのに適したメモリアクセス最適化方法であって、前記主アプリケーションの実行の中断時に、前記メモリの上位部に記憶されている少なくとも1つのデータ項目であって、前記主アプリケーションの実行を可能にするのに使用される前記少なくとも1つのデータ項目の少なくとも1つの参照を記憶するステップと、前記主アプリケーションの実行再開をプログラミングした後、前記主アプリケーションの実行再開前に、前記少なくとも1つの参照に従って、前記メモリの下位部の前記少なくとも1つのデータ項目にアクセスするステップと、前記メモリの上位部の前記少なくとも1つのデータ項目を記憶するステップとを含む方法に関する。したがって、本発明の方法により、アプリケーションの再開時にアプリケーションによって処理されるデータに予測的にアクセスすることができ、ひいては再開時間を低減することができる。本発明の方法は、前記主アプリケーションの少なくとも1つの構成パラメータにアクセスするステップをさらに含むのが好ましく、前記少なくとも1つのデータ項目にアクセスするステップは前記少なくとも1つのパラメータに従って実行される。有利には、本発明の方法は、前記少なくとも1つの主アプリケーションが特権アプリケーションであると宣言される事前宣言ステップと、前記少なくとも1つのパラメータを定義するステップとをさらに含む。このような宣言ステップにより、実行されるアプリケーションに従って選択的に、メモリアクセス最適化方法をトリガすることができる。特定の実施形態によれば、本発明の方法は、前記少なくとも1つのパラメータを検証するステップをさらに含み、前記少なくとも1つのパラメータはデータブロックサイズを定義し、前記少なくとも1つの参照は少なくとも1つのメモリアドレスを含む。したがって、本発明の方法により、メモリアクセスのエラーを防ぐことができる。さらに特定の実施形態によれば、前記プロセッサは少なくとも2つの論理コアを実装することができ、前記少なくとも2つのプロセスの各々は1つの論理コアによって実行可能であり、前記少なくとも2つの論理コアは前記共有メモリを共有し、前記主アプリケーションは前記少なくとも2つの論理コアのうちの一方の論理コアによって実行され、前記少なくとも1つのデータ項目にアクセスするステップおよび少なくとも1つのデータ項目を記憶するステップの実行に関連する命令は、前記少なくとも2つの論理コアの他方のコアに送信される。したがって、本発明の方法により、アプリケーションの実行性能を低下させることなく、主アプリケーションの実行再開に必要なデータへのアクセスを最適化することができる。前記マイクロプロセッサは、好ましくは、マルチコアプロセッサであり、前記少なくとも2つの論理コアは、データへのアクセスひいては主アプリケーションの実行再開を最適化するのに使用されるメモリ階層の大部分を共有できるように同じ物理コアで実装される。特定の実施形態によれば、前記少なくとも1つのデータ項目の前記少なくとも1つの参照を記憶するための前記命令および少なくとも1つのデータ項目にアクセスするための前記命令は、前記コンピュータの論理層、例えば、前記コンピュータ内に実装されているオペレーティングシステムの層によって開始される。したがって、本発明の方法は、実装しやすく、ほんの少しの修正が必要なだけである。さらに、本発明は、コンピュータ上で実行される時に上述した方法のステップの各々を実行するのに適した命令を含むコンピュータプログラムと、取り外し可能または取り外し不可能な情報記憶手段であって、上述した方法のステップの各々を実行するためのコンピュータプログラムのコード命令を含むコンピュータまたはマイクロプロセッサによって部分的または全体的に読み取り可能な情報記憶手段とに関する。このコンピュータプログラムおよび記憶手段によって得られる利点は、上述した利点と同様である。本発明の他の利点、目的、および特徴は、添付図面に関して非限定的な例として説明されている以下の詳細な説明から明らかになるであろう。本発明は、全般的に、第1のアプリケーションの実行再開を最適化するために、第1のアプリケーションの実行中断に関連して実行される第2のアプリケーションの実行時に、キャッシュメモリを予測ロードして第1のアプリケーションの実行に関連したデータをロードするためのメカニズムを目的とする。ここで、特定のマイクロプロセッサは複数の論理コアを備えることを思い出されたい。これらのマイクロプロセッサは、複数の物理コアを備え、一般に、各々が複数の論理コアを実装するのに適している。同時マルチスレッディングIntel実装Intelは商標のハイパースレッディングと呼ばれるこの技術により、スレッドと呼ばれる複数の基本プロセスをマイクロプロセッサの物理コアで並行して実行することができる。したがって、この技術を実装する物理コアは、一般に、物理コアを利用する論理層によってデュアルコアとして認識される。この技術を実装する物理コアは、論理コア間で共有されるリソースと各々の論理コアに固有のリソースとを備える。共有リソースは、典型的には、実行ユニット、キャッシュメモリ、およびバスインタフェースである。固有リソースは、特に、論理コアのデータおよび命令のレジスタ、セグメントレジスタ、コントロールレジスタおよび割り込みコントローラAPICAdvancedProgrammbleInterruptControllerと呼ばれるレジスタである。しかしながら、この技術により、特定のアプリケーションに対して、特に画像処理アプリケーションに対してマイクロプロセッサの性能を大幅に向上させることができるが、他のアプリケーションに対して、特に科学計算アプリケーションに対しては、性能がわずかに向上するのみである、あるいは低下することが分かった。したがって、一般に、高性能コンピューティングに使用されるクラスタでは、この技術は無効にされる。しかしながら、この技術により、1つの論理コアにつき限定数の命令を他方の論理コアによって実行される別のアプリケーションの実行を妨げずに実行することができるので、本発明はこの技術を使用して、補助アプリケーションが実行される時にキャッシュメモリの予測ロードを可能にすることができる。したがって、所与の時点で、第1の論理コアは補助アプリケーションの実行に関連付けられるが、第2の論理コアは主アプリケーションすなわち、特権アプリケーションに関連するデータを有するキャッシュメモリを予測ロードするのに使用される。したがって、本発明によれば、第1のプロセス、例えば、HPCタイプのアプリケーションプロセスは、第1のプロセスが中断された後に第1のプロセスの実行に必要なデータをキャッシュメモリに戻す機能を有する子プロセスと呼ばれる第2のプロセスによって支援される。データは、第1のプロセスの実行再開を最適化する段階の前に戻される。これらのプロセスは、有利には、使用されるハードウェア要素に関連するコストを増加させずに第1のプロセスの実行性能を最適化するために、物理コアの2つの論理コアで実装される。このようなメカニズムは、遷移プリフェッチと見なされる場合もあるが、この場合、メモリ供給と呼ばれる。図4aおよび図4bは、本発明の基本概念を示している。より具体的には、図4aは、2つの論理コアを実装することができるが1つの論理コアは使用されないマイクロプロセッサのタスクの実行再開時の順序付けを示す図であるが、図4bは、同じマイクロプロセッサのタスクの実行再開時に、両方の論理コアが本発明を実行するのに使用される場合の順序付けを示す図である。この場合、主アプリケーションを実行するのに使用されるプロセッサは、2つの論理コア405-1および405-2を実装する物理コア400を備える。コア400の右側の線は、時間に対して、論理コア各々によって実行されるタスクを示している。符号410は、この場合、メモリ階層の深さを示している。下位部は、階層の下位部、すなわち、下位レベルメモリマイクロプロセッサから最も遠いメモリを示し、上位部は、階層の上位部、すなわち、上位レベルメモリマイクロプロセッサに最も近いメモリを示す。したがって、上位レベルメモリにないデータ項目を処理するために、そのデータ項目にアクセスするための命令は、下位レベルのメモリにあるそのデータ項目を探すために下に降りて、その後、そのデータ項目を引き上げなければならない。図4aに示されているように、論理コア405-2が使用されない場合、論理コア405-1が全てのタスクを実行する。この場合、主アプリケーションの実行が所与の時間で中断されて図示せず、主アプリケーションの補助アプリケーション、例えば、その一部であるタスク415を実行すると考えられる。このタスクの実行時に、主アプリケーションに関連するデータを含むキャッシュメモリはこのデータを取り出して空にし、その代わりに補助アプリケーションに関連するデータを受信する。したがって、主アプリケーションの実行再開時に、420の時点で、主アプリケーションのタスク425は、そのタスクの実行に必要なデータにアクセスするための時間に相当する期間430の間保留される。これらのデータにアクセスするための時間は、メモリ階層の深さを通過する矢印下降および上昇で示されている。符号425’で示されるように、主アプリケーションの実行はデータが利用可能になるとすぐに再開される。探し出されたデータは、通常、マイクロプロセッサに最も近いメモリに存在しなくなるが、最も遠いメモリに常に存在するとも限らない。したがって、期間430の時間は、メモリ階層内で探し出されたデータの位置に関連した可変である。物理コアの2つの論理コアが本発明を実行するのに使用される場合、論理コアの一方、例えば、論理コア405-1は、主アプリケーションおよび補助アプリケーション、特にデーモンを実行するのに使用され、他方の論理コア、この場合、論理コア405-2は、主アプリケーションに関連し遷移プリフェッチを可能にするアプリケーションを実行するのに使用される。図4bに示されているように、補助アプリケーションのタスク415は、主プログラムの実行の中断に関連して論理コア405-1によって実行されてもよい。並行して、論理コア405-2は、データをマイクロプロセッサに最も近いメモリ、典型的には、レベルL1のキャッシュメモリにロードするのに使用されるが、これは主アプリケーションの再開時の実行に必要となる。この主アプリケーションの実行再開を可能にするデータにアクセスするタスクは、この場合、符号435で示されている。したがって、440で示された主アプリケーションの実行再開時には、その実行に必要なデータはマイクロプロセッサに近いメモリに存在し、マイクロプロセッサがデータの取得を待たなくても主アプリケーションのタスク445を実行することができる。符号130’で示されているこれらのデータにアクセスするための時間は、補助アプリケーションの実行によってマスクされた時間である。したがって、主アプリケーションの実行には弊害をもたらさない。この場合、主アプリケーションに関連するデータをロードするという点では、論理コアによって実行される主アプリケーションと第2の論理コアによって実行される補助アプリケーションとの協調形態は、厳密である場合もあれば厳密でない場合もあることが分かる。強調形態が厳密である場合は、アプリケーション間の明示的な同期が必要であるが、厳密でない場合は、アプリケーションは互いに独立して実行され、データをロードするための補助アプリケーションが主アプリケーションのメモリに関して必要性を認識することができる。有利には、メモリ参照は、主アプリケーションの実行再開時に対応するメモリアクセス時間を短くするために補助アプリケーションが主アプリケーションのメモリアクセスを予測できるようにするのに使用される。主アプリケーションのコンパイラのデータに基づいて行われた静的解析から、メモリマッピングが取得されてもよい。このメモリマッピングにより、時分割に関連して、主アプリケーションのメモリアクセスが予測できるメモリブロックを指定することができる。また、マッピングは、動的な場合もあり、アプリケーション自体によって残されたメモリコンテキストの読出トレースから、またはハードウェアオペレーティングシステムのコンテキストを変換するためのコードにより、またはプロセス間のメカニズムによって推定される場合もある。図5は、本発明を実装する2つの論理コアを備えるプロセッサコアの命令のシーケンスの一例を示す図である。図5と並行して説明される図6a~図6dは、図5に関して説明されるマイクロプロセッサのレベルL1のキャッシュメモリのコンテンツからの異なる時間におけるデータ抽出を示す図である。図5において、符号500-1および500-2は、第1および第2の論理コアに対応する第1および第2の命令エンジンの命令シーケンスをそれぞれ表している。第1の命令エンジンは、複数のアプリケーション、特に、HPC主アプリケーションおよびオペレーティングシステムの補助タスクの実行のために使用される。第2の命令エンジンは、第1の命令エンジン、この場合、HPC計算アプリケーションによって実行される主アプリケーションに関連するデータのロードを可能にする補助アプリケーションを実行するためのものである。時間t0とt1との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、符号505-1で示されるHPC計算用の主アプリケーションの命令である。時間t1とt2との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、符号510-1で示されるオペレーティングシステムのタスクの命令である。t1の時点で、プリフェッチメカニズムが通常の方法で実行され、命令510-1の実行を最適化するために命令510-1に関連するデータがプレロードされる。この場合、マイクロプロセッサコアのレベルL1のキャッシュメモリは、図6aに示されるように、基本的に、前に実行されたHPC計算用の主アプリケーションに関連するデータと、オペレーティングシステムの実行タスクに関連する少数のデータとを含む。さらに、HPC計算用の主アプリケーションは特権アプリケーションとして参照されるので、このアプリケーションの実行が中断されると実行コンテキストが記憶される。すなわち、キャッシュメモリに存在するデータのアドレスは、主アプリケーションの実行再開の前に、そのアドレスを後でロードできるように記憶される。時間t2とt3との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、符号515で示される第1の補助アプリケーションの命令である。同様に、時間t3とt4との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、上述した符号510-2で示されるオペレーティングシステムのタスクの命令である。同様に、時間t4とt5との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、520で示される第2の補助アプリケーションの命令である。時間t5とt6との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、上述した符号510-3で示されるオペレーティングシステムのタスクの命令である。同様に、時間t6とt7との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、525で示される第3の補助アプリケーションの命令である。したがって、マイクロプロセッサコアのレベルL1のキャッシュメモリは、図6bに示されるように、実行されるオペレーティングシステムのタスクに関連するデータと、第1、第2および第3の補助アプリケーションに関連するデータとを含む。時間t0~t7の間で、命令シーケンス500-2に対応する論理コアには実行する命令がない。時間t7の時点で、主アプリケーションの実行再開前に主アプリケーションに関連するデータを予測ロードできるようにするメモリ供給メカニズムが実装される。この時点で、命令シーケンス500-2に対応する論理コアは、アドレスが主プログラムの中断時に記憶されているキャッシュメモリにデータをロードするための命令530を実行する。したがって、時間t7とt8との間で、命令シーケンス500-1に対応する論理コアによって実行される命令は、符号510-4で示される上述のオペレーティングシステムのタスクの命令であるが、命令シーケンス500-2に対応する論理コアによって実行される命令は、アドレスが主プログラムの中断時に記憶されているキャッシュメモリにデータをロードできるようにする命令である。t8の時点で、マイクロプロセッサコアのレベルL1のキャッシュメモリは、図6cに示されるように、オペレーティングシステムの実行されるタスクに関連するデータと、第2および第3の補助アプリケーションに関連するデータ、すなわち、実行される最後の命令に関連するデータと、主アプリケーションに関連するデータであって、主アプリケーションの実行の最適な再開を可能にするデータとを含む。主プログラムの実行は、符号505-2で示されるように、この時点で再開される。この時点から、命令シーケンス500-2に対応する論理コアにはさらに実行する命令はない。図6dに示されるように、t9時点で、マイクロプロセッサコアのレベルL1のキャッシュメモリは、基本的に、HPC計算用の主アプリケーションに関するデータと、前に実行されたオペレーティングシステムのタスクに関連する少数のデータであって、HPC計算用の主アプリケーションに関連するデータに置き換えられていない少数のデータとを含む。したがって、論理コアの1つで実行される主アプリケーションは、同じ物理コアの別の論理コアで実行される子プロセスによって支援される。この子プロセスは、主アプリケーションが要求データを取得するのを待つ間に要する待機サイクルを省く段階の前に待機サイクル数を低減する、主アプリケーションに必要なデータをメモリに戻すタスクを行う。すなわち、本発明は、特に、使用されるオペレーティングシステムと物理コアに属する1つの論理コアによって実行されるメモリロードプロセスとの間の協調メカニズムの導入を目的とする。物理コアの別の論理コアは主アプリケーションを実行し、これらの論理コアはメモリ階層の少なくとも一部を共有する。したがって、典型的には、1つの論理コアで起動されるオペレーティングシステムが、呼び出された時、または要求された時に、メモリ供給機能を使用できるようにする子プロセスを特定する。この子プロセスは、主アプリケーションと見なされる、すなわち、例えば、特定の特権を有すると宣言されたアプリケーションにのみ使用される。アプリケーションがこのような特権を有すると宣言された場合、オペレーティングシステムが特権およびパラメータ化に関して必要なチェックを行うことに留意されたい。チェック後に承認された場合、主アプリケーションは、実行が中断された時にメモリ供給機能にアクセスしてもよい。主アプリケーションが中断された場合、オペレーティングシステムは、中断される前にアプリケーションによって使用されたメモリゾーンのマーカを記憶する。これらのマーカが記憶された後、オペレーティングシステムは、前に主アプリケーションを実行した論理コアによって後で実行される新しい非特権タスクを選択してもよい。このようなマーカは、例えば、データセットを特定するアドレスおよび長さによって形成される組である。オペレーティングシステムは、スケジューラを介して主アプリケーションの実行再開を決定すると、子プロセスによるメモリ供給機能を指示する。その後、子プロセスは、オペレーティングシステムが保存しているメモリゾーンの参照に基づいて読み出し動作をトリガする。したがって、メモリ間隔を短くし、コンテキスト変換の再開の度に待機サイクルを省くことになる。有利には、主アプリケーションは、メモリ供給機能への呼び出しを、オペレーティングシステムを使用してそのサービスを起動または解除することで制御してもよい。当然、主アプリケーションと子プロセスとは、メモリ階層の少なくとも一部が共有される環境で実行されなければならない。したがって、主アプリケーションと子プロセスとは、同じ物理コアの2つの論理コアによって実行されるのが好ましい。主アプリケーションと、メモリ供給機能を使用できるようにするメモリロードの子プロセスとの間で上述したインタフェースを実装するのに、OpenCL規格が使用されてもよい。このようなインタフェースで使用される関数は、例えば、以下の関数である:-アプリケーションに対して使用されるオペレーティングシステムのメモリ供給機能を生成する関数、cl_intclMFeedQuerycl_MFeedmfここで、mfは、型がcl_MFeedである関数のパラメータを示す。-メモリ供給機能の利益を享受するために、アプリケーションにオペレーティングシステムと特権的関係であるアプリケーションであると宣言させる関数、cl_intclMFeedDeclarecl_MFeedmf,cl_MFeedParamsmfparamsここで、mfは、型がcl_MFeedである関数のパラメータを示し、mfparamsは、型がcl_MFeedParamsである関数のパラメータを示す。有利には、この関数は、特に、プリフェッチされるデータブロックのサイズに関して、メモリ供給を実行するための子プロセスと同期させるために、アプリケーションのパラメータ化を変更する。これらのパラメータは重要であり、好ましくは、検証の対象でなければならない。それは、間違ったパラメータ化は、他の実行プロセスに対する悪い影響を強めることになるためである。さらに、メモリ供給サービスを起動する関数および解除する関数、cl_intclMFeedStartcl_MFeedmfcl_intclMFeedStopcl_MFeedmfここで、mfは、型がcl_MFeedである関数のパラメータを示す。図7aおよび図7bは、主アプリケーションにメモリ供給機能を付与するためにオペレーティングシステムにおいて実施されるアルゴリズム例の特定のステップを示す図である。図7aは、基本的に、主アプリケーションの実行の中断に関連する段階が対象であり、図7bは、主アプリケーションの再開に関する。この場合、主アプリケーションは予め特権アプリケーションであるとそれ自体宣言しているということ、およびオペレーティングシステムはそのメモリ供給パラメータを検証済みであるということである。第1のステップステップ700は、中断を検出するためのステップである。中断が検出された場合、次のステップステップ705は、中断が主アプリケーションの実行を保留するための中断であるか否かを決定するテストから成る。中断が主アプリケーションの実行の保留のための中断である場合、主アプリケーションの実行コンテキストが記憶されるステップ710。上述したように、このステップにより、特に、主アプリケーションの実行中にメモリ参照を記憶することができる。反対に、中断が主アプリケーションの実行の保留のための中断でない場合、中断は標準的処理を受けるステップ715。停止されない限り、このアルゴリズムは繰り返されて全ての中断を処理する。並行して、図7bに示されるように、プロセスの実行再開がスケジューラによってプランニングされた場合ステップ720、再開がプログラミングされたプロセスに対応するアプリケーションが主アプリケーションであるか否かを決定するテストが行われるステップ725。再開がプログラミングされたプロセスに対応するアプリケーションが主アプリケーションである場合、メモリロードするための子プロセスが呼び出されてメモリ供給機能が実行されるステップ730。このステップは、メモリ内のデータをメモリ階層内で引き上げるためのステップであり、メモリ参照は、主アプリケーションのパラメータアプリケーションが主アプリケーションとして宣言される時に設定されるに従って主アプリケーションの実行コンテキストを記憶する時に記憶されている。この場合、子プロセスは、好ましくは、物理コアに属する1つの論理コアによって実行され、物理コアは主アプリケーションの実行に使用される別の論理コアを備えるので、子プロセスと主アプリケーションとはメモリ階層の少なくとも一部を共有することを思い出されたい。これは、主アプリケーションに関連するブロックのサイズに従って予め記憶されているアドレスのメモリ内のデータを探すことが目的である。停止されない限り、このアルゴリズムは繰り返されて全てのアプリケーション実行再開を処理する。図8は、主アプリケーションの実行再開を最適化することができるメモリロードの子プロセスによって実施されるアルゴリズム例の特定のステップを示す図である。呼び出された後、メモリロードの子プロセスは、主アプリケーションの実行が中断された時に予め記憶されている参照にアクセスしステップ800、さらにアプリケーションに関連するパラメータにもアクセスする。記憶されている参照は、特に、データアドレスを含むが、パラメータは、特に、プリフェッチされるデータブロックのサイズおよび同期情報を含む。上述したように、主アプリケーションと異なるプロセスを実行することにより、主アプリケーションによって使用されるデータは、通常、マイクロプロセッサの近く、すなわち、メモリ階層の上位部、特に、レベルL1のキャッシュメモリで記憶されなくなり、下位部で記憶される。したがって、アクセスされた参照が標準メカニズムにしたがって使用されて、メモリ階層内で見つけられるこれらのデータにアクセスするステップ805。このメカニズムに従って、第1のメモリレベル、例えば、L1キャッシュメモリで、データがこのレベルに存在するか否かを決定するテストが行われる。データがこのレベルに存在する場合、データは所定のパラメータに従ってアクセスされる。データがこのレベルに存在しない場合、第1のメモリレベルより低い第2のメモリレベル、例えば、L2キャッシュメモリにおいて、データがそのレベルに存在するか否かを決定する別のテストが行われる。したがって、探されるデータがそれぞれのメモリレベルに存在するかを次から次へとテストすることで、データは最高レベルで見つけられる。その後、アクセスデータは、所定のパラメータに従ってメモリの上位部に記憶されるステップ810。この場合、破線を使用して示唆されるように、このステップは、通常、子プロセスによって明示的に実行されないことが分かる。正確には、このステップは、データへのアクセスの結果である。このステップは、ハードウェア呼び出しのカスケード効果によってアクセスする時に、マイクロプロセッサによって自動的に行われる。上述したように、クラスタのノードで使用可能な多数のマイクロプロセッサは、同時マルチスレッディングIntel実装Intelは商標のハイパースレッディングと呼ばれる技術を実装する。これらのマイクロプロセッサが使用される時、この技術は起動されてもよいし、起動されなくてもよい。図9は、クラスタに属するノードのマイクロプロセッサであって、この場合、各々が2つの論理コアを実装する2つの物理コアを備えるマイクロプロセッサ、すなわち、高性能コンピューティングアプリケーションの実行時に同時マルチスレッディングが起動されているマイクロプロセッサの論理アーキテクチャの概略図である。各々の物理コアは、この場合、各々の物理コアに実装される異なる実行ユニットがあるために、同じサイクルで最高4つの命令を実行することができる。したがって、2つの論理コアは、それぞれ他方のコアの使用に応じて、最高4つの命令を実行してもよい。図示されているように、物理コア900-1および900-2は、システムバス905によって接続される。システムバス905には、特に、通信インタフェースおよびメモリが接続される。各々の物理コアは、論理コア間で共有される実行ユニットと、各々の論理コアに固有の命令レジスタとを備える。したがって、物理コア900-1は、実行ユニットの組910-1と、物理コア900-1の第1の論理コアに接続される命令レジスタ915-11および物理コア900-1の第2の論理コアに接続される命令レジスタ915-12とを含む。同様に、物理コア900-2は、実行ユニットの組910-2と、物理コア900-2の第1の論理コアに接続される命令レジスタ915-21および物理コア900-2の第2の論理コアに接続される命令レジスタ915-22とを含む。論理コアの各々によって実行される命令は、この場合、黒い四角で示されている。したがって、図示されているように、命令レジスタ915-11および915-21に関連付けられた論理コアは、メモリレジスタ915-21および915-22に関連付けられた論理コアによって実行されるメモリ管理の子プロセスを除いて、アプリケーションおよびオペレーティングシステムを実行する役目をして、命令レジスタ915-11および915-21に関連付けられた論理コアによって実行される主アプリケーションの迅速な再開を可能にする。当然、特定の要求を満たすために、当業者は、上述の記述に修正を加えることが可能である。"