未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

ムーアの法則を理解しているということ(第98回カーネル読書会)

第98回カーネル読書会は、はてなの田中さんによる、はてなでのハードでの性能の引き出し方というお題で思う存分お話をいただいた。

1年半で半導体の集積度が2倍になるというムーアの法則は誰でも聞いたことはあると思うし、IT系の技術者であれば、知っていて当然の「法則」である。問題は知っていることとそれを理解していることというのはまったく別のことである。将棋のコマの動かし方を知っていたとしても名人にはなれない。ムーアの法則を知っていても、それが自分の仕事にどのような意味を持つかということを理解し、実践している人は驚くほど少ない。

田中さんは数少ないムーアの法則を理解し実践している技術者の一人である。

1年半で様々なコストが半分になるとしたら、それを前提にシステムを組むことによって、どのような競争優位性をもたらすのか。それを自社のサービス戦略にどのように組み入れるか、ということをムーアの法則の文脈の上ではてなの田中さんは理解している。

例えば、PCサーバーの減価償却が5年だとする。そうすると、何も考えなければ5年間同じサーバーを使うことになる。1年半で2倍コストパフォーマンスが改善するとすると5年で約10倍の差が生じることになる。ムーアの法則を理解していない人は、10倍電気代を食うのか、10倍パフォーマンスが悪いのか、いずれにせよ、コストパフォーマンスが一桁低いマシンをたかが経理上の都合で使いつづけることになる。それが自社の技術的優位性をどれだけ毀損するかということに気がついているかいないかということである。

無駄なサーバーは電気をいっぱい食うし、場所をいっぱい使うし、場所をいっぱい使うということはデーターセンターのラックを専用し、それはダイレクトにコストに降りかかってくる。

利益というのは、売上ーコストだから、利益を増やすためにはコストを下げるか売上を伸ばすかしかないのだけど、技術的を理解している人が貢献できるのはハードウェアの進化によって、どうコストを下げるか、持続的にどうそれをシステムに転換するかということにつきる。

PCサーバーにメモリを32GB積んだときと、16GB積んだときのCPU利用率のグラフを示していただいたが、32GBの場合、まったくIO waitは生じなくて、IOのレートも高かったのが、16GBの場合はIO waitが発生していてIOのレートも低かった。「アプリケーションの変更とかなくて、そのデータが出たのですか」という質問に対し、田中さんがアプリは一切変更していませんと答えた。アプリケーションの変更なしに、ハードウェア、この場合はメモリを増強するということによって、性能を向上できるようにシステムを設計し組み立てるという、まさにムーアの法則を知っているだけではなく正しく理解しているプロフェッショナルなエンジニアによってそのシステムが作られているということを目の当たりに見た瞬間だったと思う。

その他、様々なエピソードを語っていただいたのだが、ムーアの法則を理解したシステム設計の事例として非常に勉強になった。

自作PCカンファレンスというのをやりたいという田中さんの提案に脊髄反射に挙手をしてしまった。楽天でよければ会場は提供いたします。

田中さん、参加していただいた皆様、そして楽天のボランティアの皆さん、本日は、どうもありがとうございました。