google
ポエム
GoogleCloudPlatform
フェルミ推定

Googleの総サーバ数/総メモリ容量をフェルミ推定してみた

きっかけ

Cloud Functions for FirebaseとFirebase Hostingを連携させる より
nodeinfo「total memory 3.3 EB
やちま「ぱなさ極まってる」
hnw氏「それホントに正しい値なんですかね…?」

tl;dr

推定の結果,
Googleの総利用サーバ数:3000万くらい
Googleの総メモリ容量:3EBくらい
(フェルミ推定なので桁がズレない程度の誤差は十分あり得る)

手順

  • データセンターの数を知る
  • 1データセンターの面積を求める
  • ラックあたりの専有面積,サーバ数を求める
  • サーバあたりのメモリ容量を知る

Googleのデータセンターの数

https://www.google.com/about/datacenters/inside/locations/
上記より,少なくともデータセンターは15箇所ある.
日本など間借りしているところが抜けているので,実際はもっと多い.

https://cloud.google.com/compute/docs/regions-zones/regions-zones
上記(英語版が最新)によれば,現在GCPで利用されているのは11箇所,うち5箇所がGoogle自前.
総数21箇所.

データセンターの面積

例えばBerkeley Countyのデータセンターの場合
Screenshot 2017-08-06 at 13.18.38.png
まぁ右下のスケールバー的に,$40,000m^2$はいけるっしょ(雑)
 

ラックあたりの専有面積

 
Googleのラックはオリジナルで,一般的なものより少し小さい.
オープンソースになっている1ので確認しようとしたが,ダウンロード遅く断念.
 
一般的なラックはざっくり$500mm*900mm$2
通路やら諸々で多めに見積もり$1000mm*1000mmとする$.
$1000mm * 1000mm = 1m^2$

ラックあたりのサーバ数

https://www.google.com/about/datacenters/gallery/
Berkeley County
Douglas County
写真より,平均30程度は重ねている様子.

サーバあたりのメモリ容量

オープンソースになっている1のが確認できず悔やまれる.
例えばPowerEdge R940では最大 $32GB*24$の構成が可能3だが,Googleはスケールアップよりスケールアウトの方針が得意であるため,そこまでハイスペックではないだろう.
$128GB$と仮定する(雑).

結論

$21 * 40,000m^2 / 1m^2 * 30 = 25,200,000$ (Googleの総利用サーバ数)
$128GB * 25,200,000 = 3.2256EB$(Googleの総メモリ容量)
というわけで,'Datacenter"s" as a computer' などという凄まじいシステムが本当に実現できているとすれば4total memory 3.3EB も実際の値として有り得ない話ではないように思う.

えにーくえすちょん?

ご指摘,ご質問など全裸待機.
ハードは全くの門外漢なので.