1 2 Previous Next

Wired Ethernet

23 Posts authored by: Patrick Kutch

Increase Your BMC Network Performance by Over 800%!

Your friendly neighborhood manageability nerd here announcing my latest whitepaper.

 

The NC-SI (Network Controller Sideband Interface) is a connection between a Network Controller and a BMC.  This DMTF defined interface is designed to provide 100Mbps full duplex connectivity to a BMC.

 

Over a year ago I began researching why I was having customers were complaining to me that the NC-SI performance under some circumstances was horrible, in most reports only a few megabits per second.

 

After literally hundreds of tests and countless hours of research and tweaking of different things, I began to understand what the problem was and how to go about providing a solution.
nc-si perf.pngFigure 1 Network Performance Streaming to BMC

 

What I found was that the NC-SI interface worked exactly as it was supposed to, however the BMC itself needs to take into account that it is using NC-SI and that NC-SI does not have as much buffer space as the BMC itself has.

 

I tested with not only Intel Network Controllers, but also another well-known manufacturer of Network Controllers.  The results were pretty much identical, very poor performance until I modified the BMC to be a bit more intelligent.


Making changes detailed in the whitepaper, average performance when streaming data to the BMC went from less than 8Mbps to nearly 65Mbps.  The performance would be even better, however a BMC is not a super-powerful processor and it can’t yet handle 100MBps data rates.

All my research, conclusions and actual sample data is included within the whitepaper.   I also provided an overview of what NC-SI is for the uninitiated.

 

I hope you find it of use.  If you do please comment so we know if folks actually read these docs .

The paper is available here:  https://www-ssl.intel.com/content/www/us/en/ethernet-controllers/nc-si-overview-and-performance-notes.html

I work extensively with BMC’s, to be more precise those that design and write the firmware that runs on BMC’s.    This runs the range from initial code to make sure all the various interfaces (such as NC-SI or SMBus) are working properly to discussing advanced platform manageability features.

 

A few years ago I whipped up a little utility to exercise the BMC’s Ethernet interface.   This simple utility sends some basic IPMI/RMCP commands to an IP address, waits for a response and sends another command once a response is received.  It does so repeatedly, as a little stress test for the sideband interface to the BMC.  It has proved useful over the years for those beginning implementation on BMC’s.

 

I recently updated this utility as part of some work I’ve been doing for a paper I’m finishing up on NC-SI performance (will post soon on that one).   The utility and its brute-force code and Microsoft Windows binary is available up on sourceforge: http://sourceforge.net/projects/ipmiping

 

It’s pretty simple; give it an IP address and optional options for what kind of packet you want to send to the BMC.

 

One of the updates I recently made was to display the network bandwidth being used.  What I discovered was that the standard request/response pattern used in IPMI, uses a maximum of about 0.6Mbps even at full speed. 

 

Anyhow – just in case somebody was interested, I thought I’d post a message letting folks know that this simple utility exists and I hope it is found to be of use.

 

Thanx,

 

Patrick

It has been nearly 3 years since I wrote my first blog, and it was on setting up SR-IOV in Red Hat
Xen (for reference, that blog is here).

   

It has been a longand interesting road for SR-IOV since then, I’ve written several documents and
made a few videos on the topic, available here).

   

One of the lastmajor virtualization Operating Systems has now added support for SR-IOV, VMware
now provides the capability to utilize SR-IOV.

   

My talented co-workers have written a very nice step-by-step guide (with lots and lots
of pictures).  This very nice paper is located here.

 

We hope you enjoy the latest addition to our growing collection of documents for virtualization
technologies available within Intel® Ethernet Devices.

 

Enjoy!

   

- Patrick

Now that I’m finding time to focus on my passion – manageability, I’ve been able to spend some time working on some documents.  This is the announcement for my most recent whitepaper.

 

This paper discusses the problem that occurs when a server power action (on/off/reset) occurs and the Ethernet link is momentarily lost when the network port is being used by the BMC/MC.  Losing the link is a normal part of this process, it usually goes down once or twice during the power up sequence, once when the platform is initialized and again when the software driver loads and initializes the network device.  This loss of link usually lasts much less than a second each time.

 

During normal operations a momentary loss of link causes no issues.  However if you have the Spanning Tree Protocol (STP) deployed in your network, even a momentary loss of physical link can cause a loss of network connectivity to the BMC for over a minute.

 

This can present some pesky problems if say for example you rebooted your server so you can go do some BIOS configuration using KVM or Serial over LAN (SoL); if the connection is out for a minute or more, it is very difficult to press the keys to get into BIOS setup from your remote management console.

 

