Next up are our application-specific benchmarks, including c-ray 1.1, NAMD, NPB, p7zip, redis, and OpenSSL. At some point in the future, optimizations for Haswell-EP's advanced instructions may find their way into these titles. But for now, the performance we're reporting represents the current state of affairs. Specifically, AVX 2.0 would likely have a major impact on the results.
c-ray 1.1
Linux-Bench actually runs three different c-ray tests. The first is dubbed "easy", and is great for showing performance differences between Atom processors and desktop CPUs. We excluded that measurement because all three platforms finish it in under one second. Instead, we are using the much tougher command cat sphfract | ./c-ray-mt -t $threads -s $resolution -r 8 to demonstrate differences between these platforms.
Ray tracing generally scales well with both CPU frequency and core count; we see both trends in action as the Xeon E5-2600 v3s pull ahead.
While the 1920x1200 test responds readily to more execution resources, the 3840x2160 benchmark doesn't. Some of that may be due to the -2690 v3's 300 MHz per core advantage. Still, the scaling of the Xeon E5-2690 from one generation to the next is made obvious.
NAMD
Our NAMD tests use molecular modeling to tax these server platforms. For anyone involved in projects like Folding@Home, these are the types of workloads that fully utilize multi-threaded processors.
Haswell-EP has little trouble showing off its strengths.
The first-gen Xeon E5 and v2 results aren't what most folks would expect. However, Ivy Bridge-EP had a nasty habit of getting aggressive on power-saving, dropping all cores to lower P-states when demand dropped. That may be what's happening here. In contrast, the Xeon E5-2600 v3s control this on a per-core basis, so the impact of turning cores on and off isn't reflected as painfully in the performance benchmarks.
NPB
For a test with "Parallel Benchmark" in its name, we're expecting Haswell-EP's high core counts to yield big performance numbers.
hereas we see relatively pedestrian improvements going from first-gen Xeon E5-2690 the Haswell-EP-based variant, Intel's -2699 v3 finishes way ahead of the other CPUs. Since this was repeatable, I'm hypothesizing that the problem being solved fits into the big die's 45 MB L3 cache.
P7zip
p7zip is a standard compression benchmark. Generally, these types of algorithms are able to take advantage of many threads. I'd guess that the Haswell-EP parts are able to overcome small frequency deficits to finish with a lead, thanks to their IPC throughput advantage and core count.
There is a linear-looking performance improvement stepping between each generation of Intel's Xeon E5-2690. The Xeon E5-2699 v3 again shows off what extra cores can do in a workload able to utilize them, posting an approximately 2x increase over the first-gen Xeon E5-2690.
Redis
Redis is an in-memory application, so core count has less of an overall impact.
As I expected, the results fall much closer to each other, looking a lot like our STREAM results. Still, the configuration with one 16 GB DDR4 DIMM per channel does pull ahead.
OpenSSL
Again, OpenSSL is widely used, so this is perhaps one of the most applicable benchmarks for Web servers. Some companies are pushing for broader use of SSL to keep data encrypted, making the metric particularly important.
The Haswell-EP-based parts scale well. In particular, the Xeon E5-2699 v3 shows a greater than 2x performance improvement over Intel's once-top-of-the-line Xeon E5-2690.
- Xeon E5-2600 v3 Platform Introduction
- Meet Intel's Grantley Platform
- Fortville: 40 GbE Ethernet For The Masses
- How We Tested
- Supermicro SYS-6018R-WTR
- Linux-Bench Components And Test Setup
- Benchmark Results
- More Benchmark Results
- Power Consumption Results
- Haswell-EP Evolves The Server And Workstation







Actually we should be trying to move away from traditional serial-styled processing and move towards parallel processing. Each core can handle only one task at a time and only utilize it's own resources by itself.
This is unlike a GPU, where many processors utilize the same resources and perform multiple tasks at the same time. The problem is that this type of architecture is not supported at all in CPUs and Nvidia is looking for people to learn to program for parallel styled architectures.
But this lineup of CPUs is clearly a marvel of engineering and hard work. Glad to see the server industry will truly start to benefit from the low power and finely-tuned abilities of haswell along with the recently introduced DDR4 which is optimized for low power usage as well. This, combined along with flash-based storage (aka SSDs) which also have lower power drain than the average HDD, will slash through server power bills and save companies literally billions of dollars. Technology is amazing isn't it?
However, with multiple cores, now we can have better AI and other "off-screen" items that don't necessarily always depend upon the user's direct input. There's still a lot of work to be done there, though.
I think all of the major server vendors are going to suck up all of the major memory manufacturers DDR4 capacity for a while before the prices go down.
I think all of the major server vendors are going to suck up all of the major memory manufacturers DDR4 capacity for a while before the prices go down.
Whether it helps or hinders will ultimately depend on the VM admin. What most VM admins don't realize is that HT can actually end up degrading performance in virtual environments unless the VM admin took specific steps to use HT properly (and most do not). A lot of companies will tell you to turn off HT to increase performance because they've dealt with a lot of VM admins that don't set things up properly (a lot of VM admins over allocate which is part of the reason using HT can degrade performance, but there are other settings as well that have to be set in the Hypervisor so that the guest VMs get the resources they need).
This is easier said than done since there are tons of everyday algorithms, such as text/code parsing, that are fundamentally incompatible with threading. If you want to build a list or tree using threads, you usually need to split the operation to let each thread work in isolated parts of the list/tree so they do not trip over each other and waste most of their time waiting on mutexes and at the end of the build process, you have a merge process to bring everything back together which is usually not very thread-friendly if you want it to be efficient.
In many cases, trying to convert algorithms to threads is simply more trouble than it is worth.
Simply never.
A game is made by sound, logic and graphics. You may dedicate this 3 processes to a number of cores but they remain 3. As you split load some of the logic must recall who did what and where. Logic deals mainly with FPU units, while graphics with integers. GPUs are great integers number crunchers. They have to be fed by the CPU so an extra core manage data through different memories, this is where we start failing. Keeping all in one spot, with the same resources reduces need to transfer data. By implementing a whole processor with GPU, FPU, x86 and sound processor all in one package with on board memory makes for the ultimate gaming processor. As long as we render scenes with triangles we will keep using the legacy stuff. When the time will come to render scenes by pixel we will need a fraction of today's performance, and half of the texture memory (just scale the highest quality) and half of models memory. Epic is already working on that.
Great points. One minor complication is that the NVIDIA GeForce Titan used in the Haswell-E review would not have fit in the 1U servers (let alone be cooled well by then.) Onboard Matrox G200eW graphics are too much of a bottleneck for the standard test suite.
On the other hand, this platform is going to be used primarily in servers. Although there are some really nice workstation options coming, we did not have access in time for testing.
One plus is that you can run the tests directly on your own machine by booting to a Ubuntu 14.04 LTS LiveCD, and issuing three commands. There is a video and the three simple commands here: http://linux-bench.com/howto.html That should give you a rough idea in terms of performance of your system compared to the test systems.
Hopefully we will get some workstation appropriate platforms in the near future where we can run the standard set of TH tests. Thanks for your feedback since it is certainly on the radar.
Agree, the conclusion says "Server and Workstation" while the benchmarks only shows Server application.. I came here only to saw Workstation performance specially 3ds max rendering ( and I hope to see vray and mental ray benchmarks also ) and Adobe applications also as mentioned above
This is easier said than done since there are tons of everyday algorithms, such as text/code parsing, that are fundamentally incompatible with threading. If you want to build a list or tree using threads, you usually need to split the operation to let each thread work in isolated parts of the list/tree so they do not trip over each other and waste most of their time waiting on mutexes and at the end of the build process, you have a merge process to bring everything back together which is usually not very thread-friendly if you want it to be efficient.
In many cases, trying to convert algorithms to threads is simply more trouble than it is worth.
Then wouldn't a smart move be to move towards an HSA oriented architecture that combines the parallel compute abilities with the serial-oriented task managing? I believe that is essentially what AMD did with Kaveri actually. It is more befitting towards consumer/workstation workloads that can utilize OpenCL.
Although that wouldn't really be the best option for a server setting. There are usually two scenarios: you'll either need huge amounts of raw compute ability for services such as OnLive
Or the streamlined style of multiple CPUs performing just general server tasks such as accepting a large amount of packet requests and ping queries which is what the run of the mill server is built for.
In relation to what I was speaking about concerning Nvidia, it was this little piece:
http://www.nvidia.com/object/what-is-gpu-computing.html
Forgive me if I am incorrect about anything. I'm certainly not an engineer or a talented programmer by any means.
In theory, yes. In practice, not necessarily - algorithms like parsing are full of non-linear and highly context-sensitive branch-driven code which makes those sorts of algorithms effectively impossible to thread no matter how close you bring the extra compute power. That is what I mean by fundamental algorithms that are also fundamentally non-threadable.
I think all of the major server vendors are going to suck up all of the major memory manufacturers DDR4 capacity for a while before the prices go down.
Whether it helps or hinders will ultimately depend on the VM admin. What most VM admins don't realize is that HT can actually end up degrading performance in virtual environments unless the VM admin took specific steps to use HT properly (and most do not). A lot of companies will tell you to turn off HT to increase performance because they've dealt with a lot of VM admins that don't set things up properly (a lot of VM admins over allocate which is part of the reason using HT can degrade performance, but there are other settings as well that have to be set in the Hypervisor so that the guest VMs get the resources they need).
Ummm... buddy... I didn't mention HT (hyper-threading) at all... just memory.
Xajel,
An AE test will only be useful if the system has a lot of RAM (64GB+),
and that could be hard to set up atm, given the cost involved (unless a
kind RAM maker can provide a whole pile of kits to toms).
Ian.
"c-ray 1.1 is a popular and simple ray-tracing benchmark for Linux systems ..."
Blimey, wasn't expecting to see that in the benchmark list.
c-ray has taken on a life of its own (I didn't know it was being so widely used
until about a year ago). I took it over from John because he didn't have time
for it anymore.
One thing though, can you change the link to the results page please? The
Blinkenlights site is a mirror (I have no control over its persistence) and may
not be around in the future. The primary location is here, my own domain.
I'm glad you didn't use the simple test, it is indeed really small, and on any
kind of modern hardware it completes way too fast for useful measurement.
It's a pity though that the other tests don't use the settings I've used, since
the results can't be compared, but never mind.
The other tests do impose a degree of main memory access, but not much.
I created them mainly to have something which lasted long enough to be
useful for testing multicore systems. Even then, the slowest test takes just
11s to complete on an old 8-core XEON. Maybe I should start a separate
new table for something like 'sphfract' at 7500x3500 with 8X oversampling...
Btw, c-ray's threading is by scanline, so there's no gain from having more
threads than the no. of lines in an image.
Ian.
PS. Just a thought - any chance you could manually run the C-ray tests
using the settings on my page? I'll add them to the tables. 8) Include the
'simple' test aswell, just for the hell of it.
I think all of the major server vendors are going to suck up all of the major memory manufacturers DDR4 capacity for a while before the prices go down.
Whether it helps or hinders will ultimately depend on the VM admin. What most VM admins don't realize is that HT can actually end up degrading performance in virtual environments unless the VM admin took specific steps to use HT properly (and most do not). A lot of companies will tell you to turn off HT to increase performance because they've dealt with a lot of VM admins that don't set things up properly (a lot of VM admins over allocate which is part of the reason using HT can degrade performance, but there are other settings as well that have to be set in the Hypervisor so that the guest VMs get the resources they need).
Ummm... buddy... I didn't mention HT (hyper-threading) at all... just memory.
You mentioned virtualization in the very first line, that's the crux of my post.
This is easier said than done since there are tons of everyday algorithms, such as text/code parsing, that are fundamentally incompatible with threading. If you want to build a list or tree using threads, you usually need to split the operation to let each thread work in isolated parts of the list/tree so they do not trip over each other and waste most of their time waiting on mutexes and at the end of the build process, you have a merge process to bring everything back together which is usually not very thread-friendly if you want it to be efficient.
In many cases, trying to convert algorithms to threads is simply more trouble than it is worth.
Then wouldn't a smart move be to move towards an HSA oriented architecture that combines the parallel compute abilities with the serial-oriented task managing? I believe that is essentially what AMD did with Kaveri actually. It is more befitting towards consumer/workstation workloads that can utilize OpenCL.
Although that wouldn't really be the best option for a server setting. There are usually two scenarios: you'll either need huge amounts of raw compute ability for services such as OnLive
Or the streamlined style of multiple CPUs performing just general server tasks such as accepting a large amount of packet requests and ping queries which is what the run of the mill server is built for.
In relation to what I was speaking about concerning Nvidia, it was this little piece:
http://www.nvidia.com/object/what-is-gpu-computing.html
Forgive me if I am incorrect about anything. I'm certainly not an engineer or a talented programmer by any means.
It's a great concept, and AMD was brilliant thinking about it. the two main problems I saw at that time ( times of Kaveri launch ) was the not that great serialised performance and the almost lack of Software support. not to mention the weak OpenCL implementation... I mean weak by comparing it to CUDA, don't think that I prefer CUDA over OpenCL, infact I love OpenCL more ( I always loved open standard where every company can adopt it and the users will have the choice of whatever hardware they want )
Most pro-applications now like 3d rendering prefer CUDA over OpenCL for at least for the time being, I saw GPU accelerated beta's for vray but it only support CUDA duo to weak OpenCL implementation ( on both sides NVIDIA and AMD )
I'm not saying that OpenCL is weak, but from a software standpoint there's a still a lot of work to do, OpenCL by it self is very promising, but it should work good at first..
Xajel,
An AE test will only be useful if the system has a lot of RAM (64GB+),
and that could be hard to set up atm, given the cost involved (unless a
kind RAM maker can provide a whole pile of kits to toms).
Ian.
RAM manufacturing really need to promote their products you know, and one of promoting ways is giving these RAM to hardware sites... so If requested by the site I bet there will be some companies that will be interested in this promising new market ( DDR4 + ECC DDR4 )
At UK wholesale prices there's less than 15% difference between DDR3 and DDR4 for the same speed/size. This has as much to do with DDR3 having gone up ~50% in the last 12 months as with ready availability of DDR4 if you look in the right places.