Microsoft is releasing an early preview of new technology designed to help developers address the issue of programming for parallel environments.
Microsoft on Nov. 29 released an early preview of the Parallel Extensions to the .Net Framework, known as ParallelFX, according to S. "Soma" Somasegar, corporate vice president of Microsofts Developer Division. The technology will be available for download on the Microsoft Developer Network. The release contains new APIs to make programming on the .Net Framework simpler, as well as supporting documentation and samples.
In a blog post Nov. 29, Somasegar said ParallelFX runs on the .Net Framework 3.5 and relies on features available in C# 3.0 and Visual Basic 9.0. It includes, imperative data and task parallelism APIs, including parallel "for" and "foreach" loops, to make the transition from sequential to parallel programs simpler.
It also offers declarative data parallelism in the form of a data parallel implementation of LINQ-to-Objects. This allows users to run LINQ queries on multiple processors. LINQ is the Language Integrated Query capability provided by a set of extensions to the .Net Framework that encompass language-integrated query, set, and transform operations.
To read about how Microsoft has put the "F" in functional, click here.
Other ParallelFX features include first-class tasks that can be used to schedule, wait on, and cancel parallel work, new concurrency runtime used across the library to enable lightweight tasks and map and balance the concurrency expressed in code to available concurrent resources on the execution platform, and several examples of how to use parallelism in real world problems to obtain speedups, including a raytracer, Sudoku puzzle generator, and other simple puzzle solvers, Somasegar said
"Along with the ParallelFX release, we have also launched a new MSDN [development] center dedicated to concurrent programming," he said. The new development center features a collection of whitepapers—including one that describes the broader vision for parallel computing at Microsoft—and will be used to announce and house future developments in the parallel computing space, he said.
"The shift to multi- and many-core processors that is currently underway presents an exciting opportunity for everyone in the software industry," Somasegar said in his blog. "With an expected increase of 10 to 100 times todays compute processing power, the opportunities to deliver powerful and immersive new user experiences and business value are just awesome."
The release of the ParallelFX preview is one of several moves Microsoft is making to help developers create applications for concurrent environments. In October, Microsoft announced plans to productize its F# functional programming language. One of the potential uses of F# is to create programs for parallel systems.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.