ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

ML110 G6を今更CPU換装してみた

今回、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が実装されています。

ark.intel.com

これを、インテル® Core™ i5-650 プロセッサーに変えることにしました。Core i5ではありますが必要な機能は実装されていたし、TDPも同様の73Wですし、これでいいでしょうということで。

ark.intel.com

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機能をオンにしました。

f:id:ytooyama:20210227143419j:plain:w480

OSの起動

そのあと、通常起動して問題なくOSが起動するのを確認と。

f:id:ytooyama:20210227144626j:plain:w480

ちなみに温度はこんな感じです。偏りがあるのが気になるけど、まあ割と冷えていて余裕があるのではないかと思います。

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はどうだろう

CUDANVIDIA 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コアになったので、パフォーマンスは少々良くなったので良かったと思います。 あと何年かは使うと思います。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。