最近のプロセッサが提供する並列処理を活用するのはなかなか難しい。これらのCPUが低価格でも手に入るようになった今、ソフトウェアエンジニアの主要な課題は、アプリケーションの中でプロセッサをいかに活用するかということである。マルチコアのソフトウェアエンジニアリング、パフォーマンス、ツールに関する国際会議(The International Conference on Multicore Software Engineering, Performance, and Tools; MSEPT'12)でその答えが見つかるかもしれない。
マルチコアシステム、メニーコアシステムは、デスクトップ、ラップトップ、さらにスマートフォンやタブレットでも一般的に使われるようになった。IPテレビやマルチメティア、ゲームといった多くのリソースを必要とするアプリケーションでは、ソフトウェアエンジニアはどうしたらハードウェアにそのパワーを遺憾なく発揮させることができるか、という課題を解決しなければならない。低価格のマルチコアシステムが登場する前は、これらは大きな機関でしか使われていなかったが、現在では平均的な開発者でさえそのような課題に立ち向かっていかなければならない。不幸なことに、並列処理にも多くの落とし穴や罠がある。マルチコア上に構築されたアプリケーションの中には、シリアルで動くものよりも遅かったり、不安定だったりするものもある。これは、並列処理が元来とても複雑なためである。それゆえ、多くの誤りが生まれる可能性がある。並列システムに関する多くのカンファレンスでは、未だにシステムプログラミングやプロプライエタリなハードウェアアーキテクチャといったものに焦点が当てられているが、実際のところ、並列処理はそのアーキテクチャレベルでの取り組みも必要である。並列処理をコードの側面から考えるだけでは十分ではないのだ。
MSEPT'12カンファレンスは、ソフトウェアエンジニアリングをカバーすることによって、研究と実践の間のギャップを埋めてくれるだろう。論文の投稿に興味のある参加者は、次のような分野を扱っていることが求められる。
- マルチコアソフトウェアのためのフレームワークやライブラリ
- GPU: プログラミングやツール、OpenCL、CUDA、コンパイラ、ランタイムシステム
- 並列パターン
- 並列ソフトウェアアーキテクチャ
- マルチコアソフトウェアのモデリング技術
- ソフトウェアコンポーネントやコンポジション
- マルチコアのためのプログラミングモデル
- ソフトウェアトランザクショナルメモリ
- 並列アプリケーションのテストやデバッグ
- マルチコアソフトウェアの検証テクニック
- 並列処理のソフトウェア・リエンジニアリング
- パフォーマンスのチューニング、自動チューニング
- マルチコアシステムの開発環境や開発ツール
- 同種(homogeneous)/異種(heterogeneous)マルチコアシステムのためのツールや技術
- マルチコアのコンパイラ技術や自動並列化
- マルチコアソフトウェア開発のためのプロセスモデル
- マルチコアクラスタやマルチコアを使った分散システムでの並列処理
- マルチコアプログラミングのエネルギー問題
- マルチコアのデータ管理
- マルチコアハードウェアとOSのインターフェースのソフトウェア問題
- 化学計算のマルチコアソフトウェア問題
- モバイルや組込みシステムのマルチコアソフトウェア
- 体験レポート
MSEPT'12カンファレンスはチェコ共和国のプラハで2012年5月31日から6月1日まで、TOOLSカンファレンスとあわせて開催される予定だ。