Microsoft – .Net – Parallel Programming (Parallel Task Library)

A few months ago, I found myself needing to “speed up” a Microsoft .Net Application that I was working on.

For Server based Applications, one of the dominant path to optimizing Applications has been to spawn off new tiny applications or threads.

With new tiny applications the Programmer must take care to build\Utilize Inter-Process communication path. This communication path commonly known as IPC assists in communicating start, middle, end status. And, also small bits of data.

Threads have less overhead, as they are not new, separate Applications with their own distinct and unique address space.

Because they are essentially the same App, the Programmer must take care to protect the address space and access to resources.

The protection is ensured by using aids such as locks and mutexes and semaphores.

The resulting Applications are quite hard to debug. Until properly coded, the App may suffer from data over-writing, deadlock, and thread starvation.

The advent of Multi-Cores and Multi-Processors is forcing developers to try more and harder to reap the rewards of the new architecture (processors).

Microsoft, for one,  is making it ever easier to develop such applications.

A good help that made it easier for me is “Paul Jackson’s” Blog posting:

Parallel Programing in .Net 4.0 and VS2010: Part II – WinForms, Tasks,
and Service Level Agreements

http://www.lovethedot.net/2010/06/parallel-programming-in-net-40-and.html

Paul’s Blog did a very job introducing me to the “Parallel Task Library”.

There are a couple of areas that I will touch on once I make time to update\revise this posting.

But, wanted to post this.  If not for anything else, to be able to get rid of the printer papers that I have carried around until I could properly place them in labelled folders.

References:

1) Optimize Managed Code for MultiCore Machines (Daan Leijen & Judd Hall)
http://msdn.microsoft.com/en-us/magazine/cc163340.aspx

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s