Compartilhar via


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!

-Steve

Comments

  • Anonymous
    January 01, 2008
    PingBack from http://msdn.blogsforu.com/msdn/?p=4204

  • Anonymous
    February 23, 2010
    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. Regards, Ian William Coetzer Senior Analyst Programmer 10 years experience developing, maintaining and mentoring.

  • Anonymous
    February 23, 2010
    Thanks, Ian!  It's very helpful to see your scenario and how you've solved various problems using Parallel Extensions.