▲ 先頭に戻る

Facebook にも 販売製品の紹介やホームページ更新案内の投稿をしています。

コンピュータプラットフォームでの並列処理の新たな展開と挑戦
ITインフラに対する厳しい要求に対して、コンピュータ自身も大きく変わろうとしています。その中心となっているのが、マイクロプロセッサの64ビット化と“マルチコア化” です。これらの64ビット化されたマルチコアプロセッサを採用したサーバ、ノート/デスクトップが市場に投入されることにより、計算機を含むITインフラは大きな変革の時を迎えています。このようなITインフラの変化に対応するこ とが現在求められています。 続きを読む
  1. はじめに:なぜ、並列処理が必要なのか?
  2. コンピュータにおける並列処理
  3. 並列処理による性能向上の実現
  4. プログラミングワークフローについて
  5. おわりに:スケーラブルシステムズの取り組み


トップページ > 並列処理・並列プログラミング > コンピュータプラットフォームでの並列処理の新たな展開と挑戦
▼ プログラミングのワークフローについて

多くの分野において、科学者や技術者は、重要で複雑な問題を解くためにハイパフォーマンスコンピューティングシステム(HPCシステム)を利用しています。マイクロプロセッサが、その動作クロックを向上させ、64ビットアドレッシングをサポートすることで、デスクトップもその処理能力を大幅に向上させています。しかし、並列処理を基本とするHPCシステムの利用も拡大しています。その大きな理由として、以下のような要因があります。
  1. 解析対象のモデルやアルゴリズム、解析現象の複雑化のため、デスクトップでは物理的に解析できない問題が増加している
  2. シングルプロセッサのクロックアップでの性能向上の限界に対処する為にプロセッサのマルチコア化とそのようなプロセッサを複数搭載したマルチプロセッサシステムの利用が必須となっている
  3. マルチプロセッサを搭載する並列計算機システムがより廉価に導入できることようになっている

このようにHPCシステムの利用が一般化することで、従来よりもより深刻化している問題があります。それが、「ソフトウエアのギャップ」と「プログラム開発のワークフロー」の問題です。

プログラム開発のワークフロー

プログラムのアルゴリズムやモデリングをテストする場合、デスクトップなどのより身近なシステムでの開発を行い、その後で、HPCシステムでのテストや実データでの検証などを行なうことになります。このようなワークフローには、柔軟性や効率化という点では、常に問題があります。デスクトップでのプロトタイプで利用する計算機環境やプログラミングモデルとHPCシステムでのプログラミングモデルは必ずしも一致しないケースもあり、また、HPCシステムでの高いスケーラビリティを実現するには、高度な知識とプログラミング技術が求められる場合があります。そのような技術はある意味、特殊な技術を持つスペシャリストを必要としますが、そのようなスペシャリストは非常に限られています。

従来型の並列アプリケーションの開発プロセス (バッチワークフローでの開発プロセス)この図に示すようなワークフローが典型的なHPCシステムでのアプリケーション開発のひとつです。

また、マルチプロセッサでのプログラム開発では、プログラムのデバッグや実行時のボトルネックの解析は、HPCシステムの構成規模が大きく、より多くのリソースを利用するような場合には、非常に困難なタスクとなります。また、小規模な問題やテスト的に利用するモデルでは問題なく解析出来ても、本来のシュミレーションで要求されるデータやモデルでは問題が発生する場合もあります。

また、プログラムの開発段階では、プログラム自身のコーディングはもちろん、アルゴリズムやアプリケーションの仕様なども頻繁に変更になります。このような開発には、長い開発期間を必要とすることになり、コストも非常にかかることになります。 このようなプログラムの開発が終了した後でのシュミレーションは、一般には‘ジョブ’として、HPCシステムが用意しているバッチシステムで実行されることになります。バッチシステムでの実行は、プログラムの開発やテストで行ってきたような対話処理ではないため、その実行結果の確認はジョブの終了を待つことになります。

エンジニアや科学者が必要とするのは、結局は、‘Time-to-Solution (問題解決までの時間)’の短縮であることから、このようなプログラムやソリューションの開発期間も含んだトータルなワークフローでの時間短縮や効率化が求められています。

デスクトップでのプログラム開発とHPCシステムでの開発を共通化:デスクトップでのプログラム開発とHPCシステムでの開発を共通化することでプログラム開発のワークフローを改善し、同時にソフトウエアのギャップの克服を目指し、「Time-to-Solution」の改善を図ることを可能とする様々な提案があります。

今後はこれらのソリューションの導入や更なる進化が求められることになります。



ウェブサイトについて | 免責事項 | サイトマップ | 個人情報保護 | 会社代表からのご挨拶
Copyright© 2005-2024 Scalable Systems Co., Ltd. All rights reserved.