Building Concurrent Apps with F#

One stumbling block that developers encounter with asynchronous programming is that they become so concerned with getting concurrency right that they forget the core simplicity of the program. F# lets you separate simple programs from the concurrent control flow and reveal the simplicity and readability of your core program. In the October 2008 issue of…

1

.NET Matters: False Sharing in Parallel Programming

There’s no programming model that magically eliminates all concurrency-related issues, so understanding how memory and caches work is still important to write efficient parallel programs. In the October 2008 issue of MSDN Magazine, Stephen Toub, Igor Ostrovsky, and Huseyin Yildiz explain how architectural limitations of memory cache can lead to incorrectly sharing data between threads…

0

Windows With C++: High-Performance Algorithms

Algorithm efficiency is not as straightforward as you might think. A well-designed algorithm on a single processor can often outperform an inefficient implementation on multiple processors. In the October 2008 issue of MSDN Magazine, Kenny Kerr walks through the development of a fairly simple algorithm with efficiency and scalability in mind. Check the magazine archives…

1

Fixing Concurrency Problems In Your Code

Correctly engineered concurrent code must live by an extra set of rules. Reads and writes from memory and access to shared resources need to be regulated so that conflicts do not arise. Additionally, threads often need to coordinate to get the job done. In the October 2008 issue of MSDN Magazine, Joe Duffy describes some…

0

Parallel Programming with Visual Studio

Multicore systems are becoming increasingly prevalent, but the majority of software today will not automatically take advantage of this additional processing ability. And multithreaded programming, for anything but the most trivial of systems, is incredibly difficult and error prone today. In the October 2008 issue of MSDN Magazine, Stephen Toub and Hazim Shafi explain how…

0

Design Considerations For Parallel Programming

Concurrent programming is notoriously difficult, even for experts. You have all of the correctness and security challenges of sequential programs plus all of the difficulties of parallelism and concurrent access to shared resources. In the October 2008 issue of MSDN Magazine, David Callahan describes different ways to think about and use parallelism for those portions…

1

Concurrent Affairs: Simplified APM With The AsyncEnumerator

In the November issue of MSDN Magazine, Jeffrey Richter demonstrates some recent additions to the C# programming language that make working with the APM significantly easier. In the June issue, Jeffrey introduces his AsyncEnumerator class, which intelligently drives an iterator so that different thread pool threads can execute the code at different times, and ensures…

0

Tools for Identifying Concurrency Issues

Performance improvements in many-core systems can only be achieved by writing efficient parallel programs. However, testing parallel applications is not straightforward. In the June 2008 issue of MSDN Magazine, Rahul V. Patil and Boby George look at testing techniques and six helpful tools you can use to locate problems in parallel programs. See our MSDN…

0

Foundations: Synchronization contexts in Windows Communication Foundation

The .NET Framework 2.0 introduced a little-known feature called the synchronization context, which is used to bounce a method call between a calling thread and a target thread or threads, in case the method cannot execute on the original calling thread. By far, the most common use of a synchronization context is with UI updates….

0

Concurrent Affairs: Simplified asynchronous programming model (APM) with C#

Performing I/O-bound operations asynchronously is key to producing scalable and responsive applications, and the APM allows you to use a very small number of threads to execute a large amount of work without blocking any of the threads. In the November issue of MSDN Magazine, Jeffrey Richter demonstrates some recent additions to the C# programming…

1