経緯

事はデスクトップPCが壊れたことに端を発する。

起動不能となり、配線のチェックなども行ったものの解決せず、結局秋葉原まで持ち込み修理に出してきた。

BUYMORE秋葉原本店で購入したものであるため、Unicom秋葉原サポートセンターに持ち込み。
事前に、ケースが不要であることを確認し、電源と、マザーボード+メモリ+APUの状態で持ち込んだ。

ちなみに、台風のため(甚大な被害を出したあの雨だ)、翌日の持ち込みとなった。

秋葉原サポートセンターは非常にわかりづらい場所にある。随分探しまわってしまった。
総武本線の高架下沿いで、JRの駅からは中央通りをはさんで反対側、御茶ノ水方向で、KFCの向かいだが表ではなく裏側の向かい、マウスコンピューターの地下1階で、しかもその階段はサービスカウンター沿いの奥にある。

とりあえず持ち込んだはいいが、なんといっても台湾送りのため、1ヶ月程度はかかるもよう。その間仕事ができないというのは、とても困る。

暫定的な対応

とりあえずは、ProLiant MicroserverのSlaveディスク4台を抜き出し、Masterディスク4台を投入、Masterのキーファイルを入れ、Masterをマウントできるようにする。

SlaveをMasterに昇格させると数日分の作業データを失うこととなる。
基本的にはSlaveはMasterディスクの損失に対する存在だ。

これによってProLiant MicroServerで本来のデータが扱えるようになり、sshfsでアクセスすることでデータにはアクセスできるようになった。

だが、環境に関するデータは結構困る。
FUSEやNFSでマウントしているデータへのアクセスはかなり制限される。FUSE環境だとアクセスできるのが所有者に限られるためsudoが使えない、という程度はわかるが、なんとSpamassassinがちゃんと動かない。ちなみに、sudoでもsu -cでも動かないが、su -なら動く。

細かく様々制約され、「なんだか変な挙動」「なぜか動かない」が蓄積し、作業効率を大幅に下げる。

問題はそれだけではない。それをドライブする端末がないのだ。
ThinkPad e440は異常なまでに不安定であり、作業効率は10%も出ない。1分ごとにXが落ちて、その再起動に30秒程度かかるなど話にならない。

ちなみに、e440はWindowsの初期状態でもかなり不安定な挙動を見せる。もう、Lenovoのことはだいぶ嫌いになっている。

かといってとProLiant MicroServerの直接利用も性能的にも厳しいし、映像出力系にトラブルがあり、難しい。

対策の候補

いずれにせよ、必要だと分かっていた冗長系投入を遅延させていたのが問題であり、冗長系を投入するのが妥当だろう。
窮状にあって苦しいが、やむを得ない。

候補は以下だ

  • 直近の将来の要求である4k x3モニターが可能なメイン系(現行を冗長系へ) (14万円)
  • あくまでも冗長系の新品AMD A4マシン (3万円)
  • あくまでも冗長系の中古マシン (2万円)
  • 活用可能な中古マシン (4万円)

4k x3を可能にするのは、Quadro K1200が最低ラインのようだ。K620に関しては、DP Hubによる分岐もFQHDまでしかサポートしない。そのため、結構な額になった。なお、全体はSkylakeで構成することを想定した。

やはり、額が大きいことと、これからSkylakeも安くなっていくだろうし、USB CやDDR4メモリなど新規格が続々の中ではなかなか筋が悪い。

新品AMDマシンは構成が近いため、冗長環境を作りやすいが、既に問題が大量にあり、しかも十分なパフォーマンスがないというのに、さらに下位のものを選ぶのはなかなか厳しい。

さらに、メーカーが非常に評判が悪く、保証どころか修理すら預けられない感じであったため、それならば中古のほうが良いと判断し、最初に消去した。

2万円はCore i7-870、4GB RAM、GeForce 250GTマシン、4万円はXeon W3565, 4GB RAM, Quadro 2000マシンだった。

Windows的に、そしてベンチマーク的に測ればおそらく大差ない。実際ベンチマークを見るとXeon W3565が6,093、i7 870が5,480で、7700kは5,247となっている。

Skylake i7のベスト(i7-6700k)は10,957、4770kでも10,184ということを見れば、やはりふるさは否めない。
一方で逆の見方をすればそれで最新のKaveriよりも上なのだから、ハイエンドってすごいなぁ、とも思う。

GeForce GTS250は随分数字が小さいことに不安を覚えたが、この時は全世代のハイエンドである9800 GTX+(上から2番目)の名前だけを変えたのがGTS 250で、このシリーズでは上から6番目、下から4番目、とのことだ。

古いので、最新ゲームは結構きつそう。時代を感じる。

