z86VM update.
It’s been a year since our last public blog post. We’d like to provide you all with an update. Net – we found code problems, dramatically improved performance, have terrific beta customers and have more work to do to get Beta 4 out.
With Beta 3, we learned that this was really an Alpha level of code. While it was interesting for simple demo’s of the desktop and server side, it had a latent issue that turned out to be massive under the covers. We could do some interesting “party tricks” like run games on the desktop and some simple web serving. It really couldn’t be used to solve any customer problems. We discovered that we hadn’t adequately tested nor properly developed a large component of the x86 architecture. This affected close to 900 instructions. It was back to the drawing boards for us. During the first quarter of 2015, we completed that development effort and started testing to the point we felt pretty comfortable about our code again. On the positive side, we did learn that deployment and customization of both z/VM and z86VM weren’t that difficult and a system could be running in less than a day.
In parallel to this, we’ve been working on our performance paths so that we can get as near native to x86 hardware performance and support as many users per core as possible. We got an opportunity to stress test our code on IBM’s new z13 server, with and without the new multi threaded cores. The results were pretty amazing. We found the z13 to provide results that were 15x faster than our little z114, based on raw chip speed. We’ve done multiple tests in that environment and improved performance a couple of times since then. We are quite proud of the results. We think our guest to core ratio can be very competitive with x86 price performance. Since we aren’t done improving the code, we’ll describe that more at a later date when we are ready to actually sell our product.
We continue to be amazed at IBM’s z/VM hypervisor and it’s capability to support 1000’s of virtual guests. Just for fun, we did a benchmark with 1000 guests per core over 4 and 8 cores. That is probably several orders of magnitude beyond what an x86 server could do. Alas, it was just for amusement and not for production. While the system didn’t fail (very impressive), the end user performance was terrible. So as we go forward toward a sellable product, we’ll provide guidance as to a proper guest to core ratio based on a couple of different workload mixes.
We believe the next beta should actually deliver code that can solve problems for customers, so we get a true value for the customer and our own development experience. With that goal, we attempted to install the latest Ubuntu release that would enable commercial off the shelf middleware to be installed on top of it. We found another series of instruction bugs. When it comes to instruction addressing, there is a base register and code will run as a displacement off of that base. It seems we did all kinds of testing for positive displacements and totally missed negative displacements. So back to coding the fixes for that. That’s where we are today.
The important thing is, we continue to learn and improve our code. Our test suite covers many millions of variations across the x86 instruction set. We run those on x86 and compare the results on z86VM on System z. When we find differences, we diagnose and fix. The bugs we find highlight errors in our code and in our test coverage. We’ve been methodically updating the code and test suite, as a result.
Let me extend a gracious thank you to our current beta customers. There are presently 17 of them across 4 continents and a variety of industries. We’ve got another 25 interested parties that are either waiting for a hardware upgrade or our next beta delivery. We appreciate your interest and are committed to making a positive difference in your choice of IT deployment.
We’ve also established some new ISV partnerships that we hope can deliver value to you. While we’ve been focused on server consolidation and virtual desktop infrastructure, we are exploring some virtual mobile capabilities for Android applications. There seems to be no end to the possibilities as to the problems we should collectively be able to solve.
It’s been a long time bringing this dream of ours to reality. It’s taken a lot of energy and patience on our part to get this far. We feel very close to delivering on the next beta, but we are cognizant and appreciative of your time and energy too. We don’t want to waste either by delivering something we know won’t help you solve problems of your own. The best statement of our product goal is: Help businesses dramatically reduce IT expenses while improving the security and resilience of their workloads.
Stay tuned!