"コンピュータにおいて、前記コンピュータのマイクロプロセッサであって、少なくとも2つの論理コアを実装することができ、前記少なくとも2つの論理コアに共通の少なくとも1つのリソースをスタンバイさせるための手段を備えている少なくとも1つのマイクロプロセッサに関し、該マイクロプロセッサの少なくとも一部のスタンバイの管理を最適化するために、前記コンピュータの論理層において実行される方法であって、前記少なくとも2つの論理コアの各々の所望のスタンバイ状態を決定するステップ400と、前記少なくとも2つの論理コアのうちの1つの論理コアの前記所望のスタンバイ状態を、前記少なくとも2つの論理コアのうちの残りの論理コアの前記所望のスタンバイ状態と比較するステップと、前記比較に応答して、前記スタンバイを準備し、さらには/あるいはスタンバイの期間の後の前記少なくとも2つの論理コアのうちの前記1つの論理コアの復帰を可能にするインストラクションを開始するステップ420とを含むことを特徴とする方法。前記比較するステップが、前記少なくとも2つの論理コアの各々の前記所望のスタンバイ状態に従って、前記マイクロプロセッサのスタンバイ状態を推定するステップ410と、前記マイクロプロセッサの前記推定したスタンバイ状態を、前記少なくとも2つの論理コアのうちの前記1つの論理コアの前記所望のスタンバイ状態と比較するステップ415とを含んでおり、前記スタンバイを準備し、さらには/あるいはスタンバイの期間の後の前記少なくとも2つの論理コアのうちの前記1つの論理コアの復帰を可能にする前記インストラクションが、前記マイクロプロセッサの前記推定したスタンバイ状態が前記少なくとも2つの論理コアのうちの前記1つの論理コアの前記推定されたスタンバイ状態に一致する場合に開始420される、請求項1に記載の方法。前記少なくとも2つの論理コアのうちの少なくとも1つの論理コアの所望のスタンバイ状態の変化を検出するステップ405をさらに含んでおり、前記比較するステップおよび前記インストラクションを開始するステップが、前記少なくとも2つの論理コアのうちの前記少なくとも1つの論理コアの所望のスタンバイ状態の変化が検出される場合に限って実行される、請求項1または2に記載の方法。前記少なくとも1つのマイクロプロセッサが、マルチコアのマイクロプロセッサであり、前記少なくとも2つの論理コアが同じ物理コア内に実装されている、請求項1から3のいずれか一項に記載の方法。前記少なくとも2つの論理コアのうちの前記1つの論理コアの前記所望のスタンバイ状態を送信するステップ425をさらに含んでおり、前記送信するステップが、前記インストラクションを開始するステップの後で実行される、請求項4に記載の方法。前記論理層が、前記コンピュータに実装されたオペレーティングシステムに属する、請求項1から5のいずれか一項に記載の方法。前記マイクロプロセッサにおける論理コアの実装を可能にするモードが有効であることを確認する最初のステップを含む、請求項1から6のいずれか一項に記載の方法。前記少なくとも2つの論理コアの実装が、同時マルチスレッディングと呼ばれるモードにもとづいている、請求項1から7のいずれか一項に記載の方法。コンピュータ上で実行されたときに、請求項1から8のいずれか一項に記載の方法の各ステップを実行するように構成されたインストラクションを含んでいるコンピュータプログラム。コンピュータまたはマイクロプロセッサによって部分的または完全に読み取ることができ、取り外し可能、あるいは取り外し可能ではない、請求項1から8のいずれか一項に記載の方法の各ステップを実行するためのコンピュータプログラムのコードインストラクションを含んでいる情報記憶手段。上述の技術は、特定の用途特に、画像処理の用途においてマイクロプロセッサの性能の著しい向上を可能にできる一方で、他の用途特に、科学計算の用途においては、性能がほんのわずかしか向上せず、低下することさえあることが明らかになっている。したがって、高性能計算に使用されるクラスタにおいては、クラスタのリソースを可能な限り利用するようにクラスタを最適化するという原理に逆らい、通常は無効にされている。本発明は、上述した問題のうちの少なくとも1つを解決できるようにする。本発明は、コンピュータにおいて、該コンピュータのマイクロプロセッサであって、少なくとも2つの論理コアを実装することができ、該少なくとも2つの論理コアに共通の少なくとも1つのリソースをスタンバイさせるための手段を備えている少なくとも1つのマイクロプロセッサに関し、該マイクロプロセッサの少なくとも一部のスタンバイの管理を最適化するために、前記コンピュータの論理層において実行される方法であって、前記少なくとも2つの論理コアの各々の所望のスタンバイ状態を決定するステップと、前記少なくとも2つの論理コアのうちの1つの論理コアの前記所望のスタンバイ状態を、前記少なくとも2つの論理コアのうちの残りの論理コアの前記所望のスタンバイ状態と比較するステップと、前記比較に応答して、前記スタンバイを準備し、さらには/あるいはスタンバイの期間の後の前記少なくとも2つの論理コアのうちの前記1つの論理コアの復帰を可能にするインストラクションを開始するステップとを含む方法に関する。このようにして、本発明による方法は、複数の論理コアを同じマイクロプロセッサに実装することを、マイクロプロセッサの特定のリソースをスタンバイにする機能が使用されるときの当該マイクロプロセッサの性能を知覚できるほどには低下させずに可能にする。特定の実施の形態によれば、前記比較するステップが、前記少なくとも2つの論理コアの各々の前記所望のスタンバイ状態に従って、前記マイクロプロセッサのスタンバイ状態を推定するステップと、前記マイクロプロセッサの前記推定したスタンバイ状態を、前記少なくとも2つの論理コアのうちの前記1つの論理コアの前記所望のスタンバイ状態と比較するステップとを含んでおり、前記スタンバイを準備し、さらには/あるいは前記少なくとも2つの論理コアのうちの前記1つの論理コアの復帰を可能にする前記インストラクションが、前記マイクロプロセッサの前記推定されたスタンバイ状態が前記少なくとも2つの論理コアのうちの前記1つの論理コアの前記推定されたスタンバイ状態に一致する場合に開始される。したがって、論理コアの所望のスタンバイ状態の間の比較の回数が、特に3つ以上の論理コアが実装される場合に抑制される。好都合には、この方法が、前記少なくとも2つの論理コアのうちの少なくとも1つの論理コアの所望のスタンバイ状態の変化を検出するステップをさらに含み、前記比較するステップおよび前記インストラクションを開始するステップが、前記少なくとも2つの論理コアのうちの前記少なくとも1つの論理コアの所望のスタンバイ状態の変化が検出された場合に限って実行される。この検出ステップは、好ましくは前記論理層が属するオペレーティングシステムによって直接実行される。特定の実施の形態によれば、前記少なくとも1つのマイクロプロセッサが、マルチコアのマイクロプロセッサであり、前記少なくとも2つの論理コアが、同じ物理コア内に実装されている。したがって、本発明による方法を、特に高性能計算の関連に適合した高性能のマイクロプロセッサにおいて実行することができる。さらに特定の実施の形態によれば、この方法が、前記少なくとも2つの論理コアのうちの前記1つの論理コアの前記所望のスタンバイ状態を送信するステップをさらに含み、該送信するステップが、前記インストラクションを開始するステップの後で実行される。したがって、本発明による方法の実施に、使用されるプロセッサのいかなる変更も必要でない。前記論理層は、好ましくは前記コンピュータに実装されたオペレーティングシステムに属する。本方法は、好ましくは、前記マイクロプロセッサにおける論理コアの実装を可能にするモードが有効であることを確認する最初のステップを含む。したがって、本発明による方法が、適切なときにしか実行されない。前記少なくとも2つの論理コアの実装は、例えば同時マルチスレッディングと呼ばれるモードにもとづく。さらに本発明は、コンピュータ上で実行されたときに上述の方法の各ステップを実行するように構成されたインストラクションを含んでいるコンピュータプログラム、ならびにコンピュータまたはマイクロプロセッサによって部分的または完全に読み取ることができ、取り外し可能、あるいは取り外し可能ではない、上述の方法の各ステップを実行するためのコンピュータプログラムのコードインストラクションを含んでいる情報記憶手段に関する。このコンピュータプログラムおよびこの記憶手段によってもたらされる利点は、上述した利点と同様である。本発明の他の利点、目的、および特徴が、あくまでも本発明を限定するものではない例として添付の図面に関連して提示される以下の詳細な説明から、明らかになるであろう。すでに示したように、クラスタのノードにおいて使用することができる多数のマイクロプロセッサが、論理コアの生成を可能にする同時マルチスレッディングあるいは、IntelIntelは商標であるの実装によれば、ハイパースレッディングと呼ばれる技術を実装している。これらのマイクロプロセッサが使用されるとき、この技術を有効にでき、あるいは無効にすることができる。図3は、クラスタに属するノードのマイクロプロセッサの論理アーキテクチャの概略図であり、ここではマイクロプロセッサが、それぞれが2つの論理コアを実装する2つの物理コアを備えており、すなわち高性能計算のアプリケーションの実行において、マイクロプロセッサの同時マルチスレッディングが有効にされている。ここでは、各々の物理コアが、各々の物理コアに実装された異なる実行ユニットのおかげで、同じサイクルにおいて最大4つのインストラクションを実行することができる。すなわち、2つの論理コアの各々が、他方のコアによってなされる使用に応じて、最大4つのインストラクションを実行することができる。コンフリクトの場合には、コンフリクト解決機構が、該当のリソースを各々の論理コアに交互に帰属させる。図示のとおり、物理コア300-1および300-2が、システムバス305によって接続されており、システムバス305には、特に通信インターフェイスおよびメモリを接続することができる。各々の物理コアが、論理コア間で共有される実行ユニットと、各々の論理コアに特有のインストラクションレジスタとを備えている。したがって、物理コア300-1が、実行ユニットの組310-1ならびに物理コア300-1の第1の論理コアへと接続されたインストラクションレジスタ315-11および物理コア300-1の第2の論理コアへと接続されたインストラクションレジスタ315-12を備えている。同様に、物理コア300-2が、実行ユニットの組310-2ならびに物理コア300-2の第1の論理コアへと接続されたインストラクションレジスタ315-21および物理コア300-2の第2の論理コアへと接続されたインストラクションレジスタ315-22を備えている。ここで、最適化の理由のため、物理コアの論理コアが、好ましくは実行中の高性能計算のアプリケーションに関するインストラクションの実行へと割り当てられる一方で、同じ物理コアの他方の論理コアが、好都合には一般的にデーモンと称されるオペレーティングシステムの補助的タスクの実行に関連付けられることに、注意すべきである。結果として、論理コアへの負荷が、同じ物理コアの他方の論理コアへの負荷よりもはるかに大きくなる。したがって、典型的には、論理コアへの負荷が100パーセントに近付く一方で、同じ物理コアの他方の論理コアへの負荷は、およそ5である。一般に、同時マルチスレッディングモードが有効にされ、すなわち論理コアが使用され、高性能計算のアプリケーションが実行されるとき、クラスタの性能が低下することが明らかになっている。この現象を分析したところ、この性能の低下が、特にプロセッサの特定の構成要素をスタンバイにする機能の管理に関係していることを示している。本発明は、それらの機能を改良し、この性能の問題を軽減することを目的とする。まず最初に、エネルギーの節約および回路の温度制御の理由で、最近のマイクロプロセッサが、それらのリソースの使用に応じて、プロセッサの性能を一時的に大きく低下させることなく一部のリソースを停止させることができるスタンバイ機能を備えていることを思い出すべきである一般に、使用されておらず、あるいは少ししか使用されていないリソースだけが該当する。マイクロプロセッサのコアのスタンバイ状態は、一般にC状態C-stateと呼ばれ、Ciによって表わされ、ここでiは、ゼロからnまで変化する指数であり、nは典型的には8に等しい。状態C0において、コアならびにコアに接続されたすべてのリソースがアクティブである一方で、状態C8においては、コアが完全なスタンバイにある。中間の状態は、中間的なスタンバイの状態に相当する。例として、物理コアのレベル1のキャッシュメモリキャッシュL1と称されるは、物理コアがスタンバイの状態C3にあるときにスタンバイとなる。物理コアのスタンバイ状態は、多くの場合にオペレーティングシステムによって決定され、物理コアを備えるマイクロプロセッサへと送信される。次いで、マイクロプロセッサが、該当のリソースのスタンバイへの移行を管理し、あるいは対照的に、該当のリソースのスタンバイの解除を管理する。さらに、マイクロプロセッサに物理コアに関するスタンバイ状態を送信する前に、オペレーティングシステムは、スタンバイを準備し、さらには/あるいはスタンバイの終わりにおける物理コアの復帰を可能にするインストラクションを開始することができる。したがって、例えば、コアがスタンバイ状態C2からスタンバイ状態C3へと移行しなければならないとき、該当するレベル1のキャッシュメモリキャッシュL1の中身が、別のメモリ典型的には、関連のレベル2のキャッシュメモリへとコピーされる。物理コアは、このコピー作業の後でなければ、状態C3へと移行されない。物理コアが状態C3から状態C2へと移行した後で、レベル1のキャッシュメモリの中身が、アプリケーションが該当のデータにアクセスするときに徐々に回復される。同時マルチスレッディングモードが有効であり、すなわち論理コアが使用されているとき、所望のスタンバイ状態がオペレーティングシステムによって各々の論理コアに組み合わせられる。この所望のスタンバイ状態は、オペレーティングシステムによって決定され、マイクロプロセッサへと送信され、次いでマイクロプロセッサが、受信した所望のスタンバイの状態に応じて、特定のリソースをスタンバイに移行させることができる。論理コアの所望のスタンバイ状態が、別の論理コアの所望のスタンバイ状態とは異なる場合、マイクロプロセッサによって物理コアへと適用されるスタンバイ状態は、最も多くのリソースがアクティブとなるスタンバイ状態である。換言すると、2つの論理コアを備える物理コアのスタンバイ状態Ciは、2つの論理コアの所望のスタンバイ状態がそれぞれCjおよびCkであるとき、以下の方法で決定される。しかしながら、たとえ物理コアのスタンバイ状態が当該物理コアに係る論理コアの各々の所望のスタンバイ状態に起因して変化することがなくても、スタンバイへの移行を準備し、さらには/あるいは倫理コアの復帰を可能にするインストラクションを、スタンバイへの移行に先立って実行することができる。この現象は、論理コアの所望のスタンバイ状態がオペレーティングシステムによって決定される場合に、物理コアの状態を変化させる決定が、物理コアを備えるマイクロプロセッサによって、オペレーティングシステムとは無関係に行なわれるということに起因する。さらに、スタンバイへの移行を準備し、さらには/あるいは論理コアの後の復帰を可能にするためのインストラクションの実行が、物理コアを妨げる。したがって、例えば論理コアの所望のスタンバイ状態がC2からC3へと移行するとき、レベル1のキャッシュメモリの中身が別のメモリへとコピーされるが、これが、このレベル1のキャッシュメモリを使用する他の論理コアに関して、レベル1のキャッシュメモリを妨げる。これが、これらの論理コアの性能の低下につながる。したがって、本発明は、特に、スタンバイへの移行を準備し、さらには/あるいは論理コアの復帰を可能にするインストラクションを、物理コアの推定されるスタンバイ状態のみに応じて開始することからなり、すなわち該当の論理コアの所望のスタンバイ状態だけによるのではなく、物理コアの各々の論理コアの所望のスタンバイ状態に応じて開始することからなる。換言すると、本発明は、物理コアに実装された論理コアの所望のスタンバイ状態に応じた物理コアのスタンバイへの移行の決定のための機構を、オペレーティングシステムにおいて模擬することを目的とする。図4が、オペレーティングシステムと協働し、あるいはコンピュータの論理層と協働するマイクロプロセッサの物理コアを、当該物理コアに実装された各々の論理コアに関する所望のスタンバイ状態に従ってスタンバイさせるためのプロセスを制御するために、オペレーティングシステムによって実行され、あるいはより一般的にはコンピュータの論理層によって実行されるアルゴリズムの例を示している。図4に示したアルゴリズムが、好ましくは同時マルチスレッディングが有効にされている場合に限って実行されることに、注意すべきである。したがって、最初のステップ図示されていないは、当該モードが有効であることを確認することからなる。時刻tにおける論理コアCLrの所望のスタンバイ状態CjtCLrを決定ステップ400した後で、その所望のスタンバイ状態が、Cjt-1CLrと称される先の時刻t-1における当該論理コアの所望のスタンバイ状態に対して変化したか否かを判断するために、試験が実行されるステップ405。所望のスタンバイ状態を見積もり、所望のスタンバイ状態の変化を判断するこれらのステップは、従来からのシステムにおいて実行されるステップと同様である。それらは、特に、該当の論理コアによって実行されるべきインストラクションの分析にもとづく。論理コアCLrの所望のスタンバイ状態の変化が検出された場合、論理コアCLrが実装される物理コアCPtのスタンバイ状態が推定されるステップ410。例として、推定される物理コアCLtのスタンバイ状態CiCPtは、最も多くのリソースが活動するスタンバイ状態に相当し、すなわちこの物理コアに実装された論理コアの所望のスタンバイ状態C0,,nのうちで、指数が最も小さいスタンバイ状態に相当する。当然ながら、物理コアのスタンバイ状態を推定するためのモデルは、物理コアそのものに実際に実装されたものに一致していなければならない。次いで、論理コアCLrの所望のスタンバイ状態CjCLrが、推定された物理コアCPtのスタンバイ状態と同じであるか否かを判断し、すなわち指数iおよびjが同じであるかを判断するための試験が実行されるステップ415。結果が肯定であり、論理コアCLrをそれまでのスタンバイ状態よりも深いスタンバイ状態へと移行させるべき場合、オペレーティングシステムまたは、論理層は、スタンバイを準備し、さらには/あるいはスタンバイの終了時の論理コアの後の復帰を可能にするためのインストラクションを開始するステップ420。このステップは、例えばレジスタの中身をコピーする動作を開始させることからなる。その後に、所望のスタンバイ状態CjCLrがプロセッサへと送信されステップ425、プロセッサが、物理コアCPt上に実装された残りの論理コアの所望のスタンバイ状態に応じて、この物理コアのスタンバイ状態を変更し、あるいは変更しない。論理コアCLrの所望のスタンバイ状態CjCLrが、推定された物理コアCPtのスタンバイ状態と同じでない場合、スタンバイを準備し、さらには/あるいはスタンバイの終了時の論理コアCLrの復帰を可能にするためのインストラクションは、マイクロプロセッサへと送信されない。しかしながら、図4に示されるとおり、それでもなお論理コアCLrの所望のスタンバイ状態CjCLrをマイクロプロセッサへと送信することができるが、このステップは、新たな所望のスタンバイ状態が該当の物理コアのスタンバイ状態を変更しない場合には不要である。特定の実施の形態によれば、図4に示したアルゴリズムを、例えばLinuxカーネルなど、使用されるオペレーティングシステムのカーネルにおいて実行することができる。このように、論理コアのスタンバイ状態のマイクロプロセッサへの伝達機能を傍受することによって、当該論理コアを実装する物理コアの推定したスタンバイ状態に応じて、スタンバイを準備し、さらには/あるいは論理コアの復帰を可能にするためのインストラクションを、開始したり、あるいは開始しないようにすることができる。推定は、当該物理コアに実装されるすべての論理コアの状態にもとづいて行なわれる。さらに、図4を参照して説明したアルゴリズムは、論理コアの所望のスタンバイ状態を、この論理コアを実装する論理コアの推定によるスタンバイ状態と比較することを目的とするが、同等の方法で、同じ物理コア上に実装された論理コアの所望のスタンバイ状態同士を比較して、スタンバイを準備し、さらには/あるいは論理コアの後の復帰を可能にするためのインストラクションを、実行すべきか否かを判断することも可能である。例として、2つの論理コアが同じ物理コアに実装される場合、第1の論理コアの所望のスタンバイ状態が、第2の論理コアの所望のスタンバイ状態と比較される。このようにして、第1の論理コアのスタンバイ状態および所望のスタンバイ状態がC1であり、第2の論理コアのスタンバイ状態がC1であり、第2の論理コアの所望のスタンバイ状態がC2である場合に、第2の論理コアのスタンバイを準備し、さらには/あるいは後の復帰を可能にするためのインストラクションは、これらの論理コアが実装される物理コアのスタンバイ状態が変更されないため、実行されない。対照的に、第1および第2の論理コアのスタンバイ状態がC1であり、第1および第2の論理コアの所望のスタンバイ状態がC2である場合には、第1および第2の論理コアのスタンバイを準備し、さらには/あるいは後の復帰を可能にするためのインストラクションが、これらの論理コアが実装される物理コアのスタンバイ状態が変更されるため、実行される。当然ながら、特定のニーズを満たすために、当業者であれば以上の説明に変更を加えることができるであろう。"