Re: Software? Or maybe hardware. @Brewster
OK, I'll wait for the full paper to be published, but there's a number of things in the quotes in the article that make little to no sense (although it could be that the journo writing the original article has not fully understood it).
Let's start with "when a core discovers that it needs a piece of data, it doesn’t request it"
Um. A core. A physical processor. How is this conditioned by the Milk compiler without wrapping the load instruction with a whole load more code, because that is all a compiler can do!
Then we've got "adds the data item’s address to a list of locally stored addresses".
and then what. Puts the thread to sleep? Hello. Expensive context switch. How's that going to improve latency and throughput.
and "and redistribute them to the cores"
The compiler can sort this out? It's going to have to know a huge amount about the shape of the system the code is going to run on before it generates the code. And most systems leave the placing of data in memory to the kernel and the hardware memory translation mechanisms. Milk's going to be able to control all of this, simply?
And anyway, The article talks first about a new language, and then talks about modifications to OpenMP. Which is it? OpenMP is not a language in it's own right, and it does not have a compiler, it's more like a pre-processor that expands a number of in-line directives in the code into something that the following compiler (Fortran or C) can generate linkable code.
I don't know whether you've ever used OpenMP, but it already does significant data reduction. It sounds like this "Milk" language is merely a modification to OpenMP, and not a language in it's own right.
Ah. I found the original MIT release. One of the things it says is "manage memory more efficiently in programs that deal with scattered data points in large data sets". It also says nothing about "common algorithms". It talks about a rather generalized, sparse data problem that is not actually really suited to the type of computing tha HPC systems and OpenMP are really suited to.
But I'll look for the full presentation, but I doubt that it will claim the type of panacea that the Register article claims.