Ubuntu Weekly Recipe

第523回 Kaby Lake GでパワフルPCを構築する

この記事を読むのに必要な時間:およそ 9 分

CPUのベンチマーク

テスト環境はUbuntu 18.04 LTSです。ビルドするLibreOfficeは,5月末時点でリポジトリに存在する6.0.3としました。

「ソフトウェアとアップデート」を起動し,⁠Ubuntuのソフトウェア」タブの「ソースコード」にチェックを入れておきます。そして,次の一連のコマンドを実行すればLibreOfficeのビルド開始です。

$ sudo apt build-dep libreoffice
$ sudo apt install fakeroot
$ mkdir libreoffice && cd $_
$ apt source libreoffice
$ cd libreoffice-6.0.3
$ time dpkg-buildpackage -r -uc -b

ビルド中のシステムモニターとpsensorの様子は以下のとおりです。

図3 configure終了直後ぐらいからCPU使用率が急上昇する

画像

図4 コンパイル中は全コア使用率100%に張り付いている。CPU温度もほぼ最大値に

画像

システムモニターのメモリー使用量はfreeコマンドで言うところの「used」を表示しています。それに対してpsensorのメモリー使用量は「used + buff/cache」です。

図5 実はメモリーはそこまで使用しない(左グラフ真ん中の紫の線)⁠ただしbuff/cacheの値は少しずつ増えている結果,メモリーの空き容量は減っている(右グラフの下がっているオレンジの線)

画像

図6 ビルド終了後少しするとCPU温度は55度前後に落ち着く

画像

さて,実際に要した時間は以下のとおりです。参考までに第510回で計測されたRyzen 5 2400G,Ryzen 5 1600,Core i7-4400Sも載せておきます。

Core i7-8809G Ryzen 5 2400G Ryzen 5 1600 Core i7-4770S
real 91m 7.029s 112m43.841s 79m59.213s 99m41.826s
user 558m23.526s 726m21.214s 700m43.015s 639m 5.540s
sys 29m45.447s 40m42.013s 41m43.797s 32m21.332s

またCPUのカタログ性能の違いは次のとおりです。

コア/スレッド 定格 ブースト時
Core i7-8809G 4コア8スレッド 3.1GHz 4.2GHz
Ryzen 5 2400G 4コア8スレッド 3.6GHz 3.9GHz
Ryzen 5 1600 6コア12スレッド 3.2GHz 3.6GHz
Core i7-4770S 4コア8スレッド 3.1GHz 3.9GHz

今回の計測と他の3つでは環境が大きく異なるため単純には比較できません。しかもRyzen 5の本来の競合はCore i5のはずなので,あまりフェアでもありません。

それでもコア数の多いRyzen 5 1600はやはり突出してビルド時間が短くなっているようです。コア数は正義。Core i7-8809Gの特徴としては,userが極端に短いことでしょうか。こちらの値がすべてのコアを合算した総ビルド時間に該当するので,Ryzenに比べるとシングルスレッド性能はCore-iシリーズに軍配があがりそうです。速いのは正義。

ちなみにビルド中にcpuinfoを確認した限り,すべてのコアが動いていたからかせいぜいが3.6GHzぐらいで,4.2GHzまで出ることはなかったようです。dmesgにはThermal Throttlingが働いた旨のメッセージが大量に残っていたので,⁠まだ本気出していない」可能性はあります。なお,計測上CPUが100度近くになったときであっても,筐体はほとんど熱くなりませんでしたし,ファンもそこまでうるさくはありませんでした。熱設計を相当がんばっているものと思われます。

SSDのベンチマーク

ついでにSSDのベンチマーク結果も記載しておきます。

といってもNVMe SSD上に構築したext4ファイルシステムの上で,fioを動かしただけです。よってNMVe SSDのカタログスペックよりはファイルシステムも加味した値になることに注意してください。

fioは次の方法でインストールできます。

$ sudo apt install fio

さらにfioを用いてCrystalDiskMarkっぽい計測を行うスクリプトも導入しましょう。といってもリンク先のスクリプトはテストパターンが古いCrystalDiskMark準拠なので,CrystalDiskMark 6のテストパターンに合わせて調整したフォーク先のスクリプトを利用します。

