Wednesday, February 13, 2008

Prallel Multi-Threaded Lock-Free Programming

today we had a session by eng.Emad Ali - Software Design Engineer(SDE) at Microsoft Corp. PFX Team, where he first reviewed the multi-threading synchronization objects in C++ and C# and the thread execution model on single-core and multi-core systems,

he then introduced the new synchronization techniques intended to be added to the .Net libraries like SemaphoreLight, Event, Monitor and Parallel.for - which executes independent loop iterations in parallel instead of waiting for each iteration to complete first with support to load balancing between cores too - and showed the advantages of Lock-Free programming in implementing more efficient synchronized data structured like stacks and queue that operate far much better with multiple threads.

he also mentioned the introduction of parallel techniques to LINQ - the Language Integrated Query added to the .Net framework by the end of 2007 that enables you to query any IEnumerable-based information source (arrays, sets...) - which produced PLINQ, in addition to the TPL - Task Parallel Library - which makes it much easier to write managed code that can automatically use multiple processors like Parallel.for, as part of the PFX (Parallel Framework Extensions) development taking place right now.

if you found yourself interested in the subject you can continue with the following links:
Parallel Extensions to the .NET Framework
LINQ: .NET Language-Integrated Query
101 LINQ Samples
Task Parallel Library
Lock-Free Programming (Great)
PFX Team Blog

No comments: