Buildworld benchmarks
#1
Question 
Following up from another thread, here are some "benchmark" results for building world on FreeBSD.

Note that I disabled powerd and manually set the CPU frequencies to 1800mhz and 1416mhz. OS is installed on a 32GB emmc.

I used -j4 in every case. Note that when I compiled RC2 I disabled all debug options in the kernel.

I built a couple of things:

  1. Update from RC2 to RC3 with the option -DNO_CLEAN as an example of a typical upgrade time between minor versions.
  2. Clean build of RC3 to give a benchmark for building the whole system
I measured temperature every 10 seconds. I did also save vmstat output every 10 seconds but it wasn't that interesting.

Results:

RC2 -> RC3 buildworld noclean: 1018 seconds (15m, 58s)
RC2 -> RC3 kernel noclean: 421 seconds (7m, 1s)

RC3 buildworld from clean: 22332 seconds (6h, 12m, 12s)
RC3 kernel from clean: 1794 seconds (29m, 54s)

So as you can see, a normal minor upgrade from src is pretty quick (depending how many changes there are between versions), but a complete build is a bit of a task, but still not bad TBH.

Temperatures:

This is the temperature graph for the buildworld from clean:

[Image: build_temps.png]

The GPU isn't doing anything it just gets hot from conduction.

Max temp seen was 72.6C

Isn't the max operating temp of the die 70C? Does the CPU throttle itself at high temp? If so better cooling should improve performance.

Ashley
  Reply
#2
Did you have a cooling fan on the chip or was this all naked? I have used a RockPro64 with the tallest heatsink Pine64 offers, open-air for about a year and have never had any heat issues. Recently I obtained the NAS case, however the case fan is dependent on a special program currently only available for Linux OSes, something I haven't had time to look into further. My solution is to keep the case cover off the NAS case but haven't done any formal measurements. I will likely do a manual hardwiring of the NAS case fan since it is 12v and switch to the lower-profile heatsink with the optional CPU fan for cooling, once someone or myself figures out how to drive it in FreeBSD.
Quartz64, RockPro64, PinePhone Mobian, PineBook Pro, PineTime, and all the trimmings that make FOSS fun.
  Reply
#3
I've also got the NAS case, and that was with the lid on and two 3.5" hard drives in, but the build process gets to the same temperature on the radxa 3399 board. I'm not too worried about this because this it isn't normal to be hammering 4 cores for 6 hours straight. But it would make sense if acpi_thermal was working to have passive throttling of the CPU, I'm not sure what's going on in that case, I need to investigate.

On the topic of the NAS case, I found it very difficult to get two 3.5" drives to fit. The bottom drive only clears the tall heatsink if I have the drive at an angle. Very tight inside. There's no way I could fit the fan in either since I had to move the hard drive back to get the angle to clear the heatsink.

The wiki for the NAS does say "any of the three available heatsinks will fit in the NAS Case" but I don't think this is true now that I've tried it.

I didn't order the fan. I was thinking of having a 3 or 4 pin PWM fan using some of the gpios and an external circuit, but that's one of those projects I'll never get around to doing. An easier option would be to have a 12v fan with a speed adjuster connected to the sata power with a splitter, and then just adjust the speed so it is silent.
  Reply
#4
(03-26-2021, 03:04 AM)ashleymills Wrote: I've also got the NAS case, and that was with the lid on and two 3.5" hard drives in, but the build process gets to the same temperature on the radxa 3399 board. I'm not too worried about this because this it isn't normal to be hammering 4 cores for 6 hours straight. But it would make sense if acpi_thermal was working to have passive throttling of the CPU, I'm not sure what's going on in that case, I need to investigate.

On the topic of the NAS case, I found it very difficult to get two 3.5" drives to fit. The bottom drive only clears the tall heatsink if I have the drive at an angle. Very tight inside. There's no way I could fit the fan in either since I had to move the hard drive back to get the angle to clear the heatsink.

The wiki for the NAS does say "any of the three available heatsinks will fit in the NAS Case" but I don't think this is true now that I've tried it.

I didn't order the fan. I was thinking of having a 3 or 4 pin PWM fan using some of the gpios and an external circuit, but that's one of those projects I'll never get around to doing. An easier option would be to have a 12v fan with a speed adjuster connected to the sata power with a splitter, and then just adjust the speed so it is silent.

