{"id":159,"date":"2021-11-03T21:10:58","date_gmt":"2021-11-03T20:10:58","guid":{"rendered":"https:\/\/www.kth.se\/blogs\/ultra\/?p=159"},"modified":"2023-05-17T16:06:54","modified_gmt":"2023-05-17T14:06:54","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\/ultra\/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>Below is the presentation at NSDI 2022:<\/p>\n<p><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"900\" height=\"507\" src=\"https:\/\/www.youtube.com\/embed\/0M8EiLYgYpA?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-GB&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span><br \/>\nThis 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":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-159","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paeZPD-2z","jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/posts\/159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/users\/621"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/comments?post=159"}],"version-history":[{"count":7,"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/posts\/159\/revisions"}],"predecessor-version":[{"id":210,"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/posts\/159\/revisions\/210"}],"wp:attachment":[{"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/media?parent=159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/categories?post=159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/ultra\/wp-json\/wp\/v2\/tags?post=159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}