Netgate SG-1000 microFirewall

Author Topic: PC Engines apu2 experiences  (Read 48159 times)

0 Members and 2 Guests are viewing this topic.

Offline mattlach

  • Full Member
  • ***
  • Posts: 168
  • Karma: +9/-0
    • View Profile
Re: PC Engines apu2 experiences
« Reply #15 on: June 03, 2016, 11:18:13 am »
Nice and interesting thread about the new APU2 board.

For the APU I can say we were getting something around ~500+ MBit/s at the WAN Port and with enabled
PowerD (hi adaptive) we got ~650 MBit/s as throughput. Perhaps this will be different from the APU2 with
a quad core CPU. But otherwise I would recommend to enable PowerD (hi adaptive).

In 2.3.1_1 I wind up getting ~595Mbit/s throughput (as tested with iperf) without enabling PowerD.   Enabling PowerD in the web interface does not seem to affect throughput speed, whether set to hidaptive or not, but it also seems to have no impact on idle power consumption, which hovers between 5.8W-6.5W regardless of whether PowerD is on or off.  It makes me wonder if it is working at all.  Either way, if it is not making a difference on power consumption, I might just leave it off.

I also don't get any CPU temp output like I do with my Intel based box.  I was a little concerned about CPU temp due to the passive cooling setup just using the case to cool it, but it is a very low wattage part, so maybe that is silly of me.   Feeling the case, it doesn't feel too hot.  (In fact it barely gets warm)

Offline hda

  • Hero Member
  • *****
  • Posts: 600
  • Karma: +32/-4
    • View Profile
Re: PC Engines apu2 experiences
« Reply #16 on: June 03, 2016, 12:45:40 pm »
I also don't get any CPU temp output like I do with my Intel based box.  I was a little concerned about CPU temp due to the passive cooling setup just using the case to cool it, but it is a very low wattage part, so maybe that is silly of me.   Feeling the case, it doesn't feel too hot.  (In fact it barely gets warm)

Firmware has testmode and it reports T as about 55 Celsius if with correct coolpad, else may fry (90 C) after 8 minutes...

No GUI temps is due to missing FreeBSD code.
« Last Edit: June 03, 2016, 12:49:05 pm by hda »

Offline apollo17

  • Newbie
  • *
  • Posts: 16
  • Karma: +3/-0
    • View Profile
Re: PC Engines apu2 experiences
« Reply #17 on: June 03, 2016, 11:20:48 pm »
To fix cpu temps follow the guide here https://forum.pfsense.org/index.php?topic=108262.0

My temps stay around 55-60 degrees c

Offline edwardwong

  • Full Member
  • ***
  • Posts: 183
  • Karma: +10/-0
    • View Profile
Re: apu2 OpenSSL AES performance
« Reply #18 on: June 05, 2016, 12:12:14 am »
Your CPU has 4 cores, can you test with "-multi 4" option to run 4 threads together? Then we can see the actual speed for this CPU.

With aesni kernel module loaded:

Code: [Select]
openssl speed -elapsed -evp aes-128-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc       1527.90k     5867.93k    21607.17k    65414.14k   162611.20k

openssl speed -elapsed -evp aes-256-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc       1512.18k     5761.15k    20833.28k    58732.20k   127229.95k

With aesni kernel module unloaded (i.e. use openssl internal AES-NI support):

Code: [Select]
openssl speed -elapsed -evp aes-128-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc     125586.59k   174393.26k   213315.07k   226097.49k   230883.33k

openssl speed -elapsed -evp aes-256-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc     100216.39k   136148.85k   157464.49k   162677.42k   165601.28k

Offline Zebibyte

  • Newbie
  • *
  • Posts: 3
  • Karma: +2/-0
    • View Profile
Re: apu2 OpenSSL AES performance
« Reply #19 on: June 05, 2016, 01:21:27 am »
Here is what I got trying the same command with -multi 4

openssl speed -elapsed -evp aes-128-cbc -multi 4
evp               5582.70k    22238.25k    81301.33k   244524.47k   593181.72k

openssl speed -elapsed -evp aes-256-cbc -multi 4
evp               5615.02k    21855.49k    77674.24k   220074.67k   465368.41k


Then after setting "Cryptographic Hardware" in the GUI back to none (not sure if this does the right thing)

openssl speed -elapsed -evp aes-128-cbc -multi 4
evp               5645.37k    19885.66k    70725.03k   217378.47k   524483.65k

openssl speed -elapsed -evp aes-256-cbc -multi 4
evp               5586.90k    21842.43k    77226.75k   219488.40k   455090.18k

Your CPU has 4 cores, can you test with "-multi 4" option to run 4 threads together? Then we can see the actual speed for this CPU.

