It seems that we are having more and more Multicore Moments these days. With clusters and clouds everywhere we find ourselves with almost more porridge than we can eat. The operative word being almost. This "thinking in parallel" thing has turned out to be both treacherous and addictive at the same time.Excuse the pun? Our multicore moments tend to come at unpredictable times but in somehow strangely familiar patterns. While Tracey is more likely to try to identify the patterns as some kind of Fibonacci sequence, my guess is they have something to do with the Zodiac. Maybe there's some kind of post-modernistic existential tarot-card data mining algorithm that we can use to help us figure whether one, both or neither of us is right. We do, however, agree on this: our multicore moments correspond with one of the four 'Ah' states of awareness:
Ah hah: As in 'Eureka!', 'That's it!', 'It was right there in front of my face all along!'.
Ah hem...: As in ' I don't think so', 'I doubt it', or 'There's no way in !@#$ that's gonna work'.
Ah naw: As in 'I can't believe it didn't work!', 'What do you mean crashed?', 'That sucks!'.
Ah yes: As in pleasant contemplation, fond recollection, and fantasies of parallel solutions.
While we both have enjoyed many 'Ah hah' multicore moments, I'm far more susceptible to 'Ah naw' moments than Tracey is. On the other hand, Tracey is more often than not in the midst of an 'A hem...' multicore moment. Fortunately for the last several months, Tracey and I have been on the same page, both experiencing 'Ah yes' multicore moments.
We've both had fantasies of having unconstrained access to parallel (even massively parallel) computers for quite some time now. Fantasies about massively parallel computers? Of course! How else could we build our own Hal 9000 or Proteus IV? Everyone knows the most interesting reasons for parallel programming are related to achieving the goals of artificial intelligence right? At least that's where Tracey and I can trace our current addiction.
Ah yes, the days of ICOT and the Fifth generation project. Human-like intelligence by way of super concurrent silicon. If only we had cheap widely available parallel computers, operating systems, and programming languages we could achieve artificial intelligence beyond our wildest dreams of avarice. Ah yes, like moths to the proverbial flame, we're drawn to AI complete problems where we find ourselves captive to this very day.
At the moment (excuse the pun?) we are not bogged down with how to make servers run faster with multicore processors, or how to make an application more responsive by using multithreading and multiple cores. Nope, none of the usual brass tacks of getting this threaded library to work with that threaded library. We're currently engaged in the quest of all quests. Hypnotized by the sheer possibilities of picking up where ICOT and the Fifth generation project left off. Ah yes, cheap, available, widely accessible parallel computation and a whole host of AI complete problems. Sure some of the more buzzy wordy ways to describe aspects of our quest of all quests include the Semantic Web, Ontology Surfing, Fabric Computing, Clouds and Grids. Throw into the mix web agents and natural language processing and you're almost there. But the 'Ah yes' multicore moment that we are currently having has us romanticizing the whole thing through prism of the original goals of ICOT and the Fifth generation project. ICOT, the Fifth Generation, and to a lesser degree the DARPA Strategic Computing initiative injected us with and addicted us to a fascination with parallelism and AI complete problems. Now that we have all the porridge that we can eat, have we, can we, will we come any closer to realizing our fantasies of massively parallel AI systems?
Is the Singularity near? Achieving artificially intelligent or synthetically intelligent computers is the most righteous use of parallel computers right? We do have to give ICOT and the Fifth generation their proper credit for starting the parallel revolution right?
What's wrong with a little fatal attraction to AI complete problems? C++, a cloud, pthreads, what more do you need?