Multicore Programming
Yesterday, a discussion I was involved with turned to the subject of multithreaded programs running on computers with multiple core processors. Basically, most programmers today do not know how to write software that takes advantage of multiple processors. This will require a new programming paradigm. Yes, methods exist for doing this already but the techniques have not reached maturity. New frameworks are just now being developed to make this easier to do. I remember back when I was a C programmer saying that the C language gave you just enough rope to hang yourself. This was especially true for the memory allocation methods. Newer environments and languages such as Java and .NET have made things better for the old problems but the advent of multicore processors and the implementation of threading have introduced new problems and a new rope for hanging yourself in code.
A year ago Intel predicted that there would be processors with tens or even hundreds of cores within the next decade. This article, published just a couple of days ago, claims they could be available within the next two or three years. The article also points out that we are not prepared to utilize this kind of computing power. As this trend in hardware continues it is difficult to conceive that a single person or even a small team will ever be able to utilize this kind of power for the types of applications we use today. This is probably because humans won’t be doing the programming for long. Application development will turn to creating Genetic Fuzzy Systems that will start programming where humans leave off. These new computers are not what I consider to be artificially intelligent or anything verging on sentient. They are simply the next step in information automation. A catalyst and contributor to this technology will be the advent of the Semantic Web. Metadata will become part of the programming code that will provide the contextual information that the Fuzzy Genetic System will use to reformulate and redistribute the original human-written code. For now I will call these Sentinel Programs. Sentinel Programs will become the killer-app that will advance the wide-spread use of multicore processors.

0 Comments:
Post a Comment
<< Home