Energy Modeling and Management of Database System

In this dissertation, we propose a toolkit called EDOM facilitating the evaluation and optimization of energy-efficient multicore-based database systems. Two core components in EDOM are a benchmarking toolkit and a multicore manager to improve energy efficiency of database systems running on multicore servers. We start designing EDOM by analyzing the energy efficiency of two popular database operations (i.e., cross join and outer join) processed on multicore processors. We investigate cross and outer joins, because these two operations are common components of database applications. We describe the criteria and challenges of building an energy efficiency benchmark for databases on multicore servers. We build a benchmarking toolkit, which is comprised of three parts, namely, a configuration module, a test driver, and a power monitor. The workload generator facilitates the configurations of the PostgreSQL database system. We leverage this generator to set up tables and populate data records into the database. The test driver automatically issues operations to the database system in accordance to access patterns created by the workload generator. The power monitor keeps track of energy efficiency and performance of the multicore database system processing the operations driven by the test driver. We develop a multicore manager to optimize the number of cores, thereby making the best tradeoff between performance and energy efficiency in multicore database servers. At the heart of the multicore manager is a memory usage model that estimates memory utilization from queries and database characteristics (e.g., table and record size). An appropriate number of cores is determined using the estimated memory usage to avert unnecessary memory swapping, which induces high energy consumption overhead. We make use of the proposed benchmark toolkit to quantitatively evaluate the performance of our novel multicore manager. Our benchmarking tool of EDOM shows that the multicore and CPU utilizationons have significant impacts on energy efficiency; the cross and outer join operations have remarkable difference in energy consumption; and the indexing technique improves energy efficiency of the database system. More importantly, extensive experimental results show ii that our multicore manager in EDOM provides a simple yet powerful solution for improving energy efficiency of database applications running on multicore servers. In the second part of the dissertation study, we develop an energy-efficient database system called GreenDB running on clusters. GreenDB applies a workload-skewness strategy by managing hot nodes coupled with a set of cold nodes in a database cluster. GreenDB fetches popular data tables to hot nodes, aiming to keep cold nodes in the low-power mode in increased time periods. GreenDB is conducive to reducing the number of power-state transitions, thereby lowering energy-saving overhead. A prefetching model and an energy saving model are seamlessly integrated into GreenDB to facilitate the power management in database clusters. We quantitatively evaluate GreenDB’s energy efficiency in terms of managing, fetching, and storing data. We compare GreenDB’s prefetching strategy with the one implemented in Postgresql. Experimental results indicate that GreenDB conserves the energy consumption of the existing solution by up to 98.4%. The findings show that the energy efficiency of GreenDB can be optimized by tuning the system parameters, including table size, hit rates, number of nodes, number of disks, and inter-arrival delays.