A typical computer server on the cloud hosted multiple VMs. Each VM hosted an independent application. The operation of a mixture of applications in cloud requires proper resource management and it's critical to QoS, this session is to study the impact of different neighbors on an application’s performance and to show how Intel® RDT can help to detect and mitigate a noisy-neighbor situation.
About the authors: Sunil is senior cloud performance engineer at Intel working on cloud performance and optimization for Oracle cloud. Prior to this he worked on service assurance and orchestration products for Openstack cloud. Sunil has 10+ years of experience working on different software products for server management. He holds Masters in Computer Science from IIT Chicago.
Khun Ban is a cloud performance engineer manager leading a team to optimize cloud performance and TCO. He has over twenty years of enterprise software development experience. His current focus is on providing customer with best cloud experience. He received his B.S. degree in Computer Science and Engineering from the University of Washington in 1995.
4. Project Apollo
- Deliver predictable high performance for
applications running on Oracle Cloud
- Characterize the cloud using real world
cloud workloads
- Optimize the cloud to deliver maximum
performance for the workload
- Innovate, develop new technologies
- Generate blueprint of an optimized data
center
4
5. 5
Noisy neighbors
- Cloud infrastructure is shared between multiple customer application
- Noisy neighbors: Applications that use disproportionately large amount of
resources and affect performance of neighbors
- Such interference can happen over any shared resource – Compute, Network
and Storage
- Cloud Service Providers need appropriate control mechanism to monitor and
control resource usage
- Intel® Resource Director Technology (RDT) provides such mechanisms for
interference on the processor
6. 6
Interference on processor
Memory
CPU
Core 0 Core 1 Core 2 Core 3 Core 4 Core 5 Core 6 Core 7
Customer 1 VMLegend
LLC Contention
Memory bandwidth
contention
Integrated Memory Controller
Customer 2 VM
Last Level Cache
VMs / containers hosted on the same machine compete for processor cache and
access to memory
7. 7
A close to real world scenario
- Experiment to see Intel® RDT in action
- How big is the impact of a noisy neighbor?
- How to detect a noisy neighbor?
- How to mitigate..
8. 8
Experiment setup
Server 1
Processor 0
DOM0
Xen 4.6
2 socket Intel Xeon E5 2699 v4 server
Processor 1
Enterprise App 1 Enterprise App 2 Enterprise App 3 Java Server App Data Streaming App
Server 4
Server 3
Server 2
ToR Switch
Load Generator 3
Load Generator 2
Load Generator 1
10 GbE
10 GbE
10 GbE
10 GbE
We try to emulate a public cloud scenario where multiple applications are hosted and
share the same processor.
Intel® Xeon® E5 2699 v4
processor with 22 cores
and 55 MB of last level
cache
9. Ticket Monster
9
Applications used
Enterprise Application
Load Generator
Ticket Monster
RedHat Jboss
Application Server
H2
In-memory
Database
Apache jMeter
Test Driver
http
JDBC https://www.spec.org/jbb2015/
*McCalpin, John D., 1995: "Memory Bandwidth and Machine Balance in Current High Performance Computers", IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter,
December 1995.
STREAM*
We used two different Java applications as primary applications. The STREAM benchmark is used to
emulate an aggressive cache user.
http://www.jboss.org/ticket-monster/
https://www.cs.virginia.edu/stream/
10. 10
Running the tests
• Case 1: VM 1 (Enterprise App 1) running alone
• Case 2: VMs 1 and 2 (Enterprise Apps 1 and 2) running at the same time
• Case 3: VMs 1–3 (Enterprise Apps 1, 2, and 3) running at the same time
• Case 4: VMs 1–4 (Enterprise Apps 1, 2, and 3 and Java Server App)
running at the same time
• Case 5: VMs 1–5 (Enterprise Apps 1, 2, and 3, Java Server App, and Data
Streaming App) running at the same time
• Case 6: VMs 1–5 (Enterprise Apps 1, 2, and 3, Java Server App, and Data
Streaming App) running at the same time; use Intel® RDT to control
cache usage
11. 11
Impact of neighbors
• The average response time changes depending on neighboring applications.
• STREAM has significant impact on the response time bringing down the response time by more than
double.
• For applications with SLAs, it is important to reduce the variability in response time. We see the variability
is also getting affected by neighbors.
12. 12
Detecting degradation in performance
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0.5
1.3
2.1
2.9
3.7
1 2 3 4 5 6
Average CPI
Average LLC Misses
MPKI CPI
CPI
MPKI
Test Case
• System administrators often do not have access to
application performance data and sometimes it is
impossible to keep track a lot of applications.
• Intel Performance Counters* can help in such cases
providing a good proxy for detecting drop in performance
due to interference in accessing shared platform
resources.
• The key metrics are – Cycles per Instruction (CPI), (LLC)
Misses Per Kilo Instruction (MPKI)
* For more information on performance monitoring, check out the chapter on performance monitoring in the Intel Software Developer Manual.
13. 13
So who’s making the noise
• Intel® RDT gives a very clear picture of shared resource usage by the applications and helps to
isolate the noisy neighbor.
• Data Streaming App seems to be using disproportionately high amount of cache and suppresses all
other applications
• Data Streaming App also uses high memory bandwidth compared to other applications.
14. 14
Reclaiming the cache
VM(s) Bitmask Effective
Cache
DOM0 0xfffff 55 MB
Enterprise Java App 1, 2, and 3
and Java Server App
0xffffc 49.5 MB
Data Streaming App 0x3 5.5 MB
0
0.5
1
1.5
2
2.5
3
Enterprise App 1 Enterprise App 2 Enterprise App 3 Java Server AppN
o
rm
alized
resp
o
n
se tim
e
Test Case
Improvement in response time, lower is better
Without Intel RDT With Intel RDT
• Intel® RDT’s Cache Allocation Technology provides a flexible mechanism to partition and share the
last level cache.
• We restricted the cache used by data streaming app to only 10% of the cache. Other VMs were
allowed to share the rest of the cache. DOM0 was not restricted.
• The right amount of cache to allocate is highly dependent on application.
15. 15
• We showed how Intel® Resource Director Technology (RDT) can help Cloud
Service Provider detect and mitigate noisy neighbor situation using a mixture
of industry workloads
Call to action
• Try out Intel® RDT in your own setup to measure the potential benefit
• Download the Intel® RDT white paper and other useful information through
Intel® RDT landing page
https://www.intel.com/content/www/us/en/architecture-and-technology/resource-director-technology.html
• https://www.intel.com/content/www/us/en/architecture-and-technology/intel-rdt-infrastructure-white-paper.html
Summary
16. Thank You
Questions and Feedback
If you have any questions or feedback, please feel free to contact:
• Sunil Raghavan (sunil.raghavan@intel.com)
• Khun Ban (khun.ban@intel.com)