【手続補正書】
【提出日】平成27年8月17日(2015.8.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の特定用途向けスーパーコンピュータを仮想化するためのハイパーバイザ・システムであって、前記システムは、
（ａ）ソフトウェアアプリケーション及び前記ソフトウェアアプリケーションをアクセラレートする特定用途向け仮想スーパーコンピュータで構成される少なくとも１つのソフトウェア−仮想ハードウェアの対であって、
ｉ．前記特定用途向け仮想スーパーコンピュータが、１つの又は１つより多い仮想タイルを有し、
ｉｉ．前記ソフトウェアアプリケーション及び前記仮想タイルが、それら自身の間で複数のメッセージで通信する、
ソフトウェア−仮想ハードウェアの対と、
（ｂ）１つの又は１つより多い再構成可能な物理タイルであって、前記仮想タイルの機能を実行するように前記再構成可能な物理タイルを構成することによって、各特定用途向け仮想スーパーコンピュータの各仮想タイルが少なくとも１つの再構成可能な物理タイル上で実装されることが可能である、再構成可能な物理タイルと、
（ｃ）実質的にハードウェア内に実装され、前記再構成可能な物理タイル上の前記仮想タイルの並列のプリエンプティブスケジューリングのためのスケジューラと
を備えるハイパーバイザ・システム。
【請求項２】
複数の特定用途向けスーパーコンピュータを仮想化するためのハイパーバイザ・システムであって、前記システムは、
（ａ）ソフトウェアアプリケーション及び前記ソフトウェアアプリケーションをアクセラレートする特定用途向け仮想スーパーコンピュータで構成される少なくとも１つのソフトウェア−仮想ハードウェアの対であって、
ｉ．前記特定用途向け仮想スーパーコンピュータが、１つの又は１つより多い仮想タイルを有し、
ｉｉ．前記ソフトウェアアプリケーション及び前記仮想タイルが、それら自身の間で複数のメッセージで通信する、
ソフトウェア−仮想ハードウェアの対と、
（ｂ）１つの又は１つより多い再構成可能な物理タイルであって、前記仮想タイルの機能を実行するように前記再構成可能な物理タイルを構成することによって、各特定用途向け仮想スーパーコンピュータの各仮想タイルが少なくとも１つの再構成可能な物理タイル上で実装されることが可能である、再構成可能な物理タイルと、
（ｃ）実質的にハードウェア内に実装され、前記再構成可能な物理タイル上の前記仮想タイルの並列のプリエンプティブスケジューリングのためのスケジューラと、
（ｄ）テーブルであって、各仮想タイルを、
ｉ．現在において前記仮想タイルがどの再構成可能な物理タイルにも含まれていない場合は、ＮＵＬＬに、
ｉｉ．他の場合は、現在において前記仮想タイルが含まれている再構成可能な物理タイルに
マッピングする、テーブルと、
（ｅ）再構成可能な各物理タイルの近傍の前記テーブルの１次キャッシュと
を更に備え、
前記１次キャッシュは、
メッセージの送信元の再構成可能な物理タイルｐ０に含まれるメッセージの送信元の仮想タイルｖ０から、メッセージの宛先の再構成可能な物理タイルｐに含まれるメッセージの宛先の仮想タイルｖにメッセージを送信する場合に、
●前記メッセージの送信元の仮想タイルｖ０を含む前記メッセージの送信元の再構成可能な物理タイルｐ０
が、メッセージを、
●前記メッセージの宛先の仮想タイルｖを含む前記メッセージの宛先の再構成可能な物理タイルｐ
に、
前記メッセージの送信元の再構成可能な物理タイルｐ０の近傍の前記１次キャッシュ内において、ｖがｐにマッピングされていることが発見された場合は必ず、
○前記メッセージがｐ０に含まれる前記送信元の仮想タイルｖ０を離れる場合に、ｐを含むフィールドを前記メッセージに追加し、
○スケーラブルなネットワークを通じて、ｐに含まれる前記宛先の仮想タイルｖに向けて前記メッセージをルーティングするために、前記ｐのフィールドを使用し、
○前記宛先の仮想タイルに到達する場合に前記メッセージをその元の形式に戻す
●ことによって、
直接かつ効率的に送信することができるよう、メッセージの宛先の複数の仮想タイルをメッセージの宛先の複数の再構成可能な物理タイルにマッピングする、
ハイパーバイザ・システム。
【請求項３】
（ｆ）モニタユニットであって、
ｉ．複数の再構成可能な物理タイルから統計情報を収集し、
ｉｉ．前記統計情報を解析し、
ｉｉｉ．再構成可能な物理タイルを置換する任意の要求が前記モニタユニットに到達した場合に、タイル置換ポリシーに基づいて、置換する最適な再構成可能な物理タイルで応答することによって、
前記タイル置換ポリシーを実装するモニタユニット
を更に備える、請求項２に記載のハイパーバイザ・システム。
【請求項４】
（ｇ）それぞれ（ｄ）の前記テーブルの一部分の検索を担う複数の所有者ユニット
を更に備え、
メッセージの送信元の再構成可能な物理タイルｐ０が、ｐ０の近傍の１次キャッシュ内でメッセージの宛先の仮想タイルｖを発見できなかった場合に、ｖに対する責任を有する所有者ユニットｏ０が、前記１次キャッシュのミスを解決するために前記テーブルのｏ０の部分の中で、
ｉ．前記所有者ユニットｏ０が、前記テーブルのｏ０の部分の中で、再構成可能な物理タイルｐにマッピングされる仮想タイルｖを発見した場合、
１．前記メッセージの送信元の再構成可能な物理タイルｐ０の近傍の前記１次キャッシュが、（ｖからｐへ）のマッピングを含むように更新され、
２．前記メッセージが、前記メッセージの送信元の再構成可能な物理タイルｐ０から、前記メッセージの宛先の仮想タイルｖを含む前記メッセージの宛先の再構成可能な物理タイルｐに、直接送達され、
ｉｉ．そうでなく、前記所有者ユニットｏ０が、前記テーブルのｏ０の部分の中で仮想タイルｖを発見できなかった場合、
１．前記所有者ユニットｏ０が、置換する再構成可能な物理タイルを（ｆ）の前記モニタユニットに要求し、
２．前記モニタユニットによって供給された再構成可能な物理タイルｐが既に他の仮想タイルｖ'によって占められている場合、前記所有者ユニットｏ０が、ｖ'に対して責任を有する所有者ユニットｏ１に、
ａ．（ｖ'からｐへ）のマッピングを含む、前記ハイパーバイザ・システム内の全ての１次キャッシュの複数のエントリを無効化し、
ｂ．前記再構成可能な物理タイルｐを停止して、ｐに含まれる前記仮想タイルｖ'の状態を保存し、
ｃ．前記テーブルのｏ１の一部分から前記（ｖ'からｐへ）のマッピングを削除する
よう要求し、
３．前記所有者ユニットｏ０が、前記テーブルのｏ０の部分に（ｖからｐへ）のマッピングを挿入し、
４．前記所有者ユニットｏ０が、最後の保存された前記仮想タイルｖの状態を前記再構成可能な物理タイルｐに書き込み、ｖを停止したところから再開させ、
５．前記メッセージの送信元の再構成可能な物理タイルｐ０の近傍の前記１次キャッシュが、前記（ｖからｐへ）のマッピングを含むように更新され、
６．メッセージが、前記メッセージの送信元の再構成可能な物理タイルｐ０から、前記メッセージの宛先の仮想タイルｖを含む前記メッセージの宛先の再構成可能な物理タイルｐに、直接送達される
ことによりｖを検索するよう、複数の前記一部分は、重複せず、合わせて前記テーブルの全体を構成する
請求項３に記載のハイパーバイザ・システム。
【請求項５】
（ｈ）所与の任意の２つの仮想タイルｖ１及びｖ２について、前記仮想タイルｖ１から前記仮想タイルｖ２への複数のメッセージが、並列オペレーション中に並べ替えられないことを保証する手段
を更に備える、請求項４に記載のハイパーバイザ・システム。
【請求項６】
（ｉ）複数のメッセージが失われないことを保証する手段であって、所与の２つの仮想タイルｖ１及び仮想タイルｖ２について、前記仮想タイルｖ１から前記仮想タイルｖ２にメッセージが送信される場合は必ず、並列オペレーション中に前記メッセージが常に前記仮想タイルｖ２に送達される、手段
を更に備える、請求項４又は５に記載のハイパーバイザ・システム。
【請求項７】
（ｊ）コヒーレンスメッセージングオーバーヘッドが低減されるよう、（ｄ）の前記テーブル及び（ｅ）の前記複数の再構成可能な物理タイルの近傍の複数の前記１次キャッシュの間のコヒーレンスを、ディレクトリベースのキャッシュコヒーレンスを用いて達成する手段
を更に備える、請求項４から６のいずれか１項に記載のハイパーバイザ・システム。
【請求項８】
（ｋ）（ｆ）の前記モニタユニットに対してサービス水準合意（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔｓ）に準拠したタイル置換ポリシーを実装する手段
を更に備える、請求項４から７のいずれか１項に記載のハイパーバイザ・システム。
【請求項９】
（ｌ）ＡＳＩＣ技術で実装された再構成可能な物理タイルとして定められ、前記再構成可能な物理タイルに提供された複数の構成パラメータに基づいて特定用途向け仮想スーパーコンピュータの複数の前記仮想タイルのいずれか１つを実現できる少なくとも１つのＡＳＩＣの再構成可能な物理タイル
を更に備える、請求項１から８のいずれか１項に記載のハイパーバイザ・システム。
【請求項１０】
ソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成されるソフトウェア−仮想ハードウェアの対は、外部ネットワーク接続性を有し、ハードウェア・アクセラレートされた仮想オペレーティングシステムを、
（ｍ）前記ソフトウェア−仮想ハードウェアの対の前記特定用途向け仮想スーパーコンピュータ内の１つの仮想タイルが、前記ハードウェア・アクセラレートされた仮想オペレーティングシステムを実行するための汎用マイクロプロセッサを含み、
（ｎ）前記ソフトウェア−仮想ハードウェアの対の前記特定用途向け仮想スーパーコンピュータの残りの複数の前記仮想タイルが、前記ハードウェア・アクセラレートされた仮想オペレーティングシステム内の複数のカーネルコード及び複数のユーザアプリケーションコードのハードウェア・アクセラレートを実現し、
（ｏ）前記ソフトウェア−仮想ハードウェアの対の前記アプリケーションの部分は、前記汎用マイクロプロセッサを含む前記仮想タイル、及び必要に応じて前記特定用途向け仮想スーパーコンピュータの他の複数の仮想タイルを外部ネットワークに接続するネットワークゲートウェイによって置換される
ように実現するために変更される、
請求項１から９のいずれか１項に記載のハイパーバイザ・システム。
【請求項１１】
（ｐ）ソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成される新しいソフトウェア−仮想ハードウェアの対を前記ハイパーバイザ・システムに追加する、又は前記ハイパーバイザ・システムからそのような対を削除する手段
を更に備える、請求項１から１０のいずれか１項に記載のハイパーバイザ・システム。
【請求項１２】
複数の再構成可能な物理タイルの利用向上のための、
（ｑ）少なくとも１つの再構成可能な物理タイルを、等しくない大きさであり得る複数の再構成可能な物理サブタイルに分割し、
（ｒ）スケジューリング時に、仮想タイルを、前記仮想タイルを収容する十分な大きさである再構成可能な物理サブタイルに割り当てる
手段を更に備える、請求項１から１１のいずれか１項に記載のハイパーバイザ・システム。
【請求項１３】
（ｓ）前記ハイパーバイザ・システム内のソフトウェア−仮想ハードウェアの複数の対の相互の分離を達成するために、ソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成されるソフトウェア−仮想ハードウェアの対の中の各仮想タイルが、同じ特定用途向け仮想スーパーコンピュータの他の複数の仮想タイル及び前記ソフトウェア−仮想ハードウェアの対の前記ソフトウェアアプリケーションとだけ通信するよう制限する手段
を更に備える、請求項１から１２のいずれか１項に記載のハイパーバイザ・システム。
【請求項１４】
複数の特定用途向けスーパーコンピュータを仮想化するためのハイパーバイザ・システムに組み込まれる、ソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成されるソフトウェア−仮想ハードウェアの対に、シングルスレッドのソフトウェアアプリケーションを自動的に変換するための方法であって、前記方法は、
（ａ）前記シングルスレッドのソフトウェアアプリケーションからのコードフラグメントを、カスタム化された非仮想スーパーコンピュータのハードウェアであり、そのハードウェアの実行が前記コードフラグメントのソフトウェア実行と機能的に等価なハードウェアに、自動的に変換する段階と、
（ｂ）ハードウェア及び前記シングルスレッドのソフトウェアアプリケーションの複数のソフトウェア部分上の複数のインタフェースを生成する段階であって、前記複数のインタフェースが、実行時に、
ｉ．前記コードフラグメントに入る場合に、ソフトウェアからハードウェアへのプログラム状態の転送を実行し、
ｉｉ．前記コードフラグメントから出る場合に、ハードウェアからソフトウェアへのプログラム状態の転送を実行し、
ｉｉｉ．前記シングルスレッドのソフトウェアアプリケーションの、ソフトウェア及びハードウェアの複数のメモリ間のメモリ・コヒーレンシを維持する、
複数のインタフェースを生成する段階と、
（ｃ）段階（ａ）及び（ｂ）で得られた前記カスタム化された非仮想スーパーコンピュータのハードウエアを、複数のモジュールに分割する段階と、
（ｄ）ユニオンモジュールを生成する段階であって、前記ユニオンモジュールに提供された複数の構成パラメータに依存して、段階（ｃ）で生成された前記複数のモジュールのいずれかを実現できるユニオンモジュールを生成する段階と、
（ｅ）ソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成されるソフトウェア−仮想ハードウェアの対を生成する段階であって、
ｉ．前記ソフトウェア−仮想ハードウェアの対の前記ソフトウェアアプリケーションの部分が、段階（ｂ）で変更された前記シングルスレッドのソフトウェアアプリケーションであり、
ｉｉ．前記ソフトウェア−仮想ハードウェアの対の前記特定用途向け仮想スーパーコンピュータの部分が、それぞれが段階（ｃ）で得られたモジュールである複数の仮想タイルで構成される、
段階と、
（ｆ）段階（ｅ）の前記複数の仮想タイルの中のいずれかを実現できる再構成可能な物理タイルを生成するために、段階（ｄ）の前記ユニオンモジュールの、内部状態の読み出し、内部状態の書き込み、停止及び開始のための機能を追加する段階と、
（ｇ）前記ハイパーバイザ・システム内の前記ソフトウェアアプリケーション及び前記特定用途向け仮想スーパーコンピュータで構成される前記ソフトウェア−仮想ハードウェアの対を実現するために、前記ハイパーバイザ・システム内で、段階（ｆ）で得られた前記再構成可能な物理タイルの少なくとも１つのコピーを統合する段階と
を備え、
前記ハイパーバイザ・システムは、
（ｈ）ソフトウェアアプリケーション及び前記ソフトウェアアプリケーションをアクセラレートする特定用途向け仮想スーパーコンピュータで構成される少なくとも１つのソフトウェア−仮想ハードウェアの対であって、
ｉ．前記特定用途向け仮想スーパーコンピュータが、１つの又は１つより多い仮想タイルを有し、
ｉｉ．前記ソフトウェアアプリケーション及び前記仮想タイルが、それら自身の間で複数のメッセージで通信する、
ソフトウェア−仮想ハードウェアの対と、
（ｉ）１つの又は１つより多い再構成可能な物理タイルであって、前記仮想タイルの機能を実行するように前記再構成可能な物理タイルを構成することによって、各特定用途向け仮想スーパーコンピュータの各仮想タイルが少なくとも１つの再構成可能な物理タイル上で実装されることが可能である、再構成可能な物理タイルと、
（ｊ）実質的にハードウェア内に実装され、前記再構成可能な物理タイル上の前記仮想タイルの並列のプリエンプティブスケジューリングのためのスケジューラと
を備える、方法。
【請求項１５】
前記特定用途向け仮想スーパーコンピュータの複数の仮想タイルを実現する複数の再構成可能な物理タイルの信頼性が高まるよう、ソフトウェア−仮想ハードウェアの対のソフトウェアアプリケーションから仮想スーパーコンピュータを生成する間、複数のカスタム冗長検査回路を合成する段階
を更に備える、請求項１４に記載の方法。
【請求項１６】
複数の特定用途向けスーパーコンピュータを仮想化するためのハイパーバイザ・システムにおけるＡＳＩＣの再構成可能な複数の物理タイルに複数のリソースを割り当てるための適応的な方法であって、前記方法は、
（ａ）最近の時間間隔にわたって、ハイパーバイザ・システム内のソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成されるソフトウェア−仮想ハードウェアの各対の使用頻度を決定する段階と、
（ｂ）段階（ａ）で決定された最大の使用頻度を持つ、前記ハイパーバイザ・システム内のソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成されるソフトウェア−仮想ハードウェアの対を、
ｉ．前記ソフトウェア−仮想ハードウェアの対がＡＳＩＣの再構成可能な物理タイルにまだマッピングされておらず、
ｉｉ．前記ソフトウェア−仮想ハードウェアの対の前記使用頻度が閾値を超えている
ように探す段階と、
（ｃ）段階（ｂ）で前記ハイパーバイザ・システム内にそのようなソフトウェア−仮想ハードウェアの対を見つけることができた場合、当該ソフトウェア−仮想ハードウェアの対のための新しいＡＳＩＣの再構成可能な物理タイルを生成する段階と、
（ｄ）前記ハイパーバイザ・システム内のＡＳＩＣの再構成可能な各物理タイルについて、
ｉ．このＡＳＩＣの再構成可能な物理タイルによって実装された、ソフトウェアアプリケーション及び特定用途向け仮想スーパーコンピュータで構成されるソフトウェア−仮想ハードウェアの対の平均の使用頻度に、割り当てられる複数のリソースを比例させるために、このＡＳＩＣの再構成可能な物理タイルに割り当てる前記複数のリソースを増加又は減少させる段階と、
（ｅ）上記の複数の前記段階（ａ）−（ｄ）の全てを定期的に繰り返す段階と
を備え、
前記ハイパーバイザ・システムは、
（ｆ）ソフトウェアアプリケーション及び前記ソフトウェアアプリケーションをアクセラレートする特定用途向け仮想スーパーコンピュータで構成される少なくとも１つのソフトウェア−仮想ハードウェアの対であって、
ｉ．前記特定用途向け仮想スーパーコンピュータが、１つの又は１つより多い仮想タイルを有し、
ｉｉ．前記ソフトウェアアプリケーション及び前記仮想タイルが、それら自身の間で複数のメッセージで通信する、
ソフトウェア−仮想ハードウェアの対と、
（ｇ）１つの又は１つより多い再構成可能な物理タイルであって、前記仮想タイルの機能を実行するように前記再構成可能な物理タイルを構成することによって、各特定用途向け仮想スーパーコンピュータの各仮想タイルが少なくとも１つの再構成可能な物理タイル上で実装されることが可能である、再構成可能な物理タイルと、
（ｈ）実質的にハードウェア内に実装され、前記再構成可能な物理タイル上の前記仮想タイルの並列のプリエンプティブスケジューリングのためのスケジューラと
を備え、
前記ハイパーバイザ・システムの少なくとも１つの再構成可能な物理タイルは、前記再構成可能な物理タイルに提供された複数の構成パラメータに基づいて特定用途向け仮想スーパーコンピュータの複数の前記仮想タイルのいずれか１つを実現できる、ＡＳＩＣ技術で実装された再構成可能な物理タイルで定められる、ＡＳＩＣの再構成可能な物理タイルである、方法。
【請求項１７】
複数の特定用途向けスーパーコンピュータを仮想化するためのハイパーバイザ・システムであって、前記システムは、
（ａ）ソフトウェアアプリケーション及び前記ソフトウェアアプリケーションをアクセラレートする特定用途向け仮想スーパーコンピュータで構成される少なくとも１つのソフトウェア−仮想ハードウェアの対であって、
ｉ．前記特定用途向け仮想スーパーコンピュータが、１つの又は１つより多い仮想タイルを有し、
ｉｉ．前記ソフトウェアアプリケーション及び前記仮想タイルが、それら自身の間で複数のメッセージで通信する、
ソフトウェア−仮想ハードウェアの対と、
（ｂ）１つの又は１つより多い再構成可能な物理タイルであって、前記仮想タイルの機能を実行するように前記再構成可能な物理タイルを構成することによって、各特定用途向け仮想スーパーコンピュータの各仮想タイルが少なくとも１つの再構成可能な物理タイル上で実装されることが可能である、再構成可能な物理タイルと、
（ｃ）前記再構成可能な物理タイル上の複数の前記仮想タイルの並列のプリエンプティブスケジューリングのための手段であって、スケジューラが実質的にハードウェア内に実装される、手段と
を備える、ハイパーバイザ・システム。