Scaling Up Transaction Processing on Hardware Islands
Transaction processing is one of the most important applications using relational database systems and a multibillion dollar market. They are typically used for mission critical enterprise systems and run on the highest performing servers of the day. Up until recently, such servers had uniform core-to-core communication latencies. Now with the emergence of multisocket multicores, for the first time we have Islands, i.e., groups of cores that communicate fast among themselves and slower with other groups. The goal of this presentation is to quantify the impact of hardware Islands on the performance of transaction processing systems and propose ways to overcome their negative impact. In the first part we present a detailed analysis on the impact of non-uniform hardware topology on the performance of different transaction processing architectures. We compare different database deployment strategies ranging from a single shared-everything instance to fine-grained shared- nothing configurations. In the second part of the presentation, we will present the dynamic transaction processing system that combines the best characteristics of different configurations to provide good performance for various workloads on hardware islands. The main design principles in this system are elimination of unneccessary communcation between islands, dynamic workload monitoring and fast repartitioning whenever workload changes.