scooby_dooby
Legend
Shifty Geezer said:The guy was talking about the difficulties in working with multithreading, saying "Doing physics on one core" seems like such a relatively easy thing to impliment to many, but in practice - it's really, really challenging.
He wasn't talking about harnessing all cores but giving an example that even something 'relatively straightforward' as moving the physics onto a seperate core isn't easy. And he said it was less easy on PS3. He wasn't talking about the difficulties in writing for SPEs, but the difficulties in multithreading, and so presumably his observations on PS3 are 'it's harder to multithread on Cell'. It'd be a pointless comment if what he meant was 'multithreading is hard. Even moving one thread like physics onto a separate core isn't easy. And PS3's SPE's are a pain to write for.' In that case the comment on PS3 is totally out of context. Ergo he's commenting on the increased difficulty in parallising workloads on PS3, and I don't know why that would be harder. Unless perhaps his concerns were the memory management? But it's expected XeCPU needs pretty low level management to so I still can't see any difference in inherant difficulties to getting the two systems to multithread.
You quoted WHAT was hard, but ignored the WHY.
"it's really challenging to have different code running on different processessors simultaneously, keeping it all in sync, and then debugging/optimizing on top of it all... looking at a 6-part call stack (one per thread) is NOT a trivial, non-intimidating reality to debugging for any developer that's going to actively use all 6 threads."
The point is, the more threads you have going on the harder and harder synchronizing that data besomes, and the longer and harder it becomes to debug.
By increasing thread by 50%, from 6 to 9, it's obviously going to be that much harder to keep everything synchronized and in check.
THink back to Gabe's comment about how one line of code could kill the entire engine, and the debugger tells you nothing! Now picture that with code running on 9 different logical processors! Debugging must be ridiculously hard when you try and have 9 threads purring at the same time.