I too have a NAS case and have mixed feelings on it. It is a marvel of space management but at the cost of needing some foresight in cable management. The build quality is very low, as mine came with a noticeable warp. The warp disappears when stuffed full of HDDs. I do not have a clearance issue with the tall heatsink and HDDs. The medium heatsink and a CPU fan also have adequate clearance. However, the interior layout forces air to flow across the front of the device, only cooling the PCIe to SATA adapter but not flowing over the CPU heatsink and through the disk drives. I fabricated from an aluminum soda can an air dam that forces the air around the PCIe to SATA adapter right into the CPU heatsink. There is another air dam on the other side to help push the air through the disk drives. I had to use my own 90 degrees angled SATA bus and SATA cables to have good clearance from the case fan, as the Pine64 provided cables introduce a significant mechanical stress on the SATA outputs of 3.5" HDD drives.

I know this is getting off topic from benchmarking CPU performance, however with a little inventiveness one can add a significant boost in efficiency to heat removal, especially with HDDs doing data migration or other disk intensive tasks in a closed space. Since my background is in carpentry and fabrication, I will post a more formal design modification for those interested once I have something I've fully vetted. I am impressed enough with the case that I will be abandoning my own custom case design, and instead modifying this case to suit my needs.
Quartz64, RockPro64, PinePhone Mobian, PineBook Pro, PineTime, and all the trimmings that make FOSS fun.
  Reply
#5
(03-27-2021, 01:16 PM)MNtinkerer Wrote:
(03-26-2021, 03:04 AM)ashleymills Wrote: I've also got the NAS case, and that was with the lid on and two 3.5" hard drives in, but the build process gets to the same temperature on the radxa 3399 board. I'm not too worried about this because this it isn't normal to be hammering 4 cores for 6 hours straight. But it would make sense if acpi_thermal was working to have passive throttling of the CPU, I'm not sure what's going on in that case, I need to investigate.

On the topic of the NAS case, I found it very difficult to get two 3.5" drives to fit. The bottom drive only clears the tall heatsink if I have the drive at an angle. Very tight inside. There's no way I could fit the fan in either since I had to move the hard drive back to get the angle to clear the heatsink.

The wiki for the NAS does say "any of the three available heatsinks will fit in the NAS Case" but I don't think this is true now that I've tried it.

I didn't order the fan. I was thinking of having a 3 or 4 pin PWM fan using some of the gpios and an external circuit, but that's one of those projects I'll never get around to doing. An easier option would be to have a 12v fan with a speed adjuster connected to the sata power with a splitter, and then just adjust the speed so it is silent.

I too have a NAS case and have mixed feelings on it. It is a marvel of space management but at the cost of needing some foresight in cable management. The build quality is very low, as mine came with a noticeable warp. The warp disappears when stuffed full of HDDs. I do not have a clearance issue with the tall heatsink and HDDs. The medium heatsink and a CPU fan also have adequate clearance. However, the interior layout forces air to flow across the front of the device, only cooling the PCIe to SATA adapter but not flowing over the CPU heatsink and through the disk drives. I fabricated from an aluminum soda can an air dam that forces the air around the PCIe to SATA adapter right into the CPU heatsink. There is another air dam on the other side to help push the air through the disk drives. I had to use my own 90 degrees angled SATA bus and SATA cables to have good clearance from the case fan, as the Pine64 provided cables introduce a significant mechanical stress on the SATA outputs of 3.5" HDD drives.

I know this is getting off topic from benchmarking CPU performance, however with a little inventiveness one can add a significant boost in efficiency to heat removal, especially with HDDs doing data migration or other disk intensive tasks in a closed space. Since my background is in carpentry and fabrication, I will post a more formal design modification for those interested once I have something I've fully vetted. I am impressed enough with the case that I will be abandoning my own custom case design, and instead modifying this case to suit my needs.

That sounds cool, be interested to see the design when it's done. I haven't added a fan yet. Is the lid of your case still off? Could you post a photo of how you mounted the 3.5" drives to clear the tall heatsink?
  Reply
#6
I do not have 3.5" HDDs in my NAS case currently. Rather I have (2) 2.5" drives. However, when measuring the 30mm tall heatsink mounted to the RockPro64 board, mounted to the NAS case bottom, it stands ~ 1-15/32" tall (35.71875mm). The bottom of the HDD 3.5" carriage stands ~ 1.75" (44.45mm) from the NAS case bottom. The mount hole for the 3.5" carriage stands ~ 2" (50.8mm) from the NAS case bottom. This leaves a clearance of approximately 9/32" (8.73125mm) between the top of the 30mm tall heatsink and the bottom of the upper carriage portion of the disk drive rack. All of my HDD's have 3/32" or greater indentation on the bottom. As for the top of the HDDs placed in the top carriage, they are flush or slightly above the upper lip of the NAS case, coming in contact with the case lid when closing.

