Hoping to make programming data-parallel hardware easier, Microsoft has published its open specification for C++ AMP. By building its implementation directly into Visual Studio 11 Microsoft seeks to improve access to the GPU for developers.
It is hard to leverage the parallelism provided by recent processor architectures. As these CPUs are now available even in the low cost price sector, the main challenge of software engineers is to utilize the processors in their applications or apps. The International Conference on Multicore Software Engineering, Performance, and Tools (MSEPT'12) will focus on possible answers.
Dataflow Blocks are the backbone of the .NET 4.5’s new high performance parallel processing library. And while they offer a lot of functionality out of the box, there will be times when a custom block is necessary. Zlatko Michailov has put together a document outlining the process and many of the traps you may encounter.
Microsoft has been working on ways to improve the performance of parallel applications in .NET 4.5, specifically those using the Task Parallel Library. One of most impressive improvements is reducing the overhead for waiting on 100,000 tasks from 12,000,000 bytes to a mere 64 bytes.
Microsoft has released the Parallel Visualization Pack for Visual Studio 11 Developer Preview. Built to extend the functionality of the new Parallel Watch Window, the pack includes four visual tools to aid in debugging multithreaded applications.
Twitter has open-sourced Storm, its distributed, fault-tolerant, real-time computation system, at GitHub under the Eclipse Public License 1.0. Storm is the real-time processing system developed by BackType, which is now under the Twitter umbrella.
Microsoft wants to give C++ developers tools for writing parallel applications running on zillions of GPUs/cores locally or in the cloud.
With the increased emphasis on multi-core systems an understanding of parallel and concurrent programming is more important than ever. Fortunately .NET 4 has made a lot of advances in the types of synchronization primitives available to developers. One such primitive is the Barrier, which Emad Omara uses to implement a parallel merge sort.
The latest Scala release 2.9.0 introduces parallel collections to easily utilize multicore processors. Other new features are an improved REPL, ScalaDoc and new packages for interacting with the operating system.
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.
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?
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.