{"id":168614,"date":"2015-08-27T00:00:00","date_gmt":"2015-08-27T00:00:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/msr-research-item\/software-defined-caching-managing-caches-in-multi-tenant-data-centers\/"},"modified":"2018-10-16T22:24:04","modified_gmt":"2018-10-17T05:24:04","slug":"software-defined-caching-managing-caches-in-multi-tenant-data-centers","status":"publish","type":"msr-research-item","link":"https:\/\/www.microsoft.com\/en-us\/research\/publication\/software-defined-caching-managing-caches-in-multi-tenant-data-centers\/","title":{"rendered":"Software-Defined Caching: Managing Caches in Multi-Tenant Data Centers"},"content":{"rendered":"
\n

In data centers, caches work both to provide low IO latencies and to reduce the load on the back-end network and storage. But they are not designed for multi-tenancy; system-level caches today cannot be configured to match tenant or provider objectives. Exacerbating the problemis the increasing number of un-coordinated caches on the IO data plane. The lack of global visibility on the control plane to coordinate this distributed set of caches leads to inefficiencies, increasing cloud provider cost.<\/p>\n

We present Moirai, a tenant- and workload-aware system that allows data center providers to control their distributed caching infrastructure. Moirai can help ease the management of the cache infrastructure and achieve various objectives, such as improving overall resource utilization or providing tenant isolation and QoS guarantees, as we show through several use cases. A key benefit of Moirai is that it is transparent to applications or VMs deployed in data centers. Our prototype runs unmodified OSes and databases, providing immediate benefit to existing applications.<\/p>\n<\/div>\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

In data centers, caches work both to provide low IO latencies and to reduce the load on the back-end network and storage. But they are not designed for multi-tenancy; system-level caches today cannot be configured to match tenant or provider objectives. Exacerbating the problemis the increasing number of un-coordinated caches on the IO data plane. […]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"msr-content-type":[3],"msr-research-highlight":[],"research-area":[13547],"msr-publication-type":[193716],"msr-product-type":[],"msr-focus-area":[],"msr-platform":[],"msr-download-source":[],"msr-locale":[268875],"msr-post-option":[],"msr-field-of-study":[],"msr-conference":[],"msr-journal":[],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-168614","msr-research-item","type-msr-research-item","status-publish","hentry","msr-research-area-systems-and-networking","msr-locale-en_us"],"msr_publishername":"ACM \u2013 Association for Computing Machinery","msr_edition":"ACM Symposium on Cloud Computing (SOCC) 2015","msr_affiliation":"","msr_published_date":"2015-08-27","msr_host":"","msr_duration":"","msr_version":"","msr_speaker":"","msr_other_contributors":"","msr_booktitle":"","msr_pages_string":"","msr_chapter":"","msr_isbn":"","msr_journal":"","msr_volume":"","msr_number":"","msr_editors":"","msr_series":"","msr_issue":"","msr_organization":"","msr_how_published":"","msr_notes":"","msr_highlight_text":"","msr_release_tracker_id":"","msr_original_fields_of_study":"","msr_download_urls":"","msr_external_url":"","msr_secondary_video_url":"","msr_longbiography":"","msr_microsoftintellectualproperty":1,"msr_main_download":"217036","msr_publicationurl":"","msr_doi":"","msr_publication_uploader":[{"type":"file","title":"socc15-final111.pdf","viewUrl":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2015\/08\/socc15-final111.pdf","id":217036,"label_id":0}],"msr_related_uploader":"","msr_attachments":[{"id":217036,"url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2015\/08\/socc15-final111.pdf"}],"msr-author-ordering":[{"type":"user_nicename","value":"Ioan Stefanovici","user_id":37679,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Ioan Stefanovici"},{"type":"user_nicename","value":"Eno Thereska","user_id":31766,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Eno Thereska"},{"type":"user_nicename","value":"Greg O'Shea","user_id":31908,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Greg O'Shea"},{"type":"text","value":"Bianca Schroeder","user_id":0,"rest_url":false},{"type":"user_nicename","value":"Hitesh Ballani","user_id":32008,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Hitesh Ballani"},{"type":"user_nicename","value":"Thomas Karagiannis","user_id":34031,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Thomas Karagiannis"},{"type":"user_nicename","value":"Ant Rowstron","user_id":31061,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Ant Rowstron"},{"type":"text","value":"Tom Talpey","user_id":0,"rest_url":false}],"msr_impact_theme":[],"msr_research_lab":[],"msr_event":[],"msr_group":[],"msr_project":[171193,170657],"publication":[],"video":[],"download":[],"msr_publication_type":"inproceedings","related_content":{"projects":[{"ID":171193,"post_title":"Software-Defined Storage (SDS) Architectures","post_name":"software-defined-storage-architectures","post_type":"msr-project","post_date":"2013-08-14 01:44:29","post_modified":"2018-08-20 10:33:12","post_status":"publish","permalink":"https:\/\/www.microsoft.com\/en-us\/research\/project\/software-defined-storage-architectures\/","post_excerpt":"In data centers, the IO path to storage is long and complex. It comprises many layers or \u201cstages\u201d with opaque interfaces between them. This makes it hard to enforce end-to-end policies that dictate a storage IO flow\u2019s performance (e.g., guarantee a tenant\u2019s IO bandwidth) and routing (e.g., route an untrusted VM\u2019s traffic through a sanitization middlebox). We are researching architectures that decouple control from data flow to enable such policies.","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171193"}]}},{"ID":170657,"post_title":"Predictable Data Centers (PDC)","post_name":"predictable-data-centers-pdc","post_type":"msr-project","post_date":"2011-02-11 10:10:03","post_modified":"2018-08-20 10:30:03","post_status":"publish","permalink":"https:\/\/www.microsoft.com\/en-us\/research\/project\/predictable-data-centers-pdc\/","post_excerpt":"Performance predictability is a key requirement for high-performant applications in today's multi-tenant datacenters. Online services running in infrastructure datacenters need such predictability to satisfy applications SLAs. Cloud datacenters require guaranteed performance to bound customer costs and spur adoption. However, the network and storage stack used in today\u2019s datacenters is unaware of such application requirements. This projects examines how to enable preditable datacenters. Performance predictability is a key requirement for high-performant applications in today's multi-tenant data…","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170657"}]}}]},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/168614"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-research-item"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/168614\/revisions"}],"predecessor-version":[{"id":501938,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/168614\/revisions\/501938"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=168614"}],"wp:term":[{"taxonomy":"msr-content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-content-type?post=168614"},{"taxonomy":"msr-research-highlight","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-highlight?post=168614"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=168614"},{"taxonomy":"msr-publication-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-publication-type?post=168614"},{"taxonomy":"msr-product-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-product-type?post=168614"},{"taxonomy":"msr-focus-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-focus-area?post=168614"},{"taxonomy":"msr-platform","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-platform?post=168614"},{"taxonomy":"msr-download-source","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-download-source?post=168614"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=168614"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=168614"},{"taxonomy":"msr-field-of-study","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-field-of-study?post=168614"},{"taxonomy":"msr-conference","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-conference?post=168614"},{"taxonomy":"msr-journal","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-journal?post=168614"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=168614"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=168614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}