オタク日記
(Mac と Linux, 2017Q3)

目次

2017-08-05 (Sat): DigitalOcean VPS

古い日記:
2017Q2   2017Q1  
2016Q4   2016Q3   2016Q2   2016Q1  
2015Q4   2015Q3   2015Q2   2015Q1  
2014Q4   2014Q3   2014Q2   2014Q1  
2013Q4   2013Q3   2013Q2   2013Q1  
2012 年   2011 年   2010 年   2009 年   2008 年   2007 年  
2006 年   2005 年   2004 年   2003 年   2002 年   2001 年


2017-08-05 (Sat): DigitalOcean VPS

相変わらず順調な DigitalOcean VPS (digoc02.otacky.jp)

自宅サーバ (otacky.jp) を、「宅外サーバ」(DigitalOcean の VPS) に移して、もう一年半になるが、この間殆んど問題無し……一度だけ、 「ネットワーク環境を更新するので、数分間遅くなるかも」という通知を受けたが、 結局、こちらからは (スピード低下を含む) 不具合は何も検知できなかった。 素晴しい!の一言。

改めて「讃」を並べておくと

実は、kernel の upgrade の度にリブートしていて、 これが大体一月に一回くらいあるが、その都度 10 秒程度のダウンタイムなので、ユーザは殆んど気がつかないのではないかと思う。

2017-08-11 (Fri): 丁度今リブートする機会が有ったので、再度計ってみたが、さすがに 10 秒という事はなくて、15 秒くらいだった (三度試した)。

「なんだかなぁ」も少しは有った。(というか、 これはこちらの「期待し過ぎ」だったかも。:-) )

という事で、digoc02 を Jupyter サーバとして使うというのは、 早々に諦めたのだった……

新機軸の "High CPU" を試す

少し前の DigitalOcean からのアナウンスに、CPU 能力に特化した droplet をサポートする、というのが有った。上述のように通常の版 (Standard) では、 数値計算の処理能力に不満が有ったので、この新製品を早速試してみた。

例によって、DigitalOcean の Website はとっても洗練されていて、 "Chooze a size" で、"High CPU" の tab を選べば、 下図のように、様々な構成が選べるようになっている。 (但し、今のところ Singapore region では提供されていない……。 San Francisco 1 で試した。)

DigitalOcean, High CPU
Create Droplet で、High CPU を選ぶ
(click して拡大)

ここではとりあえず $40/mo の構成を選択する。後のインストールは、Standard と全く同じ。

その結果、次のような cpuinfo が得られた。(新サーバの hostname を "digoc03" とした。)

% fukuda@digoc03:~% cat /proc/cpuinfo
processor       : 0
model name      : Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
stepping        : 1
microcode       : 0x1
cpu MHz         : 2599.996
cache size      : 40960 KB
bogomips        : 5199.99 

勿論これは大幅に簡略化してあり、しかも二つある CPU のうち、 最初のものだけを示している事に注意。

ちなみに、digoc02 (Standard) では、

% fukuda@digoc02:~% cat /proc/cpuinfo
processor       : 0
model name      : Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz
stepping        : 4
microcode       : 0x1
cpu MHz         : 2399.998
cache size      : 15360 KB
bogomips        : 4799.99 

「信じてはいけない」 bogomips だけど、これだけからだと、CPU 性能は 10% up という事になる。

勿論、numpy での性能がどうなのかちゃん調べないといけない。 但し、Python-3.5 での PyVenv 構築はうまく行かず、 Python-3.6 をインストールするところから始めて、 その PyVenv で性能確認をやってみた。

% fukuda@digoc03:~$ sudo add-apt-repository ppa:jonathonf/python-3.6
% fukuda@digoc03:~$ sudo apt-get install python3.6-venv
% fukuda@digoc03:~$ sudo apt install python3.6-doc binutils binfmt-support
% fukuda@digoc03:~$ python3.6 -m venv pve36
% fukuda@digoc03:~$ cd pve36
% fukuda@digoc03:~/pve36$ . bin/activate
% (pve36) fukuda@digoc03:~/pve36$ pip install setuptools --upgrade
% (pve36) fukuda@digoc03:~/pve36$ pip install ipython numpy
% (pve36) fukuda@digoc03:~/pve36$ ./bin/ipython
> Python 3.6.2 (default, Jul 20 2017, 08:43:29) 
> Type 'copyright', 'credits' or 'license' for more information
> IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.
> In [1]: import numpy as np
> In [2]: A = np.random.rand(1024, 1024)
> In [3]: %timeit B = np.linalg.inv(A)
> 77.2 ms ± 328 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
> In [4]: %timeit C = np.fft.fft2(A)
> 43.1 ms ± 734 µs per loop (mean ± std. dev. of 7 runs, 10 loops each) 

参考のために、既存の "digoc02" では

% (pve35) fukuda@digoc02:~/pve35% ipython
> Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
> Type 'copyright', 'credits' or 'license' for more information
> IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.
> In [1]: A = np.random.rand(1024, 1024)
> In [2]: %timeit B = np.linalg.inv(A)
> 160 ms ± 62.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
> In [3]: %timeit C = np.fft.fft2(A)
> 113 ms ± 21.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) 

つまり、"High CPU" の digoc03 は、digoc02 に比べて

という結果になった。

大したもんだ。ただ、Standard の digoc02 は $20/mo だから、 digoc03 は二倍の値段で、 二倍の性能を出している事になる。 これでは、常時「数値計算サーバ」を動かし続ける訣には行かない。 とりあえず、digoc03 は消した。

しかし、少し前にできた「droplet の snapshot を取って、一旦は消してしまい、 次に使う時は新たな droplet をそこから boot する」 というメカニズムを使えば、使いたい時だけ、最大で 32 CPU のサーバを使う、なんて事ができそう。概算だと、その snapshot はどんな version でも、20GB だから、保存に掛かる費用は \$0.05/GB/mo * 20 = \$1/mo。 そこから、32 CPU version を立ち上げても、\$0.952/hour だから、 丸一日 (8 時間) 使って、\$8。「とらぬタヌキの皮算用」としても、 これは悪くないかも。

"High CPU" が Singapore でも使えるようになったら、早速やってみよう……

おお、今調べたら、既に Singapore でも使えるそうな。 こりゃ、しばらく退屈しないな。 (「そんな暇あるんかい」という心配もあるが……)


230/1,780,896 Valid CSS! Valid HTML 5.0
Taka Fukuda
Last modified: 2017-08-11 (Fri) 17:29:29 JST