$ wget https://raw.githubusercontent.com/0xFelix/fio-cdm/master/fio-cdm
$ chmod a+x fio-cdm
$ sudo ./fio-cdm /
|           | Read(MB/s)|Write(MB/s)|
|-----------|-----------|-----------|
| Seq Q32T1 |   3430.000|   2544.000|
| 4K  Q8T8  |   1414.000|    874.000|
| 4K  Q32T1 |   1042.000|    880.000|
| 4K  Q1T1  |     55.100|    266.000|

実際に実行してみると「4K-Q8T8-Rand-Read: No I/O performed by libaio, perhaps try --debug=io option for details?」というメッセージが表示されます。これは4K Q8T8テストの際にスレッドがすぐに完了してしまった場合に表示されるようですが,原因は不明です。

さて,fio-cdmは引数として渡したディレクトリの直下に1GiBのファイル.fio-diskmarkを作成し,そこにテストパターンを読み書きします。行っているテストは次の4つです。

  • Seq Q32T1: Sequential Read/Write,Block Size=128KiB,I/O depth=32,numjobs=1
  • 4K Q8T8: Random Read/Write,Block Size=4KiB,I/O depth=8,numjobs=8
  • 4K Q32T1: Random Read/Write,Block Size=4KiB,I/O depth=32,numjobs=1
  • 4K Q1T1: Random Read/Write,Block Size=4KiB,I/O depth=1,numjobs=1

I/O depthは非同期書き込みの際にいくつI/O処理を多重化するかを示し,numjobsはそのテストパターンをいくつのスレッドで並列して行なうかを示します。

今回使用したWDS500G2X0Cの公称値と比較してみましょう。IOPSは速度をブロックサイズで割ることで算出できます。

Blocksize 公称値 Q32T1 公称値 Q32T8 Seq Q32T1 4K Q8T8 4K Q32T1 4K Q1T1 4K Q32T8
Sequential Read (MB/s) 3400 - 3430 - - - -
Sequential Write (MB/s) 2500 - 2544 - - - -
Random Read (IOPS) - 410000 - 345215 254395 13452 426000
Random Write (IOPS) - 330000 - 213379 214844 64941 215000

最後の「4K Q32T8」はWestern Digitalの計測方法に合わせて取得し直した値です。

Random Writeが頭打ちになっている以外は,ほぼ期待通りの性能が出ています。各種サイトでWindowsで計測した結果※8と見比べてみても遜色ないようです。

※8
大抵はより高速な1TBモデルでの計測結果ではありますが。

使い道はこれから考える

もともと今メインで使っているマシンにAVX2命令が実装されていないことに気がついたことが,新しいマシンを購入したくなった契機でした※9)⁠家庭の事情から原則としてノートPCか小さなマシンしか置けない上に,今使っているノートPCもそこまで遅いわけでもありません。よって今回の物欲もお流れになるかなと思っていたところで,以前話題になったKaby Lake G搭載のNUCがそろそろ出るらしいとの情報を教えてもらいます。

※9
第252回で紹介したLet's note CF-AX2です。もう5年以上前のモデルなんですね。そりゃ新しい命令は載っていないわけだ。

そこから購入に至るまでの経緯もまとめておきましょう。

  1. NUCは以前からほしかったし,せっかくだからスペックだけでも調べてみるか
  2. あれ,これ,思ってた以上にほしくなってきたぞ……
  3. いつ発売かはわからないけれども次世代マシン用積立金の使用候補にあげておこう
  4. お,海外のAmazon組はもう届いているらしい,日本にもそのうち来るのかな
  5. 日本でも発売されたらいろいろレポート出ると思うし,それを一通り見てから最終的に判断しよう
  6. ふむ,日本では今日(5月24日)発売か,ちょっとショップを覗いていくか

上記のように熟慮に熟慮を重ねた結果,5月24日の夜には手元にありました。なぜだ。

正直,⁠AMD x Intel」というロマンだけで買ったので,なんとか価格に見合う成果を出すよう今から使い道を考える所存です。まずは次回以降の記事で,dGPU側をなんとかする方法を紹介します。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入