• Aucun résultat trouvé

Puma: pooling unused memory in virtual machines for I/O intensive applications

N/A
N/A
Protected

Academic year: 2021

Partager "Puma: pooling unused memory in virtual machines for I/O intensive applications"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-01154566

https://hal.archives-ouvertes.fr/hal-01154566

Submitted on 22 May 2015

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Puma: pooling unused memory in virtual machines for I/O intensive applications

Maxime Lorrillere, Julien Sopena, Sébastien Monnet, Pierre Sens

To cite this version:

Maxime Lorrillere, Julien Sopena, Sébastien Monnet, Pierre Sens. Puma: pooling unused memory in virtual machines for I/O intensive applications. The 8th ACM International Systems and Storage Conference, May 2015, Haifa, Israel. 2015. �hal-01154566�

(2)

Puma: Pooling Unused Memory in Virtual Machines for I/O intensive applications

Maxime Lorrillere, Julien Sopena, Sébastien Monnet and Pierre Sens

Sorbonne Universités, Université Pierre et Marie Curie, CNRS

Context: virtualization fragments available memory

VM1 Host 1 VM2 VM3 Host 2 VM4

virtio virtio

Swap

Applications

Hypervisor (KVM)

10GB Ethernet

Hypervisor (KVM)

Anonymous pages

Page cache

Virtualization allows more flexibility and isolation Problem: it fragments available memory

Memory cannot be reassigned as efficiently as CPU time

Unused memory (i.e. idle caches) is wasted

Existing solution: Memory Ballooning

Allows to dynamically resize VM’s memory

Cannot efficiently reclaim unused memory

Does not benefit of unused memory on other hosts

Slow to recover memory

VM1 VM2

virtio

BalloonBalloon I/O

Balloon Swap

Applications

Hypervisor (KVM)

Baseline Auto-ballooning

Our approach: Puma

Rely on a fast network between VMs and hosts

Puma can reuse unused memory of VMs hosted on different hosts

Handles clean cache pages

Writes are generally non-blocking

Simple consistency scheme

Fast to recover memory!

Exclusive and non-inclusive caching strategies

Puma design

2 basics operations

get(): gets a page from the [remote] page cache

put(): sends a victim page to the remote page cache

Local metadata with small memory footprint

amortized 64 bits/page, 2 MB of metadata per GB of cache

Pages are directly stored into the existing page cache

Memory is reclaimed naturally

Sequential I/O are detected and filtered

Disk bandwidth > network bandwidth

Network latency monitoring

Puma is throttled when the latency becomes too high

Architecture overview

PFRA

alloc()

VM1 VM2

P31

1

Metadata

31

P31

Reclaim 2

put(P31) 3

P31 4 4

Store page P31

5

put() operation

P24

Miss get(P24)

VM1 VM2

P24 1

Metadata

24

2 Hit?

req(P24) 3

Lookup 4

P24 P24

5

get() operation

Evaluation

Experiment setup

Active VM: 1 GB memory

Inactive VM: 512 MB12 GB memory Network latency injection with

Netem [LCA’05]

Benchrmarks: Filebench, BLAST, TPC-C, TPC-H, Postmark

Puma

Conclusion and Future Work

Puma solves the page cache fragmentation problem

It is based on an efficient kernel-level remote caching mechanism

It handles clean cache pages to quickly recover the memory

It works with co-localised VMs and remote VMs

Ongoing work: detecting when a VM has unused memory

Our idea: toggle Puma service based on Linux’s active/inactive LRUs activity

Laboratoire d’Informatique de Paris 6, Inria – Regal team

Références

Documents relatifs

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

In the rst part dedicated to Femtocells and Macrocell coexistence, we design a MBS-assisted femtocell power adjustment strategy which takes into account femto- cells users

We position Pat- terns and its accompanying ECP solver as a way to (1) describe complex recurring elements of style in shot sequences using vo- cabulary from actual film practice,

Few authors have studied operating system distributions as complex networks [1] and we believe there is more to be done, specially in the context of security, OS complexity and

In this paper, we demonstrate IORE applicability in the analysis of the I/O performance of different ap- proaches for writing and reading a large Cartesian dataset in a PFS, a

data-intensive applications presents little locality in computing, and reduced data reuse with very large datasets, for which standard memory hierarchy are inefficient.

EZIOTracer relies on three main components: First, IOTracer, a kernel-level tracing tool we developed, monitor- ing I/O operations at various levels of the Linux kernel I/O