{"id":170657,"date":"2011-02-11T10:10:03","date_gmt":"2011-02-11T10:10:03","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/predictable-data-centers-pdc\/"},"modified":"2018-08-20T10:30:03","modified_gmt":"2018-08-20T17:30:03","slug":"predictable-data-centers-pdc","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/predictable-data-centers-pdc\/","title":{"rendered":"Predictable Data Centers (PDC)"},"content":{"rendered":"<p>Performance predictability is a key requirement for high-performant applications in today&#8217;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.<\/p>\n<p>Performance predictability is a key requirement for high-performant applications in today&#8217;s multi-tenant data centers. Online services running in infrastructure data centers need such predictability to satisfy application SLAs. Cloud data centers require guaranteed performance to bound customer costs and spur adoption. However, several components of\u00a0today\u2019s datacenters are at odds with such high-level application SLAs.<\/p>\n<p>The Predictable Data Centers (PDC) project tackles the issue of unpredictable application performance in data centers. A key contributor to such unpredictability is shared resources like network and storage. The bandwidth across the cloud network and to the cloud storage service can vary significantly. To address this, we\u00a0are designing a predictable data center architecture that offers performance SLAs across shared resources. Efforts like Oktopus, D<sup>3<\/sup> and Hadrian enable a predictable network. More recently, we have been working on predictable storage. We have designed IOFlow, a software-defined storage architecture that enables performance SLAs across shared storage.<\/p>\n\t<div data-wp-context='{\"items\":[]}' data-wp-interactive=\"msr\/accordion\">\n\t\t\t\t\t<div class=\"clearfix\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"btn-group align-items-center mb-g float-sm-right\"\n\t\t\t\t\tdata-bi-aN=\"accordion-collapse-controls\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"btn btn-link m-0\"\n\t\t\t\t\t\tdata-bi-cN=\"Expand all\"\n\t\t\t\t\t\tdata-wp-bind--aria-controls=\"state.ariaControls\"\n\t\t\t\t\t\tdata-wp-bind--aria-expanded=\"state.ariaExpanded\"\n\t\t\t\t\t\tdata-wp-bind--disabled=\"state.isAllExpanded\"\n\t\t\t\t\t\tdata-wp-class--inactive=\"state.isAllExpanded\"\n\t\t\t\t\t\tdata-wp-on--click=\"actions.onExpandAll\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\tExpand all\t\t\t\t\t<\/button>\n\t\t\t\t\t<span aria-hidden=\"true\"> | <\/span>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"btn btn-link m-0\"\n\t\t\t\t\t\tdata-bi-cN=\"Collapse all\"\n\t\t\t\t\t\tdata-wp-bind--aria-controls=\"state.ariaControls\"\n\t\t\t\t\t\tdata-wp-bind--aria-expanded=\"state.ariaExpanded\"\n\t\t\t\t\t\tdata-wp-bind--disabled=\"state.isAllCollapsed\"\n\t\t\t\t\t\tdata-wp-class--inactive=\"state.isAllCollapsed\"\n\t\t\t\t\t\tdata-wp-on--click=\"actions.onCollapseAll\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\tCollapse all\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t<ul class=\"msr-accordion\">\n\t\t\t\t\t\t\t\t<li class=\"m-0\" data-wp-context='{\"id\":\"accordion-content-2\"}' data-wp-init=\"callbacks.init\">\n\t\t<div class=\"accordion-header\">\n\t\t\t<button\n\t\t\t\taria-controls=\"accordion-content-2\"\n\t\t\t\tclass=\"btn btn-collapse\"\n\t\t\t\tdata-wp-bind--aria-expanded=\"state.isExpanded\"\n\t\t\t\tdata-wp-on--click=\"actions.onClick\"\n\t\t\t\tid=\"accordion-button-1\"\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\tProjects\t\t\t<\/button>\n\t\t<\/div>\n\t\t<div\n\t\t\taria-labelledby=\"accordion-button-1\"\n\t\t\tclass=\"msr-accordion__content\"\n\t\t\tdata-wp-bind--inert=\"!state.isExpanded\"\n\t\t\tdata-wp-run=\"callbacks.run\"\n\t\t\tid=\"accordion-content-2\"\n\t\t>\n\t\t\t<div class=\"msr-accordion__body\">\n\t\t\t\t<p><span class=\"ImageBlock fn\"><img decoding=\"async\" id=\"Imaged99a4e8f-baa4-4c06-bb65-ba26e51403af\" class=\"alignleft\" title=\"IOFlow\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/datacenters-ioflow.jpg\" alt=\"IOFlow\" \/><\/span><b>IOFlow<\/b><\/p>\n<p>Software-defined storage<\/p>\n<p><span class=\"ImageBlock fl\"><img decoding=\"async\" id=\"Imagefc33e0d8-b3aa-49ee-ae59-59a8c22608d3\" class=\"BorderedImageWrapper alignleft\" title=\"Hadrian\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/datacenters-hadrian.jpg\" alt=\"Hadrian\" \/><\/span><\/p>\n<p><strong>Hadrian<\/strong><\/p>\n<p>Network Sharing in Multi-tenant Data Centers<\/p>\n<p><span class=\"ImageBlock fl\"><img decoding=\"async\" id=\"Image59e6ac39-1be4-4b6f-9b2f-8a9f3670b43c\" class=\"BorderedImageWrapper alignleft\" title=\"Bazaar\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/datacenters-bazaar.jpg\" alt=\"Bazaar\" \/><\/span><\/p>\n<p><strong>Bazaar<\/strong><\/p>\n<p>Bridging the Tenant-Provider Gap in Cloud Services<\/p>\n<p><span class=\"ImageBlock fl\"><span class=\"ImageBlock fl\"><img decoding=\"async\" id=\"Image61ddcec8-b80d-4e57-b81a-126914433b92\" class=\"BorderedImageWrapper alignleft\" title=\"Oktopus\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/datacenters-octopus.jpg\" alt=\"Oktopus\" \/><\/span><\/span><\/p>\n<p><strong>Oktopus<\/strong><\/p>\n<p>Towards Predictable Datacenter Networks<\/p>\n<p><span class=\"ImageBlock fl\"><span class=\"ImageBlock fl\"><span class=\"ImageBlock fl\"><img decoding=\"async\" id=\"Imagefa7b1d6d-b19f-420d-b103-d1244b9b4044\" class=\"BorderedImageWrapper alignleft\" title=\"D3\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/datacenters-d3.jpg\" alt=\"D3\" \/><\/span><\/span><\/span><\/p>\n<p><strong>D<sup>3<\/sup><\/strong><\/p>\n<p>Meeting Deadlines in Data Center Networks<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/li>\n\t\t<li class=\"m-0\" data-wp-context='{\"id\":\"accordion-content-4\"}' data-wp-init=\"callbacks.init\">\n\t\t<div class=\"accordion-header\">\n\t\t\t<button\n\t\t\t\taria-controls=\"accordion-content-4\"\n\t\t\t\tclass=\"btn btn-collapse\"\n\t\t\t\tdata-wp-bind--aria-expanded=\"state.isExpanded\"\n\t\t\t\tdata-wp-on--click=\"actions.onClick\"\n\t\t\t\tid=\"accordion-button-3\"\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\tRelated Links\t\t\t<\/button>\n\t\t<\/div>\n\t\t<div\n\t\t\taria-labelledby=\"accordion-button-3\"\n\t\t\tclass=\"msr-accordion__content\"\n\t\t\tdata-wp-bind--inert=\"!state.isExpanded\"\n\t\t\tdata-wp-run=\"callbacks.run\"\n\t\t\tid=\"accordion-content-4\"\n\t\t>\n\t\t\t<div class=\"msr-accordion__body\">\n\t\t\t\t<ul>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/research\/lab\/microsoft-research-cambridge\/\" target=\"_self\">Microsoft Research Cambridge<\/a><\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/research\/group\/cambridge-systems-and-networking\/\" target=\"_self\">Systems and Networking Group<\/a><\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/li>\n\t\t<li class=\"m-0\" data-wp-context='{\"id\":\"accordion-content-6\"}' data-wp-init=\"callbacks.init\">\n\t\t<div class=\"accordion-header\">\n\t\t\t<button\n\t\t\t\taria-controls=\"accordion-content-6\"\n\t\t\t\tclass=\"btn btn-collapse\"\n\t\t\t\tdata-wp-bind--aria-expanded=\"state.isExpanded\"\n\t\t\t\tdata-wp-on--click=\"actions.onClick\"\n\t\t\t\tid=\"accordion-button-5\"\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\tExternal Collaborators\t\t\t<\/button>\n\t\t<\/div>\n\t\t<div\n\t\t\taria-labelledby=\"accordion-button-5\"\n\t\t\tclass=\"msr-accordion__content\"\n\t\t\tdata-wp-bind--inert=\"!state.isExpanded\"\n\t\t\tdata-wp-run=\"callbacks.run\"\n\t\t\tid=\"accordion-content-6\"\n\t\t>\n\t\t\t<div class=\"msr-accordion__body\">\n\t\t\t\t<ul>\n<li>\u00a0Virajith Jalaparti (UIUC)<\/li>\n<li>Changhoon Kim (MS Azure)<\/li>\n<li>Christo Wilson (Northeastern University)<\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t<\/div>\n\t\n","protected":false},"excerpt":{"rendered":"<p>Performance predictability is a key requirement for high-performant applications in today&#8217;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 [&hellip;]<\/p>\n","protected":false},"featured_media":194114,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13547],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-170657","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-systems-and-networking","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2010-09-01","related-publications":[161354,161364,162114,163763,164131,165291,166540,167513,168541,168614],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Hitesh Ballani","user_id":32008,"people_section":"Group 1","alias":"hiballan"},{"type":"user_nicename","display_name":"Paolo Costa","user_id":33218,"people_section":"Group 1","alias":"pcosta"},{"type":"user_nicename","display_name":"Richard Black","user_id":33417,"people_section":"Group 1","alias":"rjblack"},{"type":"user_nicename","display_name":"Thomas Karagiannis","user_id":34031,"people_section":"Group 1","alias":"thomkar"},{"type":"user_nicename","display_name":"Ioan Stefanovici","user_id":37679,"people_section":"Group 1","alias":"iostefan"}],"msr_research_lab":[],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170657","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":3,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170657\/revisions"}],"predecessor-version":[{"id":501917,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/170657\/revisions\/501917"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/194114"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=170657"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=170657"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=170657"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=170657"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=170657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}