Big advances in parallel programming are needed for general-purpose computers
to use the full power of multi-core processors, Intel star technologist Pat
Gelsinger has admitted.
He said the performance of chips processing one task thread at a time was
improving by just 10 per cent to 15 per cent per generation, whereas parallel
performance could be at least doubled.
Advertisement
Much of this parallel power would go to waste if applications were to remain
predominantly single-threaded. "We have to make some breakthroughs here," said
Gelsinger, vice-president of Intel's digital enterprise group.
There were still ways to deliver value with multi-core, he told a press
teleconference. "There is parallelising of run-time environments, there are
improvements in autogenerating parallel compilers, there are improvements in
things like virtualisation environments, where each OS and application can be
single-threaded, but the aggregation of that workload is a multithreaded."
There could also be very good results targeting inherently parallel
operations such as graphics, and databases and web workloads on servers. But
Gelsinger went on: "We really do need to continue to offer new programming
environments. And the good news is that we have made real progress in the areas
of parallel tools and support."
He made no reference to programming guru Donald Knuth,
who said
recently that the multi-core computing could turn out to be a dead end, and
described as a pipedream the belief of hardware vendors that a coding magic
bullet would come along to help harness parallelism.
But at one point, talking about the massively parallel Cell processor used in
the PS3 games console, Gelsinger came close to echoing Knuth. "The problem that
we see over and over again in computing is that a cool new idea [comes along]
that promises a 10x or 20x improvement but you just have to go through this l
ittle orifice called a new programming model.
"And those orifices have over and over again in the computing industry proved
insurmountable as the general-purpose computing models evolve into the future.
"I hold out the example of Cell that promised to be this radical new
computing architecture. Years later the application programmers have barely been
able to comprehend how to write applications for it and get through that
orifice."
Intel would take a different approach with its yet-to-launch Larabee
graphics-processing unit (GPU), Gelsinger said. The core would use the classic
Intel architecture with which programmers were familiar and extend that with a
"graphics vector visualisation instruction set that has full support for the
native programming models, and full support for APIs like DX and OpenGL, and the
broad set of programming models to go with it."
Intel customers had responded with "passion and enthusiasm", which led him to
believe that Nvidia's Cuda parallel-processing language and ATI's rival CTM
would become footnotes in the history of computing.
Nvidia has been pushing Cuda, essentially an extension of the C programming
language, as a way of enabling coders to use low-cost graphics processing units
to accelerate inherently parallel specialist applications.
Do you agree?
Have your say on this article