According to this article:
Chuck Moore, an AMD senior fellow, made the case for the shift to a new software model based on heterogeneous collections of cores optimized for various tasks. He suggested computers should be more like cellphones, using a variety of specialty cores to run modular software scheduled by a high-level applications programming interface.
I second that entirely. When silicon is cheap, you tend to specialize. Today, we specialize entire machines. This is why it is OK to have in any cell phone today the power of a good top-of-the-line personal computer of the early to mid 1990s. Specialized designs can be much faster and economical than specialized ones. But I’m not sure that we’ll ever see thousands and thousands of pre-wired cores. The reason is that we are beginning to understand how to build customized floating-point circuits on a per-application basis (If the name in these papers rings a bell, it’s because the guy writing them is my brother…)
But even if you have a plethora of cores, the problem still remains of how to develop for these cores:
The only emerging consensus seems to be that multicore computing is facing a major crisis. In a recent EE Times article titled ‘Multicore puts screws to parallel-programming models’, AMD’s Chuck Moore is reported to have said that ‘the industry is in a little bit of a panic about how to program multicore processors, especially heterogeneous ones.
That’s where something like XL, concept programming or Intentional Programming may turn out to be indispensable. Why? Because these new techniques allow programmer to describe custom conceps, not just obsolete CPU models of the 1970s as we still find them in C and C++ (“memory accesses are cheap”, “every CPU knows about the C operators and only them”, and so on).
Smashingmagazine offers a good summary of future user interfaces.
I just came across Stephen Wolfram’s latest post. I suppose that everybody knows who this guy is. In my opinion, he definitely qualifies as a genius. I do not say that lightly: on the contrary, you might actually think from reading this blog that I tend to be worried, skeptical or even angry at physics, physicists or science in general. But Wolfram embodies this wild spirit of folks who boldly go where no man has gone before.
A new kind of science?
I certainly was aware of his New Kind of Science (who wouldn’t?). But I didn’t really feel a need to read it, being under the impression that it was just a book about cellular automata. Having read the blog, which contains a number of links to the on-line version, I discovered that it was much richer than this. As a matter of fact, after reading just a few pages on line, I ordered the book right away.
I think, for instance, that there is something really deep in the following:
I’ve built a whole science out of studying the universe of possible programs–and have discovered that even very simple ones can generate all sorts of rich and complex behavior.
Why is studying the universe of possible programs interesting? Because mathematics is the manipulation of symbols using specific rules, so in that sense, mathematics as a whole are a subset of what Wolfram just described, the universe of possible programs. Even if for him it is only a “hobby”, I find the approach much less amateurish than more “professional” work on the same topic.
This does not mean that I immediately agree with the notion that everything can be described using an ultimate reductionist representation like network graphs or cellular automata. Instead, it means that like fractals, these tools look like an original way to explore physics. Not the way, mind you, one more way. And I like a rich vocabulary to express ideas. I see Wolfram’s “new science” as a useful tool in exploring the relationships we observe between our measurements.
On the other hand, I do not entirely subscribe (yet) to the idea that you can recover quantum mechanics from a deterministic set of causal relations. I am not even convinced at this point that there would be a single such network, in the sense that the network we detect might depend on what physics process we use to probe it. This dependency on the measurement is one of the core ideas in my own theory of incomplete measurements, and I gave enough examples in the article to explain why I lost my belief in “the ultimate spacetime metric”, which Wolfram is looking for as far as I understand. Time will tell.
Finally, the approach is fraught with difficulties, something that Wolfram is very aware of:
OK, but what is the rule for our universe? I don’t know yet. Searching for it isn’t easy. One tries a sequence of different possibilities. Then one runs each one. Then the question is: has one found our universe?
Clearly, the problem of exploring all possible programs is not really different from exploring the landscape in string theory. Where do you start? The difference I see with string theory is that the search could be largely automated. This is why I see this as a brilliant approach: if the rule is simple enough that it can be generated by enumeration, instead of probing slowly using the human mind, let’s probe quickly using computers. It will not necessarily work, but it will tell us something.
Anyhow: Recommended reading.
Let me rant a little. I tried to describe XL in an article abstract for some technology conference. The article was rejected, with comments that what I wanted to do could “probably” be done using C++ templates. You mean… like this? Yeah, right… Just to point out that getting new ideas accepted is always difficult. Even if Charles Simonyi is rich, talented and famous enough to have a Wikipedia entry, it’s still not a slamdunk that he will succeed.
Actually, Steve Yegge argues that the next big programming language will look like C++, and unfortunately, it’s quite likely that he’s right.
I recently came across Geekstorming, a blog that actually makes a reference to the XL web site, in the right context even! Not surprisingly, since the author apparently works at IntentSoft, where Charles Simonyi and others are working on intentional programming. Something to keep an eye on.
Side note, that reminds me of that day where I received a phone call from some journal (The Economist?) asking if I was the author of XL. Quite surprised by this call, I learned that they were working on an article on Simonyi’s next big thing, and that he had mentioned me as a competitor. I found that pretty funny at the time… Honored as well, to be fair…
Two or three people recently asked me where I stood with respect to XL. Unfortunately, not much progress here, I’m too busy with the upcoming release 3.0 of Integrity VM