Multicore CPUs are mainstream nowadays. The number of CPU cores is quickly increasing. Getting the most from multicore processors is becoming an increasingly difficult task for programmers. Just adding more CPU cores will not make existing software to run faster. To get most out of the multicore CPUs you need to write your software in such way that it performs many tasks in parallel in different CPU cores. In this way you get the power from all CPU cores. The class of applications for which parallel processing is useful is growing rapidly.
Most computing intensive problems that a user will encounter at home are easily parallelizable, i.e. video encoding, gaming, photoshop filters, webbrowsing and so on. There exist whole classes of software that have been doing parallel execution, be it through threads, processes or messaging, for decades. Look at any high performance server software, look at apache, or database software.
You can read often how parallel programming is very complicated for programmers. Parallel programming can be simple and straightforward or very complicated depending what you are planning to do. Parallelism typically falls into two buckets: Data parallel and functional parallel. The first challenge is identifying what is what. The second challenge is synchronizing parallelism in as bug free way as possible while retaining the performance advantage of the parallelism.
Doing fine-grained parallelism will take long time to become mainstream because it is too abstract for most. Changing industry tool-chains to something entirely new takes many many years.
Short term solution for parallel programming problems will come in threaded/parallel frameworks that used with traditional programming languages.
The parallel programming support on popular programming languages is not up to date. C and C++ provide no assistance in keeping track of locks needed in parallel programs syncronization. In Java, the problem was at least thought about, but “synchronized” didn’t work out as well as expected.
Some programmers might even go on many years thinking that parallelism is an operating system feature, not a language issue. At the OS level, in most operating systems, the message passing primitives suck. What you usually want is a subroutine call; what the OS usually gives you is an I/O operation.
Does parallel processing require new languages? blog posting will give you some more information related to parallel programming.

Hey, great post, really well written. You should post more about this.
I just wanted to drop you a line and let you know that I really have enjoyed your well-written articles. I have bookmarked this site and will definitely be checking back for new posts.
Wow, a real web entrepreneurship tailors website ! They find you the best coders at best prices, all based on trust rank mobile programming, web development, desktop application programming
Great post as for me. I’d like to read a bit more concerning this theme. Thanks for sharing this information. By the way I’m interested to know how much you earn from the blog. Well, you know for advertising, reviews and so on.
Kathy Pannate
program income
It was extremely interesting for me to read that blog. Thanks for it. I like such topics and everything that is connected to them. I definitely want to read more on this site soon. By the way, rather nice design this site has, but how about changing it from time to time?
Mary Pingtown
paper towel holder
It sounds like you’re creating problems yourself by trying to solve this issue instead of looking at why their is a problem in the first place
It was extremely interesting for me to read that blog. Thanks for it. I like such themes and anything connected to them. I definitely want to read a bit more on this site soon. BTW, pretty nice design that blog has, but how about changing it once in a few months?
Bella Swenson
Truly cool post you have here. I’d like to read a bit more about this topic. Thanx for sharing such material.
I found your site via yahoo thanks for the post. I will bookmark it for future reference. Thanks Webmaster Community
wow, awesome blog article.Really looking forward to read more. Will read on…
I really enjoy the blog article.Really looking forward to read more.
Really nice post to track it at least as for me. The only question I have, why haven’t you you add that article to social bookmarking sites? That may bring big traffic to this article.
It was certainly interesting for me to read the article. Thanx for it. I like such topics and everything connected to this matter. I would like to read more soon. By the way, pretty nice design you have here, but don’t you think it should be changed once in a few months?
Katty Swift
This post is usefull.
Awesome post. As the Owner of WV Writing Services I surf the weblooking for more helpful information to use to better serve our clients. I enjoyed your post and will be back for more.