これまでに SSS-CORE の 性能評価が様々な面から行われています。 ここでは以下の評価結果を要約して示します。
詳細な実験の内容および考察に関しては論文を ご覧下さい。
以下の文中で、「SPARCstation 20」という表記は Sun Microsystems SPARCstation 20 およびその互換機を指します。 実験では主に、互換機である Axil 320 model 8.1.1 を使用しました。
実験条件 ----------------------------------------------------------------- | ワークステーション | SPARCstation 20 (85 MHz SuperSPARC × 1) | |--------------------|------------------------------------------| | | SSS-CORE Ver. 1.1 | | OS |------------------------------------------| | | SunOS 4.1.4 | -----------------------------------------------------------------
タスク ID の取得コスト -------------------------------------- | SSS-CORE get_taskid() | 1.12 μsec | |-----------------------|------------| | SunOS getpid() | 4.39 μsec | --------------------------------------
メモリ獲得/返却システムコールのコスト (単位: μsec) ---------------------------------------------------------------- | サイズ (byte) | 4 K 16 K 64 K 256 K 1 M | |-------------------+------------------------------------------| | SSS-CORE allocate | 23.91 28.91 48.77 123.2 431.2 | | SSS-CORE free | 19.49 20.36 23.91 36.23 99.06 | | SunOS sbrk() | 133.2 375.8 894.3 1828 2020 | ----------------------------------------------------------------
実験条件 ----------------------------------------------------------------------------- |ワークステーション| Sun Microsystems Ultra 60 (450 MHz UltraSPARC-II × 1) | |------------------|--------------------------------------------------------| | NIC | Sun Microsystems GigabitEthernet/P 2.0 Adapter | |------------------|--------------------------------------------------------| | ネットワーク | (直結) | |------------------|--------------------------------------------------------| | | SSS-CORE Ver. 2.3 & MBCF | |OS および通信方式 |--------------------------------------------------------| | | Solaris 2.6 & TCP/IP | -----------------------------------------------------------------------------
MBCF/1000BASE-SX の片道遅延時間 (単位: μsec) --------------------------------------------------------- | data size (byte) | 4 16 64 256 1024 | |------------------+------------------------------------| | MBCF | 9.6 11.0 11.5 16.2 35.9 | | TCP/IP | 95.08 95.22 95.39 99.45 114.15 | ---------------------------------------------------------
MBCF/1000BASE-SX のピークバンド幅 (単位: Mbyte/sec) ------------------------------------------------------------- | data size (byte) | 4 16 64 256 1024 1408 | |------------------+----------------------------------------| | MBCF | 2.29 5.67 22.30 55.41 78.22 80.92 | | TCP/IP | 0.09 0.43 1.67 5.56 12.79 20.21 | -------------------------------------------------------------
MBCF において、送受信のソフトウェアオーバヘッドが十分に小さいにも かかわらずピークバンド幅がハードウェア性能の限界(125 Mbyte/sec)近くまで 出ていないのは、Ultra 60 のハードウェア側にボトルネックがあるものと 推定される。
実験条件 ------------------------------------------------------------------------------- |ワークステーション| SPARCstation 20 (85 MHz SuperSPARC × 1) | |------------------|----------------------------------------------------------| | NIC | Sun Microsystems Fast Ethernet SBus Adapter 2.0 | |------------------|----------------------------------------------------------| | | SMC TigerStack 100 5324TX (non-switching 100BASE-TX HUB) | | ネットワーク |----------------------------------------------------------| | | Bay Networks BayStack 350T (switching 100BASE-TX HUB) | |------------------|----------------------------------------------------------| | OS | SSS-CORE Ver. 1.1 | -------------------------------------------------------------------------------
MBCF/100BASE-TX の片道遅延時間 (単位: μsec) ---------------------------------------------------- | data size (byte) | 4 16 64 256 1024 | |------------------+-------------------------------| | MBCF_WRITE | 24.5 27.5 34 60.5 172 | | MBCF_FIFO | 32 32 40.5 73 210.5 | | MBCF_SIGNAL | 49 52.5 60.5 93 227.5 | ----------------------------------------------------
MBCF/100BASE-TX のピークバンド幅 (単位: Mbyte/sec) ------------------------------------------------------------- | data size (byte) | 4 16 64 256 1024 1408 | |--------------------+--------------------------------------| | MBCF_WRITE, 半二重 | 0.31 1.15 4.31 8.56 11.13 11.48 | | MBCF_WRITE, 全二重 | 0.34 1.27 4.82 9.63 11.64 11.93 | -------------------------------------------------------------
実験条件 ------------------------------------------------------------------------------- |ワークステーション| SPARCstation 20 (85 MHz SuperSPARC × 1) | |------------------|----------------------------------------------------------| | NIC | Sun Microsystems Fast Ethernet SBus Adapter 2.0 | |------------------|----------------------------------------------------------| | | SMC TigerStack 100 5324TX (non-switching 100BASE-TX HUB) | | ネットワーク |----------------------------------------------------------| | | Bay Networks BayStack 350T (switching 100BASE-TX HUB) | |------------------|----------------------------------------------------------| | | SSS-CORE Ver. 1.1 & MPI/MBCF | |OS および MPI 実装|----------------------------------------------------------| | | SunOS 4.1.4 & MPICH Ver. 1.1 (TCP を使用) | -------------------------------------------------------------------------------
100BASE-TX における MPI/MBCF の round-trip time (単位: μsec) ---------------------------------------------------------------- | message size (byte) | 0 4 16 64 256 1024 4096 | |----------------------+---------------------------------------| | MPI/MBCF on SSS-CORE | 71 85 85 106 168 438 1026 | | MPICH/TCP on SunOS | 968 962 980 1020 1080 1255 2195 | ----------------------------------------------------------------
100BASE-TX における MPI/MBCF の peak bandwidth (単位: Mbyte/sec) ------------------------------------------------------------------------------ | message size (byte) | 4 16 64 256 1024 4096 16384 65536 | |-----------------------+----------------------------------------------------| | MPI/MBCF on SSS-CORE, | 0.14 0.53 1.82 4.72 8.08 9.72 10.15 9.78 | | 半二重 | | | MPI/MBCF on SSS-CORE, | 0.14 0.57 1.90 5.33 10.22 11.68 11.77 11.85 | | 全二重 | | | MPICH/TCP on SunOS, | 0.02 0.09 0.35 1.27 3.54 6.04 5.59 7.00 | | 半二重 | | ------------------------------------------------------------------------------
実験条件 ------------------------------------------------------------------------------- |ワークステーション| SPARCstation 20 (85 MHz SuperSPARC × 1) | |------------------|----------------------------------------------------------| | NIC | Sun Microsystems Fast Ethernet SBus Adapter 2.0 | |------------------|----------------------------------------------------------| | ネットワーク | SMC TigerStack 100 5324TX (non-switching 100BASE-TX HUB) | |------------------|----------------------------------------------------------| | | SSS-CORE Ver. 1.1 & MPI/MBCF | |OS および MPI 実装|----------------------------------------------------------| | | SunOS 4.1.4 & MPICH Ver. 1.1 (TCP を使用) | -------------------------------------------------------------------------------
NAS Parallel Benchmarks の実行結果 ------------------------------------------------------------------------------- | プログラム [実行台数] | EP[8] MG[8] CG[8] IS[8] LU[8] SP[9] BT[9] | |-----------------------------------------------------------------------------| | MPI/MBCF on SSS-CORE | |-----------------------------------------------------------------------------| | 実行時間 (sec) | 15.14 7.48 11.02 3.02 160.36 154.91 67.30 | | 対 1 台 | 7.99 5.24 6.27 3.33 6.26 8.11 9.16 | | スピードアップ率 (倍) | | | 通信データレート | 0.00 9.68 12.69 13.58 1.89 7.83 5.32 | | (Mbyte/sec) | | | 通信メッセージレート | 4 4670 2138 466 1199 421 488 | | (個/sec) | | | 平均メッセージサイズ | 0.00 2.07 5.94 29.14 1.58 18.60 10.90 | | (Kbyte) | | | MBCF_WRITE 利用率 (%) | 51.10 0.01 53.33 99.22 13.37 49.01 47.24 | | 集団通信関数の使用 | yes no no yes no no no | |-----------------------------------------------------------------------------| | MPICH/TCP on SunOS | |-----------------------------------------------------------------------------| | 実行時間 (sec) | 16.25 13.72 14.59 4.81 185.04 231.66 96.02 | | 対 1 台 | 7.73 2.83 4.71 2.13 5.84 6.01 6.53 | | スピードアップ率 (倍) | | |-----------------------------------------------------------------------------| | MPI/MBCF on SSS-CORE versus MPICH/TCP on SunOS | |-----------------------------------------------------------------------------| | 性能向上率 (倍) | 1.07 1.83 1.32 1.59 1.15 1.50 1.43 | -------------------------------------------------------------------------------
実験条件 ------------------------------------------------------------------------------- |ワークステーション| SPARCstation 20 (85 MHz SuperSPARC × 1) | |------------------|----------------------------------------------------------| | NIC | Sun Microsystems Fast Ethernet SBus Adapter 2.0 | |------------------|----------------------------------------------------------| | ネットワーク | SMC TigerStack 100 5324TX (non-switching 100BASE-TX HUB) | |------------------|----------------------------------------------------------| | | SSS-CORE Ver. 1.1 & modified SUNRPC 4.0 | |OS および RPC 実装|----------------------------------------------------------| | | SunOS 4.1.4 & SUNRPC 4.0 | -------------------------------------------------------------------------------
100BASE-TX における RPC によるデータ転送の Round-trip latency (単位: μsec) ----------------------------------------------- | data size (byte) | 4 256 512 1024 | |-----------------------+---------------------| | SSS-CORE, MBCF_SIGNAL | 127 173 221 315 | | SSS-CORE, MBCF_FIFO | 148 194 251 372 | | SunOS TCP | 863 903 918 1033 | -----------------------------------------------
実験条件 ------------------------------------------------------------------------------ | ワークステーション | SPARCstation 20 (85 MHz SuperSPARC × 1) | |--------------------|-------------------------------------------------------| | NIC | Sun Microsystems Fast Ethernet SBus Adapter 2.0 | |--------------------|-------------------------------------------------------| | ネットワーク | Bay Networks BayStack 350T (switching 100BASE-TX HUB) | |--------------------|-------------------------------------------------------| | OS | SSS-CORE Ver. 1.1 | |--------------------|-------------------------------------------------------| | ランタイムシステム | ADSM | ------------------------------------------------------------------------------
LU-Contig (n = 512, b = 16) に対する最適化の効果 ----------------------------------------------------------------------- | 最適化手法 |実行時間|コンシステンシ|パケット数|通信量 | | | (sec)| 管理コード数| | (Mbyte)| |-------------------------+-------------------------------------------| | なし | 28.20 | 5592 K | 5207 K | 47.73 | |動的な | 14.35 | 5592 K | 83.5 K | 113.00 | | パケットコンバイニング| | | | | |静的な手続き間 | 2.17 | 1.43 K | 7.73 K | 9.42 | | 冗長性除去(コアレシング)| | | | | |コンバイニングと | 2.16 | 1.43 K | 7.60 K | 9.27 | | コアレシング| | | | | -----------------------------------------------------------------------
Radix (#key = 1 M) に対する最適化の効果 ----------------------------------------------------------------------- | 最適化手法 |実行時間|コンシステンシ|パケット数|通信量 | | | (sec)| 管理コード数| | (Mbyte)| |-------------------------+-------------------------------------------| | なし | 21.90 | 793 K | 3220 K | 76.72 | |動的な | 12.13 | 793 K | 75.8 K | 101.08 | | パケットコンバイニング| | | | | |静的な手続き間 | 1.57 | 2.08 K | 19.5 K | 13.47 | | 冗長性除去(コアレシング)| | | | | |コンバイニングと | 1.24 | 2.08 K | 10.1 K | 13.63 | | コアレシング| | | | | -----------------------------------------------------------------------
実験条件 ------------------------------------------------------------------------------- | |ワークステーション| SPARCstation 20 (85 MHz SuperSPARC × 1) | | |------------------|-------------------------------------------------| | | NIC | Sun Microsystems Fast Ethernet SBus Adapter 2.0 | | |------------------|-------------------------------------------------| |SSS-CORE| ネットワーク | Bay Networks BayStack 350T | |システム| | (switching 100BASE-TX HUB) | | |------------------|-------------------------------------------------| | | OS | SSS-CORE Ver. 1.1 | | |------------------|-------------------------------------------------| | |ランタイムシステム| UDSM | |-----------------------------------------------------------------------------| | | MPP | Fujitsu AP1000+ (50 MHz SuperSPARC × 256) | |AP1000+ |------------------|-------------------------------------------------| |システム| OS | Cell-OS | | |------------------|-------------------------------------------------| | |ランタイムシステム| UDSM | -------------------------------------------------------------------------------
実行時間の内訳 ------------------------------------- | Sync | 同期処理 | |------|----------------------------| | WC | 書き込み処理 | |------|----------------------------| | PF | ページフォールト処理 | |------|----------------------------| | Msg | メッセージ処理 | |------|----------------------------| | Task | アプリケーション本来の計算 | -------------------------------------