もっとも、もうこの世代になるとGeForceはOpenGLを切る方向だった。
LinuxはDirectXを使わないし、安定性を求めるならQuadroのほうがいい。nVidiaはQuadroに関してはLinuxのサポートも手厚い。

Windows上での性能は差が小さいが、私が使う上での価値はかなり差が開いている。妥当な価格差だ。

これだけの性能があれば、何かの時に助けてくれる気がする…ということで、hp Z400 workstationを購入した。

hp Z400 Workstation

2009年に投入された前期型型Z400ワークステーションは、CPUはXeon W3520からW3580までで、これら対して5250円の水冷オプションがある。

グラフィックスボードを持たない最小構成で22万円程度、Quadro FX1800を含むと27万円程度とのこと。

後期型はW3520はそのままだが、W3565, W3680, W3690とプロセッサが変更され、グラフィックスのラインナップも一新、QuadroだけでなくFireProも加わっている。
また、メモリスロットを4から6に増やし、最大24GBメモリをサポートするようになった。チップセットはintel X58とのことだ。

最小構成+水冷を99,750円で提供していたらしいが、最初構成で買う人がいたのだろうか?

SASモデルもある。SASモデルでなくてよかった。

私が購入したモデルは、Xeon W3565プロセッサ, 4GB RAM, Quadro 2000の水冷モデル。
SATA仕様で、電源は475Wブロンズ、X58チップセットの後期型だ。

光学ドライブを搭載している。DVD-ROMドライブやBDドライブもあったようだが、DVDスーパーマルチドライブだった。

Xeonについて

Intel XeonはIntelのワークステーション/サーバー向けのCPUである。

ワークステーション向けは処理性能が高く、サーバー向けはコア数が多くて発熱が抑えられている。

Xeonのワークステーション向けの下位モデルは、民生用で最上位のCore i7 Extreameシリーズと同等品となり、またそれ以上のモデルが用意されている。

基本的には民生用のCoreシリーズと比べると高性能だが、それだけでなくECCメモリーへの対応や、CPUあたり6本のメモリスロット、マルチCPUのサポートなどより高度な性能要求や安定性に耐える仕様となっている。

その分各部品は割高だ。マザーボードも非常に高価だが、ECCメモリーなども地味に痛い。

Quadroについて

nVIDIA Quadroは、nVIDIAの映像処理向けグラフィックスボードだ。

民生用のGeForceがDirectXに特化した「ゲーム用」であるのに対し、3Dグラフィックデザイナー、CADアーティスト、映像クリエイターなどに向けてOpenGLに特化した仕様としている。

また、安定性もかなり高められており、他画面出力にも強くトレーダーにも適している。

nVIDIAはQuadroについてパッケージにLinuxへの対応を明記している。

ドライバーサポートはnVIDIAのほうが全体に手厚い。
ただし、ビデオドライバのパフォーマンスは、Windowsはおろか、FreeBSDと比べてもはるかに低いのが残念なところだ。

Z400の内部とシステム

配線は余り過ぎない長さになっており、さらにそれがまとめられた上にカバーまでかけられている。

カバーはメモリも覆うようになっていて、放熱上不利に見えるが、もしかしたらエアーコントロールによってむしろメモリ放熱が考えられているのかもしれない。

5インチオープンベイが3つ、3.5インチシャドウベイが2つ、3.5インチオープンベイに見えるが実際は使いみちのない塞がれたベイがひとつある。

SATAコネクタは6で、SATA 2.0 3Gbps。
ただし、SATA電源コネクタは5。空きの4ピンがふたつあり、電源増設は可能。

PCI関連は

  • PCI e2 x8
  • PCI e2 x16
  • PCI e x8
  • PCI e2 x16
  • PCI
  • PCI

となっている。

メモリスロットは6、最大搭載可能量は24GB。標準では2GBx2が積まれていた。トリプルチャンネル仕様。

おそらくはスタビライザーとして昨日するのであろう緑色のステーがQuadroに向かって伸びている。

基本的には緑色の部分は工具なしで操作できる部分だ。パネル自体はハンドル式になっており、必要な工具は増設時のトルクスのみか。

BIOS式でUEFIなし。

BIOSは、起動ロック、ディスクの暗号化に対応。また、RAIDコントローラを持ち、RAID構築が可能。

WoLに対応。ハイパースレッディングのOn/Offが可能。カバーセンサーについては有効・無効を設定可能。

設定項目は非常に少ない。

ブートデバイスの選択は、Optical, USB, Diskのみ。WindowsとLinuxの切り替えは基本的にはデバイスの起動順序を利用する必要がある。