Intel® Ethernet devices have a feature called ‘Critical Session’ which the BMC can configure, which will keep the link up during these transitions, thus maintaining any active connections to the BMC.

 

To learn how to use this feature, I invite you to read the whitepaper:

https://www-ssl.intel.com/content/dam/www/public/us/en/documents/guides/maintaining-the-ethernet-link-to-the-BMC.pdf

 

enjoy!

 

-        Patrick

OK, maybe not ALL you ever wanted to know, but all we've shared with you up until now, all in one place!

 

It has been nearly 2½ years since I posted my first ever Blog, it was about

Setting up Red Hat 5.4 Xen* for SR-IOV using the Intel® 82576 GbE.  Since that time I’ve managed to post a blog now and then, usually pointing you to a new paper or video I’ve published.

 

The very smart fellow who is now responsible for the Intel Ethernet Virtualization technology has continued to write great documents on how to configure things such as SR-IOV in different environments.

 

So we have managed to accumulate a fairly nice list of documents and videos that talk about SR-IOV and one usage of it, Flexible Port Partitioning.

 

To make it easier for you, I’ve decided to compile a list of all these documents, videos and blogs in one place as a nice reference.  So without any more fanfare from me, here are the various docs that we have written:

 

SR-IOV Background, Introduction

·       SR-IOV Primer [Document]

o   http://www.intel.com/content/www/us/en/pci-express/pci-sig-sr-iov-primer-sr-iov-technology-paper.html

·       SR-IOV Explanation [Video]

o   http://www.youtube.com/watch?v=hRHsk8Nycdg

 

SR-IOV Configuration

·       Setting up Red Hat 5.4 Xen for SR-IOV using the Intel 82576 GbE [Blog]

o   http://communities.intel.com/community/wired/blog/2010/03/01/setting-up-red-hat-54-xen-for-sr-iov-using-the-intel-82576-gbe

 

·       Using Intel® Ethernet and the PCISIG* Single Root I/O Virtualization(SR-IOV) and Sharing Specification on Red Hat* Enterprise Linux* Technical Brief [Document]

o   http://www.intel.com/content/www/us/en/network-adapters/10-gigabit-network-adapters/ethernet-x520-sr-iov-red-hat-tech-brief.html

·       How to Configure Intel® X520 Ethernet Server Adapter Based Virtual Functions on SuSE*Enterprise Linux Server* using Xen* [Document]

o   http://www.intel.com/content/www/us/en/network-adapters/10-gigabit-network-adapters/ethernet-x520-suse-linux-xen-tech-brief.html

 

 

Intel Flexible Port Partitioning

·       Intel Flexible Port Partitioning using SR-IOV Demonstration

o   http://www.youtube.com/watch?v=bOMB9RsQfo4 [Video]

 

·       An Introduction to Intel Flexible Port Partitioning Using SR-IOV Technology Technical Brief [Document]

o   http://www.intel.com/content/www/us/en/network-adapters/10-gigabit-network-adapters/10-gbe-ethernet-flexible-port-partitioning-brief.html

 

·       Configure QoS with Intel® Flexible Port Partitioning [Document]

o   http://www.intel.com/content/www/us/en/network-adapters/10-gigabit-network-adapters/config-qos-with-flexible-port-partitioning.html

Come and get the latest FPP Whitepaper: Configuring QoS Features with Intel* Flexible Port Partitioning 

 

I went back to see when I published the previous blog on Intel Flexible Port Partitioning (FPP).   It was way back in September!  A lot has happened in this part-time bloggers life since then, including moving on to do things other than virtualization and a trip to Antarctica! 

 

  1. Yes, it’s true, my brother and I went to the bottom of the world; it was a great experience despite the Drake PassageI even have proof, here’s a funny little fellow I took a picture of:

PENG.png

 

It took me a while to get caught up after my month long adventure with penguins, whales, seals and other interesting critters.  I was able to finally finish up the 2nd FPP whitepaper I promised so many months ago – sorry for the delay.

 

This paper entitled Configuring QoS Features with Intel Flexible Port Partitioning  details how to setup various teaming modes, VLANs and rate limiting when using SR-IOV Virtual Functions in your base Operating System or from within a Virtual Machine.

 

I enjoyed writing this paper and I hope that some of you find it of use as you explore using Flexible Port Partitioning using SR-IOV.

 

By way of reminder, I’ve many other blogs regarding SR-IOV, as well as a video explaining the SR-IOV technology and a video showing FPP in action.

SR-IOV is not just for virtualization anymore!

 

