Dellは今から1年ほど前、2016年6月に液冷のラックサイズのサーバシステム「Triton」( 写真1 )を発表しました[1] 。eBay向けのサーバとしても話題になったので、コンクリート壁の部屋に置かれたラックの写真を覚えている人も多いでしょう。
写真1 ラボに設置されていたTritonラック
筆者はこの記事を読んで、それがDellの自社開発であることに興味を持ちました。Dellがサーバ向けの尖った技術開発で目立った記憶と言えば、まず2010年のFlexMem、つまりXeonプロセッサのソケットに装着するQPIインターフェースのメモリコントローラ[2] です。
しかしそれ以外の事例はあまり記憶になく、どちらかと言うとDellは「標準技術を採用する」会社という印象があります。
それがデータセンター事業者向けに独自開発を行い、eBayのような大規模ユーザが採用したと聞けばとても興味が湧きます。幸いにも2017年の3月末に米国のDell本社でTriton開発スタッフに取材する機会が得られ、Tritonの技術的な概要、その開発経緯やアプローチについて興味深い話を伺うことができました。
答えてくれたのはAustin Shelnutt氏です。肩書きはDell EMCのESI(Extreme Scale Infrastructure) 、Principal Thermal Development Managerとなっており、部署名もタイトルも思い切り今回のTritonサーバシステムに絞り込んだ感じです。
Dell EMC, ESI(Extreme Scale Infrastructure), Principal Thermal Development ManagerのAustin Shelnutt氏
DELL本社、Building 1
ESIチームのはじまり
Austin氏にはまずその開発の経緯を伺いました。
Austin(以後単にA) : 2009年から我々はHome-brew(自家製)の設計を始めました。ハイパースケールと呼ばれるようなカスタマと一緒にです。彼らはエネルギー消費効率に関係するとても大きな設備を使っていました。ファン、冷却塔、チラー、なんにせよすべてパワー(電力)が必要です。そこで彼らはいろんな空冷システムの工夫をしていました。
しかし空冷での冷却効率には限度があるわけで、次に大きな飛躍、その余地があるのは水冷でした。何しろ体積あたりの冷却能力が空気に対して4,000倍もあります。これは大げさな数字ですが、現実レベルでもポンプ(水冷)とファン(空冷)について同じ消費電力で出せる冷却能力は20~22倍ほどになります。
また、空冷システムでは十分なエアフローを得るための空間が必要ですが、水冷ならこれを詰めてシステムの実装密度を高めることができます。ハードディスクの有無などによって異なります[3] が、ある種の顧客ではラックあたり35KW、最大50KWまで対応可能です。
もちろん水冷は我々が初めてなわけではなく、多くの人が長く取り組んできたことです。その中で我々の1つのチャレンジは、水冷技術をボリューム・サーバ(安価で大量導入を前提とした製品とそのマーケット)に、手ごろな価格で持ち込むことにありました。
つまり空冷で作られてきたボリューム・サーバの上に水冷システムを構築し、それが保守性(serviceability)や製造性(manufacturability、製造の容易さ)の面で大きな混乱・変化をもたらすことがないようにね。空冷で設計されたものと同じようにメンテナンスされるようにしたかったのです。
我々ESI(Extreme Scale Infrastructure)は、以前、DCSつまりData Center Solutionと呼ばれていました。この組織は巨大なカスタマを対象としていますが、これはカスタマ自身がとても大きなボリューム・サーバ領域に進出してきたことに対応したものでした。つまり彼らのエンジニアリングチームを少し拡大して、我々がそこで彼らと連携しながら作業するのです。
すると、彼らは彼ら自身の問題に直接当たれて、サーバの問題についてはとても短いフィードバックのループが作れます。これが一般的な製品ではなく、特定の顧客の問題を解決する製品を作るのにとても有効なのです。
現在ハイパースケールと呼ばれるような大規模ユーザは、台湾や中国のODMベンダーと直接やりとりして調達するようになりつつあります。それに対してDellは、顧客のエンジニアリングチームと連携して、より早いサイクルでより強い研究開発力を提供することで自社の競争力を維持しようとしているわけです。
CPUまで含めた設計
そうは言ってもいまのPC周りのエンジニアリングで、ODMベンダと大きな違いを出すのはそう簡単ではありません。さてそれは何だろうと聞いていくと、驚くべきことに彼らはCPUを特注していました。
A: 水は空気より熱を持っていく効率が高く、結果として水冷ではCPUの温度を下げることができます。我々はIntelと話して、E5 2679 v4を使いました[4] 。このCPUは実際のところDell、Intel、eBayのパートナーシップのために作られたもので、全20コアを3.2GHzで動かせます。これはすごいことで、それ以外の20コア製品は最大2.5GHzか2.6GHzあたりです。
つまり、TDPが200Wもある(あははは)とてもハイパワーなCPUですが、それに対してCPUの最高動作温度はとても低いのです。つまり、Broadwell Xeonラインナップの中ではとても多くの熱を出すくせに、しかし稼働上限温度は30度近く低い。これは温度を下げると、リーク電流(現代のCPUの熱問題の一大要因)が小さくできることから来る性質です。抵抗値も低く保てて、より高い周波数でドライブすることができるわけです。
GoogleやFacebookにIntelがカスタムCPUを提供していることはよく知られています。しかしそこまでの規模がなく、ハードウェアチームが中にいないところでも、DellのESIチームと踏み込んだ連携をとることで、ここまでのことができるわけです。eBayのようなある程度以上の規模がある企業にはインパクトのある事例だと思います。
なお、この「サーバあたりの処理性能を最大化する」アプローチが万能でないことはAustinも指摘しています。ただこの事例では「顧客自身が独自のCost of ownershipモデルを持っていて、可能な限りノードあたりの性能を高めることがCAPEXが低くなることがわかっていた」とのことでした。
もう少しこの低温カスタムCPUについて質問してみました。
安田(以降単にY) : カスタムなCPUでなく通常のものを買ってきて、低温・高クロックで使うことはできないのですか?
A: これはそのCPUの価値を液冷でうまく引き出すようなもので、既存のCPUをオーバークロックするようなことはできません。今のXeon、GPU、Opteronなどの製品でちゃんと動くようにするにはマニュファクチャらと一緒にやるしかありませんし、そうでなかったら一緒にやる理由はありません。
Y: なるほど。それにしてもトップエンドのCPUモデルはとても高価です。低温でならもっと高いクロック数のプロセッサとして出せる余地があるのなら、Intelとしても液冷用のプロセッサとして妥当な価格の製品を出す、といった戦略が取れそうですね。
A: まったくだ。我々は低価格の製品で、トップエンドの性能を出すことができる。それが我々が大規模顧客に対して提供しようとしてるものだね。これは会社間にとっての良いWinなんだよ。
Austinは「パートナーとの連携の中で、電力と冷却で我々がプラットフォームレベルでできることが何か、と考えてるんだ」と言います。その時はサラッと一言、でしたが、なかなかすごい話をしていると思います。
Tritonの構造
しばらく写真を見ながらTritonの構造について見て行きましょう。
全体構造
Tritonサーバの基本的なアイデアは、従来的な空冷サーバ向けのデータセンターに導入しやすく、高効率な液冷システム、というものです。「 マーケットの主流はまだ空冷なので、それ用の既存フォームファクタの上に(追加する形で)液冷システムを入れる」とのことでした。
つまり彼らが液冷の冷却板をつけるのはCPUと電源レギュレータだけです。それ以外のパーツ、メモリやハードドライブなどの冷却は従来通りの空冷です。PCIeチップセットなどにはヒートシンクもついていますし、そのための筐体内空間とエアフローが必要です。すべてに冷却プレートを付けると高価になりすぎるのです。
写真2 でサーバユニット[5] の冷却機構がわかるでしょう。2つのCPUにそれぞれ銅の冷却プレートが付き、そこにやはり銅の冷却水パイピングが見えます。ヒートシンクの必要なパーツは吸気側であるサーバの前方に集められ、DRAMはCPUの脇を流れる空気が通過する場所に並べられています。何しろ最も多く熱を出すCPUの冷却が不要ですから、エアフローのための筐体内空間は少なめで良く、ファンも弱めで十分なはずです。
写真2 サーバユニットを引き出したところ
このファンは筐体後方にあります。興味深いのはそのファンのすぐ手前(サーバユニットのすぐ背面)に設置される冷却水の供給装置(写真3 )にラジエータが付いていることです。サーバユニットを通過して熱くなった排気は、ここで冷却されてラック外に出ていきます。この装置はファンと一体化されており、ファン・モジュールと呼ばれています。
写真3 ファンモジュール。奥にラジエータが見える
Austinは「これでビルディング自体がまったくヒートしなくなる」と言います。「 もし新しくデータセンターを作る場合、部屋の冷却設備が不要で安くあがる」とのことでした。もちろん冷却水自身を冷やす装置とそこからのパイピングは必要ですが、データセンターの空間利用効率は良くなるでしょう。
水路
写真4~6 を見るとわかるように、ファン・モジュール(兼冷却水供給装置)はラック背面で互いに縦に接続されています。
写真4 ラック背面。縦に冷却水の流路が構成される
写真5 背面のカバーを外すと水路を上下に接続するホースが見える
写真6 ファン・モジュールの背面。接続相手となるバルブが見える
写真5の向かって右が冷水、左が温水(排水)の経路で、それぞれラックの最上部と最下部の両方から給排水されています。これによってどれか1台のファン・モジュールを交換するためにその上下のパイプを引き抜いても、その1台以外の給排水は停止せず運用を継続することができます。これがまたよくできたジョイント付きのパイプで、実際目の前でパイプを引き抜いてくれたのですが、水漏れはほぼありませんでした。ひとしずく、出るか出ないかです[6] 。サーバユニット背面のジョイントも同じく自動弁が付いていて、安全に引き抜けます。
それにしてもこれだけの高さがあると、ファン・モジュールの上下位置によって、冷水の流入量に差が出てしまいそうに思えます。聞いてみるとファン・モジュールの中に流量を調整するための制御バルブがあるとのことでした(写真3で中央部、奥の方に見えています) 。
また、大電力サーバラックで水漏れは命取りですから、事故防止のためにあちこちに漏水センサーと遮断バルブが用意されています。スレッド単位、ファン・モジュール(12スレッドを収容)単位、ラック単位に事故の影響を閉じ込めるのです。Austinによれば「標準を超えていろいろ悪い状況をテストしたんだ。そうなって欲しくないけれどね」とのこと。まあそうでしょう。
Homebrew(自家製)
2009年に始めた開発の過程で、彼らは何度もプロトタイプを作り直しています。ラボの中には、彼らが開発した何世代かのサーバユニットが並んでいました(写真7 ) 。
写真7 歴代サーバユニット
A: 我々は何度か繰り返して、当時の一般的なサーバに水冷を適用する設計をやりました。個別のカスタマに対して、何度かProof of Concept(概念実証)的なものを最初からやり直しては、フィードバックを貰ってデータセンターで彼らが欲しているものになるようにしました。それで今日の状態にまで成長したわけです。
第一世代(写真8 )のユニットは手曲げ感一杯のパイピングシステムに透明樹脂のウォータージャケットカバーがついていました。いかにもプロトタイプ。「 バックヤードにあるCNCマシンで自分たちで作った」ものだとか。
写真8 第一世代のサーバユニット
また、この世代では前後のCPUが互い違いに配置されており、Austinの言う「当時の一般的なサーバ」で試したことを伺わせます。次の世代からはCPUは前後まっすぐに並べてあり、整理された(DRAM冷却に有利な)エアフローになっています(写真9、10 ) 。
写真9 第二世代
写真10 第三世代
トータル・デザイン
第1世代ユニットでは透明樹脂ごしにヒートシンクが透けて見えますが、かなり間隔の広いフィンであることがわかります。現世代のヒートシンク(写真11)はこれよりかなり細かくなっています。とは言えマイクロチャネルと言うほどではありません。少し聞いてみました。
写真11 現世代のヒートシンク
Y: マイクロチャネル、というほど細かくはないですね。
A: ええ。これは0.3mmスペーシングですね。マイクロと言うと0.1かそれ以下じゃないかな。( そうそう)
Y: どうやってこのデザインを選んだのですか?
A: 一般施設用の水(facility water)を押し込むことができる、幾つかのレベルを試してみました。そこでパフォーマンス・トレードオフがいくらかあり、とても小さなマイクロチャネルを使うものはいくらか効率が悪かったのです。
Y: なるほど。精製水などに較べて(facility waterは)扱いやすいですしね。
A: そのとおり。普通の水(still water)で良いのです。我々はこの水を閉じたサイクルで使っています。水はときどき入手が難しくなるので。
Y: ミネラルはどうしているのですか? パイプに結晶とか作りませんか?
A: 我々が使っている材料はすべてASHLEY TC9.9 quality for waterのもの[7] で、これは最近のデータセンターが使っている水に関する条件設定と同じものです。このシステムを例外的なものにしたくなかったですからね。
他にもいくつかの給水に関する事を質問しました。たとえば彼らのシステムは建物の外にある普通の水道水と同じものを、そのままサーバユニットに入れて[8] 使います。多くの場合、データセンター向け液冷システムはこの水をフロア内の二次熱交換器に入れて使うのですが、彼らはそうしません。Austinは利点として二次熱交換器のポンプとその消費電力が削れることを挙げますが、既存のデータセンターに追加するときのことを考えると二次熱交換器がないほうが良いソリューションに違いありません。
Y: ということは比較的高めの圧力を掛けなければならないわけですね?
A: いや、それほど高くはありません。多くの並列経路からできているので。( 冷却塔を屋上に設置すると)上から落ちてくるのもあって、20 PSIと低いですね[9] 。ハイ・パフォーマンスで高効率な液冷システムとしてはこれがベストの方法で、つまりfacility waterをサーバに直接入れるための方法を見つけることに他ならないんです。
水路の構成を思い出すと、なるほどすべてが並列です。ラックに届いた水が最初に入るファン・モジュールは並列につながれています。そこからサーバユニットも並列につながれており、CPUの冷却プレートの接続も直列・並列を試した結果、並列に落ち着きました[10] 。すべては短い並列経路でできています。これで必要な水圧を下げ、二次熱交換器をキャンセルし、それで出せる流速に合うヒートシンクを試しているのだと筆者は理解しました。
ラックスケール、あるいはデータセンタースケールでのトータルデザインと言えば、ああ「お決まりのフレーズ」ねと思われるかもしれません。しかし特定大規模顧客と明確なターゲットを決めて作り込み、CPUの動作上限温度までIntelと調整して行うとなると、ちょっと誰にでもできるというわけにはいきません。Dellがトライする意図が良く分かります。
[10] 写真9、10のようにCPUに対する水流を直列(1つ目のCPUを通った水が2つ目のCPUに入る)構成にしても温度差を3度程度に収めることはできたそうですが、そのためには並列構成より流速を上げる必要があります。
おわりに
最後に、Austinに開発チームのことを聞きました。
Y: あなたはいつjoinしたのですか?
A: 2009年の早い時期に入りました。部署全体では空冷プラットフォームのアーキテクチャー開発をやってきたのですが、その中で液冷はスカンクワークスプロジェクトとしてやってきました。最初は週末に情報を集めて、シンプルなプロトタイプを作って、と、とてもエキサイトしましたね。
Y: Tritonのチームは何人ですか?
A: さあて。とてもleanな組織ですからねえ。アーキテクチャは僕、プラットフォーム向けの開発マネージャも僕。あとは機能1つ1つについて、1人のエンジニアがついてる感じですね。メカニカルがあいつで、システムレベルの開発があいつで……。
Y: ほとんどスタートアップですねえ。
A: ええ、そうです。とても小さなグループですよ。実際のところ製品はTritonとなったけれど、この開発は12ヵ月でした。
冒頭に記したように、筆者にとってDellはあまり尖った研究開発をしない企業という印象がありましたから、このTritonチームの動きはなかなかおもしろいです。へええ、と思い、このチームが(買収などで)外部から来たのか、それとも「100%のDell生まれ?」と確かめるとAustinはそのまま「100% Dell born」と返してくれました。
創業から続くDellの主要なビジネスであるPC製造・販売に関して、彼らは長いことすでに存在するマーケットに向けた製品提供をしてきました。とくに1990年代からのPC販売での成功は、PCが「コモディティ化」されていく中での「水平分散モデル」の成功そのものです。しかし今やボリューム・サーバ市場ではGoogleやFacebookなどのハイパースケールなユーザ企業はそれと真逆の「垂直統合モデル」を取り、サーバの開発・調達を自分たちで行うようになっています。
Tritonは、この流れに対するDellの真っ当なチャレンジ、つまり水平分散と垂直統合の間を結ぶプレーヤとしての可能性を試しているわけです。
取材の最後に筆者は、Tritonの技術と開発ストーリーをひと通り聞いた感想として「TritonはDellにとって良いサイン(兆し)だと思います」とAustinに率直に伝えました。彼は「ええ。従来的マーケットにとどまる(staying)のから、少しリサーチのほうに重みを掛け competitiveになるよう、シフトしていくんです」と答えました。
今後の展開に期待しようと思います。
ラック側面に張られていたTritonのポスター