It's great to see a high-performance .net library for writing MPI apps in C#. It would be good to hear about implementations using MPI.net and how it works. It would also be neat to see someone test out MPI.net with F#. Can't wait to see the published paper by Douglas Gregor and Andrew Lumsdaine Design and Implementation of a High-Performance MPI for C# and the Common Language Infrastructure that will appear in PPoPP 2008.
MPI.NET: High-Performance C# Library for Message Passing MPI.NET is a high-performance, easy-to-use implementation of the Message Passing Interface (MPI) for Microsoft's .NET environment. MPI is the de facto standard for writing parallel programs running on a distributed memory system, such as a compute cluster, and is widely implemented. Most MPI implementations provide support for writing MPI programs in C, C++, and Fortran. MPI.NET provides support for all of the .NET languages (especially C#), and includes significant extensions (such as automatic serialization of objects) that make it far easier to build parallel programs that run on clusters.
MPI.NET: High-Performance C# Library for Message Passing
MPI.NET is a high-performance, easy-to-use implementation of the Message Passing Interface (MPI) for Microsoft's .NET environment. MPI is the de facto standard for writing parallel programs running on a distributed memory system, such as a compute cluster, and is widely implemented. Most MPI implementations provide support for writing MPI programs in C, C++, and Fortran. MPI.NET provides support for all of the .NET languages (especially C#), and includes significant extensions (such as automatic serialization of objects) that make it far easier to build parallel programs that run on clusters.
Here's a good opportunity to get the latest information on the next version of the Windows Compute Cluster - now named Windows HPC Server 2008. If you're wondering why Windows HPC Server 2008 is a hot topic - take a look at the performance increases they've made and the technical overview.
HPC PAL Microsoft invites you to participate in our HPCPAL Jumpstart technical training series for IT Pro's and Developers. This one day immersion style event will help you get the technical information you require to start deploying and developing HPC solutions leveraging Windows HPC Server 2008. You will experience how Windows HPC Server 2008 platform is simple to deploy, operate, and integrate with existing infrastructure and tools. 1-Day Jumpstart SPONSORS: Discuss clustered computing solution scenarios with Microsoft HPC technology specialists. ROADMAP: Review the HPC platform technology roadmap for Windows HPC. LEARN ABOUT: Microsoft Compute Cluster Pack v2 features and capabilities EXPERIENCE: The significant advancements coming in the area of cluster management, scalability and performance EXPLORE: HPC Development tools and techniques SOLUTIONS: Identify integrated solution scenarios leveraging Windows platform technologies. LEAVE WITH: Tools to equip your team to develop and deploy HPC solutions.
Microsoft invites you to participate in our HPCPAL Jumpstart technical training series for IT Pro's and Developers. This one day immersion style event will help you get the technical information you require to start deploying and developing HPC solutions leveraging Windows HPC Server 2008.
You will experience how Windows HPC Server 2008 platform is simple to deploy, operate, and integrate with existing infrastructure and tools.
Check out at the dates at the HPC site
Savas and I had talked about this idea of using Silverlight-based cycle stealing and wondered how well it would work. It's good to see this article on CodeProject about Legion: Build your own virtual super computer with Silverlight by Daniel Vaughan.
Legion is a Grid Computing framework that uses the Silverlight CLR to execute user definable tasks. Legion uses an ASP.NET application and web services to download tasks, upload result data, and provide grid-wide thread-safe operations for web clients or agents. Multiple tasks can be hosted at once, with Legion managing the delegation of tasks to agents. Client performance metrics, such as bandwidth and processor speed, may be used to tailor jobs for clients. Legion provides a management service and WPF application that is used to monitor the Legion grid. I have deployed Legion to a demonstration server here so you can see it in action.
Legion is a Grid Computing framework that uses the Silverlight CLR to execute user definable tasks. Legion uses an ASP.NET application and web services to download tasks, upload result data, and provide grid-wide thread-safe operations for web clients or agents. Multiple tasks can be hosted at once, with Legion managing the delegation of tasks to agents. Client performance metrics, such as bandwidth and processor speed, may be used to tailor jobs for clients. Legion provides a management service and WPF application that is used to monitor the Legion grid.
I have deployed Legion to a demonstration server here so you can see it in action.
I wonder if Daniel is aware of the previous Legion grid system by Andrew Grimshaw that turned into Avaki (now part of Sybase)
The January update to the Technical Computing @ Microsoft site (www.microsoft.com/science) is up:
Ran across this post on Charlie Calvert's Community Blog using TerraServer's Web Services with LINQ...why is this interesting to me - many moons ago (before .NET was officially launched) I approached Tom Barclay who was running TerraServer and convinced him to expose the TerraServer web site as a web service. It's great to see the TerraServer web services still are being used...
TerraServer Sample: A LINQ Provider Over the holidays Alex Turner, Mary Deyo and I added a new sample to the downloadable version of the CSharp samples that accompany Visual Studio 2008. This sample is called the LinqToTerraServerProvider, and it appears in a sub-directory called WebServiceLinqProvider. The LINQ provider technology that makes this sample possible is also used by other tools such as LINQ to Amazon, LINQ to LDAP, LINQ to SharePoint, and LINQ to Google Desktop. The Samples Download page: http://msdn2.microsoft.com/en-us/vcsharp/bb330936.aspx Direct link to the samples: http://msdn2.microsoft.com/en-us/vcsharp/bb894665.aspx Japanese samples: http://msdn2.microsoft.com/en-us/vcsharp/bb977898.aspx When you download the samples, unzip the package into your Documents or My Documents directory or some other location where you have full rights. Navigate to the LinqSamples directory and then the directory called WebServiceLinqProvider. Open the LinqToTerraServerProvider solution. If you get a warning stating the "Project location is not trusted" you can safely ignore it. To avoid getting the warning in the future, right click on the solution file and choose properties. Select the Unblock button in the security section. The TerraServer example shows how to create a LINQ provider. The provider technology makes it possible for your to extend LINQ to enable querying a new data source. For instance, LINQ ships with the ability to query SQL servers, XML files and generic objects. The LINQ provider technology allows you to extend LINQ so you can query a new data source such as a text file or a web site. This particular sample shows how to write a provider that makes it possible for LINQ developers to query the web service provided by the TerraServer mapping and aerial photography web site.
Over the holidays Alex Turner, Mary Deyo and I added a new sample to the downloadable version of the CSharp samples that accompany Visual Studio 2008. This sample is called the LinqToTerraServerProvider, and it appears in a sub-directory called WebServiceLinqProvider. The LINQ provider technology that makes this sample possible is also used by other tools such as LINQ to Amazon, LINQ to LDAP, LINQ to SharePoint, and LINQ to Google Desktop.
When you download the samples, unzip the package into your Documents or My Documents directory or some other location where you have full rights. Navigate to the LinqSamples directory and then the directory called WebServiceLinqProvider. Open the LinqToTerraServerProvider solution. If you get a warning stating the "Project location is not trusted" you can safely ignore it. To avoid getting the warning in the future, right click on the solution file and choose properties. Select the Unblock button in the security section.
The TerraServer example shows how to create a LINQ provider. The provider technology makes it possible for your to extend LINQ to enable querying a new data source. For instance, LINQ ships with the ability to query SQL servers, XML files and generic objects. The LINQ provider technology allows you to extend LINQ so you can query a new data source such as a text file or a web site. This particular sample shows how to write a provider that makes it possible for LINQ developers to query the web service provided by the TerraServer mapping and aerial photography web site.
Charlie Calvert's Community Blog : TerraServer Sample: A LINQ Provider
There's a Parallel Computing Developer Center up on MSDN that is great resource for finding ways to solve parallel computing challenges. I've highlighted a couple of the interesting articles that scientists/researchers will find interesting in dealing with manycore and clusters. One I'm really interested in is how PLINQ (Parallel Language Integrated Query) can help scientists get data from SQL or other datasources efficiently.
Parallel Computing Microsoft’s Parallel Computing developer center is dedicated to providing information, ideas, community, and technology to developers to make it easier to write programs that perform and scale well on parallel hardware. The Manycore Shift: Microsoft Parallel Computing Initiative Ushers Computing into the Next Era The computational power of manycore processors, new programming models and platform, and advanced research in usability promise to change the way people interact with computers. This paper describes how Microsoft and industry partners are working together to enable businesses, software and hardware vendors, and individuals to take advantage of the “manycore shift.” Download Microsoft Parallel Extensions to the .NET Framework 3.5 December 2007 Community Technology Preview Parallel Extensions to the .NET Framework is a managed programming model for data parallelism, task parallelism, and coordination on parallel hardware unified by a common work scheduler. Parallel Extensions makes it easier for developers to write programs that scale to take advantage of parallel hardware—providing improved performance as the numbers of cores and processors increase—without having to deal with many of the complexities of today’s concurrent programming models. Parallel Extensions provides library-based support for introducing concurrency into applications written with any .NET language, including but not limited to C# and Visual Basic. Parallel LINQ “Declarative Data Parallelism” with the Parallel Extensions is achieved through Parallel LINQ. This video explains how to parallelise your LINQ queries, how it works under the covers and how to configure it for advanced scenarios.
Microsoft’s Parallel Computing developer center is dedicated to providing information, ideas, community, and technology to developers to make it easier to write programs that perform and scale well on parallel hardware.
The Manycore Shift: Microsoft Parallel Computing Initiative Ushers Computing into the Next Era
The computational power of manycore processors, new programming models and platform, and advanced research in usability promise to change the way people interact with computers. This paper describes how Microsoft and industry partners are working together to enable businesses, software and hardware vendors, and individuals to take advantage of the “manycore shift.”
Download Microsoft Parallel Extensions to the .NET Framework 3.5 December 2007 Community Technology Preview
Parallel Extensions to the .NET Framework is a managed programming model for data parallelism, task parallelism, and coordination on parallel hardware unified by a common work scheduler. Parallel Extensions makes it easier for developers to write programs that scale to take advantage of parallel hardware—providing improved performance as the numbers of cores and processors increase—without having to deal with many of the complexities of today’s concurrent programming models. Parallel Extensions provides library-based support for introducing concurrency into applications written with any .NET language, including but not limited to C# and Visual Basic.
Parallel LINQ
“Declarative Data Parallelism” with the Parallel Extensions is achieved through Parallel LINQ. This video explains how to parallelise your LINQ queries, how it works under the covers and how to configure it for advanced scenarios.
Parallel Computing Developer Center
Now this is different and refreshing - maybe we need some comics highlighting the work of eScientists.
Heroes Happen Here {Comic Series} Imagine a daily web comic that adapts tech stories from actual IT Professionals and Developers - a web comic that reflects the real lives of IT Hero's such as you. The HHH Comic series will do just that. Starting the end of January we will release a new daily episodes driven from suggestions from the IT community. Make sure you sign up for the RSS feed so you can have it delivered straight to your RSS enabled inbox or favorite RSS client when a new episode has been released. And remember - We want your story!
Imagine a daily web comic that adapts tech stories from actual IT Professionals and Developers - a web comic that reflects the real lives of IT Hero's such as you. The HHH Comic series will do just that. Starting the end of January we will release a new daily episodes driven from suggestions from the IT community. Make sure you sign up for the RSS feed so you can have it delivered straight to your RSS enabled inbox or favorite RSS client when a new episode has been released. And remember - We want your story!
Heroes Happen Here {Comic Series}
Here's a link to a Russian based project - where they are mining environmental data archives. It even has NASA WorldWind visualization plugins....there is also a web based test site.
Environmental Scenario Search Engine Research Project Portal The main idea behind ESSE is a flexible, efficient and easy to use search engine for data mining in environmental data archives. What makes it so different from conventional text-based search engines is that it actually searches inside the numeric datasets. With ESSE scientists will be able to find specific parameter values, conditions, and scenarios among the huge amount of available environmental data. ESSE will help you find useful data even if you don't know exactly what you are looking for. By using its fuzzy logic capabilities you can construct complex queries using vague linguistic terms, such as "very large" or "average", or set fuzzy numeric thresholds (for example, "about 100"). If you are an experienced researcher you can still use exact parameter values in your queries. ESSE uses Common Data Model for internal data representation, thus acting as a bridge between the user and the multiple heterogeneous data sources.
Environmental Scenario Search Engine Research Project Portal
The main idea behind ESSE is a flexible, efficient and easy to use search engine for data mining in environmental data archives. What makes it so different from conventional text-based search engines is that it actually searches inside the numeric datasets. With ESSE scientists will be able to find specific parameter values, conditions, and scenarios among the huge amount of available environmental data. ESSE will help you find useful data even if you don't know exactly what you are looking for.
By using its fuzzy logic capabilities you can construct complex queries using vague linguistic terms, such as "very large" or "average", or set fuzzy numeric thresholds (for example, "about 100"). If you are an experienced researcher you can still use exact parameter values in your queries. ESSE uses Common Data Model for internal data representation, thus acting as a bridge between the user and the multiple heterogeneous data sources.
In case you didn't get to see the video of Bill's Last day from CES...here's a link to it on Soapbox - the cameo's are great....