2007年 3月 23日 金曜日
やっぱり Sun がスキ!
LDoms のポイント
先日、Sun Download Center にて Early Access として、LDoms RC3 が一般公開されました。
英語ドキュメントですが、Beginners Guide to LDoms: Understanding and Deploying Logical Domains が良くできているので、詳しい解説はそちらに譲るとして、今回は製品版リリース前に LDoms のポイントをご紹介させていただきたいと思います。
英語ドキュメントですが、Beginners Guide to LDoms: Understanding and Deploying Logical Domains が良くできているので、詳しい解説はそちらに譲るとして、今回は製品版リリース前に LDoms のポイントをご紹介させていただきたいと思います。
- LDoms とは
まず、LDoms とは何なのか?
これは、Sun が提供する新しい仮想化技術となります。
Sun はこれまでに Solaris コンテナ(ゾーン)という仮想化技術を OS に組み込む形でリリースしていますが、 今回リリースする LDoms は、ハードウェア・ファームウェア・ソフトウェアが連携して提供する技術となります。
これは、Sun が提供する新しい仮想化技術となります。
Sun はこれまでに Solaris コンテナ(ゾーン)という仮想化技術を OS に組み込む形でリリースしていますが、 今回リリースする LDoms は、ハードウェア・ファームウェア・ソフトウェアが連携して提供する技術となります。
下記の表は、簡単にコンテナと LDoms の特徴を比較した表になります。
| コンテナ | LDoms | |
|---|---|---|
| 対応機種 | Solais 10 が動作するマシン | sun4v アーキテクチャのマシン |
| 最大仮想環境数 | 8192 | CPU Thread 数の分(UltraSPARC T1 の場合 32) |
| カーネルの独立 (OS の混在) | × 全てのコンテナで同一のカーネル | ○ Domain 毎に固有のカーネル |
LDoms はコンテナと違い利用できる機種が sun4v アーキテクチャと限られています。それはなぜなのでしょう。
その理由はコンテナとの開発コンセプトの違いにあります。
コンテナは、Solaris を利用している環境で商用環境と開発環境の分離を仮想環境で実現したい場合や資源の 有効利用のためにサーバ統合を行いたいが、セキュリティなどの観点からユーザ空間だけでも分離したい場合 などの用途向けに開発されています。
また、コンテナの場合全ての仮想環境から一つのカーネルを使用する事になりますが、OS のみで機能を 実装しているため Solaris 10 が動作可能な多くの環境で気軽に利用可能です。
コンテナは、Solaris を利用している環境で商用環境と開発環境の分離を仮想環境で実現したい場合や資源の 有効利用のためにサーバ統合を行いたいが、セキュリティなどの観点からユーザ空間だけでも分離したい場合 などの用途向けに開発されています。
また、コンテナの場合全ての仮想環境から一つのカーネルを使用する事になりますが、OS のみで機能を 実装しているため Solaris 10 が動作可能な多くの環境で気軽に利用可能です。
では、LDoms は、どうでしょう。
LDoms は、sun4v 環境でのみ利用可能です。
sun4v とは、UltraSPARC T1 プロセッサ以降の CMT プロセッサを搭載するシステムのアーキテクチャ名です。
CMT プロセッサは、これまでの常識を大きく越えた数の CPU Thread を 1 Chip にて提供している CPU です。
UltraSPARC T1 の場合、最大 32 Thread となります。
Solaris では、優れたマルチスレッド技術の為に多くの CPU 資源を有効に使用する事が出来るといっても、 すべての Solaris 向けアプリケーションが無限にスケールアップする訳ではありません。
よって、これまでのシステムにおいてこれほどの CPU 資源を搭載しているシステムでは、多くの場合 パーティショニング技術によって、一つのシステムを複数のマシン(Domain)に分割する機能を提供していました。
Domain を複数に分割する事で、アプリケーション毎に必要な分のリソースを割り当てる事が可能になり、 他のアプリケーションへの影響も分離する事が可能となっていました。
LDoms は、sun4v 環境でのみ利用可能です。
sun4v とは、UltraSPARC T1 プロセッサ以降の CMT プロセッサを搭載するシステムのアーキテクチャ名です。
CMT プロセッサは、これまでの常識を大きく越えた数の CPU Thread を 1 Chip にて提供している CPU です。
UltraSPARC T1 の場合、最大 32 Thread となります。
Solaris では、優れたマルチスレッド技術の為に多くの CPU 資源を有効に使用する事が出来るといっても、 すべての Solaris 向けアプリケーションが無限にスケールアップする訳ではありません。
よって、これまでのシステムにおいてこれほどの CPU 資源を搭載しているシステムでは、多くの場合 パーティショニング技術によって、一つのシステムを複数のマシン(Domain)に分割する機能を提供していました。
Domain を複数に分割する事で、アプリケーション毎に必要な分のリソースを割り当てる事が可能になり、 他のアプリケーションへの影響も分離する事が可能となっていました。
UltraSPARC T1 を搭載した Sun Fire T2000 では、2RU という小さい筐体ながら 32 Thread という多数の
CPU 資源を持っている事により、この資源の有効利用の為に複数のマシンに分割したいという考えが出てくる
事になります。
しかしながら、Sun Fire T2000 では、その小さい筐体の為、IO デバイスの接続可能数には限界があります。 そこで、この IO デバイスを仮想化技術によって複数の論理デバイスに見せかける事で、複数 Domain に分割 する事を可能とした技術が、LDoms - Logical Domain となります。
しかしながら、Sun Fire T2000 では、その小さい筐体の為、IO デバイスの接続可能数には限界があります。 そこで、この IO デバイスを仮想化技術によって複数の論理デバイスに見せかける事で、複数 Domain に分割 する事を可能とした技術が、LDoms - Logical Domain となります。
- LDoms の特徴
先ほどの表にも出てきましたが、32 Thread を有する UltraSPARC T1 で、作成可能な Logical Domain
の最大数は、32 個となります。
これは、CPU 資源の最小分割単位が Thread になるからです。
コンテナの場合は、1 つの CPU 資源を複数の仮想マシンで共有する事が出来ますが、LDoms では、既に 割り当てた Thread を他の Domain で共有利用する事は出来ません。
この点で自由度が下がってしまいますが、複数の仮想マシン間で使用する為のスケジューリングコストを 考慮しなくて済み、1 Thread の能力を最大限利用する事が出来ます。
また、LDoms では、メモリ空間も細かく分割する事が可能です。
メモリアドレスに対して、各 Domain 毎にタグを付ける事で、Domain 間のメモリ空間を分離する事が出来 ます。
尚、このように分割された構成情報は、sun4v システムの Hypervisor Firmware 上に保存され、仮想マシン 間の調整はこの Firmware が行う仕組みになっています。
これは、CPU 資源の最小分割単位が Thread になるからです。
コンテナの場合は、1 つの CPU 資源を複数の仮想マシンで共有する事が出来ますが、LDoms では、既に 割り当てた Thread を他の Domain で共有利用する事は出来ません。
この点で自由度が下がってしまいますが、複数の仮想マシン間で使用する為のスケジューリングコストを 考慮しなくて済み、1 Thread の能力を最大限利用する事が出来ます。
また、LDoms では、メモリ空間も細かく分割する事が可能です。
メモリアドレスに対して、各 Domain 毎にタグを付ける事で、Domain 間のメモリ空間を分離する事が出来 ます。
尚、このように分割された構成情報は、sun4v システムの Hypervisor Firmware 上に保存され、仮想マシン 間の調整はこの Firmware が行う仕組みになっています。
- LDoms の考慮事項
このように、Logical Domain は、サービスドメインから提供される論理デバイスを使用する必要が
ありますので、Logical Domain 上で動作する OS では、論理デバイス用のデバイスドライバが必要に
なります。
また、サービスドメインで動作する OS では、Logical Domain へ提供する論理デバイスを作成するロジック が必要になってきます。
その為、Solaris の場合、Solaris 10 11/06 以降の OS が必要になります。
また、サービスドメインで動作する OS では、Logical Domain へ提供する論理デバイスを作成するロジック が必要になってきます。
その為、Solaris の場合、Solaris 10 11/06 以降の OS が必要になります。
- まとめ
LDoms は、リリース直後からハードウェア・ファームウェア・ソフトウェアが連携して、一つの仮想化
という技術を提供するという構成は、それら全ての製品を提供している Sun ならでは!と思います。
これまで大規模システムでしか提供されていなかった、Domain 分割という面白い機能を 1RU/2RU の SunFire T1000/T2000 の様な、システムでも利用できる時代になりました。
是非皆さんも LDoms を体験してみて下さい。
これまで大規模システムでしか提供されていなかった、Domain 分割という面白い機能を 1RU/2RU の SunFire T1000/T2000 の様な、システムでも利用できる時代になりました。
是非皆さんも LDoms を体験してみて下さい。
Posted at 06:14午後 3 23, 2007 by Naoyuki Yamada in Sun | 投稿されたコメント[0]