マルチコアはいつから使えるコアになるのか?   

2007年1月21日



☆新年の大須・復活の兆し?   
今更の話題で申し訳ないけれど、 皆様はどのようなお正月をお迎えになったのであろうか? (正月気分も抜けてキリキリ仕事モードの最近でしょうけれど...)

当サイトはと言うと、仕事の追っ手が無いことを良いことに遊び呆けていた。 まずは大須の初売りに出撃である。(大須は名古屋での秋葉原に相当する場所)

久しぶりの大須三昧。
万松寺(写真右)も初詣で大賑わい。

大須の初売りに行って良かったと思うのは、一時期進行が進んだ衰退傾向に 歯止めがかかりつつあるように思えたことと、 秋葉原のような歓楽街化現象が軽症ですんでいる事であった。

新天地通りのイルミネーションはクリスマスデコレーションの名残といった風情であり、 そのまま正月気分に適しているかというとちょっと季節違いではあるが、見た目はとても綺麗。 もちろんお正月なので第一アメ横ビル近くにある万松寺も参拝客で満員御礼状態。 写真の通り拝殿は長蛇の列であった。 (当サイトも「掘り出し物がありますように。」と初詣。)

この辺り、大須は秋葉原と違って完全な電気街ではなく、 古くからの商店街と電気街がごっちゃに融合しているいわば複合電脳街であるのが良いと思う。 東京でいえば秋葉原と巣鴨(おばあちゃんの原宿と呼ばれている。)を足して2で割った感じかな?

写真の万松寺もそう。 大須というと大須観音がもっとも有名だが、 上記の万松寺も某戦国ゲームファンとか戦国歴史物のお好きな方にはよく知られた由緒あるお寺1)。 何というか、秋葉原だとお年寄りが楽しめる町ではないわけで、大須は秋葉原より街に「深み」があるよね。

景気回復度全国一の愛知県で、今、名古屋が経済番組などで特集される事が多い。 パソコンが流行ればパソコンの街になり、メイド喫茶が流行れば電脳歓楽街になると言う 時代の流行を追う街・秋葉原と比べ、流行に躍らされない街・大須は大発展も無い代わりに 急激な没落もないという名古屋気風が如実に表れているような気がして、 流行系ショップに頼る事無く復活の兆しを見せた大須には名古屋の気風も関係しているのかしら?なんて思ってしまった。

そして、三大都市圏中もっともバブルに躍らされなかった名古屋が不景気からの脱却が一番早かったのも当然という 経済番組の主張にも一定の理があると思ったのであった。 (まぁ、現実にはトヨタの好調が最大の理由ではあるわけだが...)

と言うわけで、大須でショップ巡りをして遊び呆けていたわけだが、 仕事の忙しさもあって電気街で遊び呆けるという味をすっかり忘れていた当サイトにとって、 年末の秋葉原と年始の大須はいい癒しになった。(財布には優しくないけど。)

☆ようやくCore 2 Duoマシン組み上がる。   
さて、いつもなら新年はマザーのフェーズ数調査をするのが恒例だが、今年はやらないことにした。 なぜかというとCore 2 Duoの普及によってマザー搭載電源のフェーズ数にこだわる理由が失せてしまったからだ。

当サイトがなぜフェーズ数を毎年ワッチしていたかというと、 Pentium4時代の一時期CPUの消費電力が増えているにもかかわらずフェーズ数が減るという コスト削減最優先の傾向が進み、いくら何でも品質への認識が甘いのではないか?と思ったからである。

しかし、Core 2 Duoの出現で消費電力は劇的に減った。 当サイトは消費電力は増加ペースが鈍ることはあっても減ることはないと思っていたから、 この予想はうれしい意味で外れ、そのためにもうマザーのフェーズ数にこだわる必要性も無くなったからだ。 (むしろ最近ではGPUへの電力供給の方がトラブルが多かったりするらしい。)

