In the spring of last year Microsoft launched the TC Labs to support researchers and simplify the task of parallel programming. It’s specifically designed to provide developers with early access to tools to create parallel applications in multiple environments whether it’s a desktop, a cluster or in the cloud.
Just recently, the software giant has launched a portal at MSDN Labs that provides developers with early access to Microsoft Technical Computing software. The types of technologies and services available include parallel development tools in Visual Studio, distributed computing environments with Windows High Performance Computing Server, cloud computing with Windows Azure, as well as a variety of partner applications.
Since the roll out of TC Labs in May 2010 there have been several important developments. Visual Studio 2010 now includes built-in support for developing, debugging, and tuning multicore and manycore applications.
TC Labs currently has three pre-release technologies: TPL Dataflow; Dryad, DSC and DryadLINQ, and Sho. I’ve already blogged on TPL Dataflow but it now seems appropriate to provide a little bit of insight into Dryad, DSC and DryadLINQ, and Sho.
Dryad, DSC and DryadLINQ are a set of technologies that support data-intensive computing applications that run on a Window HPC Server 2008 R2 Service pack 1 cluster.
These technologies are designed to enable efficient processing of large volumes of data across many types of applications. This includes data-mining, image and stream processing and some scientific computations. Dryad and DSC run on the cluster to support data-intensive computing and manage data that is partitioned across the cluster, while DryadLINQ allows developers to build data and compute-intensive .NET applications using the familiar LINQ programming model.
Sho provides those who are working on technical computing workloads with an interactive environment for data analysis and scientific computing. It connects scripts written in IronPython with .NET libraries, enabling fast and flexible prototyping. It also includes libraries for linear algebra and data visualisation, both of which can be used from any .NET language as well as a feature-rich interactive shell for rapid development.
Sho comes with packages for large-scale parallel computing, via Windows HPC Server and Windows Azure. It also includes statistics and optimisation, as well as an extensible package mechanism that makes it easy for you to create and share your own packages.