With current chip multiprocessor technology trends, the need for unlimited software parallelism and memory hierarchy affinity has become more imminent than ever before. As the hardware componentization continues, failure to create aggressively parallel software will reduce the need for faster hardware, which will have huge economic and social consequences. Database management systems (DBMS), due to their intensive data processing nature, are in the front line of commercial applications unable to harness the available computing power. To prevent the CPUs from idling, a multitude of hardware mechanisms and software optimizations have been proposed. Their effectiveness, however, is limited by the sheer volume of data accessed, the unpredictable sequence of memory requests, and the inherent single-threaded nature of DBMS software.
In this talk I describe the current state of affairs in computer architecture trends and demonstrate the need for a new programming paradigm for commercial server software. I also present StagedDB/CMP, a new DBMS software architecture for optimizing data and instruction locality at all levels of the memory hierarchy. The key idea is to break database request execution into independent services (stages), and process a group of sub-requests at each stage, thus effortlessly exploiting data, instruction, and work sharing. By translating high concurrency into improved locality and by providing fine-grain operation-level parallelism, the StagedDB architecture is an ideal match to future highly-parallel infrastructures. Finally, if there is enough time, I will briefly survey the rest of my research interests in the area of storage technology and data management for scientific applications such as astronomy and earthquake modeling.