  Memory accounts for 33 - 50% of the total cost of ownership (TCO) in modern
data centers. We propose a novel solution to tame memory TCO through the novel
creation and judicious management of multiple software-defined compressed
memory tiers.
  As opposed to the state-of-the-art solutions that employ a 2-Tier solution, a
single compressed tier along with DRAM, we define multiple compressed tiers
implemented through a combination of different compression algorithms, memory
allocators for compressed objects, and backing media to store compressed
objects. These compressed memory tiers represent distinct points in the access
latency, data compressibility, and unit memory usage cost spectrum, allowing
rich and flexible trade-offs between memory TCO savings and application
performance impact. A key advantage with ntier is that it enables aggressive
memory TCO saving opportunities by placing warm data in low latency compressed
tiers with a reasonable performance impact while simultaneously placing cold
data in the best memory TCO saving tiers. We believe our work represents an
important server system configuration and optimization capability to achieve
the best SLA-aware performance per dollar for applications hosted in production
data center environments.
  We present a comprehensive and rigorous analytical cost model for performance
and TCO trade-off based on continuous monitoring of the application's data
access profile. Guided by this model, our placement model takes informed
actions to dynamically manage the placement and migration of application data
across multiple software-defined compressed tiers. On real-world benchmarks,
our solution increases memory TCO savings by 22% - 40% percentage points while
maintaining performance parity or improves performance by 2% - 10% percentage
points while maintaining memory TCO parity compared to state-of-the-art 2-Tier
solutions.
