
Simics上のCrystal Forest
投稿者:Jakob Engblom, 2012/3/8
数週間前に、Intelはネットワーキングおよび通信アプリケーション向けの新たなIAベースプラットフォーム、Crystal Forestプラットフォームを発表しました。今まさに最初のCrystal Forestハードウェアが登場し始めているところですが、私たちはもう1年以上前からSimics上のCrystal Forestに取り組んでいます。
ハードウェアの詳細についてはまだお話しできませんが(いずれにせよ、それを発表するのは私たちではなくIntel側ですし)、これはかなり複雑なシリコン製品だと言えます。Crystal ForestはSandy Bridgeプロセッサに基づいており、ネットワークとセキュリティタスク用のハードウェアアクセラレーションを特長としています。マルチコア64ビットプロセッサに仮想化機能と最新のIAインストラクションセットが搭載されており、これらすべてがSimics上で忠実にモデリングされています。
Crystal Forestシステムは、特定のアプリケーションに対して多様な構成が可能です。使用するSKU(Intel用語では「チップバリアント」と呼ばれる)も変えることができ、プロセッサコア数にも少数から多数まで幅広く対応できます。Simicsではごくわずかな手間で設定値の入力がとても簡単です。ハードウェア構成、コア数、アクセラレータブロック数、ネットワークセットアップを変えるだけで、シュミレーションパラメータの設定ができてしまいます。必然的に単一の構成に制限されるハードウェアボードとは異なり、シミュレータは単一製品で、多数の異なる構成に対応させられる可能性を秘めています。
Crystal Forest用のSimicsにより、システムインテグレータはカスタムASICやラック構成など、独自のカスタムプラットフォームも構築できます。
Simics Crystal Forestの最初のデモは、ネットワーキング機能を強調したものでした。単一のシミュレーションに、2台のCrystal Forestマシンを使用しました。いずれも2ポートのi82599ネットワークカード、8 GBのRAM、4コアプロセッサ(一般的な実行側ホストよりも数倍のメモリとプロセッサに相当)を搭載しています。2つのイーサネットネットワークで2台のマシンを接続し、ルーティングおよび転送の実験が行えるようにします。ネットワークトラフィックを確認するため、2つのネットワーク上に「ネットワーク機器」を挿入し、送信されるイーサネットパケット数をカウントします。また、これによってネットワーク障害を発生させることもできます。

以下はSimicsでのデモの様子を示したものです。「システムパネル」ビューにネットワーク機器が表示されており、マシンやシステム内のその他のコンポーネントは左側のリストに表示されている点に注目してください。ターゲット上のソフトウェアスタックは、Wind River Linuxを使用したデモセットアップで、物理的なCrystal Forestマシンで使用されているものと同一です。Simics上で稼働させるための調整はまったく不要でした。

一般的なx86の仮想マシンソリューションとは異なり、SimicsはCrystal Forestプラットフォームの実際の詳細をモデリングします。したがって、特定のハードウェアサポートが必要なソフトウェアスタックでもSimics上で問題なく稼働します。特に、Intel Dataplane Development Kit(DPDK)は、Simics上で稼働することが実証されています。DPDKはCrystal Forestハードウェアのアクセラレーションおよび暗号化機能へのソフトウェアアクセスを可能にするミドルウェアスタックで、ほとんどの標準的なPCには見られない特殊なハードウェア機能が必要です。
Crystal Forestは実際のチップセットモデルなので、既存のBIOSでブートします。通常、Simicsや他のシミュレータでのx86ターゲットの最初のブート部分は、SeaBIOSなどのシミュレータ固有のブートコードを使用して実行されます(開発時間の短縮とモデルの簡素化のため)。ただし、Crystal Forestモデルは非常に詳細に設計されているので、実際の本番BIOS(当然ながらUEFIを含む)も実行できます。このため、Crystal Forestプラットフォーム用のカスタムハードウェア拡張機能のカスタムBIOSコードを開発し、Crystal Forest上で構築されたシステムソリューション上で立ち上げるのにSimicsは最適です。
言うまでもなく、Crystal Forestモデルはリバース拡張、決定と反復、障害注入、チェックポイント設定、およびバグトランスポートなどの標準的なSimics機能をすべて備えています。Simics VMPのおかげで、IAホスト上でも非常に高速に稼働します。
使用したデモ用のセットアップは、構成の可能性の1つに過ぎません。Simicsは、さらに多くのボード、ネットワーク、プロセッサコア、ターゲットメモリギガバイト数での構成実績があります。これは単に、今回のデモに使用したデモソフトウェアに適したセットアップだったというだけなのです。
原文はこちら:http://blogs.windriver.com/tools/2012/03/crystal-forest-on-simics.html
本社ブログサイト:http://blogs.windriver.com/


