Live data from Hacker News

Ask HN: Why are modern Intel CPUs not getting a lot more cores?

news.ycombinator.com

51–60 of 71 posts

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#51
post #2

Because common desktop applications still don't do much with multiple cores, and thus a few fast cores are better (and techniques like TurboBoost are useful, where cores sleep to free the energy budget to allow a single core to clock even higher). And for many things, CPUs have been fast enough for quite a while now. So the common CPUs have only a few cores, people who really want more get to pay the premium for the…

You can get full blown Xeon chips with 22 cores per socket nowadays. You don't have to go ARM or Xeon-D to get a ton of cores. http://ark.intel.com/products/91317/Intel-Xeon-Processor-E5-...

The point I wanted to make is that in that market segment, you can choose between many small or a few large cores for the same price, not just buy a bigger CPU for more money.

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#52
post #41
post #2

Because common desktop applications still don't do much with multiple cores, and thus a few fast cores are better (and techniques like TurboBoost are useful, where cores sleep to free the energy budget to allow a single core to clock even higher). And for many things, CPUs have been fast enough for quite a while now. So the common CPUs have only a few cores, people who really want more get to pay the premium for the…

You can still distribute processes across cores and there are lots of them on modern OSes.

But what do you gain from distributing processes that mostly don't do much to more cores, at the cost of single-thread performance? (Which I'm going to assume to compare roughly equal power usage or costs. Or is that assumption horribly broken?)

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#53
This is my current understanding:

Mostly down to poor support for multiple cores in software, a lot of which have some kind of legacy heritage, and some tasks not translating well to running in parallel. Take video editing, for example - generally a single task the requires straight-line speed on one core, while the rest sit idle. Games are the most intensive for multi-core CPUs, but gamers usually buy top-end components, up to and including Xeons.

If anything, we tend to have a glut of CPU performance for day to day tasks. Even low-grade CPUs like Celerons are capable daily-use machines; some tech people (a friend included) see no reason to go beyond an i3. The multi-core paradigm shift around 2005-6 also massively increased CPU efficiency over anything that came before, reducing the need for existing applications to be reworked to exploit the extra cores. Intensive Javascript on sites can really drag your browser down, but even Chrome only runs one process per tab, and few people work with more than one tab at once. Multi-cores therefore tend to take care of background tasks, with only one core at a time doing all the heavy lifting. For one of the best examples of multi-core not being the ideal solution, one need only look at the Playstation 3. The 7-core (I think?) CPU is extremely powerful, but very, very difficult to program for, creating real headaches for developers trying to exploit its potential.

Multi-core might have drastically improved power efficiency, but it hasn't completely solved the heat generation problem. With the Prescott P4, Intel realised the core was generating so much heat it presented a serious problem to cool it. Cramming 10 of those on a single die would probably cause a China Syndrome. Adding cores allowed manufacturers to clock each core lower and still crunch a similar amount of numbers while reducing the heat output, but this sacrifices straight-line speed for single tasks. Ergo, AMD and Intel have to compromise for their consumer-grade products - enough straight-line performance that it doesn't feel slow for the current task, and enough cores to keep the throughput high. Looking at the current Xeon E7 v4 series, for example, increasing the core count above 4 results in a decrease in clock speed, likely entirely down to keeping the heat under control.

Add into this, laptop sales overtook desktops sometime around 2010, which require lower power consumption above all else. You could put a 16-core CPU in a laptop, but to keep power consumption realistic each core would probably end up clocked slower than a Pentium II. Further to this, a second shift occurred a year or two later where tablet and phone sales outstripped laptops. Mobile devices based on ARM CPUs are very power-efficient for all but the most demanding tasks. I know several people who've ditched laptops altogether and use Android or iPads exclusively. Essentially, current consumers have no need for the higher number-crunching capability of a desktop, which in turn means the traditional market for Intel and AMD has shrunk noticeably. ARM CPUs are starting to come standard with 8 cores, and it's difficult to find a current device with less than 4, all helped by the ARM architecture's power efficiency. Because they run an OS designed specifically for low power, not for general purpose, the cores can be clocked lower.

A lot of factors, but as noted, Intel and AMD are still improving their CPUs, just not by cramming more cores into the same die.

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#54
post #7

A balance needs to be striken between the consumers of data (OOO execution, multiple issues, HT threads and multiple cores), and the providers of data, the cache subsystem (and memory etc). Bigger caches that would be required by more cores in order to keep the "usefulness" of the design in balance, would lead to higher power consumption, which a) is a primary criterium of evaluation of the product such as laptops, e…

Also could it be that bigger caches would require more coherence-logic (or even a more complicated/congested cache-bus), making everything slower, and eventually negating the advantage of more cores?

You can make cache coherence scale to multiple cores with precise tracking and the overhead of precise tracking can be reduced by arranging your cores as clusters.

Exact tracking basically requires a bit field with one bit for each core. The problem is with the storage overhead since a 64 core cpu would need 64 bits per cache line. However if you had a 64 core CPU you could partition it into 8 clusters with 8 cores each which means you only need 8 bits per cache line for exact tracking.

http://www.cis.upenn.edu/acg/papers/cacm12_why_coherence.pdf

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#55

