研究概要 |
本研究の目的は計算時間を要するアプリケーションを高速かつ効率的に動かすためにヘテロジニアスマルチコアプロセッサの潜在的な能力を引き出すことである.そのためにタスク内記憶領域管理機構を提案・実装し,実際的な応用プログラムを実行して,提案手法を評価を実施する.本研究で提案しているタスク内記憶領域管理機構は,ひとつの粗粒度タスク(ループやサブルーチン等のある程度まとまった処理単位)において各プロセッサにあるローカルメモリと主記憶とのデータ交換を自動的に行う.評価するための実際的なアプリケーション・プログラムとして,大規模な論理計算とデータ交換を行うLSIのテスト計算を選定して,その既存コードを解析した.その解析の結果,既存コードそのままでは,ヘテロジニアスマルチコアプロセッサを含むSIMD並列化による効率的な実行が困難であることがわかった.そのため,入力データの一部であるLSIの回路を表しているnetlistを含めたコード全体を実行の前にSIMD並列化可能な並列分散プログラムに変換する手法を考案した.結果,LSIやテストデータの規模が大きく計算が大規模である場合,メインメモリとローカルメモリとのデータ交換を計算処理の間にうまく隠蔽可能であることが分かった.より一般的なローカルメモリと主記憶間における記憶領域を実現するには,管理に要する計算時間とローカルメモリ間でのデータ交換に要するオーバーヘッドと,管理することで効率化され計算時間が短縮されることとのトレードオフが重要であることがわかっている.つまり効率的なタスク内記憶領域管理機構を実現するために管理コストを削減するには,事前のSIMD並列化や並列分散プログラムに変換する処理との関連付けが重要となる.
|