{"id":268713,"date":"2016-07-31T23:18:27","date_gmt":"2016-08-01T06:18:27","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-research-item&p=268713"},"modified":"2018-10-16T21:02:27","modified_gmt":"2018-10-17T04:02:27","slug":"clicknp-highly-flexible-high-performance-network-processing-reconfigurable-hardware","status":"publish","type":"msr-research-item","link":"https:\/\/www.microsoft.com\/en-us\/research\/publication\/clicknp-highly-flexible-high-performance-network-processing-reconfigurable-hardware\/","title":{"rendered":"ClickNP: Highly Flexible and High-performance Network Processing with Reconfigurable Hardware"},"content":{"rendered":"

Highly flexible software network functions (NFs) are crucial\u00a0components to enable multi-tenancy in the clouds. However,\u00a0software packet processing on a commodity server has
\nlimited capacity and induces high latency. While software\u00a0NFs could scale out using more servers, doing so adds significant\u00a0cost. This paper focuses on accelerating NFs with\u00a0programmable hardware, i.e., FPGA, which is now a mature technology and inexpensive for datacenters. However,\u00a0FPGA is predominately programmed using low-level hardware description languages (HDLs), which are hard to code and difficult to debug. More importantly, HDLs are almost inaccessible for most software programmers. This paper presents ClickNP, a FPGA-accelerated platform for highly flexible\u00a0and high-performance NFs with commodity servers. ClickNP is highly flexible as it is completely programmable using\u00a0high-level C-like languages, and exposes a modular programming abstraction that resembles Click Modular Router.<\/p>\n

ClickNP is also high performance. Our prototype NFs show that they can process traffic at up to 200 million packets per second with ultra-low latency (< 2us). Compared to existing software
\ncounterparts, with FPGA, ClickNP improves throughput\u00a0by 10x, while reducing latency by 10x. To the best of\u00a0our knowledge, ClickNP is the first FPGA-accelerated platform\u00a0for NFs, written completely in high-level language and achieving 40 Gbps line rate at any packet size.<\/p>\n","protected":false},"excerpt":{"rendered":"

Highly flexible software network functions (NFs) are crucial\u00a0components to enable multi-tenancy in the clouds. However,\u00a0software packet processing on a commodity server has limited capacity and induces high latency. While software\u00a0NFs could scale out using more servers, doing so adds significant\u00a0cost. This paper focuses on accelerating NFs with\u00a0programmable hardware, i.e., FPGA, which is now a mature […]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"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-field-of-study":[],"msr-conference":[],"msr-journal":[],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-268713","msr-research-item","type-msr-research-item","status-publish","hentry","msr-research-area-systems-and-networking","msr-locale-en_us"],"msr_publishername":"ACM","msr_edition":"ACM SIGCOMM","msr_affiliation":"","msr_published_date":"2016-07-31","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":"","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":"268716","msr_publicationurl":"","msr_doi":"http:\/\/dx.doi.org\/10.1145\/2934872.2934897","msr_publication_uploader":[{"type":"file","title":"main","viewUrl":"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/07\/main-4.pdf","id":268716,"label_id":0},{"type":"doi","title":"http:\/\/dx.doi.org\/10.1145\/2934872.2934897","viewUrl":false,"id":false,"label_id":0}],"msr_related_uploader":"","msr_attachments":[],"msr-author-ordering":[{"type":"text","value":"Bojie Li","user_id":0,"rest_url":false},{"type":"user_nicename","value":"kuntan","user_id":32599,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=kuntan"},{"type":"user_nicename","value":"laluo","user_id":32613,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=laluo"},{"type":"text","value":"Renqian Luo","user_id":0,"rest_url":false},{"type":"text","value":"Yanqing Peng","user_id":0,"rest_url":false},{"type":"user_nicename","value":"ningyixu","user_id":33112,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=ningyixu"},{"type":"user_nicename","value":"yqx","user_id":35049,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=yqx"},{"type":"user_nicename","value":"pengc","user_id":33225,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=pengc"}],"msr_impact_theme":[],"msr_research_lab":[199560],"msr_event":[],"msr_group":[144801],"msr_project":[268773],"publication":[],"video":[],"download":[],"msr_publication_type":"inproceedings","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/268713"}],"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":3,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/268713\/revisions"}],"predecessor-version":[{"id":532307,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/268713\/revisions\/532307"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=268713"}],"wp:term":[{"taxonomy":"msr-content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-content-type?post=268713"},{"taxonomy":"msr-research-highlight","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-highlight?post=268713"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=268713"},{"taxonomy":"msr-publication-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-publication-type?post=268713"},{"taxonomy":"msr-product-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-product-type?post=268713"},{"taxonomy":"msr-focus-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-focus-area?post=268713"},{"taxonomy":"msr-platform","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-platform?post=268713"},{"taxonomy":"msr-download-source","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-download-source?post=268713"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=268713"},{"taxonomy":"msr-field-of-study","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-field-of-study?post=268713"},{"taxonomy":"msr-conference","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-conference?post=268713"},{"taxonomy":"msr-journal","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-journal?post=268713"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=268713"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=268713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}