In my blog posting last week, I pointed you to a video  I made discussing and demonstrating Intel Flexible Port Partitioning (FPP).  If you haven’t watched the video yet, I think it is worth a view (though I am admittedly biased ).

 

 

FPP is a new way to look at using SR-IOV to partition up a single, discrete Intel Ethernet connection into multiple Ethernet devices within an open source Operating System.   The quickest and easiest way to understand what I’m talking about is to watch the video.

 

We have also finished and published a whitepaper that discusses FPP in more details.  It discussed what it is, how it works and how it is useful for both Intel 10 Gigabit 1 Gigabit controllers.

 

The whitepaper: An Introduction to Intel Flexible Port Partitioning Using SR-IOV Technology Technical Brief is intended to be the 1st part of a 2 part series.  We are already working in the 2nd part, which will detail the usage of the different tools used to configure FPP and some additional usage models of FPP.

 

 

 

Not sure what SR-IOV is?  Click on the link to see a video explanation.  I also have the PCI-SIG SR-IOV Primer you might want to check out.

 

 

We hope you find the paper of use.  Enjoy!

So, were you one of the ones that were able to visit me at booth #905 at the Intel Developer Forum in San Francisco last week and watch the Intel Flexible Port Partitioning demonstration?  Well, if you weren’t, or if you are looking to see the demonstration again, it’s your lucky day!

 

Intel Flexible Port Partitioning (FPP) is the ability to use SR-IOV Virtual Functions, which have up until now been thought of as a strictly virtualization technology, and use them in a bare-metal (or mixed) Open Source OS.  This provides a way to very flexibly and efficiently carve up your Ethernet ports.

 

I was so taken aback with the overwhelmingly positive response to the demonstration and the two chalk talks, as well as the standard session Brian Johnson and I presented last week, that when I came home from San Francisco, I combined our session material with the demonstration and produced a “from-the-hip” video explaining the technology and showing a demonstration.

 

I have a 15 minute cap in my YouTube account; the video is 14 minutes and 59 seconds.  Hope you will excuse the occasional ‘uhm’

 

I hope you find the demo as interesting as the folks that visited me in the booth did.  Here is a sample of some of the comments I received:

  • Wow – you guys are killing everybody else!  Nobody else is doing this kind of thing!”

  • “Hey – I saw some cool video a while back with little Ethernet packets and guys moving all over the screen that explained SR-IOV very very well – do you know where I can find that?” – was referring to my YouTube video

 

  • “Holy cow, that’s cool!  I’ve got to hook you guys up with our Ethernet architect so we can get even more support for that!”

  • “Oh my gosh!  That is exactly what we need!  You just made my day and will make my architects very ,very happy”

 

  • “Very nice demo, on a great OS.  Really shows the power of FPP; we need to get a joint paper out.”

  • “Wow, that is pretty slick – I’m going to have to go talk to some folks when I get back to the office.”

 

The whitepaper I promised is in the final stages as well and should be published within the next couple of weeks–so keep checking back here for the announcement.

 

Not sure what SR-IOV is?  Click on the link to see a video explanation.  I also have the PCI-SIG SR-IOV Primer you might want to check out.

 

Enjoy,

 

- Patrick

 

My time as the virtualization guy in the Intel LAN group has all but ended.  My last major task will be over in just one more week.  I will be co-teaching a course at IDF in San Francisco next Thursday (September 15th)  entitled Using Industry Standards to Get the Most Out of 10 Gigabit Ethernet in Linux* Virtualization and Cloud Environments.

 

 

The bulk of this session will detail new usage models for SR-IOV, including solutions for migration of VM’s using SR-IOV.  I will also be discussing Flexible Port Partitioning, which is where we use SR-IOV Virtual Functions in the standard Linux kernel to provide a highly flexible mechanism to carve up your Ethernet connection.

 

 

My partner in crime (Brian Johnson) and I gave a version of this presentation at IDF in Beijing earlier in the year, it was very well received.  We have been working very hard to improve it since then – so we are hoping it is even better and even easier to follow.

 

So if you are going to be at IDF, please join us.

 

 

We will also be doing a live demonstration of Flexible Port Partitioning in the Intel Booth - #903 in the Data Center Zone.  I will be in the booth most of the time to answer questions.

It has been a year and a half since I posted my blog on how to configure SR-IOV on Red Hat 5.4 Xen for the Intel® 82576 GbE Controller.  A lot has changed since then – we now have four Ethernet Controllers that support SR-IOV:

 

1Gb Ethernet – 8 VFs per Port

  • Intel® 82576EB Gigabit Ethernet Controllers
  • Intel® Ethernet Controller I350

