2005年12月19日
日本電気株式会社
NECはこのたび、アプリケーションを変更することなく自動的に並列化できるマルチコアプロセッサ技術を開発しました。
今回開発したマルチコアプロセッサ技術の特長は次の通りです。
(1) | アプリケーションに内在する並列性を最大限に抽出するプロファイル(注1)を利用した自動並列化コンパイラ |
(2) | 並列化によるオーバーヘッドを最小限に抑える追加命令セット |
(3) | 投機処理(注2)を効率よく行うプロセッサアーキテクチャ |
(4) | 既存プロセッサの簡単な拡張により実現可能 |
並列化に伴う処理順序不正の検出・実行取り消し・やり直しを効率よく実現する投機実行ハードウェア技術の開発により、プロファイルと呼ばれるプログラムの実行履歴情報を利用した自動並列化コンパイラが、性能向上に有効な並列化パタンを積極的に活用できるようになったところに主な特長があります。
ユビキタス社会では、携帯電話、情報家電などの端末が低電力を維持したままいっそう高機能・高性能になることが求められます。この実現のために、1つのLSIに複数のプロセッサコアを搭載し、これをアプリケーションの並列化により有効活用するマルチコア型およびマルチプロセッサ型SoC(システム・オン・チップ)の実用化が相次いでいます。しかし、従来のマルチプロセッサではアプリケーションを並列化するためにプログラムソースを人手で修正する必要があるため、ソフトウェアの大規模化と相まってソフトウェア開発と検証コストの増大を招くという問題があります。そのため、アプリケーションを変更することなく自動的に並列化できる並列プロセッサ技術の開発が望まれています。
このたびの開発により、アプリケーションの自動並列化が実現され、並列化にかかる時間やコストを大幅に削減できます。また、人手による並列化よりもアプリケーションが高速化されたケースも確認できています。例えば、1プロセッサで動作するプログラムを4プロセッサで動作するプログラムに書き換える作業を人手では4ケ月かかっていましたが、この技術による自動化により3分に短縮できました。また、1プロセッサでの動作と比べて、4プロセッサで動作する場合のプログラム速度は、人手による並列化の場合1.95倍ですが、自動並列化の場合は2.83倍と速度が向上しています。このような自動並列化が可能になることで、マルチコアおよびマルチプロセッサを活用した高機能・高性能なソフトウェアの作成が容易になり、携帯電話や情報家電などの高機能化、高性能化が図れます。
NECでは、今回開発したマルチコアプロセッサ技術の早期実用化を目指し、今後とも積極的な研究・開発活動を続けていきます。
以上
NEC中央研究所 研究企画部 企画戦略グループ
WEBからのお問い合わせ:
https://www.nec.co.jp/r_and_d/ja/cl/contact.html
このページに掲載されているプレスリリースその他の情報は、発表日現在の情報であり、時間の経過または様々な後発事象によって変更される可能性がありますので、あらかじめご了承ください。