InfoQ Homepage Parallel Programming Content on InfoQ
-
.NET 4 Cancellation Framework
.NET 4 will have new types to support building cancellation-aware applications and libraries. The new CancellationToken, CancellationTokenSource, and cancellation exception types provide a cooperative cancellation framework.
-
Hasso Plattner Touts Highly Parallel Computing and Column-Oriented Databases
In his keynote at Sapphire 2009, Hasso Plattner, co-founder of SAP, explained that he sees multi-cores, and in memory column-oriented databases in the future of enterprise applications.
-
Microsoft Has Released Axum
InfoQ announced Microsoft’s plan to ship Axum, an incubation language project, 2 weeks ago. In the meantime Microsoft has finished packaging an early release (v. 0.1) and made it available for download.
-
Axum, Microsoft’s Approach to Parallelism
Axum, previously known as Maestro, is a Microsoft incubation language project meant to provide a parallel programming model for .NET through isolation, actors and message passing. The language borrows many concepts from Erlang but with a C#-like syntax.
-
Is Parallel Programming Hard? Prof. Guy Blelloch Argues That It Isn’t
In an essay on Cilk Arts, Professor Guy Blelloch argues that parallel programming is not intrinsically hard, but rather a question of abstraction. The three problems identified by Blelloch are a lack of training in parallel thinking, separating parallel implementation from algorithms, and determinism. After detailing each, he explains why he thinks they can be overcome.
-
Functional Programming and Coordination Data Structures
Coordination Data Structures, CDS, are a new set of thread-safe objects, mostly collections, planned for .NET 4. After about 6 months of silence, there have been some significant updates. Most notably is the inclusion of functional programming techniques to reduce the need for design patterns.
-
Presentation: Taming Effects with Functional Programming
In this presentation recorded during QCon London 2008, Simon Peyton-Jones advertises the need for programming purity achieved especially through use of functional languages and the increased attention given to functional programming.
-
Erlang Style Concurrency for .NET Applications Part 1 - CCR
Erlang allows for massively scalable concurrency, often with millions of lightweight, thread-like components known as actors. Unfortunately, using Erlang requires rewriting all of your legacy code into a rather esoteric language. But there are other options, such as the little known CCR platform that was developed by .NET's robotics department.
-
Anders Hejlsberg and Guy Steele on Concurrency and Language Design
An interview recorded at JAOO, Anders Hejlsberg and Guy Steele talk about concurrency in language design. Anders Hejlsberg is the chief architect of C#, creator of Turbo Pascal, and former chief architect of Delphi. Guy Steele is the creator of Scheme and is currently working on Sun's Fortress, a programming language that focuses on parallelism and mathematics.
-
Visual Studio 2010 Feature Focus: Profiling and Debugging Parallel Applications
Visual Studio 2010 will bring a new focus on profiling and debugging parallel applications. These include tools for debugging code in terms of tasks instead of threads and profilers that show how efficiently the OS is scheduling threads.
-
.NET 4 Feature Focus: Parallel Programming
Microsoft is planning on releasing a wide variety of parallel programming libraries with .NET 4. These include Parallel LINQ (PLINQ), Structured Parallelism (Parallel.For), the Task Parallel Library, and the Coordination Data Structures.
-
Interview: Simon Peyton Jones on Programming Languages and Research Work
In this QCon London 2008 interview, computer scientist and researcher Simon Peyton Jones discusses properties of functional programming languages, and particularly Haskell, that have inspired some features in mainstream languages. He gives his opinion on the issues of syntax and language complexity and talks about some research work on subjects such as data parallelism and transactional memory.
-
NeverBlock and Non-Blocking Database Adapters
Besides Postgres, NeverBlock now also supports MySQL through the new MySQLPlus adapter. We talked to two of the developers of MySQLPlus and discussed NeverBlock and non-blocking database adapters with developers of Ruby's Oracle and SQLite interfaces.
-
Deadlock Debugging for .NET
Out of the box, .NET doesn't have any support for deadlock detection. Normally the way one checks for deadlocks is by attaching the debugger and examining each thread. Corneliu, creator of the GUI debugging tool HawkEye, has offered an alternative. His ACorns.Debugging tool works against most .NET programs, without recompiling them.
-
Enumerating Concurrent Collections
Continuing our series on parallel programming and collections, we now turn to the problem of enumerating mutable collections. With so many options available, picking the right semantics is hard, so Stephen Toub of the Parallel Extensions team is asking for feedback.