10Gb Ethernet – 64 VFs per Port

  • Intel® 82599 10 Gigabit Ethernet Controllers
  • Intel® Ethernet Controller 10Gb  X540

 

Another change is that I am no longer the TME (Technical Marketing Engineer) for Intel Ethernet Virtualization (though I am still helping out with the blogs).  The new TME, Waseem, has just published a very good technical brief that details how to make use of SR-IOV using Linux KVM, which is an integral part of Red Hat Enterprise Linux version 6 and 6.1, it is available here.

 

There are lots of great pictures and explanations, so go give it a read today!  Again the doc is located at:

http://www.intel.com/content/dam/doc/technology-brief/ethernet-SR-IOV-tech-brief.pdf

 

I will be manning a booth at the Red Hat Summit next week in Boston.  In this booth, I will be doing a live demonstration of  Intel® SR-IOV in a Linux* OS to effectively and efficiently utilize a 10Gb Ethernet connection for kernel processes such as iSCSI, Backup, NFS, etc., while also providing direct access to the Intel® 10Gb Ethernet device from a Virtual Machine.

 

I will further be discussing how using an Intel SR-IOV capable Ethernet device gives you instant QoS by the inherent nature of our round-robin scheduling.  Then I’ll be showing you how our controller and drivers allow you to enforce even more QoS by applying transmit rate limiting to individual SR-IOV Virtual Functions.

 

So come around and find me in Booth #412.  I’ll be the terribly handsome guy talking all about SR-IOV features being used in both a virtualized and non-virtualized environment.  And I do mean terribly handsome.  My esteemed co-worker, Greg, will also be there with me answering questions. Greg is the primary author of the Open Source SR-IOV drivers for the Intel® Ethernet controllers.

 

Not sure what and SR-IOV is?  Click on the link to see a video explanation.  I also have the PCI-SIG SR-IOV Primer you might want to check out.

 

I will soon have some whitepapers and additional blogs on this topic.  So stay tuned!

 

Updated SR-IOV Primer now Available

 

I began as the TME (Technical Marketing Engineer) for the Intel® Ethernet Virtualization Technologies late in 2007.  Spent the first months trying to learn what the technologies --Virtual Machine Device Queues (VMDq) and Single Root I/O Virtualization (SR-IOV) -- were and how they worked.  I find the best way to learn something is to teach it, and one way TMEs ‘teach’ is to write white papers.  I wrote a paper or two on VMDq which was the ‘hot’ topic at the time.

 

In mid 2008, I began writing a document designed to give a mid-level overview of what SR-IOV is, why it was created and how it works.  In December of 2008 I published the PCI-SIG* SR-IOV Primer paper.  I learned a lot while writing it.

 

