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
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
8
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
9
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
10
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー