進化のベクトル。(Atom330マザー購入編)   

2008年10月26日



☆対称性と群論と挫折とノーベル賞。   
まずは、いつもの余談から。(と言うか、今回は愚痴?)

最近珍しく小難しい勉強をしている当サイトだけど、やはり脳ミソの出来はよろしくないようで、またも挫折寸前になっている。 当サイトの北京原人ライクな頭脳に配位子場理論は敷居が高すぎた。

今つまずいているのは群論である。群論が理解できれば既約表現の求め方や因子群解析も自由自在。 それがわかれば対称性の議論も出来て、配位子場による軌道分裂や縮退の解け方が正しく理解できるハズなのだが... 対称性の概念はいかにも抽象的過ぎて脳ミソ不足の当サイトには理解しにくいものがある。

実は、群論という数学には難しい計算が出てくるわけではない。 波動関数への適用で初めて微分方程式(シュレディンガー方程式)が出てくるが、 それまでの計算と言えば小学生レベルの「足す引く掛ける割る。」で計算は終わってしまうのだ。 それも電卓さえ不要で、多くは「−1×1=−1」と言ったレベルの計算である。 しかし、その「−1×1=−1」が難しいのだ。 (−1×1=−1のどこが難しいかって? 当サイトが何を言いたいのかは群論を勉強したことがある人にはわかるでしょう。)

しかし、そんな当サイトに対して天の支援あり。 対称性??? いや、今月はよくニュースで聞いた言葉だったじゃないですか!  当サイトが 10/1に対称性の議論で挫折寸前と書いたら、10/7にその「自発的対称性の破れ」理論で南部先生が、 CP対称性の破れを説明できる「小林・益川理論」で小林・益川両先生がノーベル物理学賞受賞の快挙。 ノーベル賞報道は「珍しく勉強する気になったんだから、群論の勉強を途中で投げ出すな!」という天の声に違いないと思うことにしている。1)

皆様よくご存じのように今月はノーベル賞ラッシュであった。 翌日、当サイトの専門分野である化学賞で受賞者が出たのもおめでたい話だけれど、 配位子場理論の勉強で挫折寸前の当サイトにとって天の助けだと思ったのは物理学賞受賞のビッグニュースの方。 この物理学賞の内容であるが、当サイトが前回「挫折寸前。」と書いた勉強中の配位子場理論と論理構造や必要な数学的知識が同じなのだ。

そもそも、前回書いたとおり勉強で行き詰まっている章が「対称性」に関する部分で、必要な数学知識は「群論」。 ノーベル物理学賞で出てくる「自発的対称性の破れ」の「対称性」と物性論の「対称性」は論理構造がほぼ同じで (というか、南部先生自身が超伝導の理論を素粒子論に応用したとおっしゃっているわけだし。)、 必要な数学的知識が「群論」なのも同じ。 要するに群論を結晶場に関する物性論に応用したのが配位子場理論で、素粒子論に応用したのが「自発的対称性の破れ」の南部理論。 応用分野が違うだけで基本的なスタンスは同じなのだ。

とは言ったものの...群論...難しいねぇ。 いや、群論の論理構成は実はそれほど難しくなく、難しい数式がガンガン出てくるわけでもない。 位数、アーベル群、剰余類分解とか、それ自体は理解できるのだけど、 論理が抽象的過ぎて現実の問題に対して何をどうすればいいのか、どう適用すればいいのかが全然イメージできないわけ。 ガロアって人はよくこんな抽象的な概念を考えついたと感心しますわ、ホント。

どうやら当サイトは物事の抽象度が上がると対応力が鈍るタイプらしい。 化学系エンジニアとしてはかろうじて何とかなっても、 まかり間違っても数学的才能が要求されるような研究者にはなれないな。

☆D945GCLF2を購入してみた。   
と言うわけで、今月は小難しい勉強の息抜きにAtomマザーを組んで遊んでいる。 Atomマザーなどと書くと、その昔プログレにはまったことがある当サイトは 原子心母(Atom Heart Mother)2)なんてのを思い出してしまうが、 AtomはピンクフロイドのようなCPU界のスーパースターになれるのだろうか?

AtomはCPU単体では発売されていないのでマザーとセットで買うことになるわけだが、 当サイトが購入したのはデュアルコア版であるAtom330を搭載したD945GCLF2。 マルチコアに否定的な当サイトがデュアルコア版を購入したのは 現在のメインマシンであるCeleronM-440マシンとの比較を行ってみたかったから。

ホントはCPUのコア数なんてどうでもよくて、それよりもCPUの低消費電力に合わせて 消費電力が小さいチップセットを搭載する事とか、オンボードでRAID対応する事の方がよほど重要なのである。 Atom330の消費電力がわずか8Wであっても、チップセットがi945GCのままでは意味が薄い。 また、メモリ容量の上限が2GBなので64bit対応面でもデメリットが大きいという弱点もある。