They actually are doing more cores... For now, they integrated the Phi chip into a real cpu. Give it another 2-3 years then this tech will come to consumers (very likely I think). http://www.anandtech.com/show/10553/asrock-rack-launches-2u4... And I completely disagree with that consumers don't need many cores... That would be paramount to saying that consumers don't need GPUs. One of Intel's core arguments for bring…

Interesting. Could you provide some links to nVidia's next generation GPU to be a Phi-kind-of-thing? Just curious.

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#56

1) Nobody writes multi-threaded code For user applications multi-threading is overkill. It's hard to write, and there are very little benefits the average user will see. Good concurrency isn't even that important on servers. You can trash your cache and interrupt tables but you'll still handle 10million clients per node so nobody cares. Great concurrency is really only practiced in HFT and HPC. 2) Modern hardware/OS'…

> Nobody writes multi-threaded code Fires up your activity monitor or task manager and you can see that most applications have much more than one thread. Many even have tens or several tens of threads.

Are they actually processing in parallel, or just spawning threads to do IO?

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#57
post #32

Earlier quoted context omitted.

Yes/No. Only game engines made in DX12, and Vulkan. And still there is the major road block that Nvidia (>70% market share) only offers 1 compute thread in async-compute mode, and no parallel rendering/compute work so using DX12/Vulkan means your game will work WORSE for 70% of your consumers.

Except that graphics rendering is the last step of the game engine. Computing world changes, updating model locations, handling network traffic, sampling user input, saving game state for autosaves, preloading resources from the disk for transitions, all need cpu time.

All of those other things are significantly cheaper than graphics.

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#58
post #30

AMD tried and failed. Multiple cores is what the FX is all about. What's the one type of application that drives processor sales on the desktop? Right, games. What's one of many types of applications that do profit more from fewer stronger cores than from more slower ones? Right again, games. That said, over the last 5 years processors did get beefier. They just did not got more cores. The i5-2500K (from 2011) is slo…

> AMD tried and failed.

What's your personal definition of "failed"? AMD may not be the market leader but for the same price, their multicore processors are far better than Intel's offering.

Old games that haven't been properly designed to take advantage of more than 2 or 3 cores don't benefit from AMD's 8-core processors, but calling a marketing issue a failure, particularly a technical one, is simply disingenuous.

> Multiple cores is what the FX is all about. What's the one type of application that drives processor sales on the desktop? Right, games. What's one of many types of applications that do profit more from fewer stronger cores than from more slower ones? Right again, games.

False dilemma. All processes take advantage from faster cores, but more cores don't mean faster cores. More cores offer the ability to run more processes concurrently.

If an application isn't developed to take advantage of the available cores, you end up with a system where over half of the available computational resources remain idling while only 3 or 4 are taxed.

Inefficient software isn't a hardware problem.

> And games are also changing. Not too long ago you could still play games (like Fallout 3) with a single core.

That's precisely the issue. Game developers need to target the computer hardware that gamers use, and the computer hardware that the average gamer uses is very old. For instance, let's look at Steam's hardware and software survey:

http://store.steampowered.com/hwsurvey

Nearly half of the hardware runs with less than 2 cores, and around 95% runs harware with up to 4 cores.

Yet, AMD offers 6 and 8-core processors, which appear to be used by less than 2% of Steam's gaming community.

Why would video game developers spend their resources designing software that take advantage of the available computational resources provided by AMD's 6 and 8-core line of processors if this only impacts less than 2% of the gaming community?

Therefore, games keep being developed based on constrained hardware requirements.

But this is by no means a technical failure on behalf of AMD.

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#59
post #23

Earlier quoted context omitted.

That's an issue yes, but it's not the main reason why Intel isn't offering more cores for decent prices, otherwise we would've never even moved to two cores or four cores. The main reason is Intel doesn't feel like it needs to because AMD doesn't offer much competition with its current architecture, even with twice as many cores. But that will change when Zen chips arrive. http://www.extremetech.com/computing/233453-…

>Not when AMD is going to offer 8-10 core chips for less than half that price soon, with similar performance. This has been touted every year since the initial Athlon 64 came out and knocked intel's teeth out until it came back with the pentium pro based Yona and Nehalem chips and buried netburst. It's still yet to be determined of Zen has anywhere near the SCP IPC that Skylake/Haswell based CPU's do so far there was…

     Also it's yet to be seen what chipset we are getting,
     atm you shouldn't buy AMD not because the CPU's are
     utter garbage, but the chipset is utter trash.
Zen is going to have an integrated memory controller/PCIe root complex on dye. So this should help with IO concerns (no north bridge). Ofc this is gen 1 tech so who knows it could be crippled for certain tasks.

Re: Ask HN: Why are modern Intel CPUs not getting a lot more cores?

#60
post #52
post #41

Earlier quoted context omitted.

You can still distribute processes across cores and there are lots of them on modern OSes.

But what do you gain from distributing processes that mostly don't do much to more cores, at the cost of single-thread performance? (Which I'm going to assume to compare roughly equal power usage or costs. Or is that assumption horribly broken?)

You get more stuff done in actual parallel execution instead of having processes fighting for CPU time.

Specially when some of those processes are CPU-hogs like firewalls and anti-virus.

Post reply on HN