New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance Discrepancies On Similar Hardware #2988
Comments
@geoffreymoyerweatherford I see that E3940 has VT-d while E3845 does not support VT-d, which explains why the latter needs to use paravirtualized device drivers. That might make some difference in I/O performance, but I don't know how I/O intensive your application is. I don't understand why you did: That will make less CPU cores available to the guest VMs, since you are assigning more cores to the EVE orchestration services. Was there an issue which make you change the default of 1? |
Thank you for the response @eriknordmark Some Rationale:
There was an issue on the E3940 when we allocated 2 vCPUs via the EVE API and used the default values of 1 in the grub.cfg, the Windows OS never properly booted. It would halt in its initial load and freeze on the "spinning wheel". When we allocated 1 vCPUs via the EVE API and used the default values of 1 in the grub.cfg, the Windows OS did boot. However, we ideally need more cores for this VM. We were able to allocate 2 vCPUs when we bumped the default values from 1 to 4 in the grub.cfg but performance suffered significantly in the VM. Thats makes more sense now with your description above regarding EVE services. using more cycles. We did not see the same issue when performing this same test on the E3845 using the same constraints. We were able to allocate 2 vCPUs via the EVE API and use the default values of 1 in the grub.cfg. Are you aware of a way to disable the VT-d capabilities on the E3940 processor (without BIOS disabling it)? This option is not available in our BIOS version. Thanks Again. |
With Xen the output from Linux running in dom0 only refers to the resources (in this case CPUs) allocated to dom0.
No, they are not. The application instances you deploy on EVE-OS are always deployed on the hypervisor, whether the application instances are VM images or OCI containers. The use of containered inside EVE-OS is an implementation detail (we use linuxkit as a way to build and run the different components inside EVE-OS).
Is there a particular reason you are using Xen and not KVM? I think KVM is what is commonly used today. My understanding is that if you use Xen without VT-d you'll need to have the paravirtualized device drivers in your Windows image; I don't think they are present by default. (And it is possible that the pv drivers are not needed with KVM on the same hardware since the Qemu setup is different.)
That is very odd since I'd expect the absence of VT-d being more problematic; perhaps Xen+qemu does emulation on the fly?
I haven't seen any BIOS where one can enable/disable VT-d; some older BIOS required enabling VT-x since it wasn't enabled by default. |
Is there a particular reason you are using Xen and not KVM? I think KVM is what is commonly used today. We are using Xen since it was the only hypervisor that booted Windows for us. When tried using KVM (and ACRN) we saw the Windows VM enter a repair loop then entered the Advanced Settings/Recovery Wizard. It would never get beyond either of these states. I was also able to notice the BSOD message SYSTEM_THREAD_EXCEPTION_NOT_HANDLED. |
Currently comparing 2 similar hardware platforms both containing same software builds. Results from this comparison have yielded significantly different performance results. According to the lscpu dump, eve's dom0 on the E3845 is running as a "para" and eve's dom0 on the E3940 is "full". Additionally, we a running a Windows 10 VM as a guest and noticed the more vCPUs allocated on the E3940, the lower the performance. 2 allocated vCPUs render the Windows 10 VM unusable. The performance on the E3845 has remained consistent, which leads me to believe this issue has to do with Xen being in a "para" versus "full" state.
Does anyone know how/when/where the Virtualization Type is set?
Is there a way to manually set the Virtualization Type?
Any other suggestions based on this issue?
Models and Versions:
Architecture: AMD64
Processor: Intel Atom E3845 and Intel Atom 3940
EVE Version: 8.11.0
Linux Kernel: 5.10.121 with SMP
Hypervisor: Xen
Xen Version: 4.15
Other Notes:
Thank You
The text was updated successfully, but these errors were encountered: