{"id":752,"date":"2022-11-11T14:49:18","date_gmt":"2022-11-11T07:49:18","guid":{"rendered":"https:\/\/dgway.com\/blog_E\/?p=752"},"modified":"2023-02-28T10:58:27","modified_gmt":"2023-02-28T03:58:27","slug":"toe100g-ip-on-silicoms-packetmover","status":"publish","type":"post","link":"https:\/\/dgway.com\/blog_E\/2022\/11\/11\/toe100g-ip-on-silicoms-packetmover\/","title":{"rendered":"TOE100G-IP with Silicom&#8217;s PacketMover Performance Demo on fb2CG@KU15P Kintex UltraScale+ FPGA Card"},"content":{"rendered":"\n<p>We would like to show you the demo of TOE100G-IP on Silicom\u2019s PacketMover framework, running on Silicom\u2019s FPGA Card.<\/p>\n\n\n\n<p>TOE100G-IP on Silicom\u2019s PacketMover consists of 2 parts<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/dgway.com\/blog_E\/2022\/11\/11\/toe100g-ip-on-silicoms-packetmover\/\" data-type=\"URL\" data-id=\"https:\/\/dgway.com\/blog_E\/2022\/11\/11\/toe100g-ip-on-silicoms-packetmover\/\" target=\"_blank\" rel=\"noreferrer noopener\">Demo &amp; Performance <\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dgway.com\/blog_E\/2023\/02\/28\/fpga-based-smartnic-for-high-performance-tcp-ip-application\/\" data-type=\"URL\" data-id=\"https:\/\/dgway.com\/blog_E\/2023\/02\/28\/fpga-based-smartnic-for-high-performance-tcp-ip-application\/\" target=\"_blank\" rel=\"noreferrer noopener\">Application<\/a><\/li>\n<\/ul>\n\n\n\n<p>The demo systems is implemented on Host PC with Linux OS, Silicom\u2019s FPGA Card, fb2CG@KU15P, work as 100G Network Card together TOE100G-IP for fully offload TCP transmission for specific TCP connection.<\/p>\n\n\n\n<p>Target system is implemented on standard alone FPGA board with TOE100G-IP core for end-to-end TCP transmission between Host PC and Target systems.<\/p>\n\n\n\n<p>Here is actual Silicom\u2019s FPGA Card installation on Host PC.<\/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\/2022\/11\/demo-setup-1024x576.png\" alt=\"\" class=\"wp-image-753\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/demo-setup-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/demo-setup-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/demo-setup-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/demo-setup-1536x864.png 1536w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/demo-setup.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Demo Setup<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Let\u2019s see the demo when transfer or sending very high speed TCP payload from Host PC Main Memory through FPGA Card to 100G Ethernet to Target systems.<\/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\/2022\/11\/Performance-Host-TOE100G-IP-Target-1024x576.png\" alt=\"\" class=\"wp-image-766\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target-1536x864.png 1536w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Performance : Host (TOE100G-IP) -&gt; Target<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The demo application start setting TCP transfer parameter and wait for TCP connection.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"531\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_cover2-1024x531.png\" alt=\"\" class=\"wp-image-772\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_cover2-1024x531.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_cover2-300x156.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_cover2-768x398.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_cover2.png 1220w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>On Target systems, setting TCP server parameter to receive data from Host PC.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern2-1024x533.png\" alt=\"\" class=\"wp-image-773\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern2-1024x533.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern2-300x156.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern2-768x399.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern2.png 1219w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Then start TCP transfer from Host Main memory to Target.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"534\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern3-1024x534.png\" alt=\"\" class=\"wp-image-774\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern3-1024x534.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern3-300x157.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern3-768x401.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern3.png 1219w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The test result show that TCP transmission for 68GB size can be finished within 5.5seconds which is around 12,300MB\/s transfer speed. This is very high TCP transmission performance which close to 100Gbit maximum speed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_end2.2-1024x533.jpg\" alt=\"\" class=\"wp-image-775\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_end2.2-1024x533.jpg 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_end2.2-300x156.jpg 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_end2.2-768x400.jpg 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Send_DataTest_NoPattern_end2.2.jpg 1219w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Let\u2019s see the demo when reading very high speed TCP payload from 100G Ethernet connection to Main Memory on Host PC.<\/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\/2022\/11\/Performance-Host-TOE100G-IP-Target2-1024x576.png\" alt=\"\" class=\"wp-image-767\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target2-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target2-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target2-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target2-1536x864.png 1536w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-Host-TOE100G-IP-Target2.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Performance : Host (TOE100G-IP) &lt;- Target<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The demo application start setting TCP transfer parameter for receiving data from 100G Ethernet from Target systems.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_cover-1024x533.png\" alt=\"\" class=\"wp-image-760\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_cover-1024x533.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_cover-300x156.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_cover-768x400.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_cover.png 1217w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>On Target systems, setting TCP server parameter to send data from Host PC.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_2-1024x533.png\" alt=\"\" class=\"wp-image-761\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_2-1024x533.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_2-300x156.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_2-768x400.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_2.png 1220w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Then start TCP transfer from Target to Host Main Memory.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_3-1-1024x533.png\" alt=\"\" class=\"wp-image-763\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_3-1-1024x533.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_3-1-300x156.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_3-1-768x400.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_3-1.png 1218w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The test result show that TCP transmission for 68GB size can be finished within 5.8 seconds which is around 11,700MB\/s transfer speed. This performance number is still more than 90% utilization of 100Gbit ethernet speed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_end2.2-1-1024x533.jpg\" alt=\"\" class=\"wp-image-776\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_end2.2-1-1024x533.jpg 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_end2.2-1-300x156.jpg 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_end2.2-1-768x400.jpg 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Receive_DataTest_Verification_end2.2-1.jpg 1220w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In conclusion, TOE100G-IP can be integrated with Silicom\u2019s PacketMover framework to fully offload TCP transmission on Silicom\u2019s FPGA Card. This allow Silicom\u2019s FPGA Card can work as 100G Network Card together with very high performance TCP offload engine by TOE100G-IP.<\/p>\n\n\n\n<p>TOE100G-IP and Silicom\u2019s PacketMover framework is cost competitive solution for very high performance TCP 100G offloading. This solution can achieve more than 10GB\/s transfer speed for transferring TCP payload between Host Main Memory and 100G Ethernet Port in both send and receive direction.<\/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\/2022\/11\/Performance-result-1-1024x576.png\" alt=\"\" class=\"wp-image-780\" srcset=\"https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-result-1-1024x576.png 1024w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-result-1-300x169.png 300w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-result-1-768x432.png 768w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-result-1-1536x864.png 1536w, https:\/\/dgway.com\/blog_E\/wp-content\/uploads\/2022\/11\/Performance-result-1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Performance result<\/figcaption><\/figure>\n<\/div>\n\n\n<p>For more information about TOE100G-IP, please visit our website. <\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/dgway.com\/TOE-IP_X_E.html\" data-type=\"URL\" data-id=\"https:\/\/dgway.com\/TOE-IP_X_E.html\" target=\"_blank\">https:\/\/dgway.com\/TOE-IP_X_E.html<\/a><\/p>\n\n\n\n<p>For the detail of Silicom\u2019s PacketMover framework, please visit Silicom\u2019s website. <\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.silicom-usa.com\/pr\/server-adapters\/programmable-fpga-server-adapter\/fpga-xilinx-based-2\/fb2cgku15p-fpga-card\/\" data-type=\"URL\" data-id=\"https:\/\/www.silicom-usa.com\/pr\/server-adapters\/programmable-fpga-server-adapter\/fpga-xilinx-based-2\/fb2cgku15p-fpga-card\/\" target=\"_blank\">https:\/\/www.silicom-usa.com\/pr\/server-adapters\/programmable-fpga-server-adapter\/fpga-xilinx-based-2\/fb2cgku15p-fpga-card\/<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.silicom.dk\/product-details\/packetmover-fpga-acceleration\/\" data-type=\"URL\" data-id=\"https:\/\/www.silicom.dk\/product-details\/packetmover-fpga-acceleration\/\" target=\"_blank\">https:\/\/www.silicom.dk\/product-details\/packetmover-fpga-acceleration\/<\/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=\"TOE100G-IP with Silicom&#039;s PacketMover Performance Demo on fb2CG@KU15P Kintex UltraScale+ FPGA Card\" width=\"680\" height=\"383\" src=\"https:\/\/www.youtube.com\/embed\/pl3DkbOVgjk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Youtube channel : <a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/c\/Dgwayweb\" data-type=\"URL\" data-id=\"https:\/\/www.youtube.com\/c\/Dgwayweb\" target=\"_blank\">https:\/\/www.youtube.com\/c\/Dgwayweb<\/a><\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>We would like to show you the demo of TOE100G-IP on Silicom\u2019s PacketMover framework, running on Silicom\u2019s FPGA Card. TOE100G-IP on Silicom\u2019s PacketMover consists of 2 parts The demo systems is implemented on Host PC with Linux OS, Silicom\u2019s FPGA Card, fb2CG@KU15P, work as 100G Network Card together TOE100G-IP for fully offload TCP transmission for specific TCP connection. Target system&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":794,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-752","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-networking"],"_links":{"self":[{"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/posts\/752","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=752"}],"version-history":[{"count":16,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/posts\/752\/revisions"}],"predecessor-version":[{"id":1076,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/posts\/752\/revisions\/1076"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/media\/794"}],"wp:attachment":[{"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/media?parent=752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/categories?post=752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dgway.com\/blog_E\/wp-json\/wp\/v2\/tags?post=752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}