View: session overviewtalk overview
14:30 | Deep Learning and High-Performance Computing |
17:00 | 一貫性検証手法の動的切り替えによるソフトウェアトランザクショナルメモリの高速化 PRESENTER: Ryota Iida ABSTRACT. トランザクショナルメモリ(TM)は,クリティカルセクションを含む一連の命令列をトランザクションとして定義し,これを投機的に並列実行することで,粗粒度ロックと同程度の記述性と,細粒度ロックと同等以上の性能とを両立しうるパラダイムとして期待されている.このTMをソフトウェア上に実装したソフトウェアトランザクショナルメモリ(STM)では一般に,論理タイムスタンプを用いて共有変数の一貫性を検証しているが,この手法はスケーラビリティに欠けるという問題がある.また,他の一貫性検証手法として共有変数別ごとのバージョン情報を用いるものがある.この手法は論理タイムスタンプを用いる手法に比べスケーラビリティに優れるが,トランザクション内で読み出す共有変数の個数の二乗に比例するオーバヘッドが発生するという問題がある.本稿では,実行時のスレッド数とトランザクション内で読み出す共有変数の個数とを基準とし,一貫性検証手法を適切なものへ動的に切り替えることで,STMのオーバヘッド抑制とスケーラビリティ向上との両立を目指す.提案手法を実装し,評価を行った結果,最大27.0%,平均15.3%の速度向上を達成した |
17:30 | Almost Deterministic Work Stealing ABSTRACT. Work stealing, which is a popular scheduling algorithm for task parallelism, has an efficient dynamic load balancing functionality; however, it tends to damage the data locality and doesn't scale on many-core architectures with memory-bound applications. On the other hand, deterministic scheduling algorithms (e.g., static parallel for loop) have good data locality, but they're intolerant to load imbalance emerged dynamically. This paper introduces Almost Deterministic Work Stealing (ADWS), which achieves both of these two requirements: good data locality and dynamic load balancing. ADWS consists of two parts: (i) the deterministic task allocation, which deterministically distributes tasks to workers based on the amount of work of each task, and (ii) the hierarchical localized work stealing, which compensates load imbalance emerged dynamically in a locality-aware way. In ADWS, programmers have to specify the amount of work of each task, but specifying work is not so hard for programmers if possible. The experimental results show ADWS is nearly 6 times faster than the traditional work stealing scheduler at maximum with memory-bound applications, and even if the work specified by programmers is not precise, the dynamic load balancing works well while maintaining most of the data locality. |