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

  • TPL Dataflow – The Successor to CCR

    TPL Dataflow is Microsoft’s new library for highly concurrent applications. Using asynchronous message passing and pipelining, it promises to offer more control than thread pools and better performance than manual threading. The downside is that you have to adhere to design patterns that may be unfamiliar to .NET programmers.

  • Why Microsoft Believes that VB and C# Need an Asynchronous Syntax

    The new Async CPT for VB and C# looks like it may actually make it into the core language. But with all the emphasis on multi-core systems, why is Microsoft investing so heavily in syntax for designed specifically for making single-threaded asynchronous programming easier?

  • Yahoo! Releases S4, a Real Time, Distributed Stream Computing Platform

    This month, Yahoo! released a new open source framework for "processing continuous, unbounded streams of data." The framework, named S4, allows for massively distributed computations over data that is constantly changing. InfoQ examines some of the examples and compares S4 to other technologies.

  • Sneak Peak: Asynchronous Syntax for Visual Basic and C#

    In a recent blog post the Visual Basic team let slip an announcement that Visual Basic and C# would be getting a new syntax for asynchronous programming. Built on top of the Task Parallel Library that was introduced in .NET 4, this adds the Async and Await keywords to both languages.

  • Concurrency Revolution From a Hardware Perspective

    Brian Goetz and Cliff Click spoke at JavaOne conference last week about concurrency revolution from a hardware perspective. They said CPU designers will focus on parallelism in the future for increasing throughput of the systems. They also discussed some point solutions like Thread Pools, Fork/Join, Map/Reduce and Actors to achieve the concurrency in applications.

  • Aparapi: New, “Pure Java” API for Executing Arbitrary Compute Tasks on GPUs Unveiled at JavaOne

    InfoQ catches up with Gary Frost from AMD who unveiled an alpha release of Aparapi, an API that allows programmers to write logic in Java to be executed on a GPU. GPUs are the massively parallel hardware acceleration chips originally installed in PCs to boost graphics rendering performance but that are now pushed to other kinds of compute-intensive tasks that have nothing to do with graphics.

  • Parallel Programming with Microsoft .NET

    The patterns&practices team has released Parallel Programming with Microsoft .NET, a book containing guidance for writing parallel programs for .NET. In essence the book contains 6 design patterns for parallel programming accompanied by code samples.

  • Optional Parameters Are Gaining Ground in .NET

    Optional parameters have always been part of .NET, but with C# unwilling to support it, using them was generally considered taboo unless work with COM libraries. Now that C# 4 does support them, we are starting to see them used for a lot more than just legacy code. Other uses include interoperability with dynamic languages, immutable data structures, and various parts of ASP.NET MVC.

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

BT