FCI-Helwan blog

Just another FCI-H weblog

Microsoft Task Parallel Library

Multi-processor machines are now becoming standard while the speed increases of single processors have slowed down. The key to performance improvements is therefore to run a program on multiple processors in parallel. Unfortunately, it is still very hard to write algorithms that actually take advantage of those multiple processors. In fact, most applications use just a single core and see no speed improvements when run on a multi-core machine. We need to write our programs in a new way.
Introducing TPL

The Task Parallel Library (TPL) is designed to make it much easier to write managed code that can automatically use multiple processors. Using the library, you can conveniently express potential parallelism in existing sequential code, where the exposed parallel tasks will be run concurrently on all available processors. Usually this results in significant speedups.

TPL is being created as a collaborative effort by Microsoft® Research, the Microsoft Common Language Runtime (CLR) team, and the Parallel Computing Platform team. TPL is a major component of the Parallel FX library, the next generation of concurrency support for the Microsoft .NET Framework. Though it has not yet reached version 1.0, the first Parallel FX Community Tech Preview (CTP) will be available from MSDN® in Fall ’07. Watch http://blogs.msdn.com/somasegar for details. TPL does not require any language extensions and works with the .NET Framework 3.5 and higher.

The Full article in the MSDN.. Press Here


November 18, 2007 Posted by | Microsoft, Research | Leave a comment

C# Software Transactional Memory

Software Transactional Memory (STM) is an API for multithreaded computation in which shared data is synchronized without using locks. Threads synchronize by means of memory transactions, short-lived computations that either commit (take effect) or abort (have no effect). Transactions avoid the well-known problems of locking, including deadlock, priority inversion, and fault-intolerance. The SXM is a software transactional memory package written in C#. It is much easier to use than prior STMs because it uses Reflection.Emit to transparently add synchronization code to sequential data structures.
More on here
From Microsoft Research website

February 17, 2007 Posted by | C#, Research | Leave a comment

Singularity: A research OS written in C#

Yes, it’s an OS written using managed code with C#.

Here are some videos that illustrate how this idea works and provides some demonstrations of it in action

Singularity: A research OS written in C#

Singularity Revisited

Singularity III : Revenge of the SIP

Singularity IV: Return of the UI

And here is the link i got the videos from it: channel9.msdn.com

This videos are part of a series called: Going Deep which contains many videos illustrating the Internals of Windows, Research projects as well as some future products.

Enjoy it 🙂

February 13, 2007 Posted by | C#, Research | Leave a comment