しかし、チップセットは当面古いままのようだったので、 とうとう我慢しきれずに買ってしまったというわけだ。

OSであるが、またもVistaを1ライセンス買う羽目になった。 CeleronM-440マシンが当サイトで実質上のメインマシンになってしまっている現在、 これをライセンスの余っている旧OSに載せ替えて比較という実験はリスクを考えるとやりにくい。 すると、Atomの方を比較機のOSに合わせざるを得ず、結局1ライセンス必要というわけだ。 Core i7に向けて予算を貯め込まなくてはならない時に、これはちょっと痛かった。

以前CeleronM-440マシンを組んだときには、そのまま事実上のメインマシンになってしまったわけだが、 今回も使ってみて調子がよければそのままメインマシンになる可能性は高い。 このため、今回は最初からRAIDを組んでみた。 (D945GCLF2はオンボードRAID非対応なんで、外付け。)

D945GCLF2を購入。CPUはデュアルコアであるAtom330。

で...使ってみた印象であるが...

なんというか、これはちょっと微妙だ。 当サイト的な合格ラインを60点とすれば、ギリギリ及第点... 「とりあえず落第は免れました。」といった印象である。 Atom330はWeb機程度に割り切って考えれば合格というもので、 それ以外の用途を少しでも考えると耐えきれなくなる。 3Dゲームなどはまったく使い物にならないと言ってよい。 (ただし、エンコード系は未テスト。)

他のサイトでもよく言われている事であるが、このマザーを使うにはある意味で割り切りが必要である。 確かにWeb見てメールが出来れば十分という需要は多いから、これでAtomをバカにするつもりはさらさら無い。 が...特に体感速度的にはベンチマーク数値以上に問題が多く、 CeleromM-440マシンと比べるとはっきり言って体感速度には明白な差があるというレベルだ。

ちなみにベンチマークであるが、ベンチマーク比較は当サイトでは原則的にやらない方針 (そういう評価方法ならば良質なサイトが他にいくらでもある。) なのであまり書きたくはないのだが、たとえばHDBENCHのコア部分評価では下記の通り。

 CPU   Integer   Float 
 Atom 330   131391   123827 
 CeleronM-440   134305   94934 

おもしろいのは、Integerの数値がCeleronM-440とほぼ同じ(差は2%以下)なのに、 PCを操作する上での体感速度的には劇的な差がある事だ。 これは同じ比較が出来る環境にある人ならば10人中10人がCeleronM側に軍配を上げる事が明白と言い切ることが出来る差であり、 体感的には整数演算のベンチマーク数値が最低でも50%位は違わないと感じられない程度の体感速度差がある。

もちろん、CeleronM-440のTDPは27WもあるわけだからTDPが8WしかないAtom330に対して性能面では勝って当たり前の勝負である。 同一に比較できるレンジのCPUでは無いことは確かだ。

しかし、少なくともIntegerの数値が2%も違わないのにライトユースでも体感速度に大きな差が出ると言うことは、 その裏に何らかの事情があるハズである。 (グラフィック性能はCeleronM側が速いが、これがボトルネックにならないWeb閲覧でも大きな差が出る訳だからグラフィック性能の差ではないし、 HDD性能やメモリ性能はD945GCLF2が若干上回るからこれらが原因でもない。)

と...考えてみるに、その差の要因はシングルコアかマルチコアかと言う点ではないだろうか?

シングルコアとマルチコア...どちらが速いですか?と聞かれれば、 皆様はどうお答えになるだろうか?  おそらくは多くの人がマルチコアと言うだろう。 コアのアーキテクチャと周波数が同じ場合はマルチコアが絶対優位の立場にあるからだ。 (コアが1コアでしか動作しない状態でシングルコアと同じ性能になるわけだから...)

しかし、コアのマイクロアーキテクチャも動作周波数も異なる場合は事情が違う。 マルチコアが優位という考え方は、無意識のうちに同一コアのシングルとマルチを想像しているからで、 これは周波数が高いコアの方が高性能という考え方が通用するのは同じアーキテクチャの場合のみにもかかわらず、 多くの人が高クロックコアと答えるのと同じ心理的作用である。

ここで、マルチコアが有効なのはマルチスレッド動作する場合のみであるという動作原理を正しく理解していれば、 トータルでの性能数値が同じ場合はシングルコアがマルチコアよりも絶対優位の関係にある事が正しく理解できるであろう。 なぜならば、PCでのマルチスレッド動作率は(対応アプリを使わない限り)100%よりもずっと低い数値だからだ。

