Parallel Extensions CTP!

For those of you who haven’t heard, we released a CTP of the Parallel Extensions to the .NET Framework.  You can download it here, and you can learn more about it in the new Parallel Computing dev center on MSDN, as well as from the Parallel Extensions team blog.  Enjoy!


Comments (3)

  1. Ian Coetzer says:

    Hi Stephen

    You mentioned on .NET rocks that you’d like to hear from people currently using the Microsft Parallel extensions.

    Well we do – we recently wrote and deployed a ‘Spawn Engine’ that basically spawn financial requests into several financial records like receipts – write-offs – housing loan payments etc. etc. etc.

    Since there are soo many requests (records) that need to be spawned and processed (another stage) in a very short amount of time we re-developed an old Stored Procedure based ‘system’ into WCF & Parallel extensions.

    and there is a 50% to 60% performance increase – obviously running on a fairly well powered server with 4 CPU’s and 3-4 gig of ram.

    However what we ended up doing was also implement load balancing of the parallel ‘instances’

    in other words we have say a configured value of 12 which means that ONLY 12 parallel instances of a task may be created for say 4 TYPES of records … now if:

    type 01 = 100,000 records

    type 02 = 500,000 records

    type 03 = 0 records

    type 04 = 100,000 records

    then we want to for example assign the following maximum number of parallel processes:

    type 01 = 3 parallel processes

    type 02 = 6 parallel processes

    type 03 = 0 …

    type 04 = 3 parallel processes

    we basically change the status of records to ‘BUSY’ using transaction scope and locking the routine which changes the status to ensure that no other parallel process tries to ‘use’ the same records.

    that is a bottle-neck but has not caused significant performance problems.

    another problem is that very rarely we have deadlock exceptions – BUT i handle those by retrying the record(s) and thus this does not result in any problems.

    anyway, that was just some things i wanted to note.


    Ian William Coetzer

    Senior Analyst Programmer

    10 years experience developing, maintaining and mentoring.

  2. Thanks, Ian!  It’s very helpful to see your scenario and how you’ve solved various problems using Parallel Extensions.