また、Opticalを指定すればOptical Driveを読みにはいくのだが、ブータブルなCDを入れていてもスルーされてしまうことが結構あった。

OSはWindows 7 Professional。ちなみに、この個体はhpのデフォルトではなく、ショップで入れて認証したものが入っている。

Windowsエクスペリエンスでは、だいたい7.0から7.5。ディスクだけは5.9にとどまった。Windowsのディスクは250GB HDDである。UEFIをサポートしないため、ブートディスクの容量は2.2TBが上限となる。

メモリ増設

あとから知ったのだが、hpは

  • DDR3-1366 DIMM ECC Unbufferedのみ対応
  • hp以外のメモリは使用不可
  • ECCとNon-ECCを併用すると、メモリエラーとなり起動しない

と言っている。また、調べてみると

  • ECCとNon-ECCを混ぜることはできない
  • BIOSで有効・無効が切り替えられるのなら、無効にすればNon-ECCメモリが使用できる。常に有効であるなら使用できない。いずれにせよ混ぜることはできない
  • 否、無効にしてしまえば混ぜてもNon-ECCとして動く

とある。

CFD ELIXIR W3U1600HQ-4Gを追加した。

「おそらくはNon-ECCの、DDR3-1600メモリの4GBx2」である。

メモリチェックはちゃんと通ったし、LinuxもWindowsも問題なく機能する。
よくわからないが、とりあえず気にしないことにした。人には勧めない。

なお、最初から1366のメモリが積んであるにもかかわらず、1066で動作している。

HDD

完全にデスクトップを代替しようとすると、Windowsは「音楽系ソフトを入れる別なディスクが必要」となる。

ディスクは6、マウントは5でいいと思ったのだが、実際はディスクは7、マウントが6必要であることに気がついた。

これは、Windows + Windows DATAで2台、Linuxシステムで1台、btrfsプールで4台だ。
PCIeカードでコネクタは間に合うし、電源はなんとかするとしてもマウントがない。

1台はSSDなので、適当に固定すれば良いのだが、HDDはそうもいかない。しかも、光学ドライブがあるため、マウントはさらにもうひとつ必要なのだ。

結局は、全てHDDに充てることで解決したが、実は方法はあった。

マウントに関してはiStar USA BPN-DEを利用した。

これは、5.25インチベイに固定するHDDラックで、5インチベイx2に対して3.5inch HDDx3を固定できる。
ガシャポン式で、コネクタはSATA 6Gbps。トレイなし、ホットスワップ非対応だ。

このラックは、SATAコネクタは3本(当然)必要だが、電源コネクタは2つでまかなえる。そのため、これを使うと電源増設が不要だ。

WindowsのHDDの割り当てが1台しかないため、音楽をこちらに移すことは諦めたが、このラックを使って入れ替えれば可能であることに気がついた。

それどころか、入れ替える前提であるならば光学ドライブを残すことすら可能だ。

しかし、どの程度抜き差しして大丈夫なものか、よくわからないため、しょっちゅう交換する使い方は不安がある。

なお、これらの固定方法はやや特殊。ドライブ自体にまずガイドネジを取り付け、ベイ開口部から挿入する、という形だ。
5インチベイのラックについては、上段が若干ネジ穴位置が低く、ネジを入れてしまうとガイドを通らなかったので、下段のみにネジを入れて固定した。

ネジはシャーシに固定されている。これはProLiant Microserverと同様だ。マイナスドライバーも受け付けるが、基本的にはトルクス。これはProLiant Microserverと規格が同じで、レンチが流用できた。

Linux上での性能

まず、この通り

$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.19 GHz
			available frequency steps: 3.19 GHz, 3.19 GHz, 3.06 GHz, 2.93 GHz, 2.79 GHz, 2.66 GHz, 2.53 GHz, 2.39 GHz, 2.26 GHz, 2.13 GHz, 2.00 GHz, 1.86 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1.60 GHz and 3.19 GHz.
				The governor "ondemand" may decide which speed to use
				within this range.
current CPU frequency is 1.60 GHz.
boost state support:
	Supported: yes
	Active: yes
	25500 MHz max turbo 4 active cores
	25500 MHz max turbo 3 active cores
	25500 MHz max turbo 2 active cores
	25500 MHz max turbo 1 active cores

ここで躓かれても困るが。ただ、ondemandperformanceしかないのか。

ハイパースレッディングをONにした状態だと、

$ nproc
8

これも当たり前。

実際、感覚としてはA10-7700Kとはまるで違う。
A10-7700Kは3.4GHzだというのだが、実際に動かしているとほとんどの場合、2.4GHzで動作する。負荷がめいいっぱい高い状態でも2.6GHz、2.8GHzがせいぜいで、フリーズするような状態になってもそんなものだ。

