パラレルジャングルへようこそ! Part 5

同カテゴリーの次の記事

パラレルジャングルへようこそ! Part 4

この記事は、Dr.Dobb’s Go Parallel に掲載されている「Welcome to the Parallel Jungle!」の日本語参考訳です。


編集注記:
本記事は、2012 年 6 月 29 日に公開されたものを、加筆・修正したものです。
この一連の記事の著者である Herb Sutter 氏は、早い時期からプロセッサーのマルチコア化がソフトウェア開発に及ぼす影響と、ソフトウェア開発者が考えるべき移行における課題を示していました。Sutter 氏による 「フリーランチは終わった」は、IT 業界での名語録にもなっています。この記事は、Sutter 氏が 2012 年の時点で「ムーアの法則」の終焉とそれを取り巻くソフトウェア開発の変化をまとめているものです。2020 年時点で読み返しても興味深い内容です。

このシリーズでは、モバイルデバイスからデスクトップ、クラスター、最高粒度のクラウドまで、並列化がもたらす影響について解説します。さまざまな並列化の実装が存在することによる混乱は、プログラミングにおける大きな挑戦をもたらしました。シリアル・プログラミングでフリーランチの恩恵を受ける時代はすでに終わりを迎えています。

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6

ムーアの法則の終焉とダークシリコンの熊

最後に、近い将来に何が待ち受けているのか (図 14)、なぜ 3 つの段階を経てムーアの法則が終了するのかを確認するため、ムーアの法則の終焉に再度戻ることにしましょう。

図 14.

最終的に、鉱山の運営は経済的に継続不可能なポイントに達します。金はまだ残っていますが、営利上開発できなくなるのです。ムーアの法則が興味深い理由は、資源 (トランジスター数の増加) を 2 つの有用な形に変化できるからであったことを思い出してください。

  • 活用形 #1: より優れたスループット。ムーアの法則は、プロセッサーに同じコストでより多くのトランジスターを搭載する、つまりチップがより複雑になることに適用されます。追加したトランジスターを計算に利用する方法を見つけられる限り、チップごとの計算パフォーマンスの向上が続きます。
  • 活用形 #2: より低いコスト/電力/サイズ。また、ムーアの法則は、より低いコストで (より小さなサイズとより低い電力を含む) 同じ数のトランジスターを搭載することにも適用できます。よりコンパクトなモバイルおよび組込みフォームファクターでパワフルな体験を提供し続けられます。

注意すべき重要な点は、ムーアの法則の 2 つの活用形は同時に終了するのではなく、順に終了するということです。これは、活用形 #1 はムーアの法則とすべてのトランジスターを同時に使用する能力に依存するのに対して、活用形 #2 は基本的なムーアの法則の効力に依存するためです。

ムーア鉱山には最後にもう 1 つだけ問題が残っています…

電力問題: ダークシリコン

落盤や出水などの災害が発生すると、鉱山での作業は困難になります。このような災害により、鉱山全体に入れなくなることがあります。現在は、この種の問題と同じ状況になり始めたところです。

遭遇し始めたある特定の問題は、「ダークシリコン」として知られています。ムーアの法則でより多くのトランジスターを搭載できても、同じ電力枠では同時にすべての部分に電力を供給できないのです。詳細は、Jem Davies 氏の『Compute Power With Energy-Efficiency (電力計算とエネルギー効率)』 [PDF] および ISCA の論文『Dark Silicon and the End of Multicore Scaling (ダークシリコンとマルチコア・スケーリングの終焉)』 [PDF] を参照してください。

