命令スレッドを実行するための少なくとも1つの計算コア116を備えるITシステム100の構成方法であって、各計算コア116は、一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行でき、前記ITシステム100上で実行中のオペレーティングシステム120が、各計算コア116に命令スレッドを提供できる方法において、前記計算コアが依然として一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行できる間に、各計算コア116に、一度に最大1つの命令スレッドを提供するモードで実行中のオペレーティングシステム120を構成するステップ216を含むことを特徴とする方法。実行中の前記オペレーティングシステム120が、各計算コア116に一度に最大1つの命令スレッドを提供する、第1のモードと称するモードで構成される間に、各計算コア116に一度に2つ以上の命令スレッドを提供できる、前記第1のモードとは異なる第2のモードで実行中の前記オペレーティングシステム120を構成するステップをさらに含む、請求項1に記載のITシステム100の構成方法。各計算コア116は、実行中の前記オペレーティングシステム120に、交互に組み合わせた形で一度に実行できる命令スレッドと同数の論理プロセッサを提供するように設計され、実行中の前記オペレーティングシステム120は、前記命令スレッドのスケジューリングに利用可能な論理プロセッサのリストを備え、該リストには、各計算コア116のすべての前記論理プロセッサが示される方法であって、各計算コア116に一度に最大1つの命令スレッドを提供するように実行中の前記オペレーティングシステム120を構成する216ために、スケジューリングに利用可能な論理プロセッサの前記リストから、各計算コア116のうちの1つを除くすべての前記論理プロセッサを削除する命令を、実行中の前記オペレーティングシステム120に送信するステップをさらに含む、請求項1または2に記載のITシステム100の構成方法。各計算コアに一度に2つ以上の命令スレッドを提供するように実行中の前記オペレーティングシステム120を構成するために、スケジューリングに利用可能な論理プロセッサの前記リストに、該リストから削除されたすべての前記論理プロセッサを追加する命令を、実行中の前記オペレーティングシステム120に送信するステップをさらに含む、請求項2および3に記載のITシステム100の構成方法。前記ITシステムは、一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行できる1つ以上の計算コア116のみを計算コアとして備える、請求項1から4のうちいずれか一項に記載のITシステムの構成方法。各計算コア116は、一度に厳密に2つの命令スレッドを交互に組み合わせた形で実行できる、請求項1から5のうちいずれか一項に記載のITシステムの構成方法。通信ネットワークからダウンロードでき、かつ/またはコンピュータで再生可能な媒体に記録でき、かつ/またはプロセッサが実行することができるコンピュータプログラムであって、前記プログラムがコンピュータ100上で実行される際に、請求項1から6のうちいずれか一項に記載の構成方法のステップを実行するための命令を含むことを特徴とするコンピュータプログラム122。シェルスクリプトの形態である、請求項7に記載のコンピュータプログラム122。別のプログラムに呼び出されるようになっているITライブラリの少なくとも1つの関数の形態である、請求項7に記載のコンピュータプログラム。ITシステムであって、-命令スレッドを実行するための少なくとも1つの計算コアであって、各計算コア116は、一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行できる計算コア116と、-オペレーティングシステムが記録されたメモリであって、前記ITシステム100によって実行される際に、命令スレッドを各計算コア116に提供できるメモリとを備えるITシステムにおいて、-コンピュータプログラム122が記録されたメモリであって、前記オペレーティングシステム120が前記ITシステム100によって実行されている間に前記ITシステム100によって実行される際に、前記計算コアが依然として一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行できる間に、各計算コア116に一度に最大1つの命令スレッドを提供するモードで実行中の前記オペレーティングシステム120を構成するための命令を含むメモリ114を備えることを特徴とするITシステム100。そのため、前述した問題および制約の少なくともいくつかを克服できるITシステムの構成方法を提供することが望まれる。そのため、本発明は、命令スレッドを実行するための少なくとも1つの計算コアを備えるITシステムの構成方法であって、各計算コアは、一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行でき、ITシステム上で実行中のオペレーティングシステムが、各計算コアに命令スレッドを提供できる方法において、各計算コアに、一度に最大1つの命令スレッドを提供するモードで実行中のオペレーティングシステムを構成するステップを含むことを特徴とする方法に関する。本発明により、ハイパースレッディングモードまたはより一般にSMTモードの構成であっても、各計算コアが一度に1つのみの命令スレッドを処理するように動的に要求することが可能である。そのため、オペレーティングシステムを直接制御する状態で、再起動の必要もなく、SMTモードから各コアが一度に最大1つの命令スレッドを処理するモードに動的に移行することが可能である。そのため、ITシステムは、通常はシングルスレッディングモードの計算コアで実行する際に最適なパフォーマンスを有するプログラムを、SMTモードの計算コアで高パフォーマンスで実行することができる。本発明は、1つの命令スレッドが実行されている状態で、計算コアがシングルスレッディングモードとSMTモードとで実質的に同じ能力を有すると、特に効果的である。任意に、本方法はさらに、実行中のオペレーティングシステムが、各計算コアに一度に最大1つの命令スレッドを提供する、第1のモードと称するモードで構成される一方で、各計算コアに一度に2つ以上の命令スレッドを提供できる、第1のモードとは異なる第2のモードで実行中のオペレーティングシステムを構成するステップを含む。そのため、通常はSMTモードの計算コアで実行される際に最適なパフォーマンスを有するプログラムを効果的に実行することも可能である。同じく任意に、各計算コアは、実行中のオペレーティングシステムに、交互に組み合わせた形で一度に実行できる命令スレッドと同数の論理プロセッサを提供するように設計され、実行中のオペレーティングシステムは、命令スレッドのスケジューリングに利用可能な論理プロセッサのリストを備え、このリストには、各計算コアのすべての論理プロセッサが示され、本方法はさらに、各計算コアに一度に最大1つの命令スレッドを提供するように実行中のオペレーティングシステムを構成するために、スケジューリングに利用可能な論理プロセッサのリストから、各計算コアのうちの1つを除くすべての論理プロセッサを削除する命令を、実行中のオペレーティングシステムに送信するステップを含む。そのため、オペレーティングシステムは、最大1つの命令スレッドのみを各計算コアに提供するように、極めて単純に構成される。同じく任意に、本方法はさらに、各計算コアに一度に2つ以上の命令スレッドを提供するように実行中のオペレーティングシステムを構成するために、削除されたすべての論理プロセッサを、スケジューリングに利用可能な論理プロセッサのリストに追加する命令を、実行中のオペレーティングシステムに送信するステップを含む。そのため、オペレーティングシステムは、2つ以上の命令スレッドを各計算コアに提供できるように、極めて単純に構成される。同じく任意に、ITシステムは、一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行できる1つ以上の計算コアのみを、計算コアとして備える。同じく任意に、各計算コアは、一度に厳密に2つの命令スレッドを交互に組み合わせた形で実行できる。そのため、プロセスは、ハイパースレッディングの特定のケースに適している。本発明はまた、通信ネットワークからダウンロードでき、かつ/またはコンピュータで再生可能な媒体に記録でき、かつ/またはプロセッサが実行することができるコンピュータプログラムであって、前記プログラムがコンピュータ上で実行される際に、本発明による構成方法のステップを実行するための命令を含むことを特徴とするコンピュータプログラムにも係る。任意に、本コンピュータプログラムは、シェルスクリプトの形態である。同じく任意に、本コンピュータプログラムは、別のプログラムに呼び出されるようになっているITライブラリの少なくとも1つの関数の形態である。本発明はまた、ITシステムであって、-命令スレッドを実行するための少なくとも1つの計算コアであって、各計算コアは、一度に少なくとも2つの命令スレッドを交互に組み合わせた形で実行できる計算コアと、-オペレーティングシステムが記録されたメモリであって、ITシステムによって実行される際に、命令スレッドを各計算コアに提供できるメモリとを備えるITシステムにおいて、-コンピュータプログラムが記録されたメモリであって、オペレーティングシステムがITシステムによって実行されている間にITシステムによって実行される際に、各計算コアに一度に最大1つの命令スレッドを提供するモードで実行中のオペレーティングシステムを構成するための命令を含むメモリを備えるITシステムにも係る。本発明は、例のみを目的として、添付の図面を参照して記載した以下の説明を読めばより理解しやすいであろう。図1は、コンピュータ100の形態をした本発明の一実施形態の一例を示す。コンピュータ100は、中央装置102、ならびに例えばスクリーン、キーボードおよびマウスなどのマンマシンインターフェース104を備える。中央装置102は、マザーボード106、このマザーボード106に接続された2つのXeonX5570登録商標プロセッサ108、BIOSメモリ110、RAM112およびハードディスクなどの記憶装置114を備える。そのため、プロセッサ108は、BIOSメモリ110およびRAM112に記録された命令を実行することができ、記憶装置114に記録されたデータの読み出しまたは書き込みができる。図1に示した例では、各プロセッサ108は、命令スレッドを実行するための4つの計算コア116を備える。各プロセッサ108は、各計算コア116が一度に1つの命令スレッドを実行でき、特にオペレーティングシステムには1つの論理プロセッサの形態に見えるシングルスレッディングモード、または各計算コア116が一度に2つの命令スレッドを交互に組み合わせた形で実行でき、特にオペレーティングシステムには2つの論理プロセッサの形態に見えるハイパースレッディングモードを、選択して動作することができる。BIOSメモリ110には、BIOS118が記録される。BIOS118は、シングルスレッディングモードまたはハイパースレッディングモードでプロセッサ108を開始するために、所定の構成パラメータを用いて構成することができる。ハイパースレッディングモードの場合、BIOS118は、各計算コア116に対して2つの論理プロセッサを開始するように構成され、この2つをそれぞれ第1の論理プロセッサおよび第2の論理プロセッサと呼ぶ。シングルスレッディングモードでは、BIOS118は、第1の論理プロセッサのみを開始する。このほか、BIOS118は、ACPIAdvancedConfigurationandPowerInterface規格でコンパイルする。この規格は、特に、BIOS118の実行により、存在する論理プロセッサ、すなわち開始されたプロセッサのリストが作成されなければならないことを明記している。このリストは、MADTテーブルMultipleAPICDescriptionTableと呼ばれるテーブルに作成され、このテーブルは、RAM112に記録され、オペレーティングシステムが実行されている際にこのオペレーティングシステムが読み出すようになっており、これによって存在する論理プロセッサを認識する。MADTテーブルはさらに、各論理プロセッサに対し、論理プロセッサがシングルコアプロセッサのコア、マルチコアプロセッサのコアのうちの1つ、および/またはハイパースレッディングモードの物理的コアの論理コアのうちの1つに対応しているかどうかを表示する。このように、MADTテーブルは、コンピュータ100のプロセッサの構成を表示する。最近のIntel登録商標プロセッサでは、この情報は、CPUID命令によって提供される。ACPI規格はさらに、すべての計算コア116の第2の論理プロセッサは、リスト内で、すべての計算コア116の第1の論理プロセッサの後に置かれなければならないことを明記している。そのため、リストは、計算コア116の第1の論理プロセッサをまとめた前半部分、および計算コア116の第2の論理プロセッサをまとめた後半部分を含む。記憶装置114には、オペレーティングシステム120が記録される。オペレーティングシステム120は、特に、コンピュータ100によって実行される際に、命令スレッドを各計算コア116に提供するように設計される。記載した例では、オペレーティングシステム120は、Unix登録商標規格でコンパイルする。これは、例えば、Linux登録商標オペレーティングシステムである。記憶装置114には、本明細書の最後にコードを記載したシェルスクリプト122も記録される。シェルスクリプト122は、ハイパースレッディングモード、またはより一般にはSMTモードから同時シングルスレッディングモードへ移行するためのオペレーティングシステム120を構成するようになっており、これについては以下に説明する。次に、図2を参照して、コンピュータ100の動作を記載する。簡略化のため、実行中の前述のプログラム118、120および122、つまりプロセスには、本来のプログラムの符号を付し、同じように設計する。すなわち、それぞれBIOS118、オペレーティングシステム120およびシェルスクリプト122である。ステップ200では、コンピュータ100をオンにする。ステップ202では、BIOS118はコンピュータ100が実行し、BIOS118は、各計算コア116をハイパースレッディングモードで開始するように構成される。そのため、ステップ204では、BIOS118は各計算コア116に対して2つの論理プロセッサを開始し、これによってコンピュータ100は、記載した例では16個の論理プロセッサを有する。ステップ206では、BIOS118は、MADTテーブルに、存在する論理プロセッサ、すなわちこの場合は開始された16個の論理プロセッサのリストを作成する。ステップ208では、BIOS118は、オペレーティングシステム120を起動する。ステップ210では、オペレーティングシステム120は、MADTテーブルに、存在する論理プロセッサのリストを読み出す。ステップ212では、オペレーティングシステム120は、存在する論理プロセッサすべてを、スケジューリングに利用可能、すなわちこのリストのプロセッサ間への命令スレッドの配信に利用可能な論理プロセッサのリストに置く。スケジューリングに利用可能な論理プロセッサのリストは、MADTのリストにある各論理プロセッサに対し、この論理プロセッサをスケジューリングに使用すべきかどうかを示す任意のデータセットという意味に解釈すべきである。したがって、このデータセットのフォーマットは、必ずしもリストにあるデータ構造のフォーマットではない。そのため、このステップ212の後、コンピュータ100は、デフォルトとして、オペレーティングシステム120がすべての存在する論理プロセッサ間、すなわちプロセッサ108のすべての計算コア116のすべての論理プロセッサ間で命令スレッドをスケジューリングするハイパースレッディングモードに構成される。命令スレッドは、例えばオペレーティングシステム120が開始するデーモン、またはユーザがマンマシンインターフェース104を介して開始するアプリケーションプログラムから来るものである。コンピュータ100は、特に、ハイパースレッディングモード用に最適化されたプログラムを最適な形で実行することができる。ここで、ユーザが、例えば、記憶装置114に記録された、ハイパースレッディングモードではなくシングルスレッディングモード用に最適化されたプログラムを起動したいと思うとする。この場合、ステップ214で、ユーザは、マンマシンインターフェース104を用いてシェルスクリプト122を起動し、いわゆる同時シングルスレッディングモードに移行する。例えば、このユーザは、シェルプロンプトに応答してhtoffとタイプする。ステップ216では、BIOS118によるハイパースレッディング構成モードにより、計算コア116は一度に2つの命令スレッドを実行できるにもかかわらず、シェルスクリプト122は、各計算コア116に一度に最大1つの命令スレッドを提供するように、実行中のオペレーティングシステム120を構成する。これは、本明細書で同時シングルスレッディングと呼ぶものである。この目的のため、シェルスクリプト122は、実行中のオペレーティングシステム120に、スケジューリングに利用可能な論理プロセッサのリストから各計算コア116のうちの1つを除くすべての論理プロセッサを削除する命令を出す。この場合、ACPI規格は、各計算コア116の第1の論理プロセッサは、存在するプロセッサのリストの最初に現れなければならないと明記しているため、シェルスクリプト122は、オペレーティングシステム120に、スケジューリングに利用可能な論理プロセッサのリストから、存在する論理プロセッサのリスト内の位置がコンピュータ100の計算コア116の数を上回る論理プロセッサを削除する命令を出すことによって、ステップ216を実行する。ハイパースレッディングの場合、これは存在する論理プロセッサリストの後半部分にある論理プロセッサに関わる。記載した例では、シェルスクリプト122は、連続するスケジューリングに利用可能なプロセッサのリストから、存在するプロセッサのリストの後半部分にある各プロセッサを削除する命令を出す。シェルスクリプト122は、これらの計算コア116のそれぞれがBIOS118を基にハイパースレッディングモードで構成されると直ちに、いくつの計算コアに対しても使用できる記載した例のように8個にかぎらないことに注意されたい。シェルスクリプト122は、論理プロセッサを削除する命令を出す。Linuxオペレーティングシステムの場合、これは、番号Xのプロセッサに特有のファイル:/sys/devices/system/cpu/cpuX/onlineに値0を書き込むことによって実行される。これに応答して、オペレーティングシステム120は、スケジューリングに利用可能な論理プロセッサのリストから削除されるはずの論理プロセッサそれぞれに対し、一連のステップ218、220および222を順次実行する。ステップ218では、オペレーティングシステム120は、スケジューリングに利用可能な論理プロセッサのリストから削除されるはずの論理プロセッサが実行する命令およびプロセスを、このリストの他の論理プロセッサに移行させる。ステップ220では、オペレーティングシステム120は、削除されるはずの論理プロセッサに特有のデーモンを停止する。ステップ222では、オペレーティングシステム120は、この論理プロセッサをスケジューリングに利用可能なプロセッサのリストから削除するため、オペレーティングシステム120からこのプロセッサに提供される命令スレッドはなくなる。ステップ218、220および222が、削除されるはずのすべての論理プロセッサに対して実行されると、コンピュータ100は同時シングルスレッディングモードで構成され、その結果、オペレーティングシステム120はすべての命令スレッドを、存在する論理プロセッサのリストの前半部分にある論理プロセッサで、すなわち各計算コア116の第1の論理プロセッサのみでスケジューリングする。そのため、各計算コア116は、一度に最大1つの命令スレッドのみを実行する。そのためユーザは、計算コア116がハイパースレッディングモードで構成されていても、ステップ226で高パフォーマンスで実行されるシングルスレッディングモード用に最適化されたプログラムをステップ224で起動できる。次に、ユーザが例えば記憶装置114に記録されているプログラムを起動したいと思った場合、このプログラムはシングルスレッディングモードではなくハイパースレッディングモード用に最適化されているため、このプログラムはステップ228で、ハイパースレッディングモードに戻るためにマンマシンインターフェース104を介してシェルスクリプト122を起動する。例えば、このユーザは、シェルプロンプトでhtonとタイプする。次に、ステップ230で、シェルスクリプト122は、各計算コア116に一度に2つ以上の命令スレッドを提供できるように、実行中のオペレーティングシステム120を構成する。この目的のため、シェルスクリプト122は、実行中のオペレーティングシステム120に、ステップ216の後に削除されたすべての論理プロセッサを、利用可能な論理プロセッサのリストに追加する命令を出す。さらに詳細には、記載した例では、シェルスクリプト122は、存在する論理プロセッサのリストの後半部分に現れる論理プロセッサをそれぞれ順次追加する命令を出す。記載した例では、シェルスクリプト122は、論理プロセッサを追加する命令を出す。Linuxオペレーティングシステムの場合、これは、番号Xのプロセッサに特有のファイル:/sys/devices/system/cpu/cpuX/onlineに値1を書き込むことによって行われる。これに応答して、オペレーティングシステム120は、スケジューリング可能なプロセッサのリストに追加されるはずの各論理プロセッサに対し、一連のステップ232および234を順次実行する。ステップ232では、オペレーティングシステム120は、ステップ216の後に削除された論理プロセッサを、スケジューリング可能なプロセッサのリストに追加する。ステップ234では、オペレーティングシステム120は、前のステップに追加された論理プロセッサに特定のデーモンを開始する。ステップ232および234が、追加されるはずのすべての論理プロセッサに対して実行されると、コンピュータ100は、ハイパースレッディングモードで構成され、その結果、オペレーティングシステム120は、プロセッサ108のすべての計算コア116のすべての論理プロセッサ間で新たな命令スレッドをスケジューリングする。そのため、ユーザは、ステップ236で、ハイパースレッディングモード用に最適化されたプログラムを起動することができ、このプログラムはステップ238で高パフォーマンスで実行される。利用可能な論理プロセッサの数を動的に計算に入れるアプリケーションおよびサービスは、自動的に新たな状況に適合される。その他のものは、ユーザによって手動で再起動されるか、再起動するためのシェルスクリプト122に命令を出すことによって再起動されるかのいずれかである。より一般的に、図2に示した実施形態では、コンピュータ100がハイパースレッディングモードで構成された場合、同時シングルスレッディングモードで構成するためにステップ214から222が実行されなければならず、コンピュータ100が同時シングルスレッディングモードで構成された場合、ハイパースレッディングモードで構成するためにステップ228から234が実行されなければならない。本発明は、異なるモードに対して最適化された2つのプログラムを、コンピュータ100を再起動する必要なしに順次効果的に実行することができるという利点があることが明らかになる。本発明は、上記に記載した実施形態に限定されるものではないことに注意されたい。実際、上に開示した教示に照らし合わせて、上に記載した実施形態にさまざまな修正を加えてもよいことは当業者には明らかであろう。特に、オペレーティングシステムは、デフォルトで同時シングルスレッディングモードで開始するように設計してもよい。このようにするための第1の方法は、ステップ212で、オペレーティングシステムが存在するすべての論理プロセッサを追加せずに、1つのみを各計算コア116に追加し、例えば、存在するプロセッサのリストの前半部分にある論理プロセッサのみを追加することによって、オペレーティングシステムを修正することであろう。このようにするための第2の方法は、例えばユーザが制御する前、すなわちユーザがプログラムを起動できる前、またはオペレーティングシステムの関数を使用できる前に、シェルスクリプト122が自動的にオペレーティングシステム120によって実行されるようにすることであろう。最後に、選択したモードをオンにする機能を持つ新たなシステムサービスを実装することを検討することができる。これは、システムのランレベルが変化するたびに、手動または自動のいずれかで開始または停止される。このほか、本発明により、シェルスクリプト以外のプログラムタイプがステップ216から222および/または230から234を実装できる。特に、これらのステップは、実行可能な2進プログラムを実行することで実装してもよい。そのため、このプログラムは、ユーザに前のステップの実装を可能にするコマンドを構成する。このほか、前のステップは、例えばいわゆるAPIApplicationProgrammingInterface、アプリケーションプログラミングインタフェースを介するアプリケーションプログラムなど、プログラムが呼び出すライブラリの関数によって実装されることができる。そのため、2つのモードのうちの1つで最適化されたプログラムを設計することができ、このモードは、起動されると直ちにこの関数を呼び出し、その実行を促進するモードでコンピュータ100を構成する。このほか、ステップ216では、シェルスクリプト122は、スケジューリング可能なプロセッサのリストから、存在するプロセッサのリストの前半部分にあるプロセッサを削除する命令を出することもできる。しかしながら、第1の論理プロセッサが依然として利用可能であると考える特定のプログラムは、動作しなくなるおそれがある。このほか、ステップ216から222および/または230から243を実装しているプログラムは、論理プロセッサの番号付けを使用する代わりに、マルチスレッディングモードでのコアの第2の論理プロセッサにどれが相当するかを検出し、それをオンにする、またはオフにしてもよい。この検出は、例えば、MADTテーブルの表示を使用して実施できる。この動作方法は、例えばMADTテーブル内の論理プロセッサの番号付けがAPIC規格に従っていない場合、またはオペレーティングシステムがそれを計算に入れていない場合に有利である。以下の特許請求の範囲では、使用した用語が請求項を本明細書で明らかにした実施形態に限定するものと解釈してはならず、本文の記載およびそこから予見される内容は、ここに開示した教示の実装に一般知識を応用することによって当業者が到達しうる範囲内であることから、請求項が範囲に含めると想定するあらゆる均等物も含まれると解釈すべきである。付録シェルスクリプトコード122htハイパースレッディングモードから同時シングルスレッディングモードおよびこの逆に移行するためのスクリプトusageechoUsagehtonoffechohtonハイパースレッディングモードをオンにするechohtoffハイパースレッディングモードをオフにするsetht存在するプロセッサの数をNBに記録するcdsysdevicessystemcpuNB‘lsdcpuwcw’存在するプロセッサの前半部分の最後のプロセッサの番号をNCORESに記録するNCORES‘exprNB2’存在するプロセッサを走査するlsdcpuwhilereadido存在する実行中のプロセッサの番号をNに記録するN‘echoisedscpu’存在する実行中のプロセッサが存在するプロセッサのリストの前半部分にあれば、存在する次のプロセッサに移行するifNltNCORESthencontinueない場合、htonが起動されれば存在する実行中のプロセッサに特有のファイルに値1を記録し、htoffが起動されれば値0を記録するfiecho1ionlinedoneif1onthensetht1elseif1offthensetht0elseusageexit2fifi