つまり、ベンチマークの数値が同じ場合はシングルコアの体感速度はマルチコアの体感速度より速くなって当然なのである。 このことが理解できれば、CeleronM-440がAtom330よりも体感速度的に速いことが、 何の不思議でもないことと理解できるだろう。

D945GCLF2は当サイト初の4スレッド対応マシン。
いわゆる、なんちゃってマルチコア+SMTとの合わせ技ではあるが...

上記の図を見て欲しい。 Atom330はなんちゃってデュアルコア+SMTという変則的な形とは言え、 一応は4スレッド対応である。 これだけ見るとマルチスレッドでバンバン動いているように見える。

が...この図をキャプチャしたときに動きを肉眼で見てみたのだが、 CPUコアの負荷率が56%を超える事はほとんど無かった。 一方が動いているときは一方が休んでおり、交互に入れ替わって動作しているので マルチコアで動いているように見えるというだけなのである。

50%をわずかに超えるのはCPU負荷計測自身にもCPUパワーが必要だからだが、 これが意味する事は4スレッド対応とは言っても負荷を100%まで持ち込むには (裏でキャプチャでもしない限り)マルチスレッド対応アプリの使用が不可欠だということだ。3)

☆マルチコア化よりも安さと低消費電力に磨きをかけるべし。   
このことから導かれる当サイトの結論はPC系マスメディアが示すAtomの評価とはちょっと違ったものになる。

たとえばVIAのNanoとの比較評価である。 世の中のPC系マスメディアの評価では、Atom230は性能面ではNanoに負けたが、 デュアルコア版であるAtom330の出現でNanoは追い越され苦境に立たされているという評価が大勢だ。

しかし、当サイトの評価は異なる。 NanoとAtom330の優劣はマルチスレッド動作が有効なソフトを使うかどうかで大きく変わり、 もし対応ソフトを使わない用途がメインならばNanoはそれなりにAtom330と対等に戦えるのではないか?という点だ。 と言うのは、Nanoの性能レンジはintelで言えばDothan〜YonahクラスのCPUだと思われる。 PC雑誌のベンチマーク記事を読んでもAtom230より30%速く、 Atom330に負けているハズのベンチマーク結果は今回のテスト結果から見てデュアルコア側に対する過剰評価と思われるからである。 (もちろん、両者は消費電力のレンジが違うから、そもそも同一比較すべきではないのかもしれないが...)

もう一点指摘するとすれば、当サイトはいわゆる「共食い。」を防ぐ意味でintelの提灯持ちをするつもりは全く無いが、 Atom330をメインマシン用途に使うことはあまりお勧めしないという点だろう。 もうCeleronM-440の新品は売っていないので、だったらCore2の一番安い奴を買った方が良い。 軽いOSを使うのならばともかく、使用OSがVistaの場合は対応可能なスレッド数を減らしてでも、 もう少し基本性能の高いCPUを使った方が良いと思う。

ただし、ここまではAtomの事を悪めに書いてしまったが、 ちょっと補足しておくと消費電力の小ささは確かにすばらしいものである。 Atom330はフル稼働時でもファンレスCPUが温泉のぬる湯程度にしか暖まらない。

また、Atom330マザーはCPU付きで1万円とちょっとで買える。 激安LGA775マザー+Celeron Dual-Core E1200+激安CPUファンといった激安系で統一すれば これまた1万円とちょっとで買えはするけれど (だから、消費電力を気にしないならばCore2の安い奴の方がお勧めと先ほどは書いたわけ。)、 消費電力は全然違うし激安ファンは音もうるさい。 性能ではなく低消費電力に付加価値を求めるならば、Atomは非常に魅力的な選択肢となる。

と言うわけで、当サイトはintelの省エネ技術は高く評価している。 磨きを掛けるならば、マルチコア化よりもこちらの方向性だろう。 Atomの進化形はMoorestownといった方向性が正しい方向性であるというのが当サイトの主張で、 これはワンチップ化途上の2チップ構成統合チップと考えるのが妥当。 Atom230→Atom330といった方向性は、AtomというCPUの本質を考えた場合は亜流の方向性であり、 正統派の進化形はこの方向ではないと思う。 (「Moorestown」といったチップセット込みの低消費電力化には期待しておりますぞ。)

Atomの本質とは安さ(ダイ面積の小ささ。)と低消費電力であることは明白で、 マルチコア化すれば上位ランクの需要も掘り起こせると思ったら大間違いだ。 Atomの需要をさらに掘り起こすためには、以下の三つがもっとも重要であると思う。

  1. ネットトップ、MIDといった本来の需要を狙うならば、マルチコア化を進めるよりも安さと低消費電力化にもっと磨きをかけるべし。
  2. ワンランク上のPC用途を目指すならば、シングルスレッド性能を高めるしか方法は無い。 Atom330のコア数をさらに増やしてクアッドコア、オクタコア化しても間違いなく自爆モード突入で事業失敗である。
  3. どうしてもマルチコア化したいならばWebサーバーのようなマルチコアが効く用途を狙い、 まかり間違ってもこれでPC需要を掘り起こそうなどと思ってはならない。
秋葉原でのAtomマザーの売れ行きはどうだろうか? Atomマザーは発売当初はすごく売れ行きが良かったそうであるが、 その勢いは当初からはかなり鈍っているのではないかと想像している。 C7需要を奪った以上に新規の需要開拓があったのか、それとも物珍しさのPCマニア需要で終わったのか... こういった売れ行きは立ち上げ時の瞬間芸的な売れ行きが終わったあとに継続的な需要があるかどうかでわかる。 当サイト的には今後数週間のAtomマザーの売れ行きに非常に興味がある。

余談だけど、この結果からLarrabeeの挙動が大雑把に類推できる。

Larrabeeはx86対応の命令系とのことで、理論上はLarrabee単独でVistaを動かすことも可能である。 小さなコアをたくさん搭載するLarrabeeはコア面積当たりの性能ではNehalemを大きく凌ぐと思われる。

だが、PC用途としてはLarrabee単独のマザーというのは売り出されないだろうし、 仮に売られたとしてもPC用途では酷評されることになるだろう。 PC用OSを動かすにはシングルスレッド性能が低すぎるからだ。

GPGPU混載を将来的なトレンドとして予測していた当サイトは、Larrabee自体の設計思想は当サイトも同意できるものであるし、 悪くない考え方だと思う。 だが、その性能を生かすためには、最低一つは複雑なコアを持たなければならないというのが今回の予想だ。 Larrabeeがヘテロジュニアス・マルチコアのシンプルコア側を担当することはあっても、 Larrabee単体のPCはおそらく世に出てこないだろうと思われる。 Larrabeeの正しい使い方とは、あくまでもアクセラレータ的な使い方がメインだろう。

進化には進化の大きさだけではなく、進化のベクトルがあると思う。 Atomの進化の方向性は、マルチコア化ではなく低価格化や低消費電力化に向かうべきだと考えている。 その意味で当サイトが期待するのはMoorestownのようなワンチップ化へ向けてのベクトルである。



1)
当サイトも以前CP対称性の破れに関して Bファクトリーの一般公開を紹介したわけだけど、 このとき「Bファクトリーは電子・陽電子衝突によってB中間子・反B中間子を作り出し、 その崩壊過程を観測することでCP対称性の破れを観測する装置なのだそうで... と言っても当サイトのトリ頭では何のことだかさっぱり??? 」と書いたわけ。 しかし、群論が理解できるようになれば、このノーベル賞受賞理論である小林・益川理論も ある程度理解できるようになるかもしれないと思えばワクワクしませんか?

余談だけど、素粒子論は全然学んだことがないので、小林・益川理論を理解できるようになると思えば 結構ワクワクするわけだけど、そういえば同じノーベル賞でも福井謙一先生の フロンティア軌道理論は大学で学んで一応は理解できている。 (必修科目では無いけど、理解できていないと化学科では単位が一つ取れなくなる。)

人間とは不思議なもので、理解できなくて当たり前の事が理解できるようになるとすごく嬉しいけど、 (大学の化学科では)理解できて当たり前と言われている事に関してはあまりワクワクしない。 今、もし小林・益川理論が理解できるようになったら「すげ〜、ノーベル賞理論を理解できるようになったぜ! 進歩したな俺も。」と思うだろうけど、 フロンティア軌道理論を理解できるようになったときに同じ感慨に浸ったかというと、「これで単位一つ落とさずにすむ。」程度だったなぁ。 つまり、当サイトがもし化学科卒でなく物理科卒だったら小林・益川理論よりもむしろHOMO・LUMOの化学的意味が理解できた方がワクワクするのかもね。

2)
プログレッシブ・ロックのビッグネーム「ピンクフロイド」の代表作。 当サイトが一番好きなのは歴史的名盤と言われる「狂気」の方だけど。

3)
余談だけど、SMTが動作しない場合でもAtom330では1スレッドで上限50%換算までの負荷率に計算されるようだ。 SMTは演算ユニットに依存関係のない命令を多く注ぎ込むことが出来る効果によって高速化する訳だから、 通常のマルチコアとはCPU負荷の計算が異なる。 だから負荷率の計算は負荷の定義によって変わる可能性があるわけだ。 2スレッド動作時の高速化ゲインが少ない代わりに、1スレッド動作時の性能低下もまた少ないのが、 良くも悪くもローリスク・ローリターンのSMTによるマルチスレッド対応である。