<technical report>
Performance Balancing: An Efficient Helper-Thread Execution on CMPs

Creator
Language
Publisher
Date
Source Title
Source Title
Vol
Issue
First Page
Last Page
Publication Type
Access Rights
Related DOI
Related URI
Relation
Abstract 複数のプロセッサコアを1チップに搭載するチップマルチプロセッサ(CMP)が現在注目されている. チップ内スレッドレベル並列処理により高い演算性能を得ることができるためである.しかしながら,メモリバンド幅の制約や複数コア搭載によるメモリアクセス頻度の増加により,メモリウォール問題が深刻化する.その結果,多くのメモリ参照を必要とする並列プログラムの実行においては実効性能が低下するといった問題が生じる....そこで本稿では,CMPの性能向上を目的として,演算性能とメモリ性能のバランスを考慮したヘルパースレッド実行方式を提案する.従来の方式では,スレッドレベル並列性を高めるため,搭載された全てのプロセッサコアを利用して並列プログラムを実行する.これに対し,提案方式では,一部のプロセッサコアをプリフェッチを行うヘルパースレッドに割当てる.ヘルパースレッドの最適な数が既知であると仮定して提案方式の性能を評価した結果,従来方式と比較して,最大で47%の性能向上を得ることができた.
Conventional CMPs attempt to exploit the thread-level parallelism (TLP) by using all of the cores integrated in a chip. However, this kind of straightforward way does not always achieve the best performance. This is because the memory-wall problem becomes more critical in CMPs, resulting in poor performance in spite of high TLP. To solve this issue, we propose an efficient thread management technique, called performance balancing. We dare to throttle the TLP to execute software prefetchers as helper-threads. Our experimental results show 47% speed up in the best case compared with a conventional parallel execution.
show more

Hide fulltext details.

pdf imazato08_1 pdf 358 KB 153  

Details

Record ID
Peer-Reviewed
Subject Terms
Type
Created Date 2009.04.22
Modified Date 2020.11.17