Wednesday, August 1, 2007

A Future Prediction: A Prediction with No Data

I previously noted that i was going to make a future prediction on programming environments with a focus on the multi-core technology. I noted two approaches - first the "gut feel" and the second would be based on data. This blog is the "gut feel" approach. This is based on my background and time studying CompSci, so I guess there is some data involved, but I have not consulted external resources.

In 10 years, I think that computers will have 1024 cores and parallel computing will they will run at 512bits. All software written will compile down to code that can run in parallel. I also think that todays threading models will be moved into the compiler thereby simplifying the writting of code.

OK - that is my prediction. Here are some of my reasons behind those thoughts. I know that the trend of cores is increasing - we have gone from 1 -> 2 --> 4 and Intel has noted that they have produced an 80 core. I believe that parallel execution tapers off around 16 cores, but I think that barrier will be pushed. I also think that we have seen operating systems move from 16 bit to 32 bit and now 64 bit. I think Apple runs some systems at 128 bit. These transitions seem slower, so I think that maybe in 5 years we might see 256 bit followed by a push for 512 bit. Finally, writing code. I am sure that is going to be vastly different that what we have now. However, I believe our threading model will change. Today's model requires a fairly deep knowledge of how threads work. Also, writing threaded code is very difficult to debug and costly to maintain. I think that a shift of this complexity will go from the source code into the compiler and that the compiler will determine what can run in parallel and what needs to run in serial.

So there it is - in 10 years - let's see what happens.

No comments: