The Intel Xeon E7-8800 v3 Review: The POWER8 Killer?
anandtech.com
anandtech.com
And that's just my born in Computer Shopper Pavlovian response to articles about new more powerful CPU's. I have no idea what I would do with eight fifteen core CPU's and six terabytes of RAM other than write checks to Alabama Power and think of ways to mention it in casual conversations. I mean a 911 Turbo? at least I could use it to pick up hamburger buns.
At a deeper level, I always wonder, what [besides mining bitCoin] would other people hack up with a monstrous amount of computing power on the order of a data center in a container?
If your code compiles in ~16 seconds, reducing that to 4 would add comfort.
If your code compiles 60 seconds, reducing that to 15 would allow not losing concentration.
If your code compiles in 60 minutes, reducing that to 15 minutes would actually allow to do any work on that (not that it's not possible, but it's really not pleasant).
I thought about 4-core vs newer 8-core desktop CPUs when upgrading, but decided that I more often do work on less than 4 cores (with 1 you get the "Turbo" capacity). The only multi-threaded program is PyCharm which can use up all those cores when recalculating its static type checking of Python code (which it seems to do quite excessively).
Another thing useful for a programmer is being able to benchmark things - with a multicore machine you can tie off one core (or multiple cores!) exclusively for a benchmark, which can really help reproducibility.
Show them the numbers, make it an easy decision for them.
I wouldn't call it "hacked up", but large-area surveillance radar systems like AEGIS and JSTARS use very high density systems like this, because the size, power, and cooling available for the signal and display processing are severely limited. Same can be said for systems like the mobile Doppler radars the National Weather Service and various universities use for studying severe weather.
Another idea: you can also do some big linear algebra problems. I'm doing this now at work and it's kind of interesting that a single cloud machine is like a supercomputer from a decade or so ago (32 cores, 128 GB of RAM). I guess that is obvious but once you start using the whole machine it becomes impressed upon you.
I actually bought a big Dell machine to do secure builds... thinking of getting something like this though :)
Raytracing alone can load absolutely any system to the max, because it scales so well.
In case some people don't get it yet, the way these exclusive indepth pieces work is not that Anandtech goes to Intel and says "we would like to do an article about your chips and IBMs'". It's more like Intel going to Anandtech and saying "we have some great material to give you - would you like to write an article around it?"
And that's how Intel's side of the story gets pushed into the market.
> Ultimately, the POWER8 is able to offer slightly higher raw performance than the Intel CPUs, however it just won't be able to do so at the same performance/watt. Meanwhile the reasonable pricing of the POWER8 chips should result in third party servers that are strongly competitive with the Xeon on a performance-per-dollar basis.
I think the comparison is fair, however I also have to say that repeating all the benchmarks in the rest of the article with power8 as well, would have been better. It seems to me a bit like the power8 comparison was an afterthought.
[1] http://anandtech.com/show/9193/the-xeon-e78800-v3-review/7
Disclaimer: I work for IBM (but not on hardware).
http://www.supermicro.com/products/motherboard/Xeon/C600/X10...
It is a lot of work to convert some of the global illumination calculations that are high quality (not special case) to run on GPUs fast. That is the main issue.
We support real-time high-end GPU-based rendering as well:
https://clara.io/view/b43f3215-c9ef-488f-a55f-1bf2a7d74f3f/w... https://clara.io/view/193070f2-e8af-4afc-a531-9d82338b5288/w... https://clara.io/view/a558dca2-8c2f-432c-ab34-9135c3066010/w...
If it costs you 15 full time developers 6 months to transfer your x86 rendering code to port to OpenCL (or CUDA), then maybe spending $100,000 on hardware is cheaper than spending $700,000+ on developers.
If we are talking rasterization, isn't an OpenCL/CUDA version pretty much always going to stomp an x86 implementation? While on the ray tracing side, there's little difference?
I'm just curious because my first reaction was that "sure the dev cost is initially much higher, but how much time is saved on rendering in the long run?".
GPU will stomp CPU on memory-bandwidth alone (GDDR5 RAM is much much faster than DDR3... and when DDR4 catches up in the coming years all the GPUs will switch to HBM and still retain a massive memory bandwidth advantage).
CPU wins due to legacy code and access to huge memory.
In practice, RAM Requirements mean at best, it'd be a OpenCL/CUDA version PLUS CPU to handle the large scenes. I'm sure the OpenCL / CUDA version will be cheaper from a hardware perspective, but once again... developers are very expensive. A decent software development team runs in the millions of $$ / year in costs, let alone a team of GPU-specialist high-performance programmers.
Its things like this why Intel's Knight's Landing GPU chip (which runs x86) actually have a valid market case. Sure, Knights Landing is slower, weaker, and more expensive than the competition. But that x86 compatibility is a major feature that saves developer's time.
Also, when you start doing GPU + CPU computations, the PCIe latency starts to become a major issue. Tasks may complete faster on the CPU than CPU+GPU, because the task is in CPU L1 or L2 Cache.
While if you do CPU+GPU, you push the code out the PCIe and then synchronize the CPU+GPU... then the GPU starts pulling the data into its cache. When the GPU is done the task, its pushed over PCIe AGAIN.
So its a bit tricky task to balance the memory issues and cooperation across cores.
I published a paper with this conclusion a while back ("Evaluation of Streaming Aggregation on Parallel Hardware Architectures", http://www.scott-a-s.com/files/debs2010.pdf). My paper was basically, "GPUs are awful for our problem, so let's compare to CPUs and Cell". A more recent paper from NSDI 2015 from a group at CMU, with Anuj Kalia as the first author, that also looks into it, "Raising the Bar for Using GPUs in Software Packet Processing", http://www.cs.cmu.edu/~akalia/doc/nsdi15/gopt_nsdi.pdf. They look at just the GPU and CPU part of the spectrum - which is probably more relevant to most, as the Cell is a dead technology now. (I think my conclusions will matter more when on-chip GPUs become more prevalent, but we're not there yet). Their paper starts with an excellent analysis of the latencies for transferring data to GPUs, and comparing end-to-end performance against several different algorithms, where they vary the amount of data reuse.
My consistent gripe when talking about improving application performance by using accelerators is that one must take data copying costs into consideration, which means we must use application end-to-end performance as our metric. There's a temptation to focus on just the computational kernel performance. The Kalia et al. paper is the best treatment of this subject that I have seen.
Unfortunately, there's no real scaling. The APUs are mostly consumer products. The biggest APUs are XBox One and PS4, unavailable to the public.
Still, its nice to see a company tackle the latency issue.
Take up should be much better, as it supports much more memory and full x86 instructions.
But you are correct that GPUs is the future of rendering. :)
This caught my attention: http://images.anandtech.com/doci/9193/MemoryConfigBiosE7v3.p...
I wonder whose BIOS that is, or if it's just a simulated screenshot. All the ones I've seen look a bit nicer: http://www.overclock3d.net/gfx/articles/2009/08/10133320867l...
I guess I want something that distros test on -- I would have said Debian, but Ubuntu does seem to have better driver support.
Price is not a big consideration; I just want to see what something "easy" is like and how much it costs.
From page 8, http://anandtech.com/show/9193/the-xeon-e78800-v3-review/8 :
As far as reliability is concerned, while we little reason to doubt that the quad Xeon OEM systems out there are the pinnacle of reliability, our initial experience with Xeon E7 v3 has not been as rosy. Our updated and upgraded Quad Xeon Brickland system was only finally stable after many firmware updates, with its issues sorted out just a few hours before the launch of the Xeon E7 v3. Unfortunately this means our time testing the stable Xeon E7 v3 was a bit more limited than we would have liked.
So, does anyone have experience with today's Xeon based workstations? Are they worth the 1-2k (or more, if you go crazy...) premium?
This system they're testing is a beast that's designed for enterprise systems; they're hugely expensive. You're meant to get perhaps 144 hardware threads, hundreds of gigabytes of RAM, terabytes of storage and a price tag of >$50,000; it's designed for the limits of vertical scaling (and is a job I imagine it does well).
Even if you were to dump this kind of cash, you'd get terrible performance in practice due to the design decisions made behind all of this (memory system will be tuned for throughput not latency, for example) and poor software support (i.e. an OS like OS X would do a shoddy job of scheduling threads, especially across NUMA domains. Linux was terrible also until a few years ago, it wouldn't manage to schedule more than about 30 threads simultaneously no matter the lad).
I'd go so far as to say that you'd expect better performance from a standard tower than you would from this.
In general you'd expect a desktop processor to give you about as good performance as you'd manage to get for developing C++. All of the editing tools are tuned for desktop processors, and there's not amazing parallelism to be had with most compilations (and incremental compilations won't see them at all). Note the benchmarks are for 'total number of kernel compilations' and not 'time for single compilation' :)
I regularly run 'make -j32' on a machine, compilation of well-structured projects is embarrassingly parallel. Incremental compilation is a fair point, but may not always work in template-heavy codebases that are restricted to C++03 (no extern template).
I'd say that normally, you probably don't need it, unless you want ECC memory, large cache sizes, large amounts of memory, etc. (compared to Core i7)
However, they can be very price-effective. Many companies buy workstations for e.g. CAD and replace their machines every 2 or 3 years. Since they are then sold en masse on eBay, you basically get a machine that is still high-end for a bargain price.
E.g., my Xeon workstation was ~400 Euro, has a Xeon E3-1270 that is ~4 times more powerful than my relatively new Mac Mini, comes with an acceptable CUDA-capable GPU, and 12GB memory.
If I was to buy a new CPU today, I'd buy this one:
https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-5930K...
I also have quad channel OC memory on my motherboard, the quad channel part is actually significant in terms of compile speed (and the OC part isn't I found out.)
Depends on the kind of number crunching. If you are doing expensive matrix computations, a high-end GTX CPU or a Tesla stream processor may buy you much more for the same price.
Also, if the choice is between cache size and architecture, a new architecture may bring more. E.g. my Core i7 MacBook royally beats some of our Xeon machines with 25MB cache, by virtue of having AVX with 256 bit wide registers for SIMD.
Of course, if you can have it all, take it all :).
They support ECC ram, which is pretty important for some people. I believe the pre-fetchers are more aggressive on the Xeons as well, to make more use of the available memory bandwidth available with multiple QPI connections.
It has been pretty easy to get an x86 box with better total performance than a POWER box for years. The problem is that you're going to go bankrupt trying to license all those cores for the kind of software you're getting from IBM and which is the reason POWER is even in the equation in the first place...
Most IBM software (if not all) is licensed as PVUs (processor value units). This hurts multi-core machines badly.
I don't remember the maximum scalability of these, but I doubt they would reach the biggest POWER machines. Problem is: if you need the biggest POWER machines, you're probably running something that isn't even portable to x86, so the comparison becomes academic.
http://ark.intel.com/products/84685/Intel-Xeon-Processor-E7-...
>Package Specifications >Max CPU Configuration 8
So 18 cores * 8 = 144 cores / 288 threads per board. Not too shabby.
I know there are niche markets out there, but I'm still surprised that anyone would use anything but Intel for the very high end.
However, the memory-bandwidth argument makes sense to me. So I'll accept that as a good reason to go Power8.
Could you give a quote? All I could find about performance-per-dollar was this excerpt from [1]:
> Ultimately, the POWER8 is able to offer slightly higher raw performance than the Intel CPUs, however it just won't be able to do so at the same performance/watt. Meanwhile the reasonable pricing of the POWER8 chips should result in third party servers that are strongly competitive with the Xeon on a performance-per-dollar basis.
This was in conclusion to the E5-vs-Power8 comparison. For some reason they didn't use E7, however this shouldn't change the outcome, since according to [2] the E7 is basically the same chip with the same number of cores, just with a few more features enabled (4 and 8 socket systems possible and support for more memory). So AFAIK the E5 shouldn't be looked at as a "small" version of the E7, since taken for itself in isolation for a given benchmark that doesn't have extremely high memory demand, it should deliver the same performance. Whether you need an E7 or not should be decided in terms of the architecture you want to build, not the performance you aim for.
[1]http://anandtech.com/show/9193/the-xeon-e78800-v3-review/7
[2]http://anandtech.com/show/9193/the-xeon-e78800-v3-review/3
however, if your application/workload can be distributed over multiple machines, Intel is going to eat your lunch on cost, as you can buy several of these new Xeon systems and crush it.
not all of us have the luxury of control over the software we use (many enterprise shops are held hostage by vendor software which hasn't scaled out, and continues to depend on scaling up, because distributed is hard)
If your employer historically likes IBM, it makes sense. I don't think they have any new customer acquisition.