Posted by : ARM Servers
Friday, 22 July 2016
Several
months ago we had pre-release benchmarks of the Cavium ThunderX. The company
promptly contacted us and wanted to show what its hardware can do. Those
benchmarks were done on an older OS with older software. Over the past few
weeks we have been working with both the single and dual socket (48 core and 96
core) variants of the Cavium ThunderX part and what struck us is how fast the
software side is maturing in key areas. We will have more in-depth benchmarks
of the platforms running real world workloads soon.
Prior
to the release of the Cavium ThunderX most 64-bit ARM development, even for
server applications, has been done on low price ARM development boards. There
the typical core and memory count is both fixed and low. Networking is often
provided by a USB to Ethernet adapter. This is a scene of typical ARM
development hardware to date at many Silicon Valley startups:
While that is great for IoT development, the Cavium ThunderX platform is completely different. There are both single and dual processor configurations scaling up to 96 64-bit ARM cores. Memory capacities can scale into the TB range, or about 1000x a typical IoT development board. Networking provided on our test platforms is 80Gbps for our single processor system and 160Gbps on our dual processor system. Onboard storage can support more than a dozen SSDs or hard drives. Here is what our dual Cavium ThunderX 96 core test platform (a Gigabyte R270-T61) looks like inside:
The
bottom line is, if you are developing for ARM in the data center, you need to
get a Cavium ThunderX platform as it is the best data center ARM platform
generally available today. In the remainder of this article, we are going to
show how some benchmarks around the evolving software and development
ecosystems. These benchmarks will show how the Cavium ThunderX is a competitive
server platform. With a few weeks of working with the hardware/ software, and
given the fact we manage both lab and production servers with Ubuntu, we are
going to share some anecdotal experiences as well.
The
Ubuntu 16.04 LTS Update
We
originally received our single Cavium ThunderX 48 core system Gigabyte R120-T30
that we reviewed here. It had Ubuntu 14.04 LTS pre-installed from Cavium. After
poking around with the machine running in our data center, there were a few
nuances to the setup and ARM platforms:
- - Using
Ubuntu 14.04 LTS required quite a bit of patching to get great performance
- - Trying
to pull working software via “apt-get install” if it resided in universe
did not always work. Sometimes packages were just not present. Those that
did install were not optimized.
- - As Cavium pointed out, using newer gcc versions and building applications from the latest source was often the way to get good performance out of ARM platforms.
We
updated the 1S ThunderX platform to Ubuntu 16.04 LTS the same week we received
the 2S ThunderX platform in our data center. It was immediately clear that the
experience was much better. Software that required patching instead worked out
of the box. Packages installed from repos almost every time with even many
multiverse packages working without having to custom compile software. This was
a completely different experience.
The update had two implications. First, unlike Ubuntu 14.04 LTS,
16.04 LTS felt more like it just worked. Second, out of box performance was
much better than in 14.04.
Related Posts :
- Back to Home »
- 64-bit ARM , ARM compilers , ARM developers , ARM development , ARM Hardwares , ARM Software , ARM systems , ARM Tech , Cloud Computing , Server Barebone , Server Platforms »
- Cavium ThunderX Benchmarks Part II: Why enterprise ARM developers need these machines


