Solaris 10
特徴として
Linuxバイナリが動作する
Atok12 が利用できる。
Sum Microsytems は5年以上 LX Runを開発してきた。
LX RunはLinux のカーネルとシステム・コールIDのマッピング・エミュレーションを実行するもの。LinuxとSolarisはシステムコールIDが違うため、エミュレーションが必要だった。
Solaris 10ではLSB (Linux Standard Base ) カーネル準拠とした。
このため、x86互換環境上では、 Solaris とLinux のシステムコール
がどちらとも動作する。
Solaris 9では、ネットワーク処理性能でLinuxサーバーに劣ることがあった。
デフォルトのTCP/IPスタック層が、大規模なネットワーク上で膨大なパケットを処理できるように最適化されており、オーバーヘッドが生じていたため。
Solaris10では、パケット量の少ないHTTP主体の小さなネットワークにも対応できるように設定してある
この改良により、HTTPを使うWebサービスの処理性能も上がる。
アプリケーション・サーバーとして使った場合、TCP/IPスタック層以外を変更しなくても処理性能を45%伸ばせたという。
具体的には、SOLARIS 9 では、SMP構成の場合、パケットが到着するごとにCPUの状態をメモリーに待避し、処理を次のCPUに回していた。Solaris10 ではキャッシュを保存して「一連のパケット」に対して1cpu で対応するようにした。
ある1ポートへの一連の処理を1CPUで処理することで、性能が向上したという。
パケット処理と並んで、スレッド処理も改善した。従来はスレッドの集団をライトウエイト・プロセス1つに対応させることで性能向上を図っていたが、実際には、このようなスレッドの使い方をするアプリケーションが少なく、対応付けのオーバヘッドが大きくなっていた。
そこで1対1の処理に変更している。
libc とスレッド・ライブラリも改善したとのこと。
シングルスレッド、マルチタスクで毎回スイッチングしていたのだが、Solaris10から
マルチスレッドのみで処理するようになった。

Recent Comments