“Linus Torvaldsの右腕”と呼ばれるLinuxカーネル2.6のリード・メンテナ(開発責任者)Andrew Morton氏は,2006年8月,米Googleに移籍した。Googleはその数十万台とも言われるサーバーでLinuxをどのように使用しているのか。Morton氏はGoogleでどのような役割を果たしているのか。The Linux Foundation Japan Symposium(関連記事)のために来日した同氏に聞いた。(聞き手はITpro編集 高橋信頼)
![]() [画像のクリックで拡大表示] |
---Googleでの仕事と生活についてお聞きしてよろしいでしょうか。
毎日オフィスに向かい,自分の部屋のドアを開け,椅子に座ります(笑)。普通の生活です。
---Googleではどのような仕事をされているのですか。
私はGoogleのプラットフォーム・グループのメンバーです。プラットフォーム・グループはGoogleがサービスを提供するためのソフトウエア,ハードウエアなどに関わります。私は主にLinuxカーネルの担当です。
具体的には,カーネルのバグがあった際にそれを調査し,修正し,アップストリームのカーネルに統合することです。
GoogleにおけるLinuxの改造
---GoogleはLinuxカーネルを自社のサービスのために改造して使用しているのでしょうか。
手を入れてはいますが,それほど大きな変更ではありません。
Googleでは,1台のサーバー内のリソースのサービスへの割り当てを管理するためにカーネルにちょっとした改造を行っています。1台のサーバーのメモリーを最大64に分割しています。コンテナライゼーションと呼ぶ方式ですが,これには,Linuxカーネルが備えているNUMA(Non-Uniform Memory Access)アーキテクチャ対応機能を利用しています(編注:NUMAは,大規模並列マシン向けのアーキテクチャで,CPUとメモリーを持つ複数のノードで構成されるが,全てのノードが同じメモリー空間を共有する)。
つまり,Linuxカーネルに対し,普通の1台のサーバーを,あたかも多くのノードからなるNUMAアーキテクチャ・マシンであるかのように見せかけます。これにより1台のサーバーのメモリーを複数の区画に分け,それぞれを別々のサービスに割り当てることで,サービスへのコンピュータリソースの配分を管理しているのです。
といっても,ちょっとしたトリック(cheat)でNUMAに見せかけているだけで,大がかりな変更というわけではありません。
---他に改造しているところは。
その他には....カーネルに大きく手を入れているところはありませんね。
仕事の90%はLinuxカーネル・メンテナ,10%はGoogle
---Linuxカーネルのメンテナとしての仕事と,Googleのための仕事には,それぞれ何%の時間をあてていますか。
90%はLinuxカーネルのパブリックな仕事にあてています。10%はGoogleの仕事にあてています。
---なぜGoogleはあなたを招いたのでしょう。