今回、CPU換装したML110 G6は、2011/12/23に購入したようです。 この頃、格安サーバーを買ってGPUカードをさしてWindowsを入れて遊んだり、Linuxを入れて遊んだりしていました。 その前は、ML110 G5(売却済み)とかML115 G5とかも使っていました。
もうすぐML110 G6を購入してから10年になるんですね。
ML110 G6は家でいろいろな環境を作って動かすために使っていたのですが、 CPUがサポートしない機能を使うアプリケーションが多くなり、動かないアプリケーションも多くなったため、DellのPCを買ってもらいました。 普段はDellのPCの方が快適なのでそちらを使っているのですが、ML110 G6も増強することにしました。
ML110 G6は特にカスタマイズせずに購入したので、Celeron® プロセッサー G1101が実装されています。
これを、インテル® Core™ i5-650 プロセッサーに変えることにしました。Core i5ではありますが必要な機能は実装されていたし、TDPも同様の73Wですし、これでいいでしょうということで。
Celeron® プロセッサー G1101のページを見ると、ステータスがLaunchedになっていますね。まだ作っているのかな?
購入したもの
今回購入したのは次の3つです。
品 | 金額 |
---|---|
トルクスドライバーT15 | 637円 |
HY-883-2pcs-6.5W/mk シリコングリスセット | 599円 |
Intel Core i5 i5-650 3.20GHz 4M LGA1156 | 4,980円 |
--- | --- |
合計 | 6,216円 |
CPUは探せばもっと安値のものもあったのですが、ショップで動作確認しているものを選んだので、ちょっとだけお高くなりました。
取り付け前に掃除
で、早速CPU交換とついでに内部清掃をするわけですが、 CPUファンの電源コネクターが固くて取り外しできない問題が発生しました。 格闘はしてみたのですが結局抜くことができなかったので、ケーブルにテンションがかからないようにうまくよけておき、掃除できる程度掃除してCPUファン側の清掃は終わりにしました。
CPUの取り付け
あとはCPUを外して新しいCPUを装着。グリスを塗ります。 グリスの塗り方は次を参考にしました。
CPU換装については次を参考にしました。
買ったシリコングリスは思った以上に固かったので塗るのに苦労しましたが、ヘラとかを使ってうまく均等に伸ばして「まあいいか」と思ったくらいで終わりにして、CPUファンを装着。あとは手の届く範囲で埃とか汚れを取り除きました。
通電テストとBIOS起動
電源ケーブルなどを装着して、電源オン。特にエラー音などはありません。 BIOSを起動してCPUが認識されている音を確認し、Hyper-Threading機能をオンにしました。
OSの起動
そのあと、通常起動して問題なくOSが起動するのを確認と。
ちなみに温度はこんな感じです。偏りがあるのが気になるけど、まあ割と冷えていて余裕があるのではないかと思います。
root@proliant-ml110-g6:~# sensors coretemp-isa-0000 Adapter: ISA adapter Core 0: +29.0°C (high = +89.0°C, crit = +105.0°C) Core 2: +32.0°C (high = +89.0°C, crit = +105.0°C)
DPDKのビルド
今ちょっとDPDKを使っているので、この環境でビルドできるか試しました。G1101はSSE 4.xをサポートしていないので、比較的新しいDPDKは動かすことはできませんでした。
DPDK 19.11.6のビルドや実行も問題なく動くようになりました。 ただ、ビルドにかなり時間はかかったけど。年に何回やるかわからない程度なのでまあこれで良いです。
root@proliant-ml110-g6:~# ./dpdk-helloworld EAL: Detected 4 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: Probing VFIO support... EAL: VFIO support initialized EAL: PCI device 0000:10:00.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:105e net_e1000_em EAL: PCI device 0000:10:00.1 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:105e net_e1000_em hello from core 1 hello from core 2 hello from core 3 hello from core 0
NVIDIA Container ToolkitとかCUDAはどうだろう
CUDAとNVIDIA Container Toolkit、あとはDockerを入れまして あとはdoneです。問題なく動きましたが、そういえばCPU換装する前からこれは動いていました。失礼しました。
今回はUbuntu 20.04.2、UbuntuパッケージのDockerを使いました。
root@proliant-ml110-g6:~# docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi ... Status: Downloaded newer image for nvidia/cuda:11.0-base Sat Feb 27 11:10:53 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce GTX 105... On | 00000000:01:00.0 Off | N/A | | 40% 19C P8 N/A / 75W | 6MiB / 4040MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| +-----------------------------------------------------------------------------+
ちなみに、TensorflowのGPU版は1.5の壁(これ以降、AVX instructionsをサポートするCPUが必要)は乗り越えられませんでした。 ということで、それはバージョン指定して回避と。
root@proliant-ml110-g6:~# docker run --gpus all -it tensorflow/tensorflow:1.5.0-gpu bash
まあ、それは買ってもらったDellのPCにGPUを挿して遊ぶことにします。 とりあえず2コアから4コアになったので、パフォーマンスは少々良くなったので良かったと思います。 あと何年かは使うと思います。