110 likes | 264 Views
Bionic databases are coming. What will they look like?. *Ryan Johnson & Ippokratis Pandis ** CIDR 2013. *. **. Dark silicon trumps Moore’s Law?. # transistors. voltage. power. frequency. “complicated” (grows as transistors shrink). Dark silicon = Amdahl + Power.
E N D
Bionic databases are coming.What will they look like? *Ryan Johnson & IppokratisPandis** CIDR 2013 * **
Dark silicon trumps Moore’s Law? # transistors voltage power frequency “complicated”(grows as transistors shrink) Dark silicon = Amdahl + Power More transistors coming, but we can’t use them
The DBMS is at a crossroads • Data deluge continues • Dark silicon looms • Specialized HW becomes economical + =
Didn’t database machines fail? (yes) • Economies of scale • Cloud: Amazon, Facebook, Google • Appliances: Exadata, Netezza • Alternatives yield diminishing returns • OoO: mined out • MHz: mined out • Multicore: days numbered • FPGA allows to “patch” hardware • NRE: $O(109) for each new Intel process/chip DIRECT Past reasons for failure smaller/missing now
OLTP is fast enough. Why care about it? • Operational analytics • OLTP “solved” but takes over the server • OLTP “solutions” make analytics harder • Data acquisition is the new OLTP • Not just bread and butter transactions any more • Facebook, Twitter graphs, ad serving, financials, sensors, smart devices, ... • App devs learning hard way that ACID is nice Goal: free resources for other/more uses
Death by a thousand paper cuts Transition point is roughlycontext switch cost “Software-friendly” latencies(10μs or longer) lock wait log insert cache miss disk queues latch wait jump or branch Fine-grained latencies (under 10μs) Offload small latencies to specialized hardware
Control flow in HW? • HW good at control flow too • Many algs are state machines (sorting networks, regexp, FFT, etc.) • OS/server basic block size: 3 (load/compare/jump) • Toolchains needs a lot of work • Everybody needs it, hard problem, out of scope • Software platform needs to adapt • Computer architects are stuck • Ship computation to specialized components • Structure/design HW to make SW’s job easier
One possible bionic DBMS Query engine Space mgt. & bpool CC, SMO & reorg Log sync& recovery Route & schedule Tree probe engine Queuing engine Enhanced scanner Overlay manager Log insertion Log buffer Database overlay Columnar database Log files
Example: Tree-based indexing Tree probe in software Tree probe in hardware 100 operations target key not found wait 300ns Key compare target key found 100 operations wait 300ns is inode End of node 100 operations wait 300ns is leaf 100 operations Value fetch Simple operation, why waste Intel’s best on it?
Conclusions • Custom database hardware is coming • Alternatives yield diminishing returns • Cloud/vertical providers have economies of scale • How to benefit OLTP and data gathering? • Speedup unlikely, focus on power, latency offload • Must integrate with analytics • Software and tools need to adapt • How to fit HW into SW ecosystem? • How to design hardware quickly?