Dynamic Resource Allocation for Database Servers Running on Virtual Storage
Gokul Soundararajan, Daniel Lupei, Saeed Ghanbari, Adrian Daniel Popescu, Jin Chen, Cristiana Amza University of Toronto
1
Dynamic Resource Allocation for Database Servers Running on Virtual - - PowerPoint PPT Presentation
Dynamic Resource Allocation for Database Servers Running on Virtual Storage Gokul Soundararajan, Daniel Lupei, Saeed Ghanbari, Adrian Daniel Popescu, Jin Chen, Cristiana Amza University of Toronto 1 Multi-tier Resource Allocation
1
Web Server Application Server Database Server
2
Composed of several tiers Application-B Application-A Share resources in each tier Can lead to interference
Application-A Application-B
3
Buffer Pool Storage Cache Disk Bandwidth Want to use all resources efficiently Disk is a bottleneck for Database Apps
4
Small Large
5
Buffer Pool Storage Cache Disk Bandwidth Cache Friendly 1 Outstanding I/O Cache Un-Friendly 10 Outstanding I/O Using Oracle ORION I/O tool
6
Benefits cache- friendly workload Avoids disk interference Has best performance
7
8
9
10
11
Computes miss-ratio given an I/O trace Multiply by I/O latency gets
12
Changes the I/O trace at storage
13
256 512 768 256 512 768 1024 Buffer Pool Size (MB) Storage Cache Size (MB)
Buffer Pool Size Storage Cache Size Avg. Latency
High Latency Low Latency
14
Application
Buffer Pool Storage Cache Disk Bandwidth Needs 32x32x10=10240 samples 15 mins/sample takes 3 months!
15
16
17
18
Storage cache includes data in the buffer pool
19
Buffer pool includes data in the storage cache
20
Same Number of I/Os
21
22
Buffer Pool Size
Storage Cache Size
Latency
Buffer Pool Size
Storage Cache Size
Latency
Minimize sum of application latencies
23
24
Application
Storage Cache Buffer Pool
Can now be solved using MRC
Application
25
26
27
28
Storage MySQL Linux
NBD
Block Layer SCSI Buffer Pool Disk
NBD
Linux
Block Layer SCSI Disk Network Disk Disk Cache Quanta
29
30
31
32
33
34
Storage Cache Size (A) Buffer Pool Size (A) 1G 1G
35
Storage Cache Size (A) Buffer Pool Size (A) 1G 1G
36
1.682 3.364 5.046 6.728 8.410
GLOBAL GLOBAL+ MRC DISK MRC+DISK IDEAL*
37
Allocate caches to 50/50 Matches GLOBAL
1.5 3.0 4.5 6.0 7.5
GLOBAL GLOBAL+ MRC DISK MRC+DISK IDEAL*
38
Allocate caches to 50/50 Not enough buffer pool to UNIFORM Compensate for MRC settings
0.16 0.32 0.48 0.64 0.80
GLOBAL GLOBAL+ MRC DISK MRC+DISK IDEAL*
39
Corrects model at runtime Corrects imbalance in MRC TPC-C allocated more in both
40
41
Localized in the middle
42
43
44