DBMS´s On A Modern Processor: Where Does Time...
Transcript of DBMS´s On A Modern Processor: Where Does Time...
![Page 1: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/1.jpg)
DBMS´s: Where does time go?
DBMS´s On A Modern Processor: Where Does Time Go?
Niklas Heinsohn
Seminar: “Turn Head 90 ° -Column Store Database”
WS 10/11
Eberhard Karls Universität Tübingen
![Page 2: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/2.jpg)
DBMS´s: Where does time go?
2
Half of the execution time is spent on stalls
![Page 3: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/3.jpg)
DBMS´s: Where does time go?
3
The CPU – Memory speed gap
![Page 4: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/4.jpg)
DBMS´s: Where does time go?
4
A Operation on a Processor
![Page 5: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/5.jpg)
DBMS´s: Where does time go?
5
Measurement
● 4 different DBMS`s● one operating system● CPU performance counter
● Sequential range Selection● Indexed range Selection● Sequential Join
![Page 6: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/6.jpg)
DBMS´s: Where does time go?
6
The Table
Create Table R ( a1 integer not null,a2 integer not null,a3 integer not null,<Rest of Fields>)
<Rest of Fields> list of integers not used by any Queries
● 1.2 million 100-byte records● value of a2 uniformly distributed between 1 and 40 000
![Page 7: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/7.jpg)
DBMS´s: Where does time go?
7
The Queries
Sequential Selectionselect Avg(a3)from Rwhere a2<Hi and a2>Lo
Range Selectionnon-clustered index on R.a2
Sequential JoinS defined same way as Rselect Avg(R.a3)from R,Swhere R.a2 = S.a1
![Page 8: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/8.jpg)
DBMS´s: Where does time go?
8
Execution Time
![Page 9: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/9.jpg)
DBMS´s: Where does time go?
9
Methods to cover stall time
● Non-blocking Cache
● Out-of-Order execution
● Speculative execution
![Page 10: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/10.jpg)
DBMS´s: Where does time go?
10
Resource related stalls
● Functional unit stalls
● Dependency stalls
● Instruction length decoder stalls
![Page 11: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/11.jpg)
DBMS´s: Where does time go?
11
Branch predictions
Figure 5.4: Branch misprediction rates. SRS: sequential selection, IRS: indexed selection, SJ: join.
![Page 12: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/12.jpg)
DBMS´s: Where does time go?
12
Memory stalls
![Page 13: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/13.jpg)
DBMS´s: Where does time go?
13
Second-level cache data stalls
● L2 cache miss rate between 40% and 90%● Larger records increase stall time● Multiple L2 data misses can overlap with each
other● Increasing cache size leads to longer latencys
![Page 14: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/14.jpg)
DBMS´s: Where does time go?
14
First-level cache instruction stalls
● L1 I-misses are a bottleneck● Difficult to overlap● Between 4% and 40% of execution time● ? Larger records cause more L1 I-misses ?
● Inclusion (L1 cache may contain blocks present in L2-Cache)
● Frequent boundary crossings in L2 cache
![Page 15: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/15.jpg)
DBMS´s: Where does time go?
15
Translation lookaside buffer (TLB)● Virtual to physical address translation● improve virtual address translation speed● Average miss rate ~1 %● Hit takes ~ 0.5 to 1 CPU clock cycles● Miss takes ~ 10 to 100 CPU clock cycles
![Page 16: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/16.jpg)
DBMS´s: Where does time go?
16
Results
● 50% of execution time the CPU stays stalled
● 90% of memory stalls are due to● Second Level data misses ● First Level instruction misses
● There is always a bottleneck
![Page 17: DBMS´s On A Modern Processor: Where Does Time …db.inf.uni-tuebingen.de/staticfiles/teaching/ws1011/rel...DBMS´s: Where does time go? 17 Sources “DBMSs On A Modern Processor:](https://reader031.fdocuments.in/reader031/viewer/2022022511/5ae3de3f7f8b9a90138e2ee1/html5/thumbnails/17.jpg)
DBMS´s: Where does time go?
17
Sources● “DBMSs On A Modern Processor: Where Does Time Go?” By
Anastassia Ailamaki, David J. DeWitt, Mark D. Hill, David A. Wood● Slide “Database Systems and Modern CPU Architecture” “Memory
Close to the CPU: Caches”, 5. Juli 2009 by Torsten Grust● http://www.pro-datenrettung.net/uploads/pics/festplatte-
schnittstellenpin-abgebrochen.jpg● http://www.n24.de/media/import/dpainfoline/dpainfoline_20100102_13
/jpeg-14784400EF32095A-20100102-img_23434826originallarge-4-3-800-207-0-2871-1996.jpg
● http://www.gnurf.net/v3/wp-content/uploads/2008/03/025-magician-01.png