{"id":88,"date":"2021-11-04T19:03:39","date_gmt":"2021-11-04T18:03:39","guid":{"rendered":"https:\/\/www.kth.se\/blogs\/nslab\/?p=88"},"modified":"2021-11-04T19:03:39","modified_gmt":"2021-11-04T18:03:39","slug":"our-upcoming-nsdi-2022-paper-packet-order-matters-improving-application-performance-by-deliberately-delaying-packets","status":"publish","type":"post","link":"https:\/\/www.kth.se\/blogs\/nslab\/2021\/11\/our-upcoming-nsdi-2022-paper-packet-order-matters-improving-application-performance-by-deliberately-delaying-packets\/","title":{"rendered":"Our upcoming NSDI 2022 paper &#8220;Packet Order Matters! Improving Application Performance by Deliberately Delaying Packets&#8221;"},"content":{"rendered":"<div class=\"post-content-wrapper\"><p>&nbsp;<\/p>\n<p>Our upcoming NSDI 2022 paper\u00a0<a href=\"https:\/\/people.kth.se\/~dejanko\/documents\/publications\/ordermatters-nsdi22.pdf\"><b>Packet Order Matters<\/b><\/a> shows a surprising result: deliberately <b>delaying<\/b> packets can improve the performance of backend servers by up to about a factor of 2 (e.g., those used for Network Function Virtualization)! This applies to both throughput and latency (<strong>including<\/strong> the time spent in our <b>Reframer<\/b>). We show three different scenarios in which Reframer can be deployed. Source code is <a href=\"https:\/\/github.com\/hamidgh09\/Reframer\">available here<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>This is joint work with:<\/p>\n<p class=\"odname\">Hamid Ghasemirahni, Tom Barbette, Georgios P. Katsikas, Alireza Farshin, Amir Roozbeh, Massimo Girondi, Marco Chiesa, Gerald Q. Maguire Jr., and Dejan Kosti\u0107.<\/p>\n<p>&nbsp;<\/p>\n<p>Full abstract is below:<\/p>\n<p>Data centers increasingly deploy commodity servers with high-speed network interfaces to enable low-latency communication. However, achieving low latency at high data rates crucially depends on how the incoming traffic interacts with the system&#8217;s caches. When packets that need to be processed in the same way are consecutive, i.e., exhibit high temporal and spatial locality, caches deliver great benefits.<\/p>\n<p>In this paper, we systematically study the impact of temporal and spatial traffic locality on the performance of commodity servers equipped with high-speed network interfaces. Our results show that (i) the performance of a variety of widely deployed applications degrade substantially with even the slightest lack of traffic locality, and (ii) a traffic trace from our organization reveals poor traffic locality as networking protocols, drivers, and the underlying switching\/routing fabric spread packets out in time (reducing locality). To address these issues, we built Reframer, a software solution that deliberately delays packets and reorders them to increase traffic locality. Despite introducing \u03bcs-scale delays of some packets, we show that Reframer increases the throughput of a network service chain by up to 84% and reduces the flow completion time of a web server by 11% while improving its throughput by 20%.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>&nbsp; Our upcoming NSDI 2022 paper\u00a0Packet Order Matters shows a surprising result: deliberately delaying packets can improve the performance of backend servers by up to about a factor of 2 (e.g., those used for Network Function Virtualization)! This applies to both throughput and latency (including the time spent in our Reframer). We show three different [&hellip;]<\/p>\n","protected":false},"author":621,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-88","post","type-post","status-publish","format-standard","hentry","category-okategoriserat"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/users\/621"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":1,"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"predecessor-version":[{"id":89,"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/posts\/88\/revisions\/89"}],"wp:attachment":[{"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/nslab\/wp-json\/wp\/v2\/tags?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}