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

by Jonathan Allen on  Jan 04, 2011 2

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?

C# 4.0 "Fixes" Deadlock Issue

by David West on  Mar 11, 2009 2

C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.

Concurrent Basic – A Declarative Language for Message-Based Concurrency.

by Jonathan Allen on  Mar 10, 2009

Concurrent Basic represents a possible future for Visual Basic. Though based on work done in C# research languages such as Polyphonic C# and C-Omega, Visual Basic was chosen for its inherent predisposition towards declarative programming. The syntax is even inspired by VB’s declarative event handlers.

Building a Better Thread-safe Collection

by Jonathan Allen on  Feb 25, 2009 2

Jared Parsons proposes a better thread-safe collection. By using a design pattern that strongly encourages, but not enforces, thread-safety, his API is both easy to use and easy to understand.

Replacing the ThreadPool with Tasks, Continuations, and Futures

by Jonathan Allen on  Feb 04, 2009 2

.NET 4 is adding support for tasks. Tasks are lightweight units of work much like queue work items, but with support for waits, continuations, and futures. Tasks can also support parent-child relationships with waits and cancellations being automatically threaded through them.

Article: Using the Concurrency and Coordination Runtime

by Jonathan Allen on  Jan 28, 2009 5

Nick Gunn provides a practical introduction Using the Concurrency and Coordination Runtime. CCR radically changes the way multi-threaded applications are written in .NET, shifting the focus from threads and locks to lightweight, asynchronous tasks. The Concurrency and Coordination Runtime, also known as CCR, offers actor-style concurrency for .NET applications.

Bill McCarthy asks “Are Iterators Fundamentally Flawed?”

by Jonathan Allen on  Aug 05, 2008 9

Iterators are at the core of .NET programming. Only rarely do developers actually work against indexed data, preferring to use for-each loops for most tasks. But is this inherently sequential access method appropriate as we turn more to multi-threaded applications?

Article: Introducing Multithreaded Programming to JavaScript

by Ryan Slobojan on  Jul 16, 2008 10

In this article, which was originally published on InfoQ Japan, Daisuke Maki describes some of the challenges of developing responsive AJAX applications, and presents Concurrent.Thread as a solution to easing the complexity involved in asynchronous communcation in AJAX.

Article: Do Java 6 threading optimizations actually work? - Part II

by Srini Penchikala on  Jun 30, 2008 3

In part 2 of "Java 6 threading optimizations" article series, author Jeroen Borgers examines various threading optimizations and JVM arguments to manage them. He also talks about factors like On Stack Replacement (OSR), Heap Management and Lock object data size which could significantly affect the performance of multi-threaded java applications.

Concurrency Presentation Scheduled for the PDC Pre-Conference Sessions

by Jonathan Allen on  May 29, 2008

Microsoft's The Parallel Computing Platform team will be presenting on Concurrent, Multi-core Programming for Windows and .NET during the PDC pre-conference Sessions. These sessions are day-long, in-depth presentations on specific topics. Held the Sunday before the main conference, a separate registration is required.

Breaking Changes in the .NET ThreadPool

by Jonathan Allen on  May 13, 2008

When .NET 2.0 SP 1 was released with .NET 3.5, the thread pool underwent some significant changes. As Michael C. Kennedy discovered, not all were for the best.

Microsoft, Intel to invest $20M in parallel computing

by Abel Avram on  Mar 27, 2008 2

Microsoft and Intel have recently announced a $20 million joint investment into parallel computing over the next 5 years.

Common Ruby MVM API research kicked off

by Werner Schuster on  Feb 28, 2008

Research on the topic of Multiple VM (MVM) Ruby will be conducted at the University of Tokyo together with Sun's JRuby team. The work will investigate issues such as communication between VMs and a common API across all Ruby implementations, with solutions provided initially for Ruby and JRuby.

Rubinius adds Multi-VM support

by Werner Schuster on  Jan 16, 2008

Rubinius adds a new feature called "Multi-VM", which allows to run multiple Ruby VMs inside an OS process. We talked with Evan Phoenix of the Rubinius project about the benefits and implementation of this feature.

Programming for Parrallelism: The Parallel Hierarchies Pattern

by Sadek Drobi on  Aug 29, 2007 2

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.