{"id":1111,"date":"2023-04-11T12:06:42","date_gmt":"2023-04-11T05:06:42","guid":{"rendered":"https:\/\/dgway.com\/blog_E\/?p=1111"},"modified":"2023-04-11T14:19:12","modified_gmt":"2023-04-11T07:19:12","slug":"demo-performance-nvmetcp25g-ip-4-session-with-dma-on-alveo-u50","status":"publish","type":"post","link":"https:\/\/dgway.com\/blog_E\/2023\/04\/11\/demo-performance-nvmetcp25g-ip-4-session-with-dma-on-alveo-u50\/","title":{"rendered":"Demo &amp; Performance of NVMeTCP25G-IP 4 sessions with DMA on Alveo U50 Card"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The article showcases a new solution for data center applications called the accelerator system for NVMe\/TCP host function. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We divided it into two parts.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/dgway.com\/blog_E\/2023\/04\/10\/introduction-of-nvmetcp25g-ip-4-sessions-with-dma-on-alveo-u50-card\/\" data-type=\"URL\" data-id=\"https:\/\/dgway.com\/blog_E\/2023\/04\/10\/introduction-of-nvmetcp25g-ip-4-sessions-with-dma-on-alveo-u50-card\/\" target=\"_blank\" rel=\"noreferrer noopener\">The introduction of solution&nbsp;&nbsp;<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dgway.com\/blog_E\/2023\/04\/11\/demo-performance-nvmetcp25g-ip-4-session-with-dma-on-alveo-u50\/\" data-type=\"URL\" data-id=\"https:\/\/dgway.com\/blog_E\/2023\/04\/11\/demo-performance-nvmetcp25g-ip-4-session-with-dma-on-alveo-u50\/\" target=\"_blank\" rel=\"noreferrer noopener\">The demo set and performance&nbsp;<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The second part of the ariticle shows you how to set up the demo and performance result of this solution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The demo shows how to set up the system and presents performance results achieved through testing write and read operations with four NVMeTCP25G IPs cores accessing 4 NVMe\/TCP Targets simultaneously via 4x25G Ethernet connections.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/2-2-1024x576.png\" alt=\"\" class=\"wp-image-1113\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/2-2-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/2-2-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/2-2-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/2-2.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">NVMeTCP25G-IP on Alveo card<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">The details of the NVMeTCP25G-IP demo on the Alveo card are shown. The NVMeTCP25G IP demo on the Alveo card uses a 100G Ethernet connector, which is divided into four of 25G Ethernet connectors.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Four NVMeTCP25G IPs are integrated to access four SSDs at the NVMe\/TCP systems simultaneously. This design allows for high-performance data transfer when accessing four data sources via 100G Ethernet.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In summary, the NVMeTCP25G-IP demo on the Alveo card is capable of achieving fast and efficient data transfer for accessing multiple data sources at the same time.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/3-1-1024x576.png\" alt=\"\" class=\"wp-image-1114\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/3-1-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/3-1-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/3-1-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/3-1.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">NVMeTCP25G-IP Demo Setup<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In the next demonstration, we will utilize the Alveo U50 card as the host system. To showcase the Write and read operations, we set up four NVMe\/TCP targets using four NVMe SSDs and 25G Ethernet cards.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each target will transfer data with an NVMeTCP25G IP on the Alveo card, allowing us to conduct a comprehensive test of the system\u2019s capabilities.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/4-1-1024x576.png\" alt=\"\" class=\"wp-image-1115\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/4-1-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/4-1-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/4-1-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/4-1.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Write Command operation<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">During the Write operation test, we will use an application to generate test data for all channels in the host memory. Once the test data is ready, we will set the signals of all NVMeTCP25G IPs to initiate data transfer.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each NVMeTCP25G IP will encode the raw data from the host memory and convert it into an Ethernet packet. This packet will be used to store the data onto the SSD through the 25G Ethernet connection. To ensure maximum efficiency, all four channels will be operated simultaneously via four separate 25G Ethernet connections.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/5-1-1024x576.png\" alt=\"\" class=\"wp-image-1116\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/5-1-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/5-1-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/5-1-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/5-1.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Write Command Result<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">During the write operation from the host to an SSD at the target, it achieved a transfer rate of 2353 Mbyte\/sec, which is 70% of the 25G Ethernet line rate. This performance was limited by the operating system to ensure that the resource was utilized efficiently while handling each TCP session.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To enhance the performance, four Hosts to write data to four SSDs at two target systems are run. This resulted in a significant increase in performance, with a transfer rate of up to 7938 Mbyte\/sec, which is 350% of using a single channel.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, the performance is slightly reduced compared to four times a single channel performance. This is because two SSDs were set up by the same target system, resulting in the need to share resources.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"720\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/6-1024x576.png\" alt=\"\" class=\"wp-image-1117\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/6-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/6-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/6-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/6.png 1280w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><figcaption class=\"wp-element-caption\">Read command operation<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">On the other hand, during the Read operation test,\u00a0the test data from the four SSDs are transferred to the four NVMeTCP25G IPs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These IPs are responsible for decoding the data and extracting the raw data from the Ethernet packets. Once the raw data is extracted, it is uploaded to the host memory using the PCIe interface, where it can be verified by an application.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/7-1024x576.png\" alt=\"\" class=\"wp-image-1118\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/7-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/7-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/7-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2023\/04\/7.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Read Command Result<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">During the Read operation test, when executed by one channel, it achieved a transfer rate of 2736 Mbyte\/sec.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, when utilizing four channels, it achieved a higher transfer rate of up to 8148 Mbyte\/sec, which is 300% of using a single channel.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An application is developed to enable data verification, which can impact the system\u2019s overall performance. To improve performance, the data verification feature should be disabled.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For more information Please visit our website: <a rel=\"noreferrer noopener\" href=\"https:\/\/dgway.com\/index_E.html\" target=\"_blank\">https:\/\/dgway.com\/index_E.html<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Demo &amp; Performance of NVMeTCP25G-IP 4 sessions with DMA on Alveo U50 Card\" width=\"680\" height=\"383\" src=\"https:\/\/www.youtube.com\/embed\/whO7xM4PMeI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Youtube: <a href=\"https:\/\/youtu.be\/whO7xM4PMeI\" data-type=\"URL\" data-id=\"https:\/\/youtu.be\/whO7xM4PMeI\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/youtu.be\/whO7xM4PMeI<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The article showcases a new solution for data center applications called the accelerator system for NVMe\/TCP host function. We divided it into two parts. The second part of the ariticle shows you how to set up the demo and performance result of this solution. The demo shows how to set up the system and presents performance results achieved through testing&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1112,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-1111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-storage"],"_links":{"self":[{"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/posts\/1111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/comments?post=1111"}],"version-history":[{"count":10,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/posts\/1111\/revisions"}],"predecessor-version":[{"id":1139,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/posts\/1111\/revisions\/1139"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/media\/1112"}],"wp:attachment":[{"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/media?parent=1111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/categories?post=1111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/tags?post=1111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}