Threads - the new theory of everything

I work in the Intel software network team and spent this week at the Software enabling summit, in Garden Grove, California. This is an Intel internal conference, where applications engineers (AEs) from all over the world converge once a year to share their experiences with enabling their customers' software applications for the latest Intel platforms. I will record here some of what I learned, with the expectation that some of our AEs concerns are the same as those facing other applications developers.

This was a three and a half day conference with many sessions and labs. There were keynote presentations from many Intel Fellows. They all talked of different things, but all their speeches connected to one theme - challenges facing software engineers in developing for this multi-core processor world. Shekar Borkar, Director, Microprocessor technology lab, talked about a number of issues in microprocessor design, but finally threw the challenge to the software engineers to carry Moore's law into software - make all your programs twice as fast every eighteen months with parallelization. James Held's (Director, Many-core research) speech opened up many pairs of eyes for me. I had, over time, gravitated into thinking that most of the key software applications have already been developed. However, Jim listed whole sets of applications for these many-core processors, none of which has been developed yet. What an opportunity! Several innovation challenges came up repeatedly in these talks - New parallel programming languages, domain specific languages, etc. It appeared to me we were right in the midst of the next Big thing. If I were some big guy, like Tim O'Reilly who coined the term Web 2.0, I would have been inclined to call the current trend as Computing 2.0, 10.0 or something like that.

For years, scientists looked for a theory of everything, and then they thought they hit the Holy Grail, when they discovered the String theory as a possible explanation for all phenomena in the universe. I could not comprehend its aspects involving so many dimensions, many of which are folded. In the last few weeks, some scientists have expressed serious doubts about this theory. That made sense to me. Listening to the talks in this conference, I gained a new fundamental insight into physical laws: The universe is not made of strings; it is made of "threads". String theory is abstruse; threads are eminently understandable and sufficiently challenging to sustain my interest.

The AEs look at everything through a lens that shows threads. Where people look at a scene in a game, or encoding music or a database search or navigating a terrain, AEs see the underlying threads. Next time I look at my application, I will wear this lens. I am going to tell all the applications I use: "Be threaded. Don't be square".

Considering we spend a majority of our time in front of the computer - and sometimes just waiting for it to respond, I cannot think of any other productivity booster with such an impact. Call to application developers! Thread your program and make your users more productive! Your users will love you for it.

(This is a personal opinion, not a recommendation from Intel Corporation).

Details coming.

Krishnamurti Subramanian
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.