Since then, this document seems to have become popular. If you search on Google* for “SR-IOV,” it will come up as the 1st in the list. (#4 on Bing* and Yahoo*, and #1 on ASK*).  Does this mean that millions of people are reading it?  I don’t know – all I know is it is review time around here at Intel and it seemed like a good idea to mention it. J

 

So back to seriousness – the document has become a bit dated, and my understanding of the technology has improved as Intel continues to add more support in our Ethernet controllers and I continue to speak with folks much brighter than I am.  So I have updated the Primer doc for your reading pleasure.  The core content is the same, filled out a few sections more fully, added some new content and made many new pretty pictures.

 

The doc is here, enjoy!

Steve Worley of the System x Performance and Analysis Benchmarking group at IBM just released a paper that we here at the Intel Ethernet Virtualization team are pretty excited about.

 

This paper, entitled Effect of SR-IOV Support in Red Hat KVM on Network Performance in Virtualized Environments discusses how Steve used the SPECvirt_sc2010 benchmark to test performance when using SR-IOV and when not using SR-IOV.

 

They ran a variety of workloads; here is a quote from the document detailing the workloads:

 

The benchmark uses several workloads representing applications that are commonly consolidated into a virtualized environment. Scaling is achieved by running additional sets of virtual machines, called “tiles,” until overall throughput reaches a peak. Each tile consists of six different virtual machines:

• Infraserver – Serves file downloads directory for web workload, runs web backend simulator

• Webserver – Runs Web workload

• Mailserver – Runs Internet Message Access Protocol (IMAP) workload

• Appserver – Runs application server workload

• Dbserver – Runs database as backend to application server workload

• Idleserver – Runs a poll workload

Because each tile represents six VMs, a system running 10 tiles would consist of 60 VMs.

The article itself does not indicate which SR-IOV Ethernet controller is used for the test, however the detailed configuration document that it links to does.  The Intel® 82576 Gigabit Ethernet Controller was used for these tests.

 

Results

The results of the tests are very interesting.  It shows that SR-IOV definitely reduces CPU overhead and that by doing so, it can increase QoS due to the fact that the CPU utilization is reduced.

 

The following chart is a graphical representation of the data published within the paper by IBM:

IBM KVM Results.png

SR-IOV Data Results

Note that there is no data for 13 Tiles in non-SR-IOV mode – this is because the CPU utilization was so high that the test run could not be completed.  The details of each of the tests can be found here.

 

So What Does This Mean

Good question.  It does not mean that the SR-IOV enabled network path is a replacement for the Emulated path for all workloads.  In fact, if you dig into the details of the test, IBM seems to have picked and chosen specific workloads to use SR-IOV while leaving the others on the Emulated path.

          

The current ecosystem for SR-IOV today has its limitations – one of the major ones is that live migration is not currently supported (though we are working with the industry on this right now).  For this reason alone, SR-IOV may not be suitable for all virtualized workloads.

 

However, as these test results show, there are definitely some cases for some customers where the performance benefits gained by using SR-IOV outweigh the current limitation associated with it.

 

For more information, I suggest you carefully read the document by Steve Worley entitled Effect of SR-IOV Support in Red Hat KVM on Network Performance in Virtualized Environments, and take a close look at the SPECvirt_sc2010 Result information.

 

BTW… If you take a look at the other test results posted on the SPECvirt_sc2010 site, all of the systems are using Intel® Ethernet Controllers for their primary benchmark network;

  • Intel® Ethernet Server Adapter X520 10GbE dual-port with SR-IOV support
  • HP* NC365T 4-port Server Ethernet Adapter that uses Intel® Ethernet 82580 Controller.
  • Intel® Gigabit ET Adapter that uses the Intel® Ethernet 82576 Controllers with SR-IOV.

http://www.spec.org/virt_sc2010/results/specvirt_sc2010_perf.html

Curious about what SR-IOV is, and how it works?  We have a blog on that!

My partner-in-crime, Brian Johnson, and I have just finished a new White Paper detailing some best practices when using 10 Gigabit Ethernet with VMware* ESX/ESXi.  This is the 3rd paper in a series that began with Brian’s well-received and many times re-branded paper entitled Simplify VMware vSphere* 4 Networking with Intel® Ethernet 10 Gigabit Server Adapters that I blogged about here in July.  This paper detailed some best practices regarding how to improve efficiency and simplicity by moving to two 10 Gigabit Ethernet connections on a virtualized server rather than multiple 1 Gigabit ports.

 

 

We continued the series with another White Paper entitled Virtual Switches Demand Rethinking Connectivity for Servers, which discusses how the virtual switch within VMM can now be thought of as having uplinks from your Virtualized Server in a VM to the virtual switch, which in turn has physical uplinks to the top-of-rack switch; this paper is located here.

 

 

This latest paper modifies some of the best practices discussed in the 1st paper to utilize some of the new Quality of Service capabilities in the Virtual Distributed Switch in VMware vSphere 4.1.   We discuss how and why those practices have been updated and provide some additional best practices that can be applied to a virtualized environment.

 

 

We hope you find the latest paper useful and encourage feedback.  The white paper is located here.

 

From time to time I get questions about which Intel® Ethernet controllers support iSCSI Boot for VMware* ESX. In the not-too-distant-past this was a very easy question to answer because, while there are a number of Intel® Ethernet devices that support iSCSI Boot, VMware did not have support for iSCSI Boot until VMware ESX 4.1, making it a simple answer.

 

 

However as of ESX 4.1, VMware does support iSCSI Boot on a growing number of Intel® Ethernet controllers and it was becoming more and more difficult for me to simply rattle off the Intel® Ethernet controllers that supported iSCSI Boot.  So I went up to VMware’s HCL page here and did a search for “Intel iSCSI Boot” under the “IO Devices” tab.  The result of which was a big goose-egg – no controllers found.

 

 

After some research, I found out that VMware does not refer to this technology the way we at Intel do.  We call it iSCSI Boot, the VMware HCL refers to it as IBFT (iSCSI Boot Firmware Table).

 

 

So, a refined search came up with a much better result.  Over 80 Intel® Ethernet devices show up that support iSCSI Boot (IBFT).

 

 

So if you want to know what Intel® Ethernet Controllers support iSCSI Boot for VMware ESX, simply click here to see the comprehensive list.

 

 

 

Filter Blog

By author: By date:
By tag: