SlideShare a Scribd company logo
1 of 24
Download to read offline
Prefetch and Cache in PLDI'02
●   Dynamic Hot Data Stream Prefetching...
    ●   プロファイリングとHot Data Streamの解析に基づくダイ
        ナミックプリフェッチング手法の提案

●   Efficient Discovery of Regular Stride...
    ●   Irregularなload命令のストライドパタンの発見


●   Static Load Classification for...
    ●   load命令を20種に分類。Load-value predictionの利用
        をコンパイル時に決定する
CITED BY 40


読んだ人 みよし たけふみ
   2010.06.30
概要
●   プリフェッチは限られた場所でしか有効ではない
●   ダイナミックプリフェッチングの提案
    ●   Temporal data reference profile
    ●   Extract hot data stream
    ●   With the added prefetch inst(no profiler, analyzer)


●   Improvement 5-19% speedup
Overview
Data Refs. Profiling and Analysis
●   Bursty Tracing Framework for Low-over-head
    Temporal Profiling
    ●   Not only the freq., but also temporal relationships
        eg. cdeabcdeabfgとabcdefabcdeg
●   Extensions for Online Optimization
●   Fast Hot Data Stream Detection
[15]
 Bursty Tracing Framework for
Low-overhead temporal profiling




 2つのバージョンを用意 nCheckとnInstで実行コードを選択
 Vulcanでバイナリ変換してチェックコード等を挿入
Extensions for Online Optilization
Fast Hot Data Stream Detection(1)




= to compress the profile and
infer its hierarchical structure. [23]
Fast Hot Data Stream Detection(2)

                 v.heat = v.length*v.frequency
                 A.heat = wA.length*A.coldUses
Overhead of profiling and analysis
Dynamic Prefetching
●   Generating Detection and Prefetching Code
●   Injecting Detection and Prefetching Code
Generating Detection and
           Prefetching Code
Hot data stream v = v1v2...v{v.length} into
a head v.head = v1v2...vheadLen
and
a tail v.tail = v{headLen+1}v{headLen+2}...v{v.length}.
Performance impact
CITED BY 18


読んだ人 みよし たけふみ
   2010.06.30
概要
●   Irregular data referencesのプリフェッチは難しい
●   重要なIrregularなload命令はストライドアクセスパタン
    をもっている(ようだ)

●   ストライド付きload命令を発見するプロファイル手法
    ●   ストライド情報のプロファイルをedge frequencyなプロファイ
        ラに組み込む
    ●   17%の速度低下


●   181.mcf: 1.59x, 254.gap: 1.14x などなど
CITED BY 2


読んだ人 みよし たけふみ
   2010.06.30
概要
                                           [20]
●
    Load-value prediction : loadの結果を推測する
●   Load-value predictionの有効利用には、キャッシュミス
    し正しく予測されるloadにSpeculationが限られる
    ●   従来: Hardware-/Profile-based method


●   コンパイル時にSpeculationの決定を行う
    ●   コンパイラによるloadの分類手法
    ●   CとJavaで効果を評価

[20] M. H. Lipasti, C. B. Wilkerson, and J. P. Shen. Value Locality and Load Value Prediction.
In Proceedings ofthe second international conference on architectural support for
programming languages and operatingsystems, pages 138–147, 1996.
もう少し詳しい概要
●   Load命令を静的に20種に分類
    ●   Region: Stack, Heap, Global space
    ●   Kind: object Field, Array element, Scalar variable
    ●   Type: Pointer, Non-pointer

●   16K, 64K, 256Kの2-way set-associative cache
●   5 load-value predictors, 2048/infinite entries

(i) lv, which predicts the last value for every load
(ii) l4v, which predicts one of the last four values for every load
(iii) st2d, which uses strides to predict loads
(iv) fcm, which uses a representation of the context of preceding loads to predict a load
(v) dfcm, which enhances fcm with strides.
種類別キャッシュミス率
Predictionの成功率
Pldir 0630

More Related Content

Similar to Pldir 0630

Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Ruo Ando
 
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Ruo Ando
 
システム系論文輪講会20140806
システム系論文輪講会20140806システム系論文輪講会20140806
システム系論文輪講会20140806紘也 金子
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPRyoga Saito
 
