{"id":807802,"date":"2021-12-29T23:00:02","date_gmt":"2021-12-30T07:00:02","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-research-item&p=807802"},"modified":"2022-01-18T19:30:02","modified_gmt":"2022-01-19T03:30:02","slug":"memory-harvesting-vms-in-cloud-platforms","status":"publish","type":"msr-research-item","link":"https:\/\/www.microsoft.com\/en-us\/research\/publication\/memory-harvesting-vms-in-cloud-platforms\/","title":{"rendered":"Memory-Harvesting VMs in Cloud Platforms"},"content":{"rendered":"

Cloud platforms monetize their spare capacity by renting \u201cSpot\u201d vir<\/span>tual machines (VMs) that can be evicted in favor of higher-priority <\/span>VMs. Recent work has shown that resource-harvesting VMs are <\/span>more effective at exploiting spare capacity than Spot VMs, while <\/span>also reducing the number of evictions. However, the prior work <\/span>focused on harvesting CPU cores while keeping memory size fixed. <\/span>This wastes a substantial monetization opportunity and may even <\/span>limit the ability of harvesting VMs to leverage spare cores. Thus, <\/span>in this paper, we explore memory harvesting and its challenges <\/span>in real cloud platforms, namely its impact on VM creation time, <\/span>NUMA spanning, and page fragmentation. We start by characteriz<\/span>ing the amount and dynamics of the spare memory in Azure. We <\/span>then design and implement memory-harvesting VMs (MHVMs), <\/span>introducing new techniques for memory buffering, batching, and <\/span>pre-reclamation. To demonstrate the use of MHVMs, we also extend <\/span>a popular cluster scheduling framework (Hadoop) and a FaaS plat<\/span>form to adapt to them. Our main results show that (1) there is plenty <\/span>of scope for memory harvesting in real platforms; (2) MHVMs are <\/span>effective at mitigating the negative impacts of harvesting; and (3) <\/span>our extensions of Hadoop and FaaS successfully hide the MHVMs\u2019 <\/span>varying memory size from the users\u2019 data-processing jobs and func<\/span>tions. We conclude that memory harvesting has great potential for <\/span>practical deployment and users can save up to 93% of their costs <\/span>when running workloads on MHVMs.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"

Cloud platforms monetize their spare capacity by renting \u201cSpot\u201d virtual machines (VMs) that can be evicted in favor of higher-priority VMs. Recent work has shown that resource-harvesting VMs are more effective at exploiting spare capacity than Spot VMs, while also reducing the number of evictions. However, the prior work focused on harvesting CPU cores while […]<\/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":[246691],"msr-conference":[259537],"msr-journal":[],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-807802","msr-research-item","type-msr-research-item","status-publish","hentry","msr-research-area-systems-and-networking","msr-locale-en_us","msr-field-of-study-computer-science"],"msr_publishername":"","msr_edition":"","msr_affiliation":"","msr_published_date":"2022-3-2","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":"ACM","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":"","msr_publicationurl":"","msr_doi":"","msr_publication_uploader":[{"type":"file","viewUrl":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2021\/12\/Memory-Harvesting-ASPLOS22.pdf","id":"809179","title":"memory-harvesting-asplos22","label_id":"243109","label":0}],"msr_related_uploader":"","msr_attachments":[{"id":809179,"url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2022\/01\/Memory-Harvesting-ASPLOS22.pdf"},{"id":807808,"url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2021\/12\/paper-61cd58b7acf31.pdf"}],"msr-author-ordering":[{"type":"text","value":"Alex Fuerst","user_id":0,"rest_url":false},{"type":"user_nicename","value":"Stanko Novakovic","user_id":38109,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Stanko Novakovic"},{"type":"user_nicename","value":"\u00cd\u00f1igo Goiri","user_id":32102,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=\u00cd\u00f1igo Goiri"},{"type":"user_nicename","value":"Gohar Irfan Chaudhry","user_id":38697,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Gohar Irfan Chaudhry"},{"type":"text","value":"Prateek Sharma","user_id":0,"rest_url":false},{"type":"user_nicename","value":"Kapil Arya","user_id":37824,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Kapil Arya"},{"type":"text","value":"Kevin Broas","user_id":0,"rest_url":false},{"type":"text","value":"Eugene Bak","user_id":0,"rest_url":false},{"type":"text","value":"Mehmet Iyigun","user_id":0,"rest_url":false},{"type":"user_nicename","value":"Ricardo Bianchini","user_id":33393,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Ricardo Bianchini"}],"msr_impact_theme":[],"msr_research_lab":[199565],"msr_event":[],"msr_group":[144927,282170],"msr_project":[616008],"publication":[],"video":[],"download":[],"msr_publication_type":"inproceedings","related_content":{"projects":[{"ID":616008,"post_title":"LEAP: Lean, Efficient, And Predictable Cloud Platforms","post_name":"leap","post_type":"msr-project","post_date":"2019-10-17 15:35:49","post_modified":"2025-02-05 11:04:40","post_status":"publish","permalink":"https:\/\/www.microsoft.com\/en-us\/research\/project\/leap\/","post_excerpt":"No public cloud can host large latency-sensitive services, such as search engines, in a way that is economic for those services today! Project LEAP (short for Lean, Efficient, And Predictable) addresses the research challenges in enabling cloud platforms to host these services in a rightsized, elastic, and with predictable tail latency.\u00a0 The challenges include how to prevent interference from co-located workloads, how to prevent performance jitter due to I\/O, how to make the services elastic…","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/616008"}]}}]},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/807802","targetHints":{"allow":["GET"]}}],"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\/807802\/revisions"}],"predecessor-version":[{"id":807805,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/807802\/revisions\/807805"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=807802"}],"wp:term":[{"taxonomy":"msr-content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-content-type?post=807802"},{"taxonomy":"msr-research-highlight","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-highlight?post=807802"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=807802"},{"taxonomy":"msr-publication-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-publication-type?post=807802"},{"taxonomy":"msr-product-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-product-type?post=807802"},{"taxonomy":"msr-focus-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-focus-area?post=807802"},{"taxonomy":"msr-platform","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-platform?post=807802"},{"taxonomy":"msr-download-source","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-download-source?post=807802"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=807802"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=807802"},{"taxonomy":"msr-field-of-study","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-field-of-study?post=807802"},{"taxonomy":"msr-conference","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-conference?post=807802"},{"taxonomy":"msr-journal","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-journal?post=807802"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=807802"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=807802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}