このページの本文へ

前へ 1 2 次へ

Windows Info 第223回

20H1とともに正式に来るWindows Subsystem for Linux 2の実力を見る

2020年05月10日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 そろそろ「May 2020 Update」こと、Windows 10 Ver.2004(以下コード名で20H1)が最終版になる。とりあえず、完成したよ的なアナウンスがあった。

 20H1における最大の変更点は、Linuxカーネルを使うWSL2(Windows Subsystem for Linux 2)だ。そこで今回は、WSL1とWSL2を比較してみることにした。WSL2ではLinuxカーネルが仮想HDD上でネイティブのファイルシステムを動作させる。このため、NTFSの上でLinuxのファイルシステムをエミュレートしていたWSL1のVolFs(あるいはlxfx)に比較してファイル処理などが高速化するという。

 その一方で、WSL2では仮想マシン環境でLinuxカーネルを起動させるためオーバーヘッドがある。また、WSL2からNTFS側をアクセスするには、9Pと呼ばれるネットワークプロトコルが用いられる。これにより、WSL2側からWindowsのファイルアクセスは可能になるが、ネットワークによるファイル共有と同じ仕組みであるため効率はよくない。

 そこでまずは、WSL1/WSL2内部でのベンチマークでCPU性能やカーネルの機能呼び出し性能(WSL1では、WindowsがLinuxカーネルをエミレーションしている)、ファイルアクセス性能などを調べていきたい。

UnixBenchは米国Byte誌が開発したUnix用ベンチマークソフトで、ソースコードとして公開されており、コンパイルすることでWSL上のLinuxでも動作する

Linux上でのベンチマークにはどんなものがある?

 Linux上でシステム性能を測定する方法はいくつかある。たとえば、/proc/cpuinfoには、bogomipsと呼ばれる値があり、これは起動時に簡易的になされるCPU速度の測定だ。ただしWSL1では、Linuxカーネルがないため、bogomipsもどうやって測定しているかハッキリしない。また、ファイルシステムのアクセス速度は、ddと呼ばれるコマンドがファイルシステム上の転送速度を表示できるため、簡易な速度測定によく使われる。

 これ以上になると、ベンチマーク専用のソフトウェアを利用する必要がある。そのうち著名なものの1つがUnixBenchだ。

 Unixbenchは、旧Byte誌が作成した。Byte誌は、8bitパソコンの時代にもBASICのベンチマークソフトウェアを発表していたことがある。このUnixbenchは、Unixワークステーションが普及し始めた頃に作られ、整数演算、浮動小数点演算やプロセス生成やシェルによる処理、2D/3Dグラフィックス描画性能などの測定ができる(ただしグラフィックスは、X Window Systemが前提であるため、今回は割愛した)。

 ソースコードが公開されていて、現在も開発が続いており、Linuxへの対応も進められている。今回はこれを使って、WSL1とWSL2を比較してみたい。評価にはプレビュー版ビルド19041.208を用い、WSLには、Ubuntu-18.04を使った。CPUは、Core i7-3517U(クロック1.9GHz)、メモリは8GBである。

Unixbenchを実際に動かしてみる

 今回はUnixbenchのうち、すべてのコアで並列に実行した。デフォルト設定では、シングルコアとマルチコアのテストを別にするのだが、時間の関係もあり、マルチコアでのテストのみとした。行ったテストは以下の表のようなものだ。Unixbenchでは、これらのテストをまとめて「system」と呼んでひとまとまりのグループとしている。デフォルトで実行されるのも、これらのベンチマークテストだ。

 上の表に含まれるテストは、かつては製品同士の比較などに使われていたポピューラーなものだが、今の読者にとってはドライストーン(Dhrystone)やウェットストーン(Whetstone)など聞いたこともないという人は少なくないだろう。そこで簡単に解説しておく。

 浮動小数点演算の性能を測定するためのWhetstoneベンチマークは1972年にイギリス国立物理学研究所で開発された。ウェットストーンという名称は、最初にプログラムを記述した「Whetstone Algol 60」というコンパイラーの名称に由来し、もともとはイギリスの地名であった。

 Algolは、ヨーロッパ(EU統合以前の話である)が中心になって開発したコンピューター言語である。ウェットストーンは意味のある計算をするものではなく、評価対象としたKDF9というコンピューターでプログラムを実行したときの機械語命令の利用頻度を再現するようなプログラムとして作られた。つまり、ウェットストーンは当時の一般的なプログラムとほぼ同じ機械語命令を含むため、その実行結果から該当マシンのプログラムの実行速度を評価できるとされていた。

 ドライストーンは、このWhetstoneに対して整数演算性能やメモリアクセスの速度を調べるために作られたプログラムで、「ウエット(湿った)」に対して「ドライ(乾いた)」という連想から名前が付けられ、Whetstoneと同じく2文字目を「h」とした。開発は1984年で、米国防省が採用したことで著名となったAdaという言語のソースコードとして公開されたが、のちにC言語に移植されUnix上で動作するものとなった。

 ドライストーンが必要になったのは、浮動小数点演算ハードウェアは、メインフレームなどでは一般的だったのに対して、ミニコンやマイクロプロセッサを使ったシステムでは必ずしも搭載されておらず、ソフトウェアによる演算が一般的であり、これにウェットストーンでは適さなかったからである。

 この2つは、当初はコンピューターシステムの性能を測定するという意味合いが強かったが、最近のCPUから見るとどちらも小さなプログラムであるためキャッシュに入ってしまう。そこでどちらかというとCPU性能を測定するものとして使われることが多い。かつては、コンピューター同士の比較を1秒間に実行できる命令数(MIPS値)で比較していたこともあったが、それでは最近のスーパースケーラーやアウトオブオーダー実行といった機能やCISC、RISCといった命令セットの違いなどを考慮できないため、ドライストーンで測定した値を元にしたDMIPS(Dhrystone MIPS)を使うことがある。

 UnixBenchで実行する、ほかのテストとしては、Unixのシステムコール関係(syscall、pipe、context1、spawn、execl)やファイルコピー(fstime、fsbuffer、fsdisk)、シェルプログラムの実行性能がある。システムコール関係のベンチマークでは、API呼び出しのオーバーヘッドや実行ファイルからのプログラム起動、プロセスの生成などの性能を測定する。また、シェルプログラムによる簡易な実行のベンチマークでは、シェルスクリプト(sort、grep、od、tee、wcなどの基本Unixコマンドによるもの)を繰り返し実行したときの速度を測る。

 このUnixbenchが広く使われたのは、1980年代からのUnixブームやその後のワークステーションブームの頃。当時GUIはすでに利用可能だったが、多くのユーザーはコンソールやターミナルウィンドウからコマンドラインで利用することが多く、こうしたベンチマークは体感性能と、さほどかけ離れていなかった記憶がある。

 UnixBenchは、C言語で記述した実行プログラムをPerlから起動している。また一部のベンチマークはPerl側で行なっている。なお、UnixBenchを実行するには、ソースコードを入手し、これをコンパイルする必要がある。ただし、コンパイル手順などは煩雑になるため今回は省略させていただく。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
2
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
3
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,800
4
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
5
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥2,111
6
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,980
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,100
8
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥7,035
9
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥4,918
10
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン