Perhaps one of the most hotly anticipated embedded server motherboards is the Gigabyte MA10-ST0. It is a mITX motherboard with the highest-end QAT enabled Intel Atom C3958. That chip has 16 of the newest generation Intel Atom C3000 cores codenamed “Denverton”. The Gigabyte MA10-ST0 has a few features that make it ideal for a storage or network appliance. First, it has 2x SFP+ LAN ports in addition to 2x 1GbE ports for plenty of networking along with CPU power. Second, it has a massive array of 16 SATA III ports. Finally, it has a 16-core CPU with excellent performance that we already covered in our Intel Atom C3958 Linux Benchmarks and Review.
Why Compatibility Testing is Important
Whenever a new generation of server hardware comes out, there is a lag before the OSes support the new hardware. This is normal. FreeBSD is a popular OS for embedded networking appliances as well as storage appliances. There are many commercial offerings that build upon FreeBSD based on the licensing. Along with these commercial offerings, FreeNAS and pfSense are popular storage and networking offerings based on FreeBSD so we wanted to try them out with the new hardware. The onboard eMMC storage of the Gigabyte MA10-ST0 is intended for embedded OS installs like both pfSense and FreeNAS use.
Gigabyte MA10-ST0 with pfSense 2.4-Release
The brand new pfSense 2.4-Release just came out a few days ago. We tested this on the Gigabyte MA10-ST0 and saw a long list of controller timeouts and register dumps fly across the console:
This is not uncommon on new platforms. Reporting errors on STH is not overly useful to the open source community. We reached out to the pfSense team and offered to set this system up in our DemoEval lab for them to use for a possible 2.4.3 inclusion. Our sense is that in one of the upcoming dot releases we will see support for the Intel Atom C3000 series, including NICs.
Gigabyte MA10-ST0 with FreeNAS 11.0-U4
We tried FreeNAS 11.0-U4 with the Gigabyte MA10-ST0 and had a better result, yet with some quirks. First off, during the installation process, the OS installed, however, we were not presented with the onboard eMMC option. Instead, all you can see is the lone Intel DC S3520 1.2TB SSD we had installed:
The install otherwise worked fine with one caveat as we expected: networking.
The Gigabyte MA10-ST0 has two SFP+ 10GbE ports from the C3958 onboard, but also has two Intel i210-at 1GbE NICs. After we finished the initial installation, the two onboard 1GbE NICs were functional, however, the two 10GbE NICs did not yet have an out-of-box supported driver. We expect this will be remedied soon as FreeBSD updates their Intel driver and FreeNAS supports this.
If you are using a newer Debian, CentOS 7.4, or Ubuntu 16.04.3 LTS (with HWE kernel) you are going to be fine. We have even build QuickAssist acceleration with ZFS 0.7.2 for gzip compression on the CentOS 7.4 distribution. In fact, CentOS would even allow us to install to the 32GB eMMC NIC:
Here is the Quick Assist Technology (QAT) accelerator with driver installed:
Here is a quick look at one of our baseline runs running ZFS on Linux writing to a 2x 960GB SSD striped ZFS gzip compressed pool using fio:
As you can see, without QAT acceleration that the fio write threads use very little CPU but ZFS is taking advantage of the 16 threads to compress data and write it to disk.
We are going to have QAT offload ZFS on Linux gzip compression results in the near future. Suffice to say, if you are working with the Intel Atom C3000 series, newer Linux kernels have a lot of support, and FreeBSD is almost there. We do not expect many Intel Atom C3000 series SoC’s to be used with Windows but we can confirm it works provided you install to a larger SSD and use the latest Intel Windows networking drivers for 10GbE.
On the Debian side, we showed that the Proxmox VE hyper-converged platform works out of the box with the Intel Atom C3000 series:
We spend a lot of time trying hardware in a number of OSes and use our DemoEval lab to give back to the open source community that makes software our readers use every day. We are certainly getting close to the point where the Intel Atom C3000 series is going to be well supported for FreeBSD and that is important. In the embedded device market where the Gigabyte MA10-ST0 and other Intel Atom C3000 series systems are intended to be used FreeBSD and Linux are the two dominant OSes. We hope our readers have a better understanding regarding where support is as of mid-October 2017 and we expect this support to expand and improve in the next few weeks and months.