当サイトはCore 2 Duoの性能アドバンテージは世間一般の認識よりも小さいと思っているが、 消費電力の低さはさすがに大したものだ。 本来がモバイル用起源とは言え、同じ65nmプロセス品で比較しても 通常のプロセスでSOIプロセスを使っているAMDと互角の消費電力なのは凄いと思う。 (しかもTDP35W版はAMDの場合かなり厳しい選別品となる。地球温暖化が叫ばれている今、 選別に頼らず低消費電力版を量産できるというのはアピール度は結構高いと思うのだが...)

当サイトでのCore 2 Duo(T7200)の感想だが...ゲーム機としてはさすがの性能で非常に満足している。 また、pdfファイルのうちで画像ばっかりで作られたものはVIA-C3はとても苦手なのだが、 pdfファイルの表示速度がとても速くなったのはCPUパワーの恩恵だろう。 (ただし、手持ちのゲームソフトはマルチスレッド対応のものが無いため、 CPUパワーGPUパワーの恩恵は絶大だがデュアルコアである必然性は皆無。)

かといって、Web用途ではまぁまぁの性能向上になってしまった。 速いことは速いのだが、何というか性能がつんのめっている感じかな。 原因は察しがついていて、ADSLが完全にボトルネックになってしまっているのだ。

当サイトの超田舎暮らしでは光なんかは夢のまた夢なわけで、 光が来る頃にはおそらく棺桶に片足突っ込んでいる歳になっているであろう。 ADSLはというと実効1.4Mbps程度である。 信号のある一般道ではF1マシンといえど速く走れないとの同じで、 当然ここでCPUコアの性能がつんのめってしまって実力を発揮できない訳だ。 (今まで使っていたVIA-C3ならADSLの性能とバランスがとれていたというわけ。)

しかし、光で40Mbps出ている友人宅のマシン(AthlonXP使用)でもCPU性能がボトルネックになっている兆候は無いそうで、 そうするとCore 2 Duoの潜在能力をWeb用途で引き出そうと思ったら光の理論値位のレートが必要な訳だ。 (標準ブラウザは一応マルチスレッド対応なんで、レートが上がればある程度の期待はできる。)

ちなみに、デュアルコアが性能を発揮しやすいビデオ編集用途であるが、 今のところ編集したい番組が無いので確認していない。 もともとTV番組をあまり見ない人なので、キャプチャ画像編集の需要も多くないのである。 (「プロジェクトX」が終わってしまって以降、必ず見ている番組と言えばニュースを別とすれば「探検ロマン世界遺産」位のものだ。) しかし、デュアルコアが非常に有効な数少ない分野なので、こちらの性能には大いに期待しているところだ。

☆水面下の論戦。   
というわけでマルチコアネタな訳だが、当サイトはPCマニアの中でも マルチコア否定派サイト最右翼に属するのではないかと思っている。 このネタを最初に掲載したのはクライアント用マルチコアの憂鬱という記事であり、 2003年10/9の記事だからもう3年以上も前の話である。

この記事は実は掲載後に相当な物議を醸した記事であり、最初はものすごく反論が多くて困惑したものだ。 ネチケットとして本人の同意無しでメール文章をWebに掲載する訳にはいかないから書けなかったが、 水面下では結構な論戦が進行中であったのもこの時期だ。

例えばNet-Burstは死なず。(Meromのアーキテクチャ予想) という記事のように、あまりにショッキングな内容に書いた本人が掲載するかどうか悩んだ末に、 反論覚悟で心の準備も万端というのならご批判MAXでもOKだ。

また、ご指摘に対して意固地になっているつもりはなくて、定期調査・2005年マザーのフェーズ数 の訂正追加のように、ご指摘が全く正しいと本人が納得すれば素直に訂正する事にしている。

