3 ms·
I have written a substantial amount of code for the cell. I honestly believe that the entire approach it uses is a dead end -- no-one will voluntarily ever use
by Tuna-Fish 9y ago
I have written a substantial amount of code for the cell. I honestly believe that the entire approach it uses is a dead end -- no-one will voluntarily ever use such a machine again if there are any alternatives. The fundamental problem is that when you are writing code for cell, it is very hard to divide a large task into many subtasks where you do not have to constantly think of the entire problem when implementing small details. This means that writing code for a cell-like architecture doesn't scale. If you program fits on a whiteboard, a cell implementation can be easy to do and very fast to run. The moment you start building complex systems, things break down hard.
In the end, people just made each SPE do a single task, like dedicate one to audio, one to geometry, etc. There is not really enough parallelism like this in most software to support a cell-like approach now that even consoles get >4 real cpu cores. Real caches are the norm because they are extremely useful for programmers.
The villainy of IBM was just a slight additional problem over just how terrible cell was from a software standpoint.