InfoQ Homepage Parallel Programming Content on InfoQ
-
Microsoft, Intel to invest $20M in parallel computing
Microsoft and Intel have recently announced a $20 million joint investment into parallel computing over the next 5 years.
-
MPI for .NET
MPI or Message Passing Interface is the standard for distributed programming such as that used in supercomputers and implementations can be found for FORTRAN, C, and C++. There are several projects in the works to bring that power to .NET. Today we look at two of them.
-
Declarative, Imperative, and Task-based Parallelism in .NET
Daniel Moth has released four videos on Parallel Extensions for .NET. These cover the new declarative, imperative, and task-based parallelism APIs for the .NET framework.
-
PLINQ Has Been Released As Parallel Extensions
A community tech preview of Parallel Extensions, originally known as PLINQ, has been released. Parallel Extensions goes beyond what was found in PLINQ and will include imperative data parallel APIs.
-
Parallel Processing Framework JPPF offers Load Balancing, Failover and J2EE Integration
Java Parallel Processing Framework (JPPF) project team recently announced the first Release Candidate (RC1) of Version 1.0 of the product. JPPF is an open source grid computing framework that can be used to run Java applications in parallel in a distributed execution environment. JPPF team is planning on Version 1.0 GA release next month.
-
Designing for flexibility and robustness: Asynchronous message model, OOP and Functional Programming
According to Pragmatic Programmers it is preferable in OOP to avoid design based on returning values. Michael Feathers argues that it may also be better to use the asynchronous message model that might be instrumental for improving adaptability and robustness. This maps well to the Erlang model though opposing some of the principles of pure functional programming.
-
Think you know what scalability is?
Many people talk about scalability, but do you know what it really means? Royans K Tharakan dispels some myths and provides a detailed explanation of some of the common scalability terms.
-
The Software Architecture Impact of the Multi-Core Processor Trend
A JDJ article explains that as we move towards Multi-Core processor architectures, single threaded performance improvement is likely to see a significant slowdown over the next one to three years. In some cases, single-thread performance may even drop. This in turn will require software developers change the way we develop software, increasing our utilization of parallel execution architectures.
-
Programming for Parrallelism: The Parallel Hierarchies Pattern
Multi-core processors offer new performance opportunities. Shekhar Borkar from Intel highlighted, however, that software development practices have to be retooled to leverage this potential. In this vein, Prof. Jorge L. Ortega-Arjona from the National Autonomous University of Mexico has recently introduced a new architectural pattern for parallel programming: Parallel Hierarchies pattern.
-
Ruby 1.9 adds Fibers for lightweight concurrency
Fibers were recently in the Ruby 1.9 branch. The Coroutine-like concept has many uses, such as implementing lightweight concurrency and others. We look at the concept and influences of Fibers in Ruby 1.9, as well as code samples.
-
Is Erlang the Java for the concurrent future?
The future of computing is going to be concurrent. Even desktop CPUs are multicore nowadays, and when customers are buying more and more CPUs to their servers, they expect their applications to scale well to utilize their new investment. But that's not going to happen with many software systems of today. Can Erlang help?
-
Microsoft Research's Accelerator: A Data-Parallel Library for .NET that Targets GPUs
Microsoft Research's Accelerator Project exposes a .NET library for performing parallel data processing using a computer's GPU.