しかし、クライアント用マルチコアの憂鬱は一部のデュアルCPUシステム信奉者の方を除けば そんなに反論が来るはずがないという自信を本人が持っていたから、 反論の多さに「えっ、なぜ???」という疑問符だらけだったのである。

もっとも、ご批判がMAXだったのは掲載直後であった。 本人が内容訂正の必要なしと判断したので、その後も次々にマルチコア批判記事を掲載。 しかし、反論は徐々に減少し、時間を経るにつれて賛同意見が多くなっていったのである。

これは、「もう、たるさんには何を言ってもムダ。」とサジを投げた方が多かった(笑)と見る事もできるかもしれないが、 時代がマルチコアの問題点を次々と指摘し始めたからだと考えている。

証拠はいくつもあって、まずPentiumDが発売された段階で反論が減ったこと。 実機で性能を確認できるようになったことが原因の一つと考えられる。

また、SunがUltraSPARC T1(開発コード名:Niagara)について、マルチスレッド性能を追求しすぎたあまり シングルスレッド性能を落としすぎた点が反省点と言及していることも証拠となるだろう。 Niagara2ではプロセッサ全体でのマルチスレッド性能を上げるだけではなく、シングルスレッド性能をも上げる事を目標に掲げている。

マルチスレッド性能が良ければシングルスレッド性能は不要というならばUltraSPARC T1はPCでも絶大な効力を発揮するはず。 だが、そもそもUltraSPARC T1はWebサーバー等にはベストだがPC用途には向かない事をSun自身が認めている。 PC用途よりもマルチコアが効果的なサーバー用途にしてこれなのだ。

そして、もう一つはプロの意見としてマルチコア最大の問題点はソフトウエアのマルチスレッド対応にある という主張が2005年頃から次々と掲載されるようになったこと。 ( CPUはイノベーションの時代に等の記事をご参照ください。) 同記事によれば「マルチコアプログラミングでは、言語、コンパイラ、ツール、ライブラリ、OS、プログラミングプラクティス といったあらゆるレベルで課題が山積みになっていることが示された。」のだそうだ。

最たる例はRISCアーキテクチャの世界的権威デイヴィッド・A・パターソン教授の発表で、 上記記事ではメニイコア時代の最大の問題がソフトウェアにあると指摘。 これは2006年のHotChips18での発表であるから、ご批判が完全に来なくなった時期とほぼ一致する。

そもそもマルチコアの効果に疑問を持ったのはスパコン関係の情報を集めていた副産物として得た情報からであった。 マルチコアの効果についてパソコン関連の雑誌は当然良い点だけを強調する。 これは、株式情報誌が株価について常に強気なのと同じ原理で、自らのメシの種を悪く書きにくいからだ。 しかし、学会関連の情報をワッチしていると評価は逆で、 問題山積みで、マルチコアがPC用途で真に実力を発揮できるかどうかさえ未だコンセンサスが得られていない。 (今後の努力次第で何とかなりそうというコンセンサスが得られているのはせいぜい4コアまでである。)

とどめはクワッドコアの評価で、CPUパワーの総計では大幅に高性能化しているハズだが、 新製品に甘いPC雑誌の評価でさえクアッドコアをパワーユーザー向けであり万人に勧められるものではないとか 4スレッド対応アプリの少なさが最大の課題といった意味の評価を(婉曲的にだが)するようになった。 (クアッドはデュアルよりもマルチコアのメリット・デメリットが強調されるから評価がわかりやすくなる。)

当サイトは今でも「PC用途でマルチコアはまだ早すぎる論」の主張を変えていないが、 このネタで反論メールを頂くことは今や完全に無くなったのである。

☆実は、時を経るに従ってだんだんと分が悪くなる主張。   
しかし、当の本人はと言うと、 今年はこの意見を継続するかどうか節目の年を迎えていると考えている。

