Yesterday Intel announced a new bit of software called Service Assurance Administrator, basically hardware QoS for VMs. It doesn’t break new ground in user facing function but it does change how things are done for the better.
At the most basic level, Service Assurance Administrator (SAA) is something VMMs have been doing for ages, guaranteeing performance for a VM. Since a type 1 VMM is hardware assisted software, it allows one to do QoS in a somewhat hardware enforced way but there is still a bit of coöperation needed from the software. This bit is mostly not visible to the average user but in some performance critical areas, it can cause serious headaches.
A lot of the performance headaches are caused by last level cache contention, pollution, and a bit of IO bottlenecking. The traditional problem of how many cycles does a task get is pretty well understood, but other things can cause knock on effects that lead to performance disparities. SAA attacks this at a lower level than the VMM, or at least puts more lower level hardware at the disposal of said VMM.
Simplistically speaking, SAA exposes a few pre-existing hardware counters to the VMM via an OpenStack plugin. It allows the KVM scheduler to measure performance at runtime and see, not just estimate what resources a VM is actually getting. If you are supposed to be getting 2 billion ops per second and get 1.8, SAA will know that from the lowest level hardware counters possible. Things that can potentially make the VMM hiccup will not, actually we should say should not, affect the counters for SAA systems.
With the SAA plugin for OpenStack, Intel is attacking the so called “noisy neighbor” problem. It can allow an admin to hard allocate performance minimum and more interestingly, performance maximums in a hardware defined fashion. Instead of a really good estimation, things are now about as close to exact as the hardware will allow.
For now SAA works on CPU resources to expose more resources to the VMM and more critically allows hard last level cache allocation per VM. If someone is paying for X performance this is really the only way to guarantee that it will get X, other VMs can’t step on their neighbors now, period. In the near future SAA will be extended to storage subsystems as well, this is a software update, not related to hardware changes.
This is a big change for SLA minded companies, QoS is now more granular and a quantifiable thing, not just a good faith effort. When storage is added to SAA, it will subsume more of the system in to that guarantee-able performance offering. When Sky Lake, I should say “the next architectural change”, comes around, SAA will allow you to put a VM in much more of a hard “box”. Most people will never notice or care, data center minions will be overjoyed. No more or most likely far fewer angry phone calls from customers asking why their app is randomly hiccuping in ways that no one can quantify or document. Bananas for all.
In the end SAA doesn’t do much that you can’t already do now, it just makes it more quantifiable and guarantee-able. It will open the door for more granular SLAs that a vendor can actually deliver, not just promise and hope for, and all this from a $200/server/year plugin. If Service Assurance Administrator does what it promises, and it should, the software will pay for itself in almost no time.S|A
Have you signed up for our newsletter yet?
Did you know that you can access all our past subscription-only articles with a simple Student Membership for 100 USD per year? If you want in-depth analysis and exclusive exclusives, we don’t make the news, we just report it so there is no guarantee when exclusives are added to the Professional level but that’s where you’ll find the deep dive analysis.