H2 Performance Testing: CPU, Thermals, Watts, PXE Boot, Etc.

Post Reply
NigelM
Posts: 5
Joined: Wed Jun 26, 2019 4:38 am
languages_spoken: english
Has thanked: 9 times
Been thanked: 5 times
Contact:

H2 Performance Testing: CPU, Thermals, Watts, PXE Boot, Etc.

Unread post by NigelM » Wed Jul 17, 2019 11:56 pm

Hello, I've been doing some H2 testing and thought that others might be interested in my notes. Here are my notes so far:


## Summary
Overall, very happy with the H2's stability, performance, thermals, power consumption, and PXE boot.
Did not suffer a single lock, hang or other hardware-based problem during the testing.


## Hardware
ODROID H2 Rev B, purchased 26.Jun.2019.
32GB RAM, Crucial DDR4 2400 MT/s, PC4-19200, 16GBx2, CAS Latency 17 (CT2K16G4SFD824A) for $134 USD.
128GB M.2 NVME SSD, Samsung PM961 Polaris, PCIe Gen3 x4 (MZVLW128HEGR-00000) for $30 USD.
HardKernel Type 2 case and blue LED power button.
No eMMC or SATA drives.


## Firmware and Software
American Megatrends BIOS version 5.13, GLK-SF Project version 1.05, Build Date 05/10/2019 15:04:37.
Intel VT-x and VT-d virtualization support enabled in the firmware.
Ubuntu 19.04 Gnome Desktop, fully patched, for the VM testing.
QEMU v3.1.0 to run Windows Server 2019 test VMs.
Phoronix Test Suite v8.8.1.
MemTest86 Free v8.2.
Kill-a-Watt P3 Meter to measure power consumption.
Ubuntu MAAS 2.5.0 VM on a separate host as a PXE boot server.


## Power Consumption
16W while under heavy CPU, RAM, M.2 SSD and network load (no SATA drives or CPU fan attached).
8W while sitting in the EFI command shell; HDMI, keyboard, mouse and ethernet attached.
7W while sitting in the GUI firmware configuration interface doing nothing; HDMI, keyboard, mouse and ethernet attached.
3W after booting Ubuntu 19.04, waiting ten minutes, no logon; HDMI, keyboard, mouse and ethernet all attached.
2W after booting Ubuntu 19.04, waiting ten minutes, no logon; HDMI, keyboard and mouse disconnected; ethernet attached.
0.1W when powered off; HDMI, keyboard, mouse and ethernet all attached (no SATA drives).


## Firmware Update and EFI Shell
Flashing the firmware with bios_v1.05.zip was successful (note: must use the primary name of the USB flash drive, e.g., "fs1:", not any of the aliases, e.g., "blk1:").

In the EFI shell, these hardware/driver/firmware commands all worked without any apparent errors: devtree, devices, drivers, dmpstore, smbiosview, drvdiag, map, memmap, sermode (see "help -b"). However, the ipconfig and ifconfig commands failed to set an IPv4 address, either through DHCP or statically, even after manually loading the latest Realtek driver (RtkUndiDxe.efi). Likely not a firmware or hardware issue; likely a problem with these EFI shell utilities. PXE boot works fine.


## Thermals and Stress Testing
After setting both thermal limits to their maximums in the firmware, and stressing the H2's CPU for 20 minutes at 100% for all cores using Phoronix Test Suite, with no CPU fan, in a HardKernel Type 2 case, in a 25 C room, while copying thousands of files around on the M.2 SSD, and streaming multiple YouTube videos, the H2's CPU cores' temperature stabilized around 94 C. With an 80mm USB fan sitting on top of the Type 2 case during the same stress test, the H2's CPU cores' temperature stabilized around 74 C. When only the CPU was stressed, with no extra drive or network activity, while using the 80mm fan, the CPU cores stabilized around 65 C.

Stress tests were run using Phoronix Test Suite and MemTest86 to try to get the motherboard, CPU, memory and/or M.2 SSD to fail. Some tests were done with the H2 wrapped in two bath towels to trap as much heat as possible to trigger thermal throttling in the CPU. No hardware failures were detected. MemTest86 showed zero errors for all memory tests prior and after running the other tests (MemTest86 stresses aspects of the CPU and motherboard too, not just the memory modules).

To compile the Linux 5.1.16 kernel on the host, with no VMs running, required 1 hour and 18 minutes. This did not include making modules. To compile Linux 5.0.0 using the Debian/Ubuntu method, which creates deb packages for the modules, required an average of 1 hour and 44 minutes over three tests. The H2 booted and ran successfully with the new kernels.


## QEMU+KVM: Windows Server VM Performance
The H2 was tested as a QEMU+KVM virtualization host server. The VMs were all Windows Server 2019 Datacenter Edition with graphical desktops and Firefox 68 installed. The VMs were each allocated 4096MB RAM, 2 CPU cores, and no sound card. The VMs used the VirtIO disk driver, VirtIO network driver, QXL video driver, and the Spice display system. There were no BSODs, driver issues or other problems while installing the OS into the VMs, while installing Firefox over the Internet, playing YouTube videos in Firefox, configuring server roles, or otherwise using the VMs.

Rebooting five Windows Server 2019 VMs simultaneously required an average of 64 seconds and ran the host's CPU cores at 96-100%. Reboot was measured from a logged-on desktop in each VM to the appearance of the "Press Ctrl-Alt-Delete to Unlock" message after the reboot (scripted with PowerShell in each guest to all reboot approximately simultaneously). From the VMs being completely powered off, powering up, and displaying the "Press Ctrl-Alt-Delete to Unlock" message on their Windows desktops after booting, the five VMs required 42 seconds (scripted with virsh on the H2 host).