最初にこの意見を掲載したのは2003年10月9日の事。 当サイトの主張は、マルチコアは原理上ダメなのではなくソフトのマルチスレッド対応が 成されていないからダメだという見解。 それが証拠に、ソフトのマルチスレッド対応が常識なサーバー用途では、 例外としてマルチコアは非常に効果的との見解を述べている。

つまり、ソフトのマルチスレッド対応が進行するにつれて当サイトの主張も輝きを失う。 永遠に正しい主張ではないのだ。

3年前、あの記事を書いた頃にはPC用途でマルチスレッド対応しているものは、 ビデオ編集ソフト位のものだったから、ビデオ編集用途を例外的に有効な用途と指摘していた当サイトは 反論・ご批判の多さにかかわらず安心して自分の主張を述べることができた。

しかし、サーバー用ソフトのように対応が進めば当サイトの主張は正しくなくなるわけで、 PCアプリでいつ対応ソフトが立ち上がるのかが主張の転換点をいつにするかの判断に重要なわけだ。

今は当サイトのマルチコア批判に対して反論を頂くことはなくなったが、 実はご批判MAXだった3年前が当サイトとしては余裕綽々であって、 ご批判の無い今こそが実はだんだんと分が悪くなる心寒い時期なのである。

では、マルチコアはいつから使えるコアになるのか?

アプリの対応はアプリの数だけ対応状況があるだろうけれど、 今までマルチスレッド対応アプリが急速に普及して主流になったという話を 聞いたことがあるかたはいらっしゃるだろうか?  そういうわけで、マルチコアが話題になってずいぶん経つのに、 残念ながら現状での対応状況はその程度しか進行していない。

しかし、OSの対応は重要だと思う。その意味でWindows Vistaの対応状況が XPからどれ位進捗しているかには注目している。 (どちらも一応マルチスレッド対応OSだが、 実際にどれ位コアが並列で動いているかは実際の実装に大きく左右されるハズである。)

以前掲載したマルチスレッド化率(並列化率)と総合性能の関係
アムダールの法則とポラックの法則を組み合わせて計算してみた。

上記の図は以前クライアント用マルチコアの憂鬱で掲載したものだが、 これから判断するとマルチスレッド化による並列化率が60%程度まで高まれば デュアルコアがシングルコアに比べて常時優位に立てる。 余談だが、Hyper-Threadingを装備するとそれは75%程度になるから、 シングルコア+Hyper-Threadingという設計は今でも悪くないと考えている。 (Net-Burstが失敗したのはパイプライン段数の多さと投機実行の効率の悪さ、 それにトレースキャッシュのキャッシュ効率の低さが原因であって、 Hyper-Threadingは無関係と考えている。)

例えばスパコン用途なんかでは強烈なデータ並列性が存在し、プログラマの腕の良さと相まって 並列化率は99.9%以上なんてとてつもない値になる事も希ではない。しかし、PC用途では元々が制御系のフローコントロール用途が多いので、データ並列性に頼った並列化には限界があると思う。 99.9%なんて並列化率はマルチメディア系処理を除けば全く期待できそうもない。

しかも、当サイトの観測では現状での並列化率は対応ソフトを使わない限り20〜30%というところ。(複数のアプリが同時に動く効果による。) つまり、現状ではマルチコアは同一技術水準・同一ダイサイズで作ったシングルコアより実効性能面では劣ると思う。

では、なぜマルチコアが時代のトレンドかというと、シングルコアの優位はわかってはいても 消費電力の関係やILP-Wall問題でシングルコアは作りたくても作れないということだと思う。 製造ベンダーは絶対に認めないと思うが、サーバー用途や組み込み用途と異なり、 PC用途の場合は「マルチコア化は仕方なく。」というのが本音だと思うのだ。

では、Windows Vistaの出現で並列化率はどれ位上がるのであろうか?

OSの対応は重要だが、単にOS単独の対応だけでは60%を超える事は難しいと思う。 しかし、Vistaの出現を機会にアプリの対応が進むというのが当サイトの期待だ。

