« All Your Heals Are Belong To Us | Main | De-levelling »

Feb 11, 2006



Interesting stuff. The code comparison presented was startling. Any idea if the audio for the presentation will be posted online somewhere?


Very interesting presentation. I would add that many of the "Dynamic Failure in Mainstream Languages" problems are addressed/addressable with established design patterns (Gamma et al and various problem-domain specific derivative works).


I was at POPL and I don't recall seeing any official A/V equipment set up for this talk (or, indeed, any talk). Unless someone in the audience recorded it, this talk is probably lost to history. And, alas, it seems unlikely that Tim will address an audience exactly like this (academic programming language researchers with a highly theoretical bent) again in the near future.


Corrected the POPL link (to 2006).


It sounds to me like game developers are starting to have heart attacks over multithreaded/core code... :-) They didn't see it coming, despite the fact that it's been pretty obviously coming for a long, long time.

Some random comments...

- Multicore CPUs will kill graphics cards/co-processors. I can go into excruciating detail about why I think so (and I have the rendering experience to know, as well as experience with speech recognition, where DSPs for the purpose of SR were made moot by the Pentium III). But, the basic argument is: As graphics rendering technology becomes more realistic, GPUs (which are vector processors) become less efficient, to the point where you might as well use a CPU to do the work.

- AI "planning" is easily distributed, including the A* algorithm, as mentioned above. AI action, as well as all actions within a world, are most safely done in one main thread, or several threads partitioned by geography.

- NLP, speech recognition, and text-to-speech are CPU intensive and are easily distributed. (But game developers didn't see multi-core chips coming, so they won't see speech-technology coming either.)

My virtual world client (and to a lesser extent, server) are very multihreaded. Give me 80 cores and a few minutes to change some #defines, and I'll use them all.


"Thus, we stand at the edge of the abyss looking to worlds feared with plains of bugged tribbles."

Or, alternatively, games developers are just going to have to do what other industries did 20 years ago and learn how to write distributed-state and thread-safe code.

TBH, it continuously boggles my mind how often I meet professional core engine and lead programmers in the games industry whose knowledge of threading and data-concurrency issues is practically non-existent. What is this "transactional integrity" of which you speak?


> What is this "transactional integrity" of which you speak?


Sorry I missed this the first go around. I opened the discussion on this in "Feeling Optimistic".


From here

"Intel has built a prototype of a processor with 80 cores... The company hopes to have these chips ready for commercial production within a five-year window."


April 5, 2007 Gamasutra is running a related story:

The Transition to Concurrency.

The comments to this entry are closed.