ハードに弱い私としては、これからのデータセンターを考える上では、CPUの進化の歴史を理解する必要があるわけで、Systems Practiceの隠れGeek的場さんに色々とこれまでの歴史を教えてもらいました。大昔の話は私もしっているので、2000年以降の話をちょっとメモとして共有。
これ根拠のある資料がないので、間違っているのかもしれませんから、なんかおかしなところあったら教えてくださいませ。
CPUは、Desktopパソコン用のCPUとサーバ用CPUの進化があった。前者の代表はもちろんIntel。後者はSPARCや、Power。2002年IntelはCPUの性能を表現することにクロック=性能というマーケティング活動を推進(証拠無いけど)。Desktopだからクロックアップが性能アップにすぐつながったのかな。2004年には10Gまでクロックを上げると言っていたそうだ。その後パイプライン処理を増大させて性能向上を目指したが、同時にパイプライン処理の増大によるフェイル時のリカバリコストが増大。結果キャッシュを増やしてカバーすることとなった。Intelのキャッシュの肥大化が続く。微細化も進み65nmぐらいになってくると、原子数個分の回路になり、リーク電流が問題になってきた。結果、クロック数を上げた割には思ったように性能がでない状態が続く。メモリ待ちの問題もある。CPUがフル回転してもメモリ待ちでCPU使い切れない問題もあり。
そんな時にOpteronが2003年に登場。クロックを抑えても独自のアーキテクチャで高性能を発揮。コアをHyperTransportでつなぎ、ccNUMAの構造で高性能を実現。サーバ用CPUではもっと速い段階でccNUMAとSMPの対決があったが、その当時はSMP実装の方が高速で、Sunは1998,9年頃からUltraSPARC IIIで、SMP路線。私もSolaris担当の時ccNUMA実装は遅いからねぇーと何度も聞いたことを覚えている。x86互換64bit対応のAMD64 Opteronの成功で、IA64とIA32を分離していたが、EM64Tに再び脚光があたりccNUMAのNehalemへのロードマップがひかれる。Xeonの最近の進化でOpteronを猛追。今後もXeonが進化する様子。結果、Itaniumのロードマップに怪しさが増す。もちろん、Itaniumは維持してHigh endにとうのがIntelの話ではある。ちなみにItaniumのシェアが高くて競合だいうようなことを話すと、海外に人に驚かれた事がある。
無論、クロックアップで、発熱量の問題も発生。ラックに必要な電力が供給されず、最新のCPU搭載サーバを詰め切れない問題も発生。空調等の熱対策にデータセンターが躍起になる。PUEの値が注目されている。Google 1.21, 最新Sun SuntaClara DC 1.28だそうだ。
CPUのマルチコアで次に問題になるのはMemory Controller。SPARCは現在はUltraSPARC Txで8コア。2coreでMCを共有、パイプライン7段(RISC)。Opteronは1つでパイプライン15段。パイプラインが少ない方がCPUはシンプルになるから、8coreとか実現できる。coreあたりの性能はOpteronの方が高い。FB-DIMMもMCの課題を解決する方法の一つだが、デジーチェインで、消費電力大。DIMMが4wattに対して、1枚10watt(!)。16枚さしたら、メモリの方がCPUより消費電力が高くなっていまう(!)。Buffer on Boardが今後の主流になりつつある。次のCPUはBuffer On Board実装のながれ、Sunの次世代CPUもそう。
マルチコアを活かすために、IntelはOpenMPとかマルチコアのメリットをビデオでいろいろと宣伝している。OpenMPのネタとかちらり見たが、JavaのConcurrent utilityとかそのレベルではないようす。そういう意味でもSolaris/Javaとの提携などがあるのかな。Single CPU思考のアプリはかなり今後苦戦しそうないきおい。
UltraSPARC Txはすごいなと改めて思うし、Sunのマルチコアから、Solaris, Sun xVM, Java, Glassfish(Grizzly), Project Caroline, Sun MDと、CPUサイドからみてもかなり一貫性の有るストーリーだと再認識したが、それをきちんと技術的にまとめてある資料がない。The network is the computerそのものだけど、それを分解して説明せねば・・・
きっとこういうこと全体として結びつけて理解できていないとCloud Computingの考え方も、単なる昔からのデータセンターの延長にしかならないんだろう、と感じる。
う、完全にメモですね。今度きちんとまとめよう。SunはAMD/IntelのCPU搭載サーバも販売しているわけで、そちら側からの意見も直接担当者にきいてみよう。
Java Concurrent UtilityのCASのコストはContext Switchに比べて非常に軽い(当たり前か。)Lock指向のマルチプロセスのプログラミングとは実行面でコストが全く異なる。parallelに近い。マルチコアの得意とするところ。
さて、こういうことふまえて現実面での効用に結びつけて考えねばいかん。どう説明しよう。(苦笑)
これ根拠のある資料がないので、間違っているのかもしれませんから、なんかおかしなところあったら教えてくださいませ。
CPUは、Desktopパソコン用のCPUとサーバ用CPUの進化があった。前者の代表はもちろんIntel。後者はSPARCや、Power。2002年IntelはCPUの性能を表現することにクロック=性能というマーケティング活動を推進(証拠無いけど)。Desktopだからクロックアップが性能アップにすぐつながったのかな。2004年には10Gまでクロックを上げると言っていたそうだ。その後パイプライン処理を増大させて性能向上を目指したが、同時にパイプライン処理の増大によるフェイル時のリカバリコストが増大。結果キャッシュを増やしてカバーすることとなった。Intelのキャッシュの肥大化が続く。微細化も進み65nmぐらいになってくると、原子数個分の回路になり、リーク電流が問題になってきた。結果、クロック数を上げた割には思ったように性能がでない状態が続く。メモリ待ちの問題もある。CPUがフル回転してもメモリ待ちでCPU使い切れない問題もあり。
そんな時にOpteronが2003年に登場。クロックを抑えても独自のアーキテクチャで高性能を発揮。コアをHyperTransportでつなぎ、ccNUMAの構造で高性能を実現。サーバ用CPUではもっと速い段階でccNUMAとSMPの対決があったが、その当時はSMP実装の方が高速で、Sunは1998,9年頃からUltraSPARC IIIで、SMP路線。私もSolaris担当の時ccNUMA実装は遅いからねぇーと何度も聞いたことを覚えている。x86互換64bit対応のAMD64 Opteronの成功で、IA64とIA32を分離していたが、EM64Tに再び脚光があたりccNUMAのNehalemへのロードマップがひかれる。Xeonの最近の進化でOpteronを猛追。今後もXeonが進化する様子。結果、Itaniumのロードマップに怪しさが増す。もちろん、Itaniumは維持してHigh endにとうのがIntelの話ではある。ちなみにItaniumのシェアが高くて競合だいうようなことを話すと、海外に人に驚かれた事がある。
無論、クロックアップで、発熱量の問題も発生。ラックに必要な電力が供給されず、最新のCPU搭載サーバを詰め切れない問題も発生。空調等の熱対策にデータセンターが躍起になる。PUEの値が注目されている。Google 1.21, 最新Sun SuntaClara DC 1.28だそうだ。
CPUのマルチコアで次に問題になるのはMemory Controller。SPARCは現在はUltraSPARC Txで8コア。2coreでMCを共有、パイプライン7段(RISC)。Opteronは1つでパイプライン15段。パイプラインが少ない方がCPUはシンプルになるから、8coreとか実現できる。coreあたりの性能はOpteronの方が高い。FB-DIMMもMCの課題を解決する方法の一つだが、デジーチェインで、消費電力大。DIMMが4wattに対して、1枚10watt(!)。16枚さしたら、メモリの方がCPUより消費電力が高くなっていまう(!)。Buffer on Boardが今後の主流になりつつある。次のCPUはBuffer On Board実装のながれ、Sunの次世代CPUもそう。
マルチコアを活かすために、IntelはOpenMPとかマルチコアのメリットをビデオでいろいろと宣伝している。OpenMPのネタとかちらり見たが、JavaのConcurrent utilityとかそのレベルではないようす。そういう意味でもSolaris/Javaとの提携などがあるのかな。Single CPU思考のアプリはかなり今後苦戦しそうないきおい。
UltraSPARC Txはすごいなと改めて思うし、Sunのマルチコアから、Solaris, Sun xVM, Java, Glassfish(Grizzly), Project Caroline, Sun MDと、CPUサイドからみてもかなり一貫性の有るストーリーだと再認識したが、それをきちんと技術的にまとめてある資料がない。The network is the computerそのものだけど、それを分解して説明せねば・・・
きっとこういうこと全体として結びつけて理解できていないとCloud Computingの考え方も、単なる昔からのデータセンターの延長にしかならないんだろう、と感じる。
う、完全にメモですね。今度きちんとまとめよう。SunはAMD/IntelのCPU搭載サーバも販売しているわけで、そちら側からの意見も直接担当者にきいてみよう。
Java Concurrent UtilityのCASのコストはContext Switchに比べて非常に軽い(当たり前か。)Lock指向のマルチプロセスのプログラミングとは実行面でコストが全く異なる。parallelに近い。マルチコアの得意とするところ。
さて、こういうことふまえて現実面での効用に結びつけて考えねばいかん。どう説明しよう。(苦笑)