Memory Power Consumption in Main-Memory Database Systems
Loading...
Date
2023-01-06
Authors
Karyakin, Alexey
Advisor
Salem, Kenneth
Journal Title
Journal ISSN
Volume Title
Publisher
University of Waterloo
Abstract
In main-memory database systems, memory can consume a substantial amount of
power, comparable to that of the processors. However, existing memory power-saving
mechanisms are much less effective than processor power management. Unless the system
is almost idle, memory power consumption will be high.
The reason for poor memory power proportionality is that the bulk of memory power
consumption is attributable to background power, which is determined by memory power
state residency. The memory workload in existing systems is evenly distributed over the
memory modules and also in time, which precludes the occurrence of long idle intervals.
As a result, deep low-power states, which could significantly reduce background power
consumption, are rarely entered.
In this work, we aim to reduce the memory power consumption of main-memory data-
base systems. We start by investigating and explaining the patterns of memory power
consumption, under various workloads. We then propose two techniques, implemented at
the database system level, that skew memory traffic, creating long periods of idleness in a
subset of memory modules. This allows those modules to enter low-power states, reducing
overall memory power consumption. We prototyped these techniques in DimmStore, an
experimental database system.
The first technique is rate-aware data placement, which places data on memory modules
according to its access frequency. The background power in the unused or least-used
modules is reduced, without affecting background power in the most-used modules. Rate-
aware placement saves power and has little performance impact. Under a TPC-C workload,
rate-aware placement resulted in memory power savings up to 44%, with a maximum
throughput reduction of 10%.
The second technique is memory access gating, which targets background power in less-
frequently accessed memory modules by inserting periodic idle intervals. Memory gating
reduces power consumption of memory modules for which rate-aware placement alone does
not create sufficient idleness to reduce power consumption. With gating, memory accesses
to these modules become concentrated outside of the idle intervals, creating the opportunity
for low-power state use. However, because it delays memory accesses, memory gating
impacts performance. Higher memory power savings and lower performance impact occur
in workloads with lower memory access rates. Thus, in the YCSB workload with a medium
transaction rate, memory gating reduced memory power by 26%, adding 0.25 ms (30%) of
transaction latency, compared to DimmStore without gating. In the more memory intensive
TPC-C workload and low to medium transaction rate, gating can save 5% of memory power,
adding 1.5 ms (60%) of transaction latency, compared to DimmStore without gating.
Description
Keywords
database systems, DBMS, DRAM, memory, power, energy