6 ms·
I saw another article that referred to this as a sign of the slowing of Moore's law. However, Moore's law has its variances so I'm not really worried about tha
by MCRed 11y ago
I saw another article that referred to this as a sign of the slowing of Moore's law. However, Moore's law has its variances so I'm not really worried about that.
What I do wonder about is why we are not seeing more cores as we go down to smaller nodes. 2 and 4 cores are common now, but have been seemingly for a decade. Why aren't we seeing 8, 16, 32 and 64 cores? If you reduce the feature size and effectively thus double the surface area available, why not increase the cores? It seems the new area is going into integrated GPUs (never as good as discrete GPUs, but certainly cheaper) and cache. Cache can improve performance but not like more cores. While intel does a tick/tock design revision, each core seems to grow to fit the available space, with only adding a few instructions, which only add marginal utility. Not the same as doubling the number of cores, which would double theoretical performance.
Under Erlang/Elixir, we are able to get close to linear speedup from additional cores. I understand other languages struggle with multi-threaded programming, but should CPU designs be hobbled simply because the software industry is not where it should be?
Am I missing something?
- sfilipov 11y agoI think you found the answer already. Already there are server processors with a lot of cores (i.e. 20) - if you can utilise them all then buy one. However, for most client workloads, more cores does not translate to better performance because many of those cores will just idle. Single-threaded performance is still the king.
- hmottestad 11y ago18 cores seems to be the best that Intel does. Which is fairly decent. http://ark.intel.com/products/84683/Intel-Xeon-Processor-E7-8880-v3-45M-Cache-2_30-GHz http://ark.intel.com/products/84683/Intel-Xeon-Processor-E7-... In laptops, there has been a trend for thinner, lighter and long battery life. So the easiest is to lower power demand. If you increase the number of transistors (by adding more cores), power consumption wouldn't go down enough.
- robin_reala 11y agoXeon Phi currently has 61 cores[1] (62 on-die, 1 deactivated for yield reasons), and the next generation coming soon pushes that to 72 cores. [1] http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html http://www.intel.com/content/www/us/en/processors/xeon/xeon-...
- yareally 11y agoWe do have 8, 12 and 18 core CPUs made by Intel. They're just expensive and not made for the typical consumer. My PC at work has the 12 core Xeon. It's nice for compiling large projects, but at home I'm content with a 4 core i7. http://ark.intel.com/m/products/75283/Intel-Xeon-Processor-E5-2697-v2-30M-Cache-2_70-GHz#@product/specifications http://ark.intel.com/m/products/75283/Intel-Xeon-Processor-E... http://ark.intel.com/m/products/81061/Intel-Xeon-Processor-E5-2699-v3-45M-Cache-2_30-GHz http://ark.intel.com/m/products/81061/Intel-Xeon-Processor-E...
- HappyTypist 11y agoSmaller die areas have complications of its own -- heat has less space to travel. It's not as simple as "half the die area, double the cores" -- if you do that, you will end up overheating. But I think the main issue, as you mentioned, is multi-thread programming. Everyday users spend most of their time in a browser, running Javascript which is mostly synchronous. There are web workers, etc, but the vast majority of sites are still running single threaded JS.
- jsprogrammer 11y agoPeople may want to run multiple simultaneous threads though, which is what additional cores excel at.
- pixl97 11y agoNo, you may want to run multiple threads, most people want to use their computer. Most people are not limited by their CPU (or even memory these days), the limits are IOPs which an SSD can help with or the speed of their internet connection. Most computers can run 2 or 4 threads at the same time already. Just look at your average Windows computer, even when it's busy, it's probably because 1 core is in use and the program doesn't multithread in a decent manner because it is very hard to program that way.
- jsprogrammer 11y ago>No, you may want to run multiple threads, most people want to use their computer. Whether most people know how their computer works or not, many want to be able to simultaneously: listen to music and/or watch a streaming video, browse multiple web pages, use text editors, specialized business applications, IDE's, and more. You are going to have a bad time trying to do all of that on a single core, much less a single thread.
- MCRed 11y agoI have something useful to say to this but fuck it. I get nothing but down votes here, so why bother investing time in "Hacker" news? You shouldn't be downvoted like you are, this site is full of assholes apparently. Have an upvote.
- jsprogrammer 11y agoWe do see 8 and 16 cores. Newegg currently lists 10 different 8-core desktop processors and 120 different 8-core server processors. There are also 10-, 12-, 14-, and 16-core processors available to purchase right now.
- habitue 11y agoTwo things I can think of: for consumers, applications don't currently make the best use of multiple cores. There just isn't enough work to do on them. For gaming at least, DirectX 12 will remove a limitation that only one CPU core can control the GPU at a time. That may push demand for more cores upwards over time. Second is that cache coherence gets really ugly the more cores you have with a single shared memory. From what I understand, this is a limitation of assumptions in the x86 architecture. A completely new architecture might sidestep the problem, and indeed I've heard of 1024 core machines etc, which I doubt have just brute-forced cache coherence.
- socceroos 11y agoDX12 - catching up to Mantle and Vulcan but ahead in marketing.
- marcosdumay 11y agoYou are missing that yes, CPU designs are hobbled by the software industry shortcomings. Also, you are overlooking that on the traditional architectures memory access becomes slower the more cores you add. Better integrated GPU and better power consumption on PCs will win on almost all scores until the integrated GPU becomes good enough, and power consumption gets near the theoretical minimum. Then we'll probably see alternative architectures (more alternative than a GPU).
- detaro 11y agofor desktop systems, small number of fast cores is still better than multiple slower ones, since a lot of the software that would profit most isn't very well optimized for making use of many cores. IMHO there is not that much demand for better performance in bread-and-butter CPUs anyways, things like embedded graphics, power saving etc matter more. The top desktop CPUs have 6 or 8 cores, and Intel Xeons go up to 18. And there are the Intel Xeon-D and Atom Cxxxx, which go in the direction of having (at the moment up to 8) smaller cores and low energy usage, for tightly packed servers and networking devices. I guess once they get more established they might get higher-power counterparts with more cores. And the Xeon Phi might get there, if Intel manages to do what they promise for future generations. > each core seems to grow to fit the available space, with only adding a few instructions, which only add marginal utility. Not the same as doubling the number of cores, which would double theoretical performance. The progress between generations isn't big enough to allow doubling the core count in the same envelope with the same per-core performance. So they only make the cores a bit better & slowly add a few cores (mostly to the high end). high-end phones actually have quite a few cores in the meantime, but there they are staggered for different usage scenarios: a few slow, efficient cores combined with faster and more energy-hungry ones for high-performance tasks. But for most x86 systems that would "waste" to much of the chip I guess. > but should CPU designs be hobbled simply because the software industry is not where it should be? Designing CPUs for "the perfect software" is nice, but not what sells to the vast majority of the market. As listed above, there are quite a few niche lines that go in that direction, even if you just look at only Intels offerings.
- TheOtherHobbes 11y agoThere's no demand for better performance given current architectures and applications. It's not hard to imagine more interesting architectures and applications - for example associative language processing, supercomputer-powered robotics, games and UIs that have true cinematic 3D photorealism, or gestural 3D interfaces with very large retina displays. The problem is really the pace of OS and UI design. We're still using the Xerox Parc GUI model forty years after it was invented, the POSIX OS model some fifty years after it was invented, and the sequential Von Neumann architecture sixty years after it was invented. These were all breakthroughs at the time, but they should never have become the last word. Research of equivalent creativity seems to have stalled now. IMO it's not just because the low-hanging fruit has been picked, but because there are commercial, academic, and political pressures holding it back. There may be a game changer generation ten or twenty years from now. But it looks like the pace will be slow until then.
- dragonwriter 11y ago> Why aren't we seeing 8, 16, 32 and 64 cores? Intel has 8-core i7s, up to 18-core Xeon processors, and up to 61 cores in Xeon Phi coprocessor packages. > If you reduce the feature size and effectively thus double the surface area available, why not increase the cores? Because, outside of narrow domains, software that can effectively use lots of cores doesn't exist, so you don't provide good bang for the customers buck by doing that. For most customers, there's no utility for that. > Cache can improve performance but not like more cores. And vice versa -- more cores can improve performance, but not like cache. Which is more useful depends on software and workloads. > Under Erlang/Elixir, we are able to get close to linear speedup from additional cores. On the right kind of workloads. And, the people with those kind of workloads, have many-core processors available.
- cft 11y agoAny web server that serves at scale can readily use 1024 cores... Nginx, servers built in Go, Erlang and many more. It would reduce hosting costs and complexity substantially.
- deleted 11y ago[deleted]
- dragonwriter 11y agoLets say, for the sake of argument, that's true; what percentage of computers are "web servers that serve at scale". What's the cost of setting up production lines for 1024-core chips for just that market -- and how many chips are you going to be able to amortize that cost over. Even if it was possible, I think the costs would be exhorbitant, even if the marginal cost per chip wasn't.
- JoachimSchipper 11y agoIt's not as easy as you seem to think to e.g. (de-)multiplex a single TCP port to/from 1024 cores, and that's before you actually try to keep any application state in sync. Lots of stuff breaks at that level of concurrency.
- adwn 11y ago> Under Erlang/Elixir, we are able to get close to linear speedup from additional cores. The two main obstacles with parallelization are 1) dividing a problem into a large number of sufficiently parallel tasks, and 2) communication costs. Erlang isn't a magical bullet that solves these problems. An inherently sequential algorithm doesn't become parallel only because you can cheaply spawn thousands of green threads, and inter-core communication doesn't become faster just by having a convenient message passing mechanism. Regarding the downvotes: My guess is that you're not being downvoted because of your dissenting opinion, but because you're presenting a misinformed opinion as fact.