Skip to main content
QUICK REVIEW

[論文レビュー] An Improving Method for Loop Unrolling

Meisam Booshehri, Abbas Malekpour|arXiv (Cornell University)|Aug 3, 2013
Real-time simulation and control systems参考文献 2被引用数 12
ひとこと要約

この論文では、スーパスカラプロセッサ向けに最適化された拡張されたループアンローリング手法を提案し、リンクリストの走査を最適化することで、命令レベル並列性(ILP)とプログラムの高速化を向上させることを目的としている。動的データ構造に対して一般化されたループアンローリングを適用することにより、ループのオーバーヘッドを低減し、ILPを向上させ、パentinum 4およびAlliant FX/2800スーパーコンピュータシステムで測定可能な性能向上を達成した。エネルギーおよび電力消費への影響は最小限に抑えられた。

ABSTRACT

In this paper we review main ideas mentioned in several other papers which talk about optimization techniques used by compilers. Here we focus on loop unrolling technique and its effect on power consumption, energy usage and also its impact on program speed up by achieving ILP (Instruction-level parallelism). Concentrating on superscalar processors, we discuss the idea of generalized loop unrolling presented by J.C. Hang and T. Leng and then we present a new method to traverse a linked list to get a better result of loop unrolling in that case. After that we mention the results of some experiments carried out on a Pentium 4 processor (as an instance of super scalar architecture). Furthermore, the results of some other experiments on supercomputer (the Alliat FX/2800 System) containing superscalar node processors would be mentioned. These experiments show that loop unrolling has a slight measurable effect on energy usage as well as power consumption. But it could be an effective way for program speed up.

研究の動機と目的

  • 従来のループアンローリングが動的データ構造(リンクリストなど)において非効率である問題に対処すること。
  • 最適化されたループアンローリングを通じて、スーパスカラアーキテクチャにおける命令レベル並列性(ILP)を向上させること。
  • 実世界のスーパスカラシステムにおける、ループアンローリングの性能、電力消費、エネルギー使用への影響を評価すること。
  • リンクリスト走査に特に適応された一般化されたループアンローリング技術を提案すること。
  • 一般用途およびスーパーコンピュータ環境の両方で、エネルギーオーバーヘッドを最小限に抑えつつ測定可能な高速化を実証すること。

提案手法

  • J.C. HangとT. Lengが提唱した一般化されたループアンローリング技術を、リンクリスト走査に応用する。
  • 制御オーバーヘッドを低減し、動的データアクセスパターンにおける命令レベル並列性を向上させるために、ループ構造を変更する。
  • 分岐を最小限に抑えてILPの活用を促進するため、固定イテレーション回数でアンローリングを実装する。
  • Pentium 4およびAlliant FX/2800を含む、順次処理およびスーパスカラアーキテクチャにこの手法を適用する。
  • パフォーマンス、電力、エネルギーのトレードオフを評価するために、プロファイル駆動分析を用いる。
  • 実際のスーパスカラハードウェアプラットフォーム上で実験的実行により、手法の妥当性を検証する。

実験結果

リサーチクエスチョン

  • RQ1ループアンローリングをリンクリスト走査に適用した場合、スーパスカラプロセッサにおけるプログラムの高速化にどのように影響するか?
  • RQ2ループアンローリングは、スーパスカラアーキテクチャにおける電力消費およびエネルギー使用にどのような影響を及ぼすか?
  • RQ3一般化されたループアンローリングは、リンクリストのような動的データ構造に効果的に適応可能か?
  • RQ4標準的なアンローリングと比較して、提案手法はパフォーマンスおよびリソース使用においてどのように異なるか?
  • RQ5ループアンローリングは、実世界のスーパスカラシステムにおいて、どの程度命令レベル並列性を向上させるか?

主な発見

  • 提案されたループアンローリング手法は、Pentium 4およびAlliant FX/2800スーパーコンピュータシステムの両方で測定可能なプログラムの高速化を達成した。
  • エネルギー使用量および電力消費はわずかに増加したにとどまり、低オーバーヘッドであることが示された。
  • 最適化されたループ構造を通じて、スーパスカラプロセッサにおける命令レベル並列性(ILP)が効果的に向上した。
  • リンクリスト走査は、動的データ構造における従来のアンローリングの限界を克服するため、強化されたアンローリング戦略により著しく利益を受けた。
  • 結果から、エネルギーコストを最小限に抑えながらも、ループアンローリングがパフォーマンス最適化に有効であることが確認された。
  • 一般化されたアンローリングアプローチは、一般用途およびハイパフォーマンスコンピューティングプラットフォームの両方で、成功裏に適応および検証された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。