Statically detecting vulnerability under memory pressure using exhaustive search
Statically detecting vulnerability under memory pressure usingexhaustive searchStatically detecting vulnerability under memory pressure usingexhaustive search
Statically detecting vulnerability under memory pressure using exhaustive searchRuo Ando
 
マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討Shinya Takamaeda-Y
 
Hadoopによるリクルートでの技術調査とその活用
Hadoopによるリクルートでの技術調査とその活用Hadoopによるリクルートでの技術調査とその活用
Hadoopによるリクルートでの技術調査とその活用Chiaki Hatanaka
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理fisuda
 
kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814swkagami
 
NSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッションNSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッションDaisuke Kotani
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料直久 住川
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web ServiceShinji Tanaka
 
1. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵20101. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵2010현승 박
 
1. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵20101. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵2010현승 박
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceKazuho Oku
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009Ryota Watabe
 
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...Insight Technology, Inc.
 

Similar to Pldir 0630 (20)

Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01
 
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01
 
システム系論文輪講会20140806
システム系論文輪講会20140806システム系論文輪講会20140806
システム系論文輪講会20140806
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDP
 
Statically detecting vulnerability under memory pressure using exhaustive search
Statically detecting vulnerability under memory pressure usingexhaustive searchStatically detecting vulnerability under memory pressure usingexhaustive search
Statically detecting vulnerability under memory pressure using exhaustive search
 
マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討
 
Hadoopによるリクルートでの技術調査とその活用
Hadoopによるリクルートでの技術調査とその活用Hadoopによるリクルートでの技術調査とその活用
Hadoopによるリクルートでの技術調査とその活用
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理
 
kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
 
NSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッションNSDI2015読み会 Correctness セッション
NSDI2015読み会 Correctness セッション
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web Service
 
1. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵20101. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵2010
 
1. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵20101. 일본클라우드 기술로드맵2010
1. 일본클라우드 기술로드맵2010
 
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web serviceYAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service
 
hbstudy#06
hbstudy#06hbstudy#06
hbstudy#06
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
 
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...
 

More from Takefumi MIYOSHI

ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoTakefumi MIYOSHI
 
ACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組みACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組みTakefumi MIYOSHI
 
RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29Takefumi MIYOSHI
 
Misc for edge_devices_with_fpga
Misc for edge_devices_with_fpgaMisc for edge_devices_with_fpga
Misc for edge_devices_with_fpgaTakefumi MIYOSHI
 
Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511Takefumi MIYOSHI
 
Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)Takefumi MIYOSHI
 
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Takefumi MIYOSHI
 
Synthesijer jjug 201504_01
Synthesijer jjug 201504_01Synthesijer jjug 201504_01
Synthesijer jjug 201504_01Takefumi MIYOSHI
 
Synthesijer zynq qs_20150316
Synthesijer zynq qs_20150316Synthesijer zynq qs_20150316
Synthesijer zynq qs_20150316Takefumi MIYOSHI
 
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Takefumi MIYOSHI
 

More from Takefumi MIYOSHI (20)

ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
 
DAS_202109
DAS_202109DAS_202109
DAS_202109
 
ACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組みACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組み
 
RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29
 
Misc for edge_devices_with_fpga
Misc for edge_devices_with_fpgaMisc for edge_devices_with_fpga
Misc for edge_devices_with_fpga
 
Cq off 20190718
Cq off 20190718Cq off 20190718
Cq off 20190718
 
Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
Hls friends 201803.key
Hls friends 201803.keyHls friends 201803.key
Hls friends 201803.key
 
Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)
 
Hls friends 20161122.key
Hls friends 20161122.keyHls friends 20161122.key
Hls friends 20161122.key
 
Slide
SlideSlide
Slide
 
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
 
Das 2015
Das 2015Das 2015
Das 2015
 
Microblaze loader
Microblaze loaderMicroblaze loader
Microblaze loader
 
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
 
Synthesijer jjug 201504_01
Synthesijer jjug 201504_01Synthesijer jjug 201504_01
Synthesijer jjug 201504_01
 
