BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Parallel Programming Content on InfoQ

  • LINQ on GPU with Brahma

    Brahma is an open source C# library that provides support for parallel computations running on a variety of processors. Currently, Brahma has a GPU provider but its modular structure allows using different providers for other types of processors. One C# method can contain both statements running on CPU and GPU without additional glue code.

  • Patterns and Samples for .NET Parallel Extensions

    Even though Microsoft has been working on .NET’s Parallel Extensions since 2007, there are still many features that they didn’t have time to fully implement for .NET 4.0. Some features were “too application-specific to be included in the core of the Framework” while others simply needed for testing and user feedback. So instead they are being released as a set of patterns and samples.

  • Executing Parallel Programs on Multi-core GPUs and CPUs with Accelerator V2

    Accelerator V2, currently a preview build, is a .NET managed library easing the task of writing data-parallel programs executed on multi-core CPUs and GPUs.

  • Clojure Roundup: Distribution with Crane, Mathematics with Incanter, Builds with Leiningen 1.0

    FlightCaster recently open sourced Crane, a tool for distributing and remotely controlling Clojure instances, currently specialized for EC2. Incanter is a Clojure library and tool that makes R-like statistical computations easy with Clojure. Also: the build and dependency management tool Leiningen 1.0 is now available.

  • Microsoft Enters the Biotech Market with a Truly Open Source Project

    Microsoft Biology Foundation is a collection of libraries build on the .NET framework and based on traditional open source traditions. Rather than reinvent the wheel, Microsoft is leveraging the file formats already found in bioinformatics community. Even more unusual for them, they are soliciting contributions to be added to future versions of MBF.

  • Google Experiments with a New Language, Go

    Go is a Google experimental open source new language resembling C but adding features like reflection, garbage collector, dynamic types, concurrency, and parallelism.

  • Introducing the Task Parallel Library’s new Cancellation Framework

    Task Parallel Library, .NET 4.0’s replacement for ThreadPool, got a face lift for beta 2. In addition to performance improvements, it The most important change is probably the new cancellation framework that replaces parent/child relationships with cancellation tokens that can be freely given to logical groups of tasks.

  • .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.

BT