Column
クアッドコアへの移行前に、対応アプリケーションの確認を
インテルに続き、AMDのクアッドコアも2007年半ばには発売になる見込みだが、アプリケーションがクアッドコアに対応しなければ、プロセッサはその本領を発揮できない。
インテルのクアッドコア技術は市場に登場してから6カ月しかたっておらず、AMDもまだクアッドコアプロセッサのリリースを準備中であることから、多くのアプリケーションは、まだクアッドコアプロセッサに対応していない。
こうした中では、サーバの新規購入を考えているデータセンター管理者は、自社のアプリケーションが新しいマルチコアプロセッサを有効に活用できるかどうかを検討すべきだ。
「マルチコアプロセッサを搭載しているからという理由でサーバの購入を決めるのは禁物だ。ユーザーは具体的なニーズに基づいてアップグレードについて判断すべきだ」と、Microprocessor Reportのシニアアナリスト兼シニアエディターを務めるトム・ハーフヒル氏は語る。
実際、多くの独立系ソフトウェアベンダー(ISV)は、クアッドコア技術をフルに活用するアプリケーションをまだ設計していない。既存アプリケーションはシングルコア上で十分な機能を果たしているからだ。
3月に発表された調査によると、ISVは、業界のマルチコアプロセッサへの移行に対応する準備を整えていない。この調査は、AMDとピークストリームが2006年に共同で主催したWebセミナーの参加者を対象に実施された。ピークストリームは、開発者がアプリケーションをマルチコアプロセッサに移植するのを支援するアプリケーションプラットフォームを提供している会社だ。
この調査では、アプリケーションをマルチコアプロセッサに移植する予定がないか、あるいは移植計画を立てていないISVが50%以上を占めた。
また回答者の過半数が、自社のアプリケーションプログラマーのうち、マルチスレッドコーディングのノウハウを持っている者は25%に満たないと答えている。
「ソフトウェア開発者が手を打たなければ、これからもアプリケーションの大部分は、シングルコアに対応したものになる。このことを頭に入れておくことが重要だ。こうしたアプリケーションはマルチコアを活用することができず、実のところ、動作が遅くなってしまうかもしれない」と、ソフトウェア開発プラットフォームを提供するラピッドマインドのレイ・デポール社長兼CEOは語る。
以前はソフトウェアのパフォーマンスは、プロセッサのクロック周波数の高速化に比例して向上した。プロセッサのクロックが1GHzから2GHz、3GHzと上昇するにつれて、ソフトウェアもより高速に動作するようになり、開発者は開発のやり方を変える必要はなかった、とデポール氏は語る。
だが、発熱と消費電力の問題から、パフォーマンスの向上を目指すプロセッサメーカーはクロック周波数を引き上げるのをやめ、1つのプロセッサダイに搭載するコアを増やし始めた。
「今やインテルは80コアプロセッサの開発を進めている。ソフトウェア開発者にとってはますます厄介な状況になる。アプリケーションでマルチコアプロセッサの機能を利用するには、その動作の仕組みを踏まえて開発を行わなければならないが、コアが増えるほど、その仕組みは複雑になるからだ」(デポール氏)
もはやソフトウェア開発者は、プロセッサの進化の恩恵を自動的に受けることはできない。開発者はクアッドコアプロセッサに投資するユーザーのために、アプリケーションをマルチコアに対応させ、最大限のパフォーマンスを発揮させる方法を見いださなければならないと、デポール氏は語る。
アプリケーションを並列化し、処理を複数のコアに分散できるベンダーは、シングルコアからマルチコアプロセッサに移行すれば、製品のパフォーマンスを大幅に高めることができるだろう。だが、アプリケーションを並列化しない、あるいはできないベンダーは、マルチコアのメリットを生かせないと、クラビーアナリティクスのジョー・クラビー氏は語る。
一方、マルチコアによる並列処理を利用する必要がそもそもないアプリケーションもあり、ISVはそれらを作り直すには及ばない。
「すべてはアプリケーション自体にかかっている。例えば、Microsoft Wordを複数のコアで実行するメリットがあるかといえば疑問だ。Wordはシングルスレッドアプリケーションとして十分な機能を果たしている」(クラビー氏)
アプリケーションのマルチスレッド化
マルチコアを活用するアプリケーションの開発で大きなハードルとなるのが、マルチスレッド化というプログラミング手法だ。
タスクを並列処理するマルチスレッド化されたアプリケーションは、マルチコアプロセッサを搭載したシステムで効果的に動作する。
マルチスレッド化を行うには、ソフトウェア開発者はアプリケーションを、それぞれ同程度のワークロードを持ち、並列に実行可能な複数のタスクに分割することになる。
「開発者にとって、プログラムを分割するのは考え方として難しいだけでなく、2つか3つより多くのタスクへの分割となると、実現が非常に困難だ。デッドロック、同期、競合条件といった問題が、長年にわたって、このモデルを実装する上で悩みの種となっている」とデポール氏は語る。「しかも、4コアの活用に成功したとしても、8コアプロセッサが登場したら、また振り出しに戻らなければならない」
ラピッドマインドの「RapidMind Development Platform」は、アプリケーションの並列化を可能にし、多数のコア間でワークロードの規模を調整する。ソフトウェア開発者はこのプラットフォームを利用して、アプリケーションのどの部分が実行速度が遅く、複数のコア上で動作させることで大幅に高速化するかを特定する。こうした部分がこのプラットフォームに渡され、複数のコアに分散されると、デポール氏は説明する。
「ソフトウェア開発者はアプリケーションに集中でき、プロセッサコアの性能を引き出すことは、このプラットフォームに任せることができる」とデポール氏。
ピークストリームも、データの並列処理を実現するプラットフォーム「Stream Programming」を提供している。ソフトウェア開発者はこのプラットフォームを同社のWebサイトからダウンロードして、クアッドコア対応プログラムの作成に利用できると、同社の製品管理担当副社長、マイケル・マラニー氏は語る。
AMDは、プログラムを再設計してクアッドコアに対応させるソフトウェアベンダーへの協力に特化した部門を設置している。
「われわれは、すべてのソフトウェアが動作するようにクアッドコアプロセッサを設計している。だが、この技術がどれだけ活用されるかは、アプリケーションによって異なってくる」とAMDの企業向けソリューション担当ディレクター、マーガレット・ルイス氏は語る。
どんなアプリケーションがクアッドコアに対応しているのか
クアッドコアプロセッサに既に対応しているアプリケーションは、マルチスレッド化され、使用可能なすべてのコアを常に無駄なく使用するアプリケーションだ。
マルチプロセッササーバが長年提供されているため、高いパフォーマンスが要求されるアプリケーションのほとんどは、個々のプロセッサのコアが1つか複数かを問わず、マルチプロセッサを既にサポートしていると、イルミネータの主席アナリスト、ゴードン・ハフ氏は語る。
「確かに、アプリケーションによって並列化の度合いはさまざまだ。だが、現在では多くのアプリケーションでマルチスレッド化が進んでおり、いずれにしても、通常のサーバでは多数のプロセスが同時に動作している。このため、1つのアプリケーションがすべてのコアを使用しなくても、ほかの多くのアプリケーションやシステムのプロセスが、すべてのコアを使うことになる」とハフ氏は指摘する。ただ、デスクトップアプリケーションのマルチコアへの移行には時間がかかるだろう、と同氏は見ている。
仮想化、Java、大規模データベースや、複雑なことで知られるERPアプリケーションなどの利用による大きなワークロードは、デュアルコアからクアッドコアへの移行により、パフォーマンスが大幅に改善すると、インテルのパフォーマンスマーケティング担当マネジャー、ボブ・バローズ氏は説明する。
「クアッドコアを使えば、ワークロードのパフォーマンスは、デュアルコアの場合と比べて50~75%向上する」(バローズ氏)
クアッドコアプロセッサにより、デュアルコアの2倍のパフォーマンスが得られるわけではないのは、ソフトウェアアプリケーションの種類やメモリの帯域といった要素もパフォーマンスに影響するからだ。AMDの広報担当者は、クアッドコアプロセッサによるワークロードパフォーマンスの向上率は、30~70%だろうと話している。
また、例えばJavaのように、マルチスレッドをもともとサポートしている言語で作成されたアプリケーションもある。
「大手のパッケージソフトウェアベンダーは、マルチコア化の流れを見越して準備を進めてきた。だが、改善の余地が大きいアプリケーションを作っているベンダーもあり、彼らが改善できるかどうかは教育にかかっている部分が大きい。これは、アプリケーションのマルチスレッド化の難しさに起因する問題だ」と、サンマイクロシステムズのSolaris CoreおよびOpen Solaris担当ディレクター、ダン・ロバーツ氏は語る。
「大手のソフトウェアベンダーと小規模なベンダーの違いという面がある。効果的なマルチスレッドコードを作成するには特定のスキルセットが必要だが、そのスキルセットは、これまでそうしたコードを考慮する必要がなかった小規模な開発会社には欠けているかもしれない」とイルミネータのハフ氏は語る。「ワークロードの並列処理を本格的に活用するのは非常に大変な場合がある」
ロバーツ氏も、マルチスレッド化が進んでいないアプリケーションは、一般に、社内のソフトウェア開発者がマルチスレッド化手法を身につけていない大中規模の企業で作成されていると指摘する。
AMDやサンのような企業は、こうした開発者のマルチコアプラットフォームへの移行を支援する活動を展開している。
「サンは、オラクルやIBMのソフトウェア部門と同様に、アプリケーションのマルチスレッド化に取り組むソフトウェア開発者に協力しており、既に多くのアプリケーションがマルチスレッドに対応するようになっている」と、サンのISVエンジニアリング部門のシニアスタッフエンジニア、ヒューゴー・リベロ氏は語る。「われわれはソフトウェア開発者と話す場合、クアッドコアにとどまらず、多くのコアを活用できるプログラムを設計するよう勧めている。プロセッサの世界は日進月歩だからだ」
OSのマルチスレッド対応は問題なし
ほとんどのOSは既にマルチスレッドに対応しているため、マルチコアをフルに活用するための検討材料としては、OSは、その上で動くアプリケーションほど重要ではない、とAMDのルイス氏は語る。
「ノベルのOSや、Red Hat Linux、SolarisといったOSは、既にマルチスレッドのスケジューリングを適切に行える。最初からそのように設計されているからだ。スケーラブルなOSであれば、アプリケーションのワークロードを4つのコアに適宜割り当てることができる」とルイス氏。
「Solarisの場合、スケーラビリティが要求される市場向けに設計されており、最大128プロセッサ構成のサーバで動作する。マルチスレッド対応は、Solarisでは当たり前の機能だ」とサンのロバーツ氏は語る。
また、マイクロソフトの広報担当者によると、同社のサーバソフトウェア、例えばWindows Server 2003 Standard Editionなどは、シングルコア、ハイパースレッド、マルチコアプロセッサのいずれにも対応しているが、マルチコア上でより高いパフォーマンスを発揮する。Windows Serverの次期バージョンとなる「Longhorn」も同様だという。
だが残念ながら、アプリケーションでマルチコアプロセッサの性能を最大限に利用する必要がある場合に、OSに頼ることはできない。アプリケーションをマルチコアに対応させるのは、ソフトウェア開発者の責任だ。ソフトウェア開発者が何もしなければ、OSは、複数のアプリケーションが別々のコア上で動作できるようにするが、それでは個々のアプリケーションにおける真のパフォーマンス向上は実現されないと、ラピッドマインドのデポール氏は指摘する。
だが、ISVが既存のアプリケーションを作り直すのは望み薄だ。彼らはそうする代わりに、マルチコアプロセッサに対応した次世代アプリケーションを作成すると予想される、とAMDのルイス氏は語る。「新しいハードウェアが出てしばらくすれば、対応ソフトウェアも作りやすくなる」
TechTargetジャパンへのご登録はお済みですか?
**「TechTargetジャパン」メンバーシップのご案内**
会員登録を行うことで、300点以上の技術資料がそろったホワイトペーパーや興味・関心分野ごとに情報を配信するメールマガジン、ITmediaや@ITの特集記事がPDFでまとまって読める電子ブックレットなど、各種サービスを無料で利用できます。**会員登録(無料)はこちらから**
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[ゾーホージャパン株式会社] サイバー攻撃からネットワークを守る上で確実に押さえておきたいポイントとは? -
事例
[アルプス システム インテグレーション株式会社] 中小企業でも安心して活用できる「手ごろなSOCサービス」とは? -
製品資料
[株式会社シーイーシー] 脱VMwareに成功した企業は何をどう実践した? 事例に学ぶ戦略立案&実装のコツ -
製品資料
[株式会社オービックビジネスコンサルタント] ランサムウェア攻撃を“二重の防御構造”で防ぐ、クラウド型基幹システムの実力 -
製品資料
[株式会社オービックビジネスコンサルタント] 動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
2
鹿島建設のDXを阻む「10年前のAWS」 安全性と自由度を両立したモダナイズ
-
3
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
4
NECの「BluStellar」に必要なデータ保護と活用のための技術とは
-
5
慶應義塾が「Notion」を選んだ理由 AI導入の盲点になる“情報のサイロ化”
-
6
「Excel管理」では限界――製造現場の改善が進まない“隠れた原因”
-
7
LINEヤフーはなぜ「社内の管理者」すら信用しないインフラを作ったのか
-
8
「ノートPC派」は損をしている? Dellと考える“自作PC”のメリット
-
9
「また同じ説明か」 消費者の半数が離脱するAIチャットbotの“記憶喪失”
-
10
「企業におけるAI導入検討度とIT投資優先度」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
“あのファイル転送”で暗躍するノーウェアランサム
-
9
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー