InfoQ

News

Parallel Extensions to the .NET Framework June 2008 CTP Released

Posted by Abel Avram on Jun 03, 2008 08:28 AM

Community
.NET
Topics
Performance & Scalability ,
.NET Framework
Tags
Parallel Programming ,
Microsoft

Microsoft has just released the Parallel Extensions to the .NET Framework June 2008 CTP. This is the second CTP release, the first one was released on 11/29/2007. According to Microsoft, Parallel Extensions is:

A managed programming model for data parallelism, task parallelism, and coordination on parallel hardware unified by a common work scheduler.

How is it helpful?

Parallel Extensions makes it easier for developers to write programs that scale to take advantage of parallel hardware by 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.

The June 2008 CTP contains the following improvements among others:

A new API named Coordination Data Structures which synchronizes and coordinates reads and writes from multiple processes. This API was being used internally by PLINQ and the Task Parallel Library, and now was made available externally.

There is a new run-time scheduler which is supposed to provide the performance scalability needed in the future. The run-time scheduler is a vital and critical part of an operating system or a framework like Parallel Extensions and will most probably need to be optimized based on user feedback.

Various changes to PLINQ like Parallel.Invoke instead of Parallel.Do.

The Parallel Extensions framework is supported on Windows Server 2003, Vista, and XP. The .NET Framework 3.5 is necessary to run the corresponding code, and Visual Studio 2008 for development.

No comments

Reply

Exclusive Content

Clojure

Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.

Composite Oriented Programming with Qi4j

We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

Principles and Practices of Lean-Agile Software Development

Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.