With five test VMs running, and three of these VMs playing YouTube videos in Firefox in theater mode (640x360 video size, 480p quality) at 24 fps, the host's CPU cores all run at 95-98%. About 10% of frames were dropped on these three VMs and the playback was very jagged. Stopping playback in one VM caused the other two VMs to (mostly) stop dropping frames, making the playback (mostly) watchable, and the H2 host's CPU cores lowered to around 86-93%. The other VMs were logged onto their desktops, but otherwise idle.

Overall, when running the five VMs, their Start Menu responsiveness, application load times, and file copy actions were definitely quick enough for light training use. The VMs are bottlenecked by the CPU, not RAM or SSD, for tasks like video playback and file compression. Reducing to two or three VMs would allow tolerable video playback over the network (24fps), but not in full screen mode or with high resolution (720p). In general, subjectively, the VM hosting performance is surprisingly good for such an inexpensive SOC. Windows Server Core or Linux containers as network servers should run even better (that's next).


## PXE Boot
IPv4 PXE boot test successful, using Ubuntu MAAS as the PXE/DHCP server.
IPv6 PXE boot not tested.
IPv4/IPv6 HTTP boot not tested.


## Ubuntu MAAS 2.5.0
Successful IPv4 PXE boot for hardware tests, commissioning, acquisition, OS deployment, release, and OS re-deployment.
Successful deployment of Ubuntu 18.04 LTS server (no GUI), with registration of the H2 as a KVM host in MAAS.
Successful release and re-deployment of Ubuntu 19.04 server (no GUI), with registration of the H2 as a KVM host in MAAS.
H2 power type set to "Manual" in MAAS (no IPMI or similar BMC capabilities in the H2).
H2 set to boot automatically when power is re-applied after power cut (State After G3 --> S0), and it worked fine.


## CPU Benchmarks (www.cpubenchmark.net)
Single Thread Performance:
2283 : Intel Core i7 4790 @ 3.60 GHz (High-End Desktop, 2015)
1720 : Intel Core i5-6300U @ 2.40 GHz (Microsoft Surface Pro 4, 2016)
1645 : Intel Xeon D-2123IT @ 2.20 GHz (Supermicro SYS-E300-9D, 2018)
1070 : Intel Celeron J4105 @ 1.50GHz (ODROID H2, 2019)
1030 : Intel Xeon D-1518 @ 2.20 GHz (Supermicro SYS-E300-8D, 2018)

All-Cores Performance:
9987 : Intel Core i7 4790 @ 3.60 GHz (High-End Desktop, 2015)
8140 : Intel Xeon D-2123IT @ 2.20 GHz (Supermicro SYS-E300-9D, 2018)
5322 : Intel Xeon D-1518 @ 2.20 GHz (Supermicro SYS-E300-8D, 2018)
4559 : Intel Core i5-6300U @ 2.40 GHz (Microsoft Surface Pro 4, 2016)
2633 : Intel Celeron J4105 @ 1.50GHz (ODROID H2, 2019)


## Misc Notes
There were no problems during the manual installation of Ubuntu 19.04 Gnome Desktop.
The NVMe M.2 slot is 4-lane PCIe 2.0, not 3.0, for a max theoretical 2GB/s (don't overbuy SSD).
Don't forget to stop updates and to ngen.exe on any new Windows VMs before doing perf testing.
Did not (yet) install Proxmox or Windows Server 2019 directly onto the H2.
Did not test eMMC or any SATA drives (only the M.2 NVMe drive was used).
Did not test using a PCIe expansion device or bridge in the M.2 slot.
Did not test using both ethernet interfaces simultaneously (only one at a time).
Did not test microphone or SPDIF jacks (speaker jack did work with Ubuntu though).
Did not test GPU passthrough with VMs, if it's possible at all.
These users thanked the author NigelM for the post (total 5):
rooted (Sat Jul 27, 2019 3:44 pm) • odroid (Mon Jul 29, 2019 9:22 am) • 85kr (Thu Sep 19, 2019 4:46 am) • XOR (Sun Sep 29, 2019 8:05 pm) • powerful owl (Fri Oct 11, 2019 4:31 pm)

NigelM
Posts: 5
Joined: Wed Jun 26, 2019 4:38 am
languages_spoken: english
Has thanked: 9 times
Been thanked: 5 times
Contact:

Re: H2 Performance Testing: CPU, Thermals, Watts, PXE Boot, Etc.

Unread post by NigelM » Sat Jul 27, 2019 3:52 am

## Proxmox
Proxmox 6.0-4 installed from USB drive with no problems (Debian 10 Buster release).
Installed to M.2 drive formatted with ZFS (chose RAID 0 with ZFS even though only one drive).
This means no problems when booting from a ZFS root (ZFS version 0.8.1). No GRUB.
No eMMC or SATA drives attached.
Have had no hardware- or driver-related problems that I could see in the logs.
No problems creating Windows Server 2019 VMs or Ubuntu 19.04 LXC containers.

127.0.0.1
Posts: 8
Joined: Fri Jul 05, 2019 5:24 pm
languages_spoken: english
ODROIDs: XU4
3 x H2 in a 3 node vSphere cluster.
Has thanked: 1 time
Been thanked: 2 times
Contact:

Re: H2 Performance Testing: CPU, Thermals, Watts, PXE Boot, Etc.

Unread post by 127.0.0.1 » Sun Jul 28, 2019 12:15 pm

Very informative, thank you for the review.

Post Reply

Return to “General Topics”

Who is online

Users browsing this forum: No registered users and 1 guest