CACM logo

BLOG@CACM

Who Needs Massively Multi-core?

[article image]

A startup recently crammed 100 cores on a single chip.  While that prototype is not ready for general use, Andy Bechtolsheim (co-founder of Sun Microsystems) recently predicted that, in about a decade, 64 cores will be the norm, but that each core will have no more memory available to it than today.

This begs the question, why?  Who needs massively multi-core?  Who are we building this for?

Mobile devices and laptops?  Minimizing power consumption is far more important there.  Desktop and gaming boxes?  Most desktop applications barely tax the systems we have, and gaming systems need specialized GPUs, not CPUs.  Servers?  The massive clusters used by Google, Yahoo, and Microsoft crave memory and network bandwidth, not more CPUs. 

Adding to the difficulty, we currently have no idea how to use all these cores, especially in mobile or the desktop.  Current programming models simply cannot find the parallelism and there is considerable doubt that they ever will.  On servers, there may be some hope that carefully constructed independent loads could balance demands on bandwidth, memory, I/O, and CPU, but, even there, finding enough exclusively CPU-heavy workloads to use all those cores seems unlikely.

Rather than have more cores, it seems that most of us would rather have lower power consumption and more memory.  In mobile devices, we want them to go for days without recharge.  On the desktop and data center, we want lower power bills and fast access to data.  We do not want more CPUs.

Segmentation of the industry seems to have caused us to be blind to what we should build.  CPU manufacturers are pushing their piece in isolation, ignoring the big picture of what consumers want.  Consumers do not need more CPUs.  Consumers do not need massively multi-core.

For a radically different look at massively multi-core, please see also my earlier post, "What to do with those idle cores?"

User Comments

 (1)

Having more cores per chip does not necessarily means we need to use them all. Here is a possible scenario. When the temperature of a core increases, usually the system will lower frequency and/or voltage of that core in order to avoid hotspots. We will feel a slowdown. On the other hand if we have idle cores, we can "migrate" the thread from the heated core to that idle one.

Sign In To Comment On This Article

If you are an ACM member, Communications subscriber, Digital Library subscriber, or use your institution's subscription, please set up a web account to access comments, premium content and additional site features.

If you are a SIG member or member of the general public, you may set up a web account to comment on free articles and sign up for email alerts.

Tools For Readers

Bookmark and Share
Default Font Size Large Font Size X-Large Font Size Text Size

Related ACM Resources

Conferences:

Books:

Courses:

  • Site-to-Site VPN Design - Knowing that IPsec-based site-to-site VPNs are a more cost-effective way of providing VPN functionality by utilizing a cheaper Internet connection over costlier Frame Relay or …

In The Digital Library


About Communications | Join ACM External Link | Renew External Link | Subscribe External Link | Sign In | For Authors | For Advertisers External Link | Privacy | Site Map | Help | Contact Us

Copyright © 2009 by the ACM. All rights reserved.