As far as I know, the 30mm tall heatsink is not intended to have a CPU fan, which is 13/32" thick, and would collide with the bottom of the HDD in the lower 3.5" carriage. There is enough room between the lower 2.5" carriage portion of the HDD support rack and the upper 3.5" carriage portion for me to route wires between. One could make their own custom drive rack and squeeze (3) 3.5" drives if they used the lowest profile heatsink with the fan built in as the shield for the rear LAN/Ethernet port shield would be the limiting factor.

I have tested this with WD, Seagate, and an old Maxtor drive. The latter drive being typical of drive dimensions from 15 years ago, and the former being typical of modern HDDs. I will be ordering another NAS case later this week for the purpose of prototyping and modification, and would be happy to post pictures of any configuration you would prefer to see then.

Apparently there is an issue with the Pine64 branded PCIe to SATA 2-port adapter that causes the CPU to "spinlock", I've had the error appear 3 times while attempting to set up RAID1 on a Linux host. My FreeBSD RockPro64 development board is in the premium aluminum case until this weekend when I will receive 2 different PCIe to SATA adapters based on different chipsets. Those boards are supposed to be plug and play ready for FreeBSD.
Quartz64, RockPro64, PinePhone Mobian, PineBook Pro, PineTime, and all the trimmings that make FOSS fun.
  Reply
#7
(03-31-2021, 10:40 PM)MNtinkerer Wrote: I do not have 3.5" HDDs in my NAS case currently. Rather I have (2) 2.5" drives. However, when measuring the 30mm tall heatsink mounted to the RockPro64 board, mounted to the NAS case bottom, it stands ~ 1-15/32" tall (35.71875mm). The bottom of the HDD 3.5" carriage stands ~ 1.75" (44.45mm) from the NAS case bottom. The mount hole for the 3.5" carriage stands ~ 2" (50.8mm) from the NAS case bottom. This leaves  a clearance of approximately 9/32" (8.73125mm) between the top of the 30mm tall heatsink and the bottom of the upper carriage portion of the disk drive rack. All of my HDD's have 3/32" or greater indentation on the bottom. As for the top of the HDDs placed in the top carriage, they are flush or slightly above the upper lip of the NAS case, coming in contact with the case lid when closing.

As far as I know, the 30mm tall heatsink is not intended to have a CPU fan, which is 13/32" thick, and would collide with the bottom of the HDD in the lower 3.5" carriage. There is enough room between the lower 2.5" carriage portion of the HDD support rack and the upper 3.5" carriage portion for me to route wires between. One could make their own custom drive rack and squeeze (3) 3.5" drives if they used the lowest profile heatsink with the fan built in as the shield for the rear LAN/Ethernet port shield would be the limiting factor.

I have tested this with WD, Seagate, and an old Maxtor drive. The latter drive being typical of drive dimensions from 15 years ago, and the former being typical of modern HDDs. I will be ordering another NAS case later this week for the purpose of prototyping and modification, and would be happy to post pictures of any configuration you would prefer to see then.

Apparently there is an issue with the Pine64 branded PCIe to SATA 2-port adapter that causes the CPU to "spinlock", I've had the error appear 3 times while attempting to set up RAID1 on a Linux host. My FreeBSD RockPro64 development board is in the premium aluminum case until this weekend when I will receive 2 different PCIe to SATA adapters based on different chipsets. Those boards are supposed to be plug and play ready for FreeBSD.

Thanks for the info. I'd be interested in seeing any of your setups when you have the time. I'll open my case again and re-assess how I've mounted the drives.

I've not had any problems with the PCIe interface causing a spinlock on FreeBSD. I haven't been hammering the disks though. I'll setup some test transfers of large files and see what happens.
  Reply
#8
Came across a suggestion for fan control in the FreeBSD wiki (https://wiki.freebsd.org/arm/RockChip). It suggests using the "pwm" command to control the fan:

"Fan Control on RockPro64
To enable the fan you should use the "pwm" command.

This is known to work but is a bit loud: pwm -E -f pwmc1.0 -d 50%
This is quieter: pwm -E -f pwmc1.0 -p 50000 -d 25000"

I haven't tried it yet because I just got my new board and NAS case. The wiki doesn't say where the fan is plugged in on the board, but I would assume they mean the 2 pin fan header. Wanted to share that before I forget about reading it.
Quartz64, RockPro64, PinePhone Mobian, PineBook Pro, PineTime, and all the trimmings that make FOSS fun.
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)