Intel has bad news for software developers. It's been hinted at already, but now the company has stated explicitly: it's not enough for software developers to be targeting dual, quad, or eight cores. No, the future holds tens, hundreds, or thousands of cores, and developers are going to have to bite the bullet and write programs that will scale to such systems.
This recommendation came in a recent blog post aptly titled "Unwelcome Advice." Having to write programs of that scale on systems with hundreds of processors is difficult and totally alien to the vast majority of developers out there. The blog post describes two ways that developers are trying to accommodate increasingly parallel processors. Some are trying to move piecemeal, targeting first two or four cores, then perhaps extending it to eight, maybe even 16. Others are jumping headlong into writing software that can run on innumerable processors.
This second approach, Intel says, is the one to go for. Although it will probably cost more upfront—that kind of design needs to permeate the entire application and be built in from day one—it's going to yield dividends in the long run, because before too long, the processors we buy and use will have cores almost too many to count. Trying to tackle the parallel performance problem one core at a time might work at the moment, but this trend will not continue.