{"id":6485,"date":"2021-03-25T07:34:49","date_gmt":"2021-03-25T05:34:49","guid":{"rendered":"https:\/\/tekmart.co.za\/t-blog\/?p=6485"},"modified":"2021-03-25T07:38:25","modified_gmt":"2021-03-25T05:38:25","slug":"assessing-performance-bottlenecks-in-virtualized-networking","status":"publish","type":"post","link":"https:\/\/tekmart.co.za\/t-blog\/assessing-performance-bottlenecks-in-virtualized-networking\/","title":{"rendered":"Assessing performance bottlenecks in virtualized networking"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time-approximately:<\/span> <span class=\"rt-time\"> 2<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<h2 class=\"wp-block-heading\"><strong>Virtual or soft switches can add measurable overhead to network-intensive workloads, but implementing PCI devices offers one option to reduce excess overhead.<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.ttgtmedia.com\/rms\/onlineImages\/kemp_glen.jpg\" alt=\"Glen Kemp\"\/><\/figure>\n\n\n\n<p>By <a href=\"https:\/\/www.techtarget.com\/contributor\/Glen-Kemp\">Glen Kemp<\/a><\/p>\n\n\n\n<p>Spectre and Meltdown illuminated networking vulnerabilities that are still being assessed, but it&#8217;s obvious the attacks affected network capacity planning. While administrators hunt for ways to mitigate the effect of these attacks, one specification &#8212;&nbsp;single-root I\/O virtualization, or SR-IOV &#8212; may be worth considering.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>SR-IOV is a peripheral component interconnect (PCI) standard that has important performance implications for virtualized networking. However, before we get too deep into why this is the case, it is worth understanding the problem SR-IOV addresses.<\/p><\/blockquote><\/figure>\n\n\n\n<p>Virtualized networking abstracts software from hardware. Taking into account a few assumptions over the&nbsp;host, virtualized applications &#8212; or containers, for that matter &#8212; should behave identically on desktop-class hardware, a platform-as-a-service provider or anything in between. This enables&nbsp;application vendors&nbsp;to standardize on a handful of operating-system images. The drawback is&nbsp;hypervisor functions&nbsp;and other applications generate a measurable overhead, compared with the same workloads running on bare-metal hardware.<\/p>\n\n\n\n<p>For most workloads, most of the time, this is not a problem. However, there are bottlenecks unique to public and private clouds that do not really crop up in bare-metal deployments. One example is how the host figures out which&nbsp;guest&nbsp;to send a packet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Whenever a physical host receives an Ethernet&nbsp;frame, it passes the data across the PCI bus to the host CPU. In a virtualized networking environment, the CPU emulates an Ethernet switch to direct the frame to the appropriate guest. This soft switch literally interrupts a CPU core from doing useful work, such as servicing a guest.<\/p><\/blockquote>\n\n\n\n<p>The relative effect of using the CPU to make a forwarding decision differs according to the workload. A database transaction may require a bunch of disk&nbsp;I\/O&nbsp;and spawn a number of worker threads. As a result, the CPU cycles lost to software switching will form a relatively small part of the overall transaction time.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1025\" height=\"960\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/cpu-and-software-switches-image.png\" alt=\"\" class=\"wp-image-6486\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/cpu-and-software-switches-image.png 1025w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/cpu-and-software-switches-image-300x281.png 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/cpu-and-software-switches-image-768x719.png 768w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/cpu-and-software-switches-image-800x749.png 800w\" sizes=\"(max-width: 1025px) 100vw, 1025px\" \/><\/figure>\n\n\n\n<p><em><strong>In the above diagram, an Ethernet frame with a media access control address associated with the PCI network card will be initially processed by the software switch running on CPU 0, which will then forward the frame associated with MAC address of the guest&#8217;s virtual network interface controller (NIC).<\/strong><\/em><\/p>\n\n\n\n<p>Network functions &#8212; such as&nbsp;firewall filtering, content inspection and&nbsp;load balancing&nbsp;&#8212; are particularly network I\/O-intensive. In a virtualized networking environment, they may be at a particular disadvantage. These workloads can be summarized as, &#8220;Perform this RegEx and put the packet back on the wire,&#8221; or, &#8220;Rewrite these fields in each packet.&#8221;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>The performance for these transactions is much more dependent on the CPU; only a handful of cycles may be required to accept, process and forward each frame. Furthermore, this type of transaction is less dependent on disk I\/O. As a result, interrupting a CPU core to perform a basic switch function has a greater effect on the total transaction time.<\/p><\/blockquote>\n\n\n\n<p>One solution to&nbsp;resolve the issue&nbsp;of required network capacity is to use DirectPath I\/O &#8212; attaching a physical NIC directly to an individual guest over the PCI bus. This is fine for a lab environment and some specialized cases; it is not particularly scalable or efficient. Installing dozens of physical network interfaces into each host negates a significant advantage of virtualization, which is an infrastructure that requires less cabling and fewer switches.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1025\" height=\"960\" src=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/performance-vs-scalability-image.png\" alt=\"\" class=\"wp-image-6487\" srcset=\"https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/performance-vs-scalability-image.png 1025w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/performance-vs-scalability-image-300x281.png 300w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/performance-vs-scalability-image-768x719.png 768w, https:\/\/tekmart.co.za\/t-blog\/wp-content\/uploads\/2021\/03\/performance-vs-scalability-image-800x749.png 800w\" sizes=\"(max-width: 1025px) 100vw, 1025px\" \/><\/figure>\n\n\n\n<p><em><strong>In the above example, the NIC with PCI ID 05:00.0 is associated with the hypervisor and is available to all hosts attached to the software switch. However, the NIC with PCI 05:01:0 is only associated with the Guest_2. This is good for performance, but is not scalable.<\/strong><\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/go.techtarget.com\/clicktrack-r\/activity\/activity.gif?activityTypeId=16&amp;t=313264&amp;t2=313214&amp;t3=303446&amp;t4=303447&amp;t5=299281&amp;a=2021-03-25%2001:24:54&amp;g=252445580&amp;c=normal&amp;r=279044\" alt=\"\"\/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time-approximately:<\/span> <span class=\"rt-time\"> 2<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Virtual or soft switches can add measurable overhead to network-intensive workloads, but implementing PCI devices offers one option to reduce excess overhead. By Glen Kemp Spectre and Meltdown illuminated networking vulnerabilities that are still being assessed, but it&#8217;s obvious the attacks affected network capacity planning. While administrators hunt for ways to mitigate the effect of these attacks, one specification &#8212;&nbsp;single-root<\/p>\n<p><a class=\"more-link\" href=\"https:\/\/tekmart.co.za\/t-blog\/assessing-performance-bottlenecks-in-virtualized-networking\/\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106,4,30,3,228,52,105],"tags":[],"class_list":["post-6485","post","type-post","status-publish","format-standard","hentry","category-creating-and-upgrading-vmware-servers-and-vms","category-datacenter-news","category-expert-advise-and-opinion","category-industry-news-and-expert-advise","category-network-virtualization","category-vmware-esx-and-esxi-administration","category-vmware-products"],"_links":{"self":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/6485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/comments?post=6485"}],"version-history":[{"count":2,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/6485\/revisions"}],"predecessor-version":[{"id":6489,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/posts\/6485\/revisions\/6489"}],"wp:attachment":[{"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/media?parent=6485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/categories?post=6485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tekmart.co.za\/t-blog\/wp-json\/wp\/v2\/tags?post=6485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}