## Grid Computing = Silverlight + Parallel Extensions, nearly….

Using my trusty Google Reader I came across a couple of interesting projects which I hoped could be combined to solve very real world problems.

** The Projects**

Legion is a Grid Computing framework that uses the Silverlight CLR to execute user definable tasks.

Is a library that allows developers to take advantage of multi-core machines while abstracting away the hard problems of multi-threading programming. It includes,

-Parallel Language Integrated Query (PLINQ)

This is declarative in nature and provides a SQL like syntax for your parallel work.

-Task Parallel Library (TPL)

This is imperative in nature and just makes it easier to write managed code that can take advantage of multiple processors.

**The Problem**

There are certain types of problems in the real world that are CPU intensive a classic one is determining risk. The Monte Carlo method is one way of tackling this problem through repeated random sampling to work out the risk.

It is used in industries such as finance to price complex financial derivatives and within portfolios to work out the Value at Risk (VAR) . In manufacturing it can be used to determine how many product units should be produced. Take a look at this Microsoft Excel Monte Carlo simulation example for an introductory primer as to whats it all about.

Monte Carlo methods are computationally^{ }intensive but naturally parallel and so using grid computing to solve the problem is a good fit.

**A Potential Solution**

There seems to be a good fit between the Legion project and Parallel Extensions to solve these class of problems but unfortunately the releases of Silverlight 2.0 & Parallel Extensions are just to far apart for now (see here). I hope these will be supported together in the future so opening up a whole new area for the average developer. For now I’d recommend keeping an eye on the Silverlight 2.0 release at MIX 08 this week so to see what threading support will be provided.