【手続補正書】
【提出日】平成27年5月20日(2015.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ又は複数のオペレーティングシステムスレッドを、異種処理コアを管理するハイパーバイザを通じてスケジュールする、コンピュータによって実装される方法であって、
オペレーティングシステムに仮想コアのセットを提示するステップであって、前記仮想コアのセットは、ハイパーバイザによって構成され、前記仮想コアは、コンピューティングデバイスに対してアクセス可能な物理的な処理コア間における１つ又は複数の機能の相違を知ることから前記オペレーティングシステムを分離する、ステップと、
前記ハイパーバイザによって提示された前記仮想コアのセットから識別された仮想コアにおいてスレッドの命令を実行するスレッドスケジューリング要求を、前記オペレーティングシステムから受信するステップと、
前記スレッドを実行する前に、前記受信したスケジューリング要求の１つ又は複数の処理ニーズを決定するステップと、
前記コンピューティングデバイスを操作するための１つ又は複数の目標を指定するスケジューリングポリシーにアクセスするステップであって、前記目標のうちの少なくとも１つが電力利用に関連する、ステップと、
前記受信したスケジューリング要求に関連付けられる前記スレッドを実行すべき物理的な処理コアを選択するステップであって、当該選択は、前記アクセスされたスケジューリングポリシー及び利用可能なシステム装置設備に基づいて行われる、ステップと、
前記選択された物理的な処理コアにおいて実行すべき前記スレッドをスケジュールするステップと、
を含む、方法。
【請求項２】
スレッドスケジューリング要求を受信することは、前記オペレーティングシステムがスレッドの実行用に選択する特定の仮想コアに関わらず、ハイパーバイザが、１つ又は複数のハイパーバイザポリシーに従って前記スレッドを実行すべき任意の特定の物理的な処理コアを選択することを含む、
請求項１に記載の方法。
【請求項３】
処理ニーズを決定することは、
特定の命令セット、利用可能なコプロセッサ、命令セット拡張又は前記スケジュールされたスレッドによって使用されるアーキテクチャ拡張を決定することと、
前記スレッドの１つ又は複数の性能要件を決定することと、
前記スレッドが、より低い電力利用での遅い実行に適切かどうかを決定することと、
追加の処理リソースが利用可能になるまで前記スレッドを遅らせることができるかどうかを決定することと、
特定のオペレーティングシステムに関する特有の知識にアクセスして、特定のスレッドの処理ニーズを決定することと、
のうちの少なくとも１つを含む、請求項１又は２に記載の方法。
【請求項４】
前記スケジューリングポリシーにアクセスすることは、
当該ポリシーが、電力利用の最適化を要求し、利用可能な低電力の処理コアに対してスレッドをスケジューリングすることを指定していると決定することと、
当該ポリシーが、性能の最適化を要求し、利用可能な高性能の処理コアに対してスレッドをスケジューリングすることを指定していると決定することと、
のうち少なくとも一方を含む、請求項１乃至３のいずれかに記載の方法。
【請求項５】
前記スケジューリングポリシーにアクセスすることは、前記コンピューティングデバイスが、利用可能な電力が制限されたモバイルデバイスであるか、熱制限されたデバイスであり、スレッドがスケジュールされるコアの選択を通して電力利用を最適化するか、熱を管理することを指定していると決定することを含む、
請求項１乃至３のいずれかに記載の方法。
【請求項６】
前記物理的な処理コアを選択することは、
異なる機能及び性能／電力特性の複数の利用可能なコアのうち、システムがスレッドをスケジュールすることができる１つを選択することと、
前記コンピューティングデバイスの性能及び電力利用を管理するための１つ又は複数の目標を促進する手法で前記の選択を行うことと、
のうち少なくとも一方を含む、請求項１乃至５のいずれかに記載の方法。
【請求項７】
前記スレッドと前記選択された物理的な処理コアとの間の１つ又は複数の機能的相違を処理するステップを更に含む、
請求項１乃至６のいずれかに記載の方法。
【請求項８】
実行すべき前記スレッドをスケジュールすることは、出力を処理することと、前記出力を前記オペレーティングシステムに提供することとを含み、これにより、前記出力は、前記オペレーティングシステムに対して、該オペレーティングシステムが前記スレッドを割り当てた前記仮想コアから来たように見える、
請求項１乃至７のいずれかに記載の方法。
【請求項９】
プロセッサによって実行されると、該プロセッサに、請求項１乃至８のいずれかに記載の方法を実行させるコンピュータプログラム。
【請求項１０】
ハイパーバイザを通じて異種計算を切り離したオペレーティングシステムを提供するためのコンピュータシステムであって、
異種処理機能及び電力プロファイルを有する１つ又は複数の処理コアを含む、１つ又は複数の処理複合体と、
ハイパーバイザとオペレーティングシステムとの間を通信し、ハードウェアリソースへの配信及び当該ハードウェアリソースからの出力を受信するための命令を受信し、異なるコアが前記オペレーティングシステムに対して同じコアに見えるようにする、オペレーティングシステムインタフェースコンポーネントと、
前記ハイパーバイザが前記オペレーティングシステムに提示する１つ又は複数の仮想コアを管理する、仮想コア管理コンポーネントであって、前記１つ又は複数の仮想コアは、前記処理コア間における１つ又は複数の機能の相違を知ることから前記オペレーティングシステムを分離する、仮想コア管理コンポーネントと、
オペレーティングシステムスレッドをスケジューリングし、利用可能な前記１つ又は複数の処理複合体に基づいて仮想コアを前記オペレーティングシステムに提示するための１つ又は複数のポリシーを管理する、ポリシーエンジンコンポーネントであって、、前記ポリシーのうちの少なくとも１つが電力利用に関連する、ステップと、
前記オペレーティングシステムからスレッドとして受信した１つ又は複数の命令ストリームを、選択ポリシー及び利用可能なシステム装置設備に基づいて、当該コンピュータシステム内にインストールされた前記処理複合体のうちの１つ又は複数に対してスケジュールする、スケジュールコンポーネントと、
前記ハイパーバイザと前記処理複合体との間を通信して、利用可能な物理的なコアにおいて実行するソフトウェア命令をスケジュールするハードウェアインタフェースコンポーネントと、
を備えた、コンピュータシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
ブロック２６０に続くと、システムは、１つまたは複数の仮想コアを生成して、識別されたオペレーティングシステムに公開する。ここで、各仮想コアは、物理的な処理コア間における決定された機能の相違から、オペレーティングシステムを分離する。例えば、異種処理システムは、２つまたはそれ以上の大きなコアおよび小さなコアを、単一のタイプの統一仮想コアとしてオペレーティングシステムに提示することができる。仮想コアにおいてスレッドを実行するスケジューリング要求をオペレーティングシステムから受信すると、システムは、どの物理コアをジョブ用に選択すべきかを、アクセスしたハイパーバイザポリシーに基づいて決定する。ハイパーバイザポリシーは、例えば、低電力供給コアを用いることが支持され、少なくとも１つの高電力供給コアをシームレスに電力低下させることを可能にすることを目標とするときなどに、ハイパーバイザが物理コアではなく異なる数の仮想コアを提示すべきことを指定する。あるいは、システムは、オペレーティングシステムが、そのコアを使用することを選択した場合、または低電力コアだけでは満たすことのできないコア品質を使用することを選択した場合、オペレーティングシステムが認識したコアの電力を低下させるが、これらのコアを起動させておく。