A question that pops up quite often when computer architects and representatives from firms like Intel encounter a crowd today is but just what do you need more computing power for????. Most regular users are fairly happy with the speed at which they process words, surf the web, read email, do IP phone calls, crunch numbers in Excel, and other common tasks. It is hard to perceive the need for more speed in everyday tasks, unlike a decade or two ago when you could definitely ask for improvement. I remember scrolling a page in PageMaker on a Mac SE (8Mhz 68000). You counted the clicks and waited for the screen to jump, redraw, jump, redraw, stabilize… quite a different experience from working with modern computers and far more complex software that still responds instantaneously to almost any work.
The video compression I have been doing lately for my iPod Nano with Video is a very good example in several ways.
- It is a classic batch job that can run in parallel to other work, without user interaction.
- It is CPU-intense and not particularly IO-intense, so it would not disturb other tasks that access the disk too much. On a single-core machine like my current desktop, doing video encoding even at low process priorities (Windows platform) makes everything else unresponsive and pretty much unusable. Leading to issues for other members of the family. Shunting it off on a second core would make perfect sense (unless shared L2 cache issues appear), in principle letting video work go on while we use the computer for other things.
- It could parallelize easily to a few threads/cores by splitting video files up in chunks for encoding. Or encoding several separate videos in parallel.
- It is a type of computation that is known to like SIMD and other high-instruction-level parallel types of architectures. The Pentium 4 architecture was built for this.
- It takes long enough to do that a speed-up above 25% is readily noticeable and appreciated by the user. Cutting one hour from a ten-hour job is much more appreciated than cutting one second from a ten-second job.
Note that before I tried coding things this hard I felt that the three-year old PC was amply fast for “video” work, when video meant editing DV-quality video to create DVD movies of family events for friends and family. That was all responsive enough, but I guess H-264 requires much more work on coding end than MPEG-2.
H.264 encoding is 1000 times more efficient on dedicated hardware than on any single core cpu of today. Maybe the question to Intel should be “what do you need more x86-cores for?”
I am still looking for the “killer x86-multicore app”. Radio baseband, video, graphics, networking stacks, encryption – everything comes on dedicated hardware with at least a 100 times more performance than a single core cpu. Or on reconfigurable logic with ten times the performance.
Intels Terascale computing group is actually talking “special purpose processors” now, and “reconfigurable co processors”. Their current 80 core Polaris test chip has no x86:s at all, only 80 x 2 floating point engines. Ok, that doesn’t prove anthing about their future plans; Polaris was just the quickest way for them to reach their subgoal of “1 teraflops on a standard cpu power budget”. But I think that the total area of x86 cores on future manycore chips is going to go down.
Thanks! Good point, I guess the Intel reply here would be that on a PC, you would not have little accelerator engines for anything you might conceive doing. Rather, you need to have a general-purpose CPU that can do most things decently — if in a rather inefficient manner. I know that video encoding is not important enough to me that I would buy an add-in card or external hardware to help do it. I want it done on the general-purpose machine I already have for other purposes.
Polaris I believe is now becoming a graphics processing unit really, competing with offerings from Nvidia and AMD/ATI. But I guess it would solve my H.264 issue quite nicely too, at a much lower energy expenditure for a movie.
Hmm..
It seems to be interesting…
I couldn’t understand some parts of this article Applications that can make use of more compute power (e.g., iPod Video), but I guess I just need to check some more resources regarding this, because it sounds interesting.
Seems like a couple of spam comments got in here. Interesting bot posts. I leave them in, the links are marked “no follow” anyway and will not boost their search engine rankings.