マルチスレッド対応はソフトベンダーに対応のインセンティブが必要だが、 Vistaはハードウエアに要求する水準が高いので旧機種での使用が難しくなる。 当然、買い換えが進むこととなり、その際に最新のCPUはほとんどがデュアルコアなので ソフトベンダーがマルチスレッド対応に対するインセンティブを得やすくなるのだ。 (当たり前のことだが、ユーザーがシングルコアCPUを使用していたらマルチスレッド対応にしてもムダだから。)

Vistaの出現を機会にPCの買い換え需要が増えて、その結果デュアルコアPCの比率が増える。 それによりソフトベンダーのマルチスレッド対応のインセンティブが増えてアプリの対応が進み、 デュアルコアが有効な局面が増える... つまり、Vistaの登場を機会にエコシステムがようやく回り始めるというのが当サイトの読み筋である。

☆問題はタイムラグをどれ位と見積もるか?   
ただし、ソフトウエアベンダーがVistaでPCスペックがワンランクアップする状況を受けて マルチスレッド対応を進めたとき、パターソン教授の言を借りて考えれば、 問題は実際にどれ位のタイムラグで有効なアプリが主流になるかだろう。

当サイトがソフトネタを掲載しない事でわかるとおり、ソフト開発は実力も興味も薄いので、 開発期間がどれ位になるかという予想を的中させる自信はあまり無い。 しかし、コンパイラのオプションボタンをクリックしてマルチスレッド対応アプリいっちょあがり...という安易な方法もあるけれど、 実効的にデュアルコアで80%位の性能アップを狙おうと思ったらかなりのチューニングが必要なのではないだろうか?2)

そうすると、本当の意味で対応アプリが主流になるのはVista出現以降でも年単位の時間がかかるハズであり、 当サイトは大雑把に2年後程度を想定している。 Windows3.1からWindopws95への移行でも16bitアプリから32bitアプリへの移行は Windows95発売開始から一夜にして起こった訳ではないのだ。

話は変わるが、大須へ行ってDVD売り場へ行ったら最近は昔の人気番組の記念DVDボックスというのが多く出ていて、 去年はウルトラマン放映開始40周年だし、スタートレックもジ・オリジナルが40周年。 ファーストガンダムもようやくDVD化されDVDボックスも大人気なのだとか。

当サイトも子供の頃はよく見た(初代スタートレックやウルトラマンはさすがに再放送。)けど、 今回のネタをファーストガンダム風に言えばこうなるのかな?

「考えてもみるがいい。我々が市場に送り出したシングルスレッドアプリの量を。シングルコアは、あと2年は戦える!」

ネタが古くてすみませんけど、ガンダムは今でも人気なんで元ネタはわかりますよね。3)



1)
尾張の大うつけ者・織田信長が 茶筅まげに荒縄の帯という礼を失した出で立ちで父親の葬儀に現れ、 父親の位牌に抹香を投げつけたというあまりにも有名なシーンはここ万松寺が舞台である。

これは、風雲児・信長の性格を如実に物語るものとも、近隣諸国に「大うつけ者」の噂を信じ込ませ 油断させるための策であるとも言われているが、 戦国歴史番組では定番のこのシーン、信長が桶狭間の合戦を前にして 「人間五十年、下天のうちにくらぶれば夢まぼろしの如くなり。ひとたび生を受け、滅せぬ者のあるべきか。」と 幸若舞の敦盛を舞うシーンと共に最も有名であろう。

2)
ビデオ編集ソフトは以前からマルチスレッド対応が進んでいたが、 これはワープロやブラウザと比べて元々のデータ並列性が高かったためと考えている。 スパコンで培われたテクニックを流用しやすいのだろう。

3)
元ネタは10年だけど、さすがにシングルコアで10年は無理だと思うので...

でも、これ、元ネタでは敗軍の将マ・クベが負け惜しみ的に言う台詞なんだけどね。