この「ダークシリコン」は、不運な登場人物を追いかける「シェイクスピアの熊」に似ています。チップ上により多くのコアを搭載し続けることができたとしても、これらのコアを同時に使用できないのであれば、より優れた計算スループットを実現するというムーアの法則の活用 (活用形 #1) に失敗していることになります。つまり、ムーアの法則の活用形 #1 が終了し、活用形 #2 が後を引き継いで、しばらく続く移行期間に入ったことになります。

これは、メインストリームのマシンの「スケールイン」成長率が次の大きなフェーズに入ったことを意味します。(これらの変化はノートブックやスマートフォン、個々の計算ノードのように、個々のマシンにのみ当てはまり、異なる「スケールアウト」鉱山に属する計算クラウドには当てはまらないことに注意してください)。

  • 活用形 #1 + 活用形 #2: すべてのフォームファクターにおけるパフォーマンス (計算スループット) の向上 (1975 年~ 2010 年代中盤?)。数年間は、デスクトップからスマートフォンまで、すべてのフォームファクターでメインストリームのコンピューターのパフォーマンスはまだ引き続き増加するでしょう。現在は、より大きなフォームファクターにはより多くの並列処理が含まれています。例えば、新しいデスクトップ向けの CPU と GPU はタブレットやスマートフォン向けの CPU や GPU よりも全体的に高性能です。これは、活用形 #1 が完全に終了するまで続きます。
  • 活用形 #2 のみ: グラフの上から下まですべてのセグメントでフラットなパフォーマンス (計算スループット) になる (2010 年代後半 ~ 2020 年代前半?)。次に、ダークシリコンのような問題が解決されなければ、上位のデスクトップとゲームコンソールから始まり、タブレットとスマートフォンに至るまで、メインストリームのコンピューターのパフォーマンスが平均化する期間に入ります。この期間の間も、ムーアの法則を引き続き使用して、コスト、電力、サイズを低下させます (大きなフォームファクターですでに達成されている複雑さとパフォーマンスをより小さなデバイスで実現します)。ムーアの法則は活用形 #1 の終了後もしばらく続くと仮定すると、現在のメインストリームのデスクトップマシンとスマートフォンのトランジスター数の差を調べることで、活用形 #2 で個人用デバイスが平均化するまでどれくらいかかるかを推定できます。その差はほぼ 20 倍であり、ムーアの法則どおりなら約 8 年かかることになります。
  • 大衆化 (2020 年代前半? ~) 最終的に、デスクトップ・コンピューターとスマートフォンはほぼ同じ計算パフォーマンスに達するでしょう。そうなったときに、デスクトップを再び購入する理由はあるのでしょうか。タブレットやスマートフォンを接続すればいいだけです。デスクトップとモバイルデバイスには 2 つの重要な違いがあると考えられています。まず、デスクトップは電池の心配をしなくていいこと、次にデスクトップは大画面のモニターやキーボード/マウスなどの周辺機器に簡単にアクセスできることです。しかし、モバイルデバイスを接続してしまえば、電池の心配をすることなく、周辺機器に簡単にアクセスできるようになります。

スマートフォンポケットタブレットと大衆化について

アプリケーションを実行できるポケットデバイスは、本来は電話だけに利用されるものではないため、「スマートフォン」という名称は実際には正しくないことに注意してください。このデバイスは、セルラー通信と WiFi 通信機能が組込まれた汎用のパーソナル・コンピューターなのです。このデバイスで「従来の携帯電話」機能はセルラー通信を使用する 1 つのアプリケーションであり、Skype* などの「IP 電話」機能は WiFi 通信を使用する別のアプリケーションです。

現在のモバイルデバイスの状況について正しく考えるなら、「タブレット」と「スマートフォン」という分類は実際にはなく、単にノートサイズのタブレットとポケットサイズのタブレットがあるだけです (どちらもセルラー通信機能があるものとないものが存在します)。これらのデバイスが異なるオペレーティング・システムを実行していることは単に現時点での違いにすぎません。

iPad* はセルラー通信機能のない大きな iPhone* だと指摘される理由はここにあります。iPhone* (3G 以降、アプリケーションが実行できるもの) は、ポケットに収まりセルラー通信機能を備えた iPad* であり、ほかのポケットサイズのデバイスを時代遅れにしてしまいました。どちらのデバイスも本来はタブレットです。ハードウェアの余分な機能を最小化して、画面全体を自由に操作できるアプリケーションが提供されています。オンデマンドで特別な目的のデバイスに変化する最先端のモーフィング・デバイスといえます。(余談ですが、デバイスの表面に平面ガラスではなく自由に変形可能なハードウェアを利用できるようになれば、まずキーとコントロールの場所を高くしておいて、その後さまざまな形に変形できるようになります。ただし、ハードウェア・モーフィングはまだ研究段階であり、現在は平面ガラスが一般的です)。

我々の多くは、「電話」を小さなタブレットとして使用し、本を読む、ニュースを見る、映画を鑑賞する、ゲームで遊ぶ、ソーシャル・ネットワーキング・サービスにアクセスする、ネットを閲覧する、などのアプリケーションを実行して、このデバイス上で多くの時間を費やしています。私はすでに、このデバイスを電話として利用するよりも小さなタブレットとして利用する時間のほうが長くなっています。アプリケーションを実行できる電話を持っている皆さんの多くも私と同じではないでしょうか。

私は、この 10 年の間に最も多く利用されるメインストリームのフォームファクターは「ノートサイズとポケットサイズのタブレット + ドッキング」になると見ています。ここでいう「ドッキング」とは、オンデマンドでキーボードやモニターなどの周辺機器を接続するという意味です。物理的な接続や Bluetooth や Play To による接続はすでに広く普及しており、今後もよりワイヤレスでシームレスに接続されるようになるでしょう。

我々の多くはすでに同じような環境で作業を行っているため、この将来を想像することは難しくありません。例えば私は、これまでの 10 年間、主にノートブックで作業を行ってきました。
通常、自宅やオフィスではノートブックをドッキングするかリモート・デスクトップ・クライアント経由でフルサイズのキーボードと大画面のモニターを使用して作業し、外出中はノートブックをノートブックとして使用しています。2012 年には、ノートブックから x86 ベースの最新式のタブレットに変更して、タブレットを全く同じ方法で使用する予定です。

我々は歴史が繰り返される様子を見ています。

  • 我々の多くは、かつては PalmPilot と携帯電話の両方を使用していましたが、その後、スマートフォンで PalmPilot で行っていた作業が可能になり、同じフォームファクターのデバイスを複数使用する必要はなくなりました。
  • 多くの子供 (あるいは親) は携帯型ゲームやポケットタブレット (つまり「スマートフォン」) を使用しています。ポケットタブレットでより多くの作業ができるようになり、専用携帯型ゲーム機が衰退しつつある様子を目にしています。
  • 同様に、我々の多くはノートブックや専用タブレットを使用しています。収束により同じフォームファクターのデバイスが再び消滅しようとしているのです。

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6

関連記事

  • パラレルジャングルへようこそ! Part 4パラレルジャングルへようこそ! Part 4 このシリーズでは、モバイルデバイスからデスクトップ、クラスター、最高粒度のクラウドまで、並列化がもたらす影響について解説します。さまざまな並列化の実装があることによる混乱は、プログラミングにおける大きな挑戦をもたらしま […]
  • パラレルジャングルへようこそ! Part 6パラレルジャングルへようこそ! Part 6 このシリーズでは、モバイルデバイスからデスクトップ、クラスター、最高粒度のクラウドまで、並列化がもたらす影響について解説します。さまざまな並列化の実装があることによる混乱は、プログラミングにおける大きな挑戦をもたらしま […]
  • 並列プログラミング並列プログラミング このページではインテル® ソフトウェア開発ツールがサポートする並列プログラミング・モデルを中心に関連する記事や参考資料へのリンクをまとめています。 [tab […]
  • ガイド付き自動並列化 (GAP)ガイド付き自動並列化 (GAP) この記事は、インテル® ソフトウェア・ネットワークに掲載されている「Guided Auto-Parallel (GAP)」の日本語参考訳です。 ガイド付き自動並列化の概要 インテル® […]
  • 効率良い並列化効率良い並列化 この記事は、インテル® ソフトウェア・サイトに掲載されている「Efficient […]