Delft University of Technology
Increasing Memory Density through Dynamic Memory Extension with Memory1 through
Flash
Rellermeyer, Jan S.; Amer, Maher; Smutzer, Richard; Rajamani, Karthick
Publication date 2018
Document Version
Accepted author manuscript
Citation (APA)
Rellermeyer, J. S., Amer, M., Smutzer, R., & Rajamani, K. (2018). Increasing Memory Density through Dynamic Memory Extension with Memory1 through Flash. Poster session presented at ICT.OPEN 2018, Amersfoort, Netherlands.
Important note
To cite this publication, please use the final published version (if applicable). Please check the document version above.
Copyright
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons. Takedown policy
Please contact us and provide details if you believe this document breaches copyrights. We will remove access to the work immediately and investigate your claim.
This work is downloaded from Delft University of Technology.
Increasing Container Density through
Dynamic Memory Extension with Memory1 Flash
Jan S. Rellermeyer, Maher Amer,
†Richard Smutzer,
†Karthick Rajamani
‡ Distributed Systems Group, TU Delft, †Diablo Technologies, ‡IBM ResearchContainers in Practice
• Containers co-exist on the same OS as opposed to full virtual-ization with a separate OS per tenant
• In practice, we see many cases where a majority of the con-tainers on a server are mostly inactive for an extended period of time while few containers show high activity.
• Should allow for higher density and better server utilization if we can pack container more densely without compromising the performance of the critical workloads
Container Density Benchmark
MongoDB AcmeAir Authentication httpd (~16 GiB of images)(~16 GiB of httpd ic images)(~16 GiB of httpd ic images)(~16 GiB of httpd mages)httpd1 atic images)(~16 GiB of httpd
mages)(~32 GiB of httpd static images)
AcmeAir Server
AcmeAir
Figure 1: ContainerScale setup
One critical workload (AcmeAir) of 3 containers, varying the amount of mostly inactive noise containers (Apache httpd).
Evaluation
0 200 400 600 800 1000 1200 0 10 20 30 40 50 0 50 100 150 200 250 300 T h ro u g h p u t (T PS ) La ten cy (ms )# Noise Container Instances throughput
99% latency 95% latency 90% latency
Figure 2: ContainerScale without DMX
Server1can only sustain around 19 noise containers despite an overall constant workload.
DOES NOT SCALE
Memory becomes the bottleneck and the tail latency of the critical workload explodes
Memory1 DMX
AcmeAir Config File AcmeAir DMX Context AcmeAir MongoDB Config File MongoDBDMX Context Virtual Memory Manager (VMM)
Web server cache
MongoDB httpd DMX Driver User Space Kernel RAM Flash
AcmeAir Memory Mongo DB Memory
Pagin g Paging httpd Config File Web Servers DMX Context Paging Figure 3: Memory1 DMX
Memory1 is a server memory extension product developed by Diablo Technologies that plugs into the DDR-4 memory channel and provides high bandwidth, low latency access to flash devices mounted on the module. The DMX kernel driver intercepts and services all memory requests generated by the selected application (malloc, page fault, etc). DMX creates a Memory Context for each selected application running on the server and carves out a dynamic portion of the server’s physical memory (i.e. DRAM) to be used as front-end cache for that application.
Evaluation with DMX
0 200 400 600 800 1000 1200 0 10 20 30 40 50 0 50 100 150 200 250 300 T h ro u g h p u t (T PS ) La ten cy (ms )# Noise Container Instances Figure 4: ContainerScale with DMX
The system can now sustain 50 noise container instances with-out significant performance degradation.
Dynamic memory extension with DRAM Flash helps to increase container density.
1Inspur NF5180M4 system with 2xIntel Xeon E5-2660 v3 (32 cores), 256GiB RAM, Linux 3.10 with Docker 17.03.1-ce, Docker OOM disabled. 2 TiB of Diablo Memory1 Flash
Faculty of Electrical Engineering, Mathematics and Computer Science ContainerScale Benchmark on GitHub