What Applications Will Drive System Performance?
Foredecker asks: "Companies like AMD, Intel, NVIDIA, ATI and others are continuing to drive silicon performance to new levels. Of course, every day computing (basic web browsing, email, word processing, spreadsheets, personal finance, and the like) don't require a Intel 3.2Ghz P4 with Hyperthreading or a AMD Athlon 64 FX and their associated platforms. Of course, there are apps that will leverage today's high performance platforms. Games are an obvious category, as is video editing. I'm looking for apps that will be widely adopted and will drive volume hardware shipments. Things that come to mind are: effective, speaker independent voice recognition, accurate repeatable object recognition in digital photos and videos (or from live feeds such as web cams). What other application categories are there that will drive the need for bigger-faster-better hardware platforms?"
Anyone seen the system requirements for Longhorn/OSXI/KDE4? they're probably gargantuan.
no thanks
Similarly, the applications running in curtained memory are going to stack up at an alarming rate once Longhorn and other platforms start to see pervasive digital rights management. As every bit of data being generated or passed from application to application is being tested against dozens of different filters, CPU time is going to go up in smoke, and it will be illegal to stop these activities from taking place in most countries.
Right now CGI is still expensive enough that most independents and hobbyists don't include it in their films. Affordable, rapid CGI could be a possible killer-ap for high-performance hardware. Currently, professional moviemakers must agonize over the creation of any CGI effect. It's a tedious process that involves using wire-frame animation, rendering and so on. If this process could be speeded up and simplifed, it might encourage more widespread adoption of CGI effects among hobbyists, giving them the ability to make movies they never could have before with their limited budgets.
Imagine being able to 'direct' a VR character almost as easily as you would direct a real life actor. When the technology gets to that level, we could see an explosion of new movies by people outside the Hollywood cookie cutter. Filmmakers with radicially new ideas who are too young to have developed a 'rep' in Hollywood could be creating some very professional looking films. Think of it this way: right now there are lots of people who write fanfics of their favorite movies or TV shows. But actually creating an episode of Star Trek, for example, is just not possible right now. With improved technology, perhaps these creative individuals might very well be able to make their own episodes, largely using CGI. Imagine taking a sci-fi movie that you like for the most part but hated the ending of. You load your CGI software with images of the main characters and battleships from the DVD and create CGI models of them. Now you can create a new ending that's more to your liking. Better yet, you can burn the new version of the movie with your ending (forget the "Director's Cut", this is "Mike's Cut") onto DVD and trade with your friends.
Right now we are all still pretty much at the mercy of Hollywood to make films that we like. Very soon, the balance of power will shift and creative individuals who have lots of ideas but budgets nowhere near those of studios will be able to create some very impressive looking films. And then Hollywood will have to get their ass in gear and show us something that we couldn't do ourselves in our own living room.
GMD
P.S.: Several people have mentioned that pornography has historically been a big driver of technology. Can you imagine that boom that the adult market will get when people can make their own adult films using CGI characters? Think plots of porn flicks are stupid? Wish for something better? Hell, just load your CGI software with images of Jenna Jameson and make your own film with her as the star.
watch this
In my line of work Image, PDF, SGML and XML processing in our production environment take way too much time on a single machine so we spread the task of processing these files between several machines using RPC. The bottle neck, however, is no longer with the CPU but rather I/O Read/Write operations. Of course multi-core CPUs would reduce our overall costs of having to purchase multiple machines but unless the I/O bottle neck is removed we really don't care for the improvements in CPU speeds.
-----
One is born into aristocracy, but mediocrity can only be achieved through hard work.
Almost forgot.
Any difference is performance that requires a stopwatch or a special timing demo application to measure - isn't a difference.
183fps = 200fps in Quake.
pc3200 RAM = pc2700 RAM = pc3500 RAM
28fps in UT2003 = 30fps in UT2003
specINT 93158 = specINT 96452
Pentium4 3.06GHz = Pentium4 3.2GHz = Pentium4 2.8GHz.
Until you are talking about performance games of roughly 300%, or one machine being 3x as fast as another machine - it isn't worth replacing the machine. It would be silly to replace a 486DX2-50 with a 486DX2-66, even though you would get a 30% boost in processor speed. You wouldn't replace a PII/300 with a PII/366 even though you would get a 20% boost in processing speed - they are effectively the same speed and you probably wouldn't notice the difference. Replace that PII/300 with a PIII/900 though, go 3x as fast, and all of a sudden you can see big differences and a major improvement. Same thing with replacing the PIII/900 with a P4/2.8GHz.
Glonoinha the MebiByte Slayer
Language translations.
I recall seeing an algorithm that partially ignored traditional dictionary-type translations and relied more on a relational database. For example, rather than work word by word through a given sentence, it attempted to relate that sentence to other sentences and solve in that matter. If it sounds confusing, it's mostly because I read about it quite a while back, and really can't recall most of the details. A sentence such as "Comment Allez-Vous?" would literally translate as "how are you going", or something to that effect (Allez is the second-person plural of 'to go' in French), but is obviously more colloquially translated as "How's it going?" Rather than concern itself with the meanings of the individual words, this algorithm would know the meaning of that phrase and use it as sort-of guidelines for how an unkown phrase would translate. And I'm sure doing that properly, in realtime, with no errors would require a ludicrous amount of processor power and be ridiculously useful. Go ahead an couple that with the above-mentioned truly accurate voice recognition and you've got the legitimate workings of a device most would consider to be science fiction.
Crazy new next-generation desktop environments will require a hefty speed boost to keep things snappy, for example I'm thinking of Java's desktop they're trying to create, with a 3d interface and lots of graphical bells and whistles.
A certain portion of mathematical research will require computers. The algorithms are hard, run for very long times, and use amazing amounts of memory. When used as a research tools to discover counterexamples or evaluating cases in proofs future mathematicians will use all the horsepower we can generate. Making a computer a useful tool for mathematical research is still an open problem.
Although I'm typing this on a 3 gHz P4, the... delay... when loading a program or accessing a drive still bugs me. Back when I was in college (G3 days, four or five years ago), the Macs in our computer lab impressed the heck out of me on how responsive they were. (Probably because Apple designed the OS for a specific motherboard I/O layout.) Photoshop and other apps were objectively faster on the Intel machines, but psychologically they always seemed speedier on the Mac.
--All your stolen base are belong to Rickey Henderson
To answer the question:"What Applications Will Drive System Performance?" Scientists and engineers need *raw* computing power. They need lots of RAM (and even more) and they need GHz, lots of them. They need fast GPUs for 0. Consider Computational Fluid Dynamics. Most problems today are calculated on off the shelf PC hardware. I know this for a fact. Today, you don't buy Indys or Sparcs anymore, they're much too expensive bang-for-bug wise. They're nothing but dead. People use dual Athlons with 3 Gigs or RAM to run their jobs, mostly one job per CPU, because parallel processing in most cases is not there yet (solving the Navier Stokes equations in parallel is still a major PITA). So in
short, those people will always buy the fastest PC stuff available, because for them it makes a huge difference whether a solution converges in two or in four days.
At my company, we do a lot of engineering design with solidworks and pro/e. For our needs, we don't need more raw power. Some of the engineers have graphics cards in the multikilobuck range, so an increase in power/$ would mean a lot to us. We also do a lot of science apps that involve analysis (= science version of photoshop) of tiff files that can be 200 - 500 Mb each. I can certainly envision needing to work with 50+ of these files at a time, say do a diff between file 1 Vs. file 2 - 50, and plot out the results. The cost of computers to handle these in real time (20 seconds) is prohibitive.