MacPRO Disk Performance - Pt1, VirtualMachines, and Other Important Virtualization Considerations.

 




DISK SPEED2.0 & PERFORMANCE - PT1


A. BACKGROUND - DISKS, CONTAINERS & VIRTUAL MACHINES

1) Before we get to discussing Disk Speed...

If you havent studied the virtualization craze you might or might not know a few facts which we are including here...and if you have skip to sections B+.

2) What is a Hypervisor

A Hypervisor takes a large physical computer with compute resources (system board, memory, cpu sockets, socket processors, and processor cores per processor) and divides these resources so that individual parts of their platform can be made available to sub-containers, or sub-machines which operate below the physical hardware. So for example if you have 100GB of RAM, you can offer sub-machines 10-25GB of RAM for their processes. 

Usually Hypervisors run as part of the Operating system, and take the remainder of the physical platform's hardware and makes that available to sub-resources. On a Mac Server, usually it can operate with 4GB of RAM, and a 50GB disk, any other resources can be assigned selectively to the Hypervisor or Containers which we will explain in just a minute.

Hypervisors then allow partitioned resources to run their own Operating system such as other versions of Windows, Unix, or Linux in any combination, and all together, and usually reference existing Network controllers on a server or workstation to the virtual machines by multiplexing traffic onto their fabric cards.

Common Hypervisors include OpenSource KVM, Windows HyperV,  Parallels, VMWare and Oracle VirtualBox among others.

3) Containers, Hypervisors whats the difference?

Unlike a Hypervisor a Container does not run its own Operating system, it simply is a Parent Process of the Core Operating System which runs inside a protected memory area. So a Container has its own resources, and can use them to run a sub-process which could be a Unix System, a Unix Process, or a Linux process in some combination. Usually containers mask the complexity of the Operating System, and the Physical Machine from the Software running inside of it. Container management systems usually become extensions to the core operating systems with patches or modifications to the Operating system kernel.

4) Advanced Hypervisor Functions 

Advanced Hypervisor functions reserve, and restrict parts of the physical hardware from the Host Operating system. For example if your machine has 4 NIC cards, and 4 Disk controllers, some fancy Hypervisors can actually reserve the entire NIC or Disk controller to the Hypervisor (one of the advantages of Hyper V). This can impact containers, and virtual machines running on the hypervisor.

5) Virtual Machines, Containers and Hypervisors read from a Virtual Disk

We can envision some circumstances where it isnt required, but most virtual machines, and containers run with a virtualdisk which is a portion of the hard-disk which is assigned to the component. As such when a VirtualMachine operates, the performance of the Virtual machine is something less than the Host Operating system usually (10-20% slower unless dedicated disk controllers are attached to the HyperVisor)... Effectively if your Host is slow...your virtual machines will be even slower?

6) Why Virtual Machines?

There are five primary business cases for Hypervisor services in our opinion:

1) For Developers to test operating systems and applications in their own sandbox which is well away from Tier.

2) For Lab Owners who want to be able to repurpose their platforms for lots of different vendors and solutions without buying new hardware.

3) For Online backup's of the complete platform.... If you ever tried to back up an entire Windows Server, and restore it... quite frankly its hard... due to the complexity of the registry model vs Apple's directory centric approach. On Windows if your registry doesnt work, neither does your computer... but with Virtual Machines... everything is stored together on the virtual disk, which looks to the host as if its just a really big file with a special extension (.qcow, .vhd, .vhdx, .hdd).

4) For Regional Diversity... Advanced Hypervisors like IBMs Z platforms, Microsoft Windows and VMWARE ESXi allow you to copy, and mirror Virtual machines across a network controller at nearly unlimited distance.

5) For Vendor Compliance... some vendors like Cisco Systems are moving all of their software releases to their own Virtual machines where they control everything on the disk. We call these systems Virtual Appliances and they are increasingly popular by vendors who want to make sure they always deliver a good product to their customers.

Caution....

Virtual Machines/Appliances usually dont perform as well as physical machines... and some vendors like Cisco have their own hardware appliances running their own software as well as they cant tolerate their company being associated with a non-working IT platform, as such vendors are now being very careful with how they come to market with their services.

B....SPEED

1) After Decades of Use of HPE Servers...we switched to MACPro's...for two simple reason... a wider set of choices of disks....which can be mounted inside a MacPro in less than two minutes without special mounting gear, versus HPE servers which usually require complex mounting brackets which take an experienced computer technician to manage. b) MacPro's are easier to acquire on the Grey Market from home users who effectively have bought server technology for their personal use simply because its usually much faster. Similar HPE platforms usually are stripped of parts, and are less useful on the grey market. c) The Caveat... well MacPro's are as much as 5x more expensive NEW than HPE's platforms so the financial tradeoffs can be quite complicated but usually even out in a longer period.

But MACPro's are usually built at least 10 years ahead of the marketplace with the latest technology including support for PCIe, and SATA3 platforms which were pretty well in advance of the general commercial marketplace by as much as a decade, meaning that MACPro's actually perform for closer to 20 years versus the usually 5-10 years allocated to other lines of platforms from HPE which have lower quality materials. Its a significant difference in quality, and a much different business case.

2) In General a disk cant perform any faster than your host controller, and writes and reads data from its information store related to the number of read cycles per second the disk itself supports (5200rpm, 7000+rpm's). Usually higher speed platforms have more revolutions per minute. So higher RPM disk drives are faster, but usually wear out much faster than the lower speed versions. Newer SSD drives have a different mechanism, which is beyond the scope of this blog.

3) Actual Results on a SATA2 controller on a Mac3,1(2009) platform running HyperV. In the figures below we are showing a very large 500GB copy of Virtual machines from one physical drive to another on the core operating system, and not the Hypervisor. As you can see this write varied from 2Mb/s to more than 70Mb/s on a controller which is rated for 300Mb/s or 1/3rd the rated performance. But here's the issue.... a sub container virtual machine which usually be even slower from 3Mb to 10Mbs, or 1/6th again the host computer's disk performance without dedicated disk controllers on a SATA2 disk....making that Virtual Machine good for only light work... and not the performance you would ask of public cloud platforms. (Amazon/Google). In later articles we can explore strategies to close the gap... but in general a Virtual Machine isnt anywhere close to as good as the host is itself... unless the Host Disk controller is significantly faster than the Host Operating system needs.




C. SUMMARY

Virtual Machines perform as much as 50% slower than their Host Operating System, unless the host is significantly faster than an average 1RU physical server, or disk controllers significantly faster. Remember all virtual operating systems are 100% related to their disk controllers, and availability of memory.... and if you move the Operating system to a RAM disk...you will run very fast or equivalent to the host, but your system will also be much less stable, and more reactive to system failures.

Comments

Popular posts from this blog

HOW TO INSTALL QUAGGA ON ORACLE LINUX 8 FROM SOURCE CODE