Synthesijer zynq qs_20150316
Synthesijer zynq qs_20150316Synthesijer zynq qs_20150316
Synthesijer zynq qs_20150316
 
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Synthesijer fpgax 20150201
Synthesijer fpgax 20150201
 
Synthesijer hls 20150116
Synthesijer hls 20150116Synthesijer hls 20150116
Synthesijer hls 20150116
 

Pldir 0630

  • 1. Prefetch and Cache in PLDI'02 ● Dynamic Hot Data Stream Prefetching... ● プロファイリングとHot Data Streamの解析に基づくダイ ナミックプリフェッチング手法の提案 ● Efficient Discovery of Regular Stride... ● Irregularなload命令のストライドパタンの発見 ● Static Load Classification for... ● load命令を20種に分類。Load-value predictionの利用 をコンパイル時に決定する
  • 2. CITED BY 40 読んだ人 みよし たけふみ 2010.06.30
  • 3. 概要 ● プリフェッチは限られた場所でしか有効ではない ● ダイナミックプリフェッチングの提案 ● Temporal data reference profile ● Extract hot data stream ● With the added prefetch inst(no profiler, analyzer) ● Improvement 5-19% speedup
  • 5. Data Refs. Profiling and Analysis ● Bursty Tracing Framework for Low-over-head Temporal Profiling ● Not only the freq., but also temporal relationships eg. cdeabcdeabfgとabcdefabcdeg ● Extensions for Online Optimization ● Fast Hot Data Stream Detection
  • 6. [15] Bursty Tracing Framework for Low-overhead temporal profiling 2つのバージョンを用意 nCheckとnInstで実行コードを選択 Vulcanでバイナリ変換してチェックコード等を挿入
  • 7. Extensions for Online Optilization
  • 8. Fast Hot Data Stream Detection(1) = to compress the profile and infer its hierarchical structure. [23]
  • 9. Fast Hot Data Stream Detection(2) v.heat = v.length*v.frequency A.heat = wA.length*A.coldUses
  • 10. Overhead of profiling and analysis
  • 11. Dynamic Prefetching ● Generating Detection and Prefetching Code ● Injecting Detection and Prefetching Code
  • 12. Generating Detection and Prefetching Code Hot data stream v = v1v2...v{v.length} into a head v.head = v1v2...vheadLen and a tail v.tail = v{headLen+1}v{headLen+2}...v{v.length}.
  • 13.
  • 15.
  • 16. CITED BY 18 読んだ人 みよし たけふみ 2010.06.30
  • 17. 概要 ● Irregular data referencesのプリフェッチは難しい ● 重要なIrregularなload命令はストライドアクセスパタン をもっている(ようだ) ● ストライド付きload命令を発見するプロファイル手法 ● ストライド情報のプロファイルをedge frequencyなプロファイ ラに組み込む ● 17%の速度低下 ● 181.mcf: 1.59x, 254.gap: 1.14x などなど
  • 18. CITED BY 2 読んだ人 みよし たけふみ 2010.06.30
  • 19. 概要 [20] ● Load-value prediction : loadの結果を推測する ● Load-value predictionの有効利用には、キャッシュミス し正しく予測されるloadにSpeculationが限られる ● 従来: Hardware-/Profile-based method ● コンパイル時にSpeculationの決定を行う ● コンパイラによるloadの分類手法 ● CとJavaで効果を評価 [20] M. H. Lipasti, C. B. Wilkerson, and J. P. Shen. Value Locality and Load Value Prediction. In Proceedings ofthe second international conference on architectural support for programming languages and operatingsystems, pages 138–147, 1996.
  • 20. もう少し詳しい概要 ● Load命令を静的に20種に分類 ● Region: Stack, Heap, Global space ● Kind: object Field, Array element, Scalar variable ● Type: Pointer, Non-pointer ● 16K, 64K, 256Kの2-way set-associative cache ● 5 load-value predictors, 2048/infinite entries (i) lv, which predicts the last value for every load (ii) l4v, which predicts one of the last four values for every load (iii) st2d, which uses strides to predict loads (iv) fcm, which uses a representation of the context of preceding loads to predict a load (v) dfcm, which enhances fcm with strides.
  • 21.