With aesni kernel module loaded:

Code: [Select]
openssl speed -elapsed -evp aes-128-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc       1527.90k     5867.93k    21607.17k    65414.14k   162611.20k

openssl speed -elapsed -evp aes-256-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc       1512.18k     5761.15k    20833.28k    58732.20k   127229.95k

With aesni kernel module unloaded (i.e. use openssl internal AES-NI support):

Code: [Select]
openssl speed -elapsed -evp aes-128-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc     125586.59k   174393.26k   213315.07k   226097.49k   230883.33k

openssl speed -elapsed -evp aes-256-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc     100216.39k   136148.85k   157464.49k   162677.42k   165601.28k

Offline AndrewZ

  • Sr. Member
  • ****
  • Posts: 306
  • Karma: +29/-0
    • View Profile
Re: PC Engines apu2 experiences
« Reply #20 on: June 11, 2016, 04:28:03 am »
Just started to configure APU2C4 as a replacement for my old Alix 2D13.
I'm wandering if it is possible to see the current CPU frequency in a dashboard?

Offline edwardwong

  • Full Member
  • ***
  • Posts: 183
  • Karma: +10/-0
    • View Profile
Re: apu2 OpenSSL AES performance
« Reply #21 on: June 12, 2016, 04:29:58 am »
Impressive result.
BTW, using "-evp" will force using crypto hardware, so whatever you set in GUI doesn't really matter, maybe you should try to skip this option to see the difference.

Here is what I got trying the same command with -multi 4

openssl speed -elapsed -evp aes-128-cbc -multi 4
evp               5582.70k    22238.25k    81301.33k   244524.47k   593181.72k

openssl speed -elapsed -evp aes-256-cbc -multi 4
evp               5615.02k    21855.49k    77674.24k   220074.67k   465368.41k


Then after setting "Cryptographic Hardware" in the GUI back to none (not sure if this does the right thing)

openssl speed -elapsed -evp aes-128-cbc -multi 4
evp               5645.37k    19885.66k    70725.03k   217378.47k   524483.65k

openssl speed -elapsed -evp aes-256-cbc -multi 4
evp               5586.90k    21842.43k    77226.75k   219488.40k   455090.18k

Your CPU has 4 cores, can you test with "-multi 4" option to run 4 threads together? Then we can see the actual speed for this CPU.

With aesni kernel module loaded:

Code: [Select]
openssl speed -elapsed -evp aes-128-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc       1527.90k     5867.93k    21607.17k    65414.14k   162611.20k

openssl speed -elapsed -evp aes-256-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc       1512.18k     5761.15k    20833.28k    58732.20k   127229.95k

With aesni kernel module unloaded (i.e. use openssl internal AES-NI support):

Code: [Select]
openssl speed -elapsed -evp aes-128-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc     125586.59k   174393.26k   213315.07k   226097.49k   230883.33k

openssl speed -elapsed -evp aes-256-cbc
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc     100216.39k   136148.85k   157464.49k   162677.42k   165601.28k

Offline apollo17

  • Newbie
  • *
  • Posts: 16
  • Karma: +3/-0
    • View Profile
Re: PC Engines apu2 experiences
« Reply #22 on: June 12, 2016, 08:57:10 am »
Just started to configure APU2C4 as a replacement for my old Alix 2D13.
I'm wandering if it is possible to see the current CPU frequency in a dashboard?

