The article talks about the Cray XMT where each core has a run-list of tasks that it can quickly switch between each time one of them stalls on IO.<p>Here's an approach for the massively multi-threaded CPUs that may be complimentary: versioning the memory so you can speculatively execute tasks: <a href="http://people.csail.mit.edu/sanchez/papers/2017.fractal.isca.pdf" rel="nofollow">http://people.csail.mit.edu/sanchez/papers/2017.fractal.isca...</a><p>Putting it together sounds like a dream.
GPUs are massively multicore and there we see the opposite of what this article predicts or hopes would happen: grids win even more over graphs. The best graph algorithms for those chips try to turn the graph problem into a grid problem as soon as possible.
What on earth is this article talking about? Sparsity and control flow are horrendous and basically the two things a gpu wants nothing to do with. And graph algorithms generally run on CPUs in supercomputers, not GPUs, for precisely those reasons.<p>The only way any of this makes sense is if the article is talking specifically about graph processors (e.g. the Cray Eldorado, which to be fair, is mentioned), but there are very few commercial graph processors and even those are shrinking in importance. The number one parallel processor is the gpu, the only one with any chance of making it into the mainstream, and even that is far from mainstream. And the gpu <i>hates </i> control flow and sparsity.
The mentioned tech talk is available at [0].<p>[0] <a href="https://vimeo.com/13860477" rel="nofollow">https://vimeo.com/13860477</a>