{"id":9759,"date":"2016-08-24T04:35:20","date_gmt":"2016-08-24T04:35:20","guid":{"rendered":"http:\/\/revoscience.com\/en\/?p=9759"},"modified":"2016-08-24T04:35:20","modified_gmt":"2016-08-24T04:35:20","slug":"programmable-network-routers","status":"publish","type":"post","link":"https:\/\/www.revoscience.com\/en\/programmable-network-routers\/","title":{"rendered":"Programmable network routers"},"content":{"rendered":"<p style=\"color: rgb(34, 34, 34); text-align: justify;\"><em><strong>New design should enable much more flexible traffic management, without sacrificing speed.<\/strong><\/em><\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\"><a href=\"http:\/\/revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-9760 size-full\" src=\"http:\/\/revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg\" alt=\"MIT-Program-Switch_0\" width=\"639\" height=\"426\" title=\"\" srcset=\"https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg 639w, https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0-300x200.jpg 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a>CAMBRIDGE, Mass. &#8212;\u00a0Like all data networks, the networks that connect servers in giant server farms, or servers and workstations in large organizations, are prone to congestion. When network traffic is heavy, packets of data can get backed up at network routers or dropped altogether.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">Also like all data networks, big private networks have control algorithms for managing network traffic during periods of congestion. But because the routers that direct traffic in a server farm need to be superfast, the control algorithms are hardwired into the routers\u2019 circuitry. That means that if someone develops a better algorithm, network operators have to wait for a new generation of hardware before they can take advantage of it.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">Researchers at MIT\u2019s Computer Science and Artificial Intelligence Laboratory (CSAIL) and five other organizations hope to change that, with routers that are programmable but can still keep up with the blazing speeds of modern data networks. The researchers outline their system in a pair of papers being presented at the annual conference of the Association for Computing Machinery\u2019s Special Interest Group on Data Communication.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">\u201cThis work shows that you can achieve many flexible goals for managing traffic, while retaining the high performance of traditional routers,\u201d says Hari Balakrishnan, the Fujitsu Professor in Electrical Engineering and Computer Science at MIT. \u201cPreviously, programmability was achievable, but nobody would use it in production, because it was a factor of 10 or even 100 slower.\u201d<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">\u201cYou need to have the ability for researchers and engineers to try out thousands of ideas,\u201d he adds. \u201cWith this platform, you become constrained not by hardware or technological limitations, but by your creativity. You can innovate much more rapidly.\u201d<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">The first author on both papers is Anirudh Sivaraman, an MIT graduate student in electrical engineering and computer science, advised by both Balakrishnan and Mohammad Alizadeh, the TIBCO Career Development Assistant Professor in Electrical Engineering and Computer Science at MIT, who are coauthors on both papers. They\u2019re joined by colleagues from MIT, the University of Washington, Barefoot Networks, Microsoft Research, Stanford University, and Cisco Systems.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\"><strong>Different strokes<\/strong><\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">Traffic management can get tricky because of the different types of data traveling over a network, and the different types of performance guarantees offered by different services. With Internet phone calls, for instance, delays are a nuisance, but the occasional dropped packet \u2014 which might translate to a missing word in a sentence \u2014 could be tolerable. With a large data file, on the other hand, a slight delay could be tolerable, but missing data isn\u2019t.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">Similarly, a network may guarantee equal bandwidth distribution among its users. Every router in a data network has its own memory bank, called a buffer, where it can queue up packets. If one user has filled a router\u2019s buffer with packets from a single high-definition video, and another is trying to download a comparatively tiny text document, the network might want to bump some of the video packets in favor of the text, to help guarantee both users a minimum data rate.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">A router might also want to modify a packet to convey information about network conditions, such as whether the packet encountered congestion, where, and for how long; it might even want to suggest new transmission rates for senders.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">Computer scientists have proposed hundreds of traffic management schemes involving complex rules for determining which packets to admit to a router and which to drop, in what order to queue the packets, and what additional information to add to them \u2014 all under a variety of different circumstances. And while in simulations many of these schemes promise improved network performance, few of them have ever been deployed, because of hardware constraints in routers.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">The MIT researchers and their colleagues set themselves the goal of finding a set of simple computing elements that could be arranged to implement diverse traffic management schemes, without compromising the operating speeds of today\u2019s best routers and without taking up too much space on-chip.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">To test their designs, they built a compiler \u2014 a program that converts high-level program instructions into low-level hardware instructions \u2014 which they used to compile seven experimental traffic-management algorithms onto their proposed circuit elements. If an algorithm wouldn\u2019t compile, or if it required an impractically large number of circuits, they would add new, more sophisticated circuit elements to their palette.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\"><strong>Assessments<\/strong><\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">In one of the two new papers, the researchers provide specifications for seven circuit types, each of which is slightly more complex than the last. Some simple traffic management algorithms require only the simplest circuit type, while others require more complex types. But even a bank of the most complex circuits would take up only 4 percent of the area of a router chip; a bank of the least complex types would take up only 0.16 percent.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">Beyond the seven algorithms they used to design their circuit elements, the researchers ran several other algorithms through their compiler and found that they compiled to some combination of their simple circuit elements.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">\u201cWe believe that they\u2019ll generalize to many more,\u201d says Sivaraman. \u201cFor instance, one of the circuits allows a programmer to track a running sum \u2014 something that is employed by many algorithms.\u201d<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">In the second paper, they describe the design of their scheduler, the circuit element that orders packets in the router\u2019s queue and extracts them for forwarding. In addition to queuing packets according to priority, the scheduler can also stamp them with particular transmission times and forward them accordingly. Sometimes, for instance, it could be useful for a router to slow down its transmission rate, in order to prevent bottlenecks elsewhere in the network, or to help ensure equitable bandwidth distribution.<\/p>\n<p style=\"color: rgb(34, 34, 34); text-align: justify;\">Finally, the researchers drew up specifications for their circuits in Verilog, the language electrical engineers typically use to design commercial chips. Verilog\u2019s built-in analytic tools verified that a router using the researchers\u2019 circuits would be fast enough to support the packet rates common in today\u2019s high-speed networks, forwarding a packet of data every nanosecond.<\/p>\n","protected":false},"excerpt":{"rendered":"<p> Like all data networks, the networks that connect servers in giant server farms, or servers and workstations in large organizations, are prone to congestion. When network traffic is heavy, packets of data can get backed up at network routers or dropped altogether.<\/p>\n","protected":false},"author":2,"featured_media":9760,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-9759","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"featured_image_urls":{"full":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"thumbnail":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0-150x150.jpg",150,150,true],"medium":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"1536x1536":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"2048x2048":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"ultp_layout_landscape_large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"ultp_layout_landscape":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"ultp_layout_portrait":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",600,400,false],"ultp_layout_square":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",600,400,false],"newspaper-x-single-post":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"newspaper-x-recent-post-big":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",540,360,false],"newspaper-x-recent-post-list-image":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",95,63,false],"web-stories-poster-portrait":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",639,426,false],"web-stories-publisher-logo":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",96,64,false],"web-stories-thumbnail":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/08\/MIT-Program-Switch_0.jpg",150,100,false]},"author_info":{"info":["RevoScience"]},"category_info":"<a href=\"https:\/\/www.revoscience.com\/en\/category\/news\/\" rel=\"category tag\">News<\/a>","tag_info":"News","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts\/9759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/comments?post=9759"}],"version-history":[{"count":0,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts\/9759\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/media\/9760"}],"wp:attachment":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/media?parent=9759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/categories?post=9759"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/tags?post=9759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}