A common misconception is that Moore's "law" states that processor speed will double every 18 months or so. That's incorrect. In fact, Moore said that the NUMBER of transistors on a processor would double roughly every 18 months.
It turns out that they are correlated, since smaller transistors means both faster transistors and more transistors per unit of area.
My point is that more processor cores require more transistors, and thus the end of Moore's Law also means the end of more processor cores (ignoring things like architectural advancements or more but less powerful cores)
That said, I do agree that we will see an increasing number of cores, at least for awhile.
First of all, it's important to have an OS that efficiently manages the cores and the applications that run on them. This automatically benefits everyone who runs multiple applications on a multi-core machine, since each application gets a larger slice of time and fewer context switches.
Multiple cores could also eliminate dedicated components like GPUs which would bring down the cost of low end machines.
As far as programming languages go, I hear Erlang is good for concurrency, though I've never used it.
It turns out that they are correlated, since smaller transistors means both faster transistors and more transistors per unit of area.
My point is that more processor cores require more transistors, and thus the end of Moore's Law also means the end of more processor cores (ignoring things like architectural advancements or more but less powerful cores)
That said, I do agree that we will see an increasing number of cores, at least for awhile.
First of all, it's important to have an OS that efficiently manages the cores and the applications that run on them. This automatically benefits everyone who runs multiple applications on a multi-core machine, since each application gets a larger slice of time and fewer context switches.
Multiple cores could also eliminate dedicated components like GPUs which would bring down the cost of low end machines.
As far as programming languages go, I hear Erlang is good for concurrency, though I've never used it.