Andy's observations as he continues to attempt to know all that is .NET...

Monday, October 05, 2009

Parallel utilities

Whilst working with .NET 4 parallel extensions I often find the need to extend the framework to assist me in various day to day tasks.  I’ve finally got around to compiling a library of such extensions.

The extensions include the following

  • Set Process Affinity, so I can see how my algorithm scales on a different number of cores.  Will select non hyperthreaded cores first.
  • Determine the number of Real cores, not including hyperthreading ones.
  • A Range type that supports the partitioning of a range so that I can farm sub ranges out to different tasks
  • A Sequence class for building non integer parallel loops or loops with steps other than 1
  • Finally a simplified way to handle aggregated exceptions.

You can download the library from here

Its a Visual Studio 2010 project, containing the library and a unit test project which should provide enough insight to how the library works.

Im very keen to know what people think of the aggregate exception handling.

No comments:

About Me

My photo
Im a freelance consultant for .NET based technology. My last real job, was at Cisco System were I was a lead architect for Cisco's identity solutions. I arrived at Cisco via aquisition and prior to that worked in small startups. The startup culture is what appeals to me, and thats why I finally left Cisco after seven years.....I now filll my time through a combination of consultancy and teaching for Developmentor...and working on insane startups that nobody with an ounce of sense would look twice at...