Storage Manager Scalability on CMPs Ippokratis Pandis CIDR Gong Show
Scalability on CMP 2 Sun Niagara I - 32 HW Contexts Update intensive workload No database lock conflicts Linear (ideal) scaling Scalability problems Are database systems ready for modern hardware??
Problem? Too many active concurrent threads Physical contention on centralized structures L2 CPU-0 L1 CPU-1 L1 CPU-2 L1 CPU-N L1 Many HW Contexts (16-64+) 20 cycles 1-25 GB/sec L2 CPU-0 L1 CPU-1 L1 CPU-2 L1 CPU-N L1 L2 CPU-0 L1 CPU-1 L1 CPU-2 L1 CPU-N L1
Breaking the barrier 4 Distribute everything! Locking, Logging, etc… Rethink parallel databases on CMP context Instead of Moving data to computation Unregulated access to resources Distribute computation closer to data Control which thread is accessing each resource
Take-away Message Focus on Scalability!! – Not Single-thread Performance Centralized mechanisms are evil Distribute computation to data – Instead of moving data to computation Use Shore-mt*!! *EDBT2009 – Soon at