2. Cloud Data Centers
Enterprise applications migrating to hosted platforms
in cloud data centers
Such platforms are virtualized
Sharing of resources with other tenants mediated
by hypervisors such as Hyper-V, Vmware ESX,
Xen
One important such resource: storage caches
Provide quick access to frequently accessed data
Caches exist in multiple places along the IO stack
Problem: Storage caches along the IO stack are not
designed for multi-tenancy, and are not workload-
aware
VM VM
Hypervisor Hypervisor
VM VM
Hypervisor
Storage Storage
VM VMVM VM
Hypervisor Hypervisor
VM VM
Hypervisor
Storage Storage
VM VM
Cache
StorageCacheApplication
3. Problems with Cloud Storage Caches
Lack of performance isolation b/w workloads
Allocated cache space depends on access patterns and request rate aggressiveness
Lack of customization
Workload performance can vary significantly with different caching policies
Lack of coordination
Each cache makes local decisions, agnostic to other caches on the IO stack
Lack of adaptability
Hard (or impossible) to respond to changes in workload and tenant/provider objectives
Waste of system resources
Lack of control over all-of-the-above can lead to wasted resources
E.g.: cache space allocated to a sequential workload that makes no use of it
4. Software-Defined Caching
Moirai: A system developed by my mentor Ioan and researchers at Microsoft Research
Cambridge that solves these problems
To appear at Symposium on Cloud Computing (SoCC) 2015 in August
Comprises three components: controller, metrics engine, and programmable caches
Provides: performance isolation, cache policy customization, distributed cache coordination
CtrlAPI
VM VM
Cache allocation,
configuration,
placement
Controller
cache
Compute
server
Hypervisor
Metrics
Engine
Storage
server
CtrlAPI
cache
Control Plane
Data Plane
Programmable Cache API:
5. My Research:
Characterize IO behavior of cloud applications to inform cache configuration
decisions in data centers employing software-defined caching.
Configuration parameters:
Cache size
Eviction policy
Write policy
Placement of data in caches along the IO stack
Methodology:
IO traces collected from workloads running on real systems
OLTP, Microsoft enterprise
Simulation
6. Example Cache Configurations
Consolidating Memory Over Fast Networks
Scale-Out LRU Cache + Bandwidth Guarantees
Workload A A.file
VM Hypervisor Storage
C1
C2
VM1
DATA.file
VMn
Default IO
...
VM Hypervisor Storage
C
7. Current Progress
Automated parallel test harness
Single-cache simulator implementing LRU, MRU, LFU, CLOCK
TPC-C and MSR Cambridge Enterprise IO traces
Trace Operations:
(Timestamp, Hostname, DiskNumber, Type, Offset, Size, Response Time)
Simulator currently outputs
Cache size (bytes) vs. Hit Ratio (%) graphs