Data Processing on Modern Hardware
Jens Teubner, TU Dortmund, DBIS Group jens.teubner@cs.tu-dortmund.de Summer 2014
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 1
Data Processing on Modern Hardware Jens Teubner, TU Dortmund, DBIS - - PowerPoint PPT Presentation
Data Processing on Modern Hardware Jens Teubner, TU Dortmund, DBIS Group jens.teubner@cs.tu-dortmund.de Summer 2014 Jens Teubner Data Processing on Modern Hardware Summer 2014 c 1 Part III Instruction Execution Jens Teubner
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 1
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 90
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 91
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 92
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 93
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 94
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 95
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 96
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 97
source: Hennessy & Patterson, Chapter 2
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 98
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 99
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 100
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 101
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 102
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 103
3except to implement the loop c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 104
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 105
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 106
100 20 40 60 80
20 40 60 80 100
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 107
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 108
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 109
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 110
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 111
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 112
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 113
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 114
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 115
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 116
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 117
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 118
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 119
2 4 IPC Xeon 3GHz Opteron 2GHz 2 4 IPC Itanium 1.3GHz 10 20 Branch miss rate (%) 10 20 Branch miss rate (%) 1 2 3 4 5 0.5 1 Bandwidth (GB/s) Exception rate NAIVE 0.5 1 Exception rate PFOR 0.5 1 1 2 3 4 5 Bandwidth (GB/s) Exception rate PDICT
Source: M. ˙
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 120
1 Decompress all regular fields, but don’t care about exceptions. 2 Work in all the exceptions and patch the result.
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 121
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 122
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 123
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 124
2 4 6 IPC Xeon 3GHz Opteron 2GHz 2 4 6 IPC Itanium 1.3GHz 1 2 3 0.5 1 Bandwidth (GB/s) Exception rate NAIVE 0.5 1 Exception rate PRED 0.5 1 1 2 3 Bandwidth (GB/s) Exception rate DC
Source: M. ˙
Bandwidth-Optimized Storage. PhD Thesis, U Amsterdam. 2009.
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 125
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 126
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 127
Source: Hennessy & Patterson. Computer Architecture: A Quantitative Approach c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 128
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 129
4Intel uses the term “hyperthreading.” c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 130
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 131
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 132
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 133
1 foreach input item do 2
3
4
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 134
1 foreach group g of input items do 2
3
4
5
6
7
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 135
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 136
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 137
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 138
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 139
Source: Zhou et al. Improving Database Performance on Simultaneous Multithreading Processors. VLDB 2005.
c Jens Teubner · Data Processing on Modern Hardware · Summer 2014 140