See my previous post in this thread (post #17).

after following the details from here https://forum.pfsense.org/index.php?topic=108262.0 the dashboard temperature readout works perfectly.

Offline AndrewZ

  • Sr. Member
  • ****
  • Posts: 306
  • Karma: +29/-0
    • View Profile
Re: PC Engines apu2 experiences
« Reply #23 on: June 12, 2016, 09:11:13 am »
after following the details from here https://forum.pfsense.org/index.php?topic=108262.0 the dashboard temperature readout works perfectly.

Indeed, I've noticed that post earlier and already implemented the workaround described on my system.
My question was about frequency, not temperature.
For some reasons I was able to see the current and the maximum frequency (600 and 1000 as I recall) very briefly only 2 times during the page reload. All other time I see only the following:
Quote
CPU Type    AMD GX-412TC SOC
                4 CPUs: 1 package(s) x 4 core(s)

Offline apollo17

  • Newbie
  • *
  • Posts: 16
  • Karma: +3/-0
    • View Profile
Re: PC Engines apu2 experiences
« Reply #24 on: June 12, 2016, 09:25:18 am »
after following the details from here https://forum.pfsense.org/index.php?topic=108262.0 the dashboard temperature readout works perfectly.

Indeed, I've noticed that post earlier and already implemented the workaround described on my system.
My question was about frequency, not temperature.
For some reasons I was able to see the current and the maximum frequency (600 and 1000 as I recall) very briefly only 2 times during the page reload. All other time I see only the following:
Quote
CPU Type    AMD GX-412TC SOC
                4 CPUs: 1 package(s) x 4 core(s)

Sorry, my mistake i misread your post. I know what you mean mine does that aswell, i'm not sure if you can change it. If you have powerd enabled you can get a realtime frequency read out using the shell command powerd -v.

I don't think the dashboard freqency readout is just amd related, it behaves the same on intel systems too.

Offline AndrewZ

  • Sr. Member
  • ****
  • Posts: 306
  • Karma: +29/-0
    • View Profile
Re: PC Engines apu2 experiences
« Reply #25 on: June 12, 2016, 10:36:08 am »
I know what you mean mine does that aswell, i'm not sure if you can change it. If you have powerd enabled you can get a realtime frequency read out using the shell command powerd -v.

I don't think the dashboard freqency readout is just amd related, it behaves the same on intel systems too.

Thanks for that, good to know.

Offline aGeekHere

  • Sr. Member
  • ****
  • Posts: 535
  • Karma: +46/-1
    • View Profile
Re: PC Engines apu2 experiences
« Reply #26 on: June 13, 2016, 07:40:14 am »
What transfer speed does the apu2 get from squid's local cache?
Never Fear, A Geek is Here!

BlueKobold

  • Guest
Re: PC Engines apu2 experiences
« Reply #27 on: June 13, 2016, 01:53:33 pm »
Quote
What transfer speed does the apu2 get from squid's local cache?
This is mostly also owed to the circumstance what storage drive is used in that case!!

Offline Stewart

  • Full Member
  • ***
  • Posts: 279
  • Karma: +16/-2
    • View Profile
Re: PC Engines apu2 experiences
« Reply #28 on: August 10, 2016, 10:38:31 am »
I'd like to add what I've found and compare the APU1D with the APU2C4.  Each test was run 5 times and the average is shown:

Code: [Select]
_______________APU1D__________Without aes-ni Enabled in GUI_____AES-128
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-128-cbc
aes-128-cbc      20,150.25    21,593.45 22,101.23    55,892.72 57,108.07
openssl speed -elapsed -evp aes-128-cbc
aes-128-cbc      20,879.17    22,096.23 22,604.51    22,781.61 22,756.18
openssl speed -elapsed aes-128-cbc -multi 2
aes-128-cbc      37,715.27    42,234.96 43,208.21   108,581.00 108,638.48
openssl speed -elapsed -evp aes-128-cbc -multi 2
evp              41,202.15    43,115.07 43,609.43    42,840.60 44,048.14

_______________APU1D__________Without aes-ni Enabled in GUI_____AES-256
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-256-cbc
aes-256 cbc      14,700.73    15,444.83 15,733.50    41,247.34 41,710.94
openssl speed -elapsed -evp aes-256-cbc
aes-256-cbc      15,243.62    15,707.42 15,961.70    16,126.77 15,934.53
openssl speed -elapsed aes-256-cbc -multi 2
aes-256 cbc      23,949.23    26,988.24 29,858.76    65,845.54 64,089.45
openssl speed -elapsed -evp aes-256-cbc -multi 2
evp              29,593.04    26,244.35 26,773.70    28,397.03 27,938.67

_______________APU1D__________With aes-ni Enabled in GUI_____AES-128
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-128-cbc
aes-128 cbc      19755.576   21431.89    21989.752 55771.576 55630.234
openssl speed -elapsed -evp aes-128-cbc
aes-128-cbc      20863.098   22093.112    22559.898 22602.114 22531.338
openssl speed -elapsed aes-128-cbc -multi 2
aes-128 cbc      37336.336   38520.556    42471.264   105237.468 99426.206
openssl speed -elapsed -evp aes-128-cbc -multi 2
evp              36558.862   40986.052    42027.06     40009.182 41684.274

_______________APU1D__________With aes-ni Enabled in GUI_____AES-256
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-256-cbc
aes-256 cbc      14591.166   14837.534    14614.882 39739.044 40290.906
openssl speed -elapsed -evp aes-256-cbc
aes-256-cbc      14994.722   15396.05    16006.702 16093.2      15921.974
openssl speed -elapsed aes-256-cbc -multi 2
aes-256 cbc      24330.116   27610.256    26142.88     71589.386 70645.116
openssl speed -elapsed -evp aes-256-cbc -multi 2
evp              25427.984   27953.616    26119.284 28292.242 26312.212



_______________APU2C4__________Without aes-ni Enabled in GUI_____AES-128
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-128-cbc
aes-128-cbc       14,602.14 15,604.71 16,020.81 41,673.96 42,613.15
openssl speed -elapsed -evp aes-128-cbc
aes-128-cbc      116,857.16 167,172.30 205,183.44 216,286.74 219,179.69
openssl speed -elapsed aes-128-cbc -multi 2
aes-128-cbc       52,436.02 58,305.43 58,527.76 154,819.86 162,012.23
openssl speed -elapsed -evp aes-128-cbc -multi 2
evp               5,339.28 20,562.37 75,235.53 230,458.68 567,333.62

_______________APU2C4__________Without aes-ni Enabled in GUI_____AES-256
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-256-cbc
aes-256 cbc       10,657.51 11,205.91 11,310.90 30,765.00 31,377.54
openssl speed -elapsed -evp aes-256-cbc
aes-256-cbc       96,810.10 129,034.06 150,190.10 156,638.07 158,143.28
openssl speed -elapsed aes-256-cbc -multi 2
aes-256 cbc       39,620.04 40,461.33 40,217.14 120,696.35 117,217.43
openssl speed -elapsed -evp aes-256-cbc -multi 2
evp               5,224.40 21,083.67 73,885.68 201,226.44 442,017.98

_______________APU2C4__________With aes-ni Enabled in GUI_____AES-128
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-128-cbc
aes-128 cbc       14,547.43 15,599.68 16,005.85 41,691.67 42,459.34
openssl speed -elapsed -evp aes-128-cbc
aes-128-cbc       1,455.86 5,778.35 21,179.49 64,385.85 158,815.65
openssl speed -elapsed aes-128-cbc -multi 2
aes-128 cbc       53,114.91 57,221.27 58,445.19 159,149.88 158,859.67
openssl speed -elapsed -evp aes-128-cbc -multi 2
evp               5,355.99 21,216.93 75,614.86 228,806.89 572,782.12

_______________APU2C4__________With aes-ni Enabled in GUI_____AES-256
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
openssl speed -elapsed aes-256-cbc
aes-256 cbc       10,657.26 11,111.40 11,175.44 30,771.72 31,289.62
openssl speed -elapsed -evp aes-256-cbc
aes-256-cbc       1,404.00 5,528.13 19,735.86 55,687.85 119,758.85
openssl speed -elapsed aes-256-cbc -multi 2
aes-256 cbc       39,908.48 39,509.88 41,580.65 117,316.88 117,157.87
openssl speed -elapsed -evp aes-256-cbc -multi 2
evp              5,456.64 20,749.14 70,953.42 207,225.20 456,061.90

Some things stand out fairly obvious but I'll need some help determining what is going on.
First, it's obvious that enabling aes-ni in the Advanced-Misc section does something.  It seems to have a modest affect on the APU1D and a fairly detrimental affect on the APU2C4. 
Second, the APU2C4 only has about 73% of the performance of the APU1D using a single core and no hardware acceleration.
Third, the APU2D4 seems to excel in some circumstances and bomb in others.  I expected to see a fairly consistent trend, but the charts seem to say otherwise.

Does anyone know which number is most representative of performance when running the openssl speed test?  From what I'm seeing it appears that on the APU1D with aes-ni disabled we should be able to get 108MB/s on aes-128 with an 8k block size and 65MB/s on aes-256 with an 8k block size.  It also appears that with the APU2D4 we should be able to get 567MB/s on aes-128 with an 8k block size and 442MB/s on aes-256 with an 8k block size.  Those don't seem right to me.  Can anyone care to elaborate?

Also, I've attached a screenshot of the spreadsheet I've put together with basic heatmaps.  All values are the same and "are in 1000s of bytes per second processed".  I just dropped the "k" so I could run calculations.  Also, the commands that were run that include the multi switch were run as "multi 2" on the APU1D and as "multi 4" on the APU2C4. 

Edit:  I should note that these are all run with powerd on set to hiadpative.  Also, added APU2C4 numbers that were forgotten.
« Last Edit: August 12, 2016, 10:00:58 am by Stewart »

Offline Stewart

  • Full Member
  • ***
  • Posts: 279
  • Karma: +16/-2
    • View Profile
Re: PC Engines apu2 experiences
« Reply #29 on: August 10, 2016, 04:03:21 pm »
The average I get running iperf across the LAN interfaces is:
APU1D     -> APU2C4    = 235Mb/s
APU2C4   -> APU1D      = 218Mb/s
APU1D     -> Core2Box = 121Mb/s
APU2C4   -> Core2Box = 222Mb/s

Services enabled on the APU1D and APU2C4 in case they affect things are:
Squid
SquidGuard
AV Integrated in Squid
Snort
pfBlockerNG
darkstat
LightSquid