ベンチマークなどで見る性能には、はるか届いていない。というか、モバイル用Celeronのほうがさくさく動く始末だ。

それに対して、Xeonは圧倒的に速い。細かく停止するようなトラブルもない。

メモリは4GBでは圧倒的に足りない。yaourtでビルドできないパッケージが結構ある。
/etc/yaourtrcで設定すれば回避できるが、結局メモリが足りないという問題の解決にはなっていない。

12GBあれば日常的には問題ない。
ただし、一時的であれtmpfsに大きなファイルを置くと圧迫される可能性がある。
とはいえ、実際に使われる範囲としては、6GB前後というのが私の感覚なので、tmpfsに半分とられてもswapもあるし、12GBというのは、おおよそ問題ない気がする。

ただ、そもそも圧迫されている状態になった時にバッファとして使える領域が非常に少ないため、16GBあったほうが安心ではある。

Xeonがとにかく速く、メモリを増設した時のパフォーマンスは本当に感心する。
それだけ良いようだと、最新のワークステーションはどれほどのものなのか…

Quadro 2000 と Linux

さて、問題のQuadroだ。

AMD A10-K7700はAMD R7グラフィックス相当だが、Catalystドライバを使っていても

  • セカンダリディスプレイのマウスカーソルが歪む
  • VDPAU/VA-APIともに使用できない
  • Xのパフォーマンスが非常に悪い。描画のもたつき、プチフリーズが多い
  • Chrome系ブラウザが動作しない。画面が表示されたり消えたりする。プロセスが増えるとまずダメ
  • Skypeで画面が歪む。変色し、緑色の線が入る
  • マルチデスクトップは正常に機能しない

これなら安定して動作するIntelグラフィックスのほうがいいのではないか…と思ってしまう。パフォーマンスも非常に悪い。

対するQuadroは、これらの問題が見事なまでに発生しない。
100時間以上を費やし、動作しない理由の究明に勤しんだVDPAU/VA-APIも、いともあっさりと動いた。動画再生は非常に快適だ。

ただし、VLCで「DRM経由のVA-API」にすると動作しない。「XのVA-API」にする必要がある。

驚いたのはImageMagickの処理が飛躍的に高速化したことだ。
従来1分は余裕でかかっていた処理が3秒以内に完了する。おそらく、数時間かかっていたmogrifyの負担も著しく軽減されるだろう。

とにかく安定している。問題らしき問題が発生すること自体稀だ。

ただし、デスクトップで動作していたOpera Devloperは動作しない。フリーズしてしまう。また、Chrome系のChromiumなどは動作はするものの、入力に対する反応が著しく遅い。Blinkの神経質さが気になる。

Blink系ブラウザではMaxthonが正常に動作するが、Maxthonは現在AURから落ちてしまっている。旧リポジトリから入手可能だ。

これからは事実上Blink以外の選択肢が失われていくように思うのだが、Blinkの動作の不安定さは非常に気になる。WebKit系は動作するが、非常にもっさりだ。

結論

LinuxのグラフィックスボードはQuadro。

AMDのCPUのパフォーマンスが出ない理由はよくわからない。ビデオもCPUも、Windowsではそれほど悪くないように感じるのだ。

ただし、Windowsではオーディオデバイスのほうが見事に落ちまくる。ASIOドライバを使うようなデバイスは、やはりIntelのほうが最適化されているのだろう。AMD CPU不可というものもあるくらいだし、完全な互換性はないのか。

で、AMD APUのパフォーマンスはWindowsの時よりもはるかにしょうもないものに見える。非常にストレスフルな性能だ。

結局のところ、Intel CPU + Quadroという、普通の組み合わせ(Quadroは普通ではないが、Linux的にはむしろ妥当だ)が一番いいようだ。

愛着のある、はじめての自作PCとの比較がこのようなことになって、とても残念だが、だが、このような蓄積は仕事上必要だと思うことにしよう。

高度なことを求める人にLinuxを動かすハードウェアとしてAMD APUは勧められない。

VDPAU/VAAPIが動作しないのは、ディストリビューション的な事情かもしれないが、少なくともマウスカーソルが歪むという問題はディストリビューション問わず発生した。Skypeに関しても同様だ。

これが、Radeon全般の問題なのか、7700K固有の問題なのか、はたまた私の7700Kの問題なのか、あるいはCatalystの問題で将来的に解決されるのか…といったことはわからない。
ただ、マウスカーソルが歪む問題は、やはりRadeon * CatalystにおいてWindowsでも報告されている。

スペックだけをみればAMDの製品はLinuxのほうを向いているかのようだが、事実はそうではないらしい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.