Hacker News new | past | comments | ask | show | jobs | submit login

You may find this presentation[1] interesting, written by Tim Sweeny of Epic Games (engine that powers a lot of games).

In the section on concurrency, he notes the hardest part is updating the game logic (tens of thousands of interacting objects) and notes that synchronizing it is hopeless. Instead, STM:

"~2-4X STM performance overhead is acceptable: if it enables our state-intensive code to scale to many threads, it’s still a win. Claim: Transactions are the only plausible solution to concurrent mutable state"

It's also a neat presentation as it's from the perspective of someone running a real large scale, commercial, time-sensitive, _real world_ software project. Yet he talks about the most common types of bugs, and how FP and other advanced concepts would help (like dependent typing).

1: http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-...




Thanks for the link. It's interesting to see a game developer's view on FP, though the presentation is a little undermined by the conclusion that includes statements like:

> By 2009, game developers will face CPUs with 20+ cores.


I think that line should be prefaced with the assumption from the previous slide that CPU and GPU would merge.

Anyways, fact we only have ~16 core CPUs today just means he was off on the timeline, and got a slightly bit more "free lunch" for a few more years: a single threaded program gets 12% instead of 5% of a CPU's capability.

The underlying "we're screwed without better tools" still stands. Besides, the work required to take advantage of 8-way concurrency on mutable state is the same required for 32-way.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: