Funny Concurrency Story

I've recently have been working with a client using a very well-known Web-tier library (which will go anonymous for certain reasons). Under heavy load, their system started responding terribly. They asked me to take a look at things.

To make a long story short, the library has a race condition …

more ...

XNA Screencast: Component-Based Game Development (But Is A DSL Called For?)

Mitch Walker provides an excellent screencast showing the use of components within XNA GSE. However, looking at it I kept thinking "Shouldn't this be a domain-specific language"? I have to be careful here because, obviously, drag-and-drop designers have proven to be successful. But using the design surface as nothing but …

more ...

XNA GSE Can Install Side-By-Side with VS2005

Ah. Although you cannot develop with XNA GSE inside a VM (either VMWare or Virtual PC), you can install Visual C# Express side-by-side with Visual Studio 2005. There's a slight weirdness in that VC# Express can only install to \$PROGRAM FILES, while I normally keep my dev tools on a …

more ...

Concurrent Programming in C# Intro

DevX has published my introductory article on concurrent programming in C# (a companion piece to my earlier article on C++/CLI and OpenMP). The interesting thing is that OpenMP makes parallel constructs easier to express in C++ than is possible in C#. On the other hand, C#'s memory management …

more ...

Intel Releases New Threading Tools

I had a preview last week of Intel's new threading products, including "Threading Building Blocks," a C++ runtime library (template-based) that provides high-performance thread-safe data structures. I was very impressed by the slides showing performance:

I look forward to trying out the tools myself.

more ...

Thinking Parallel Blog

I just discovered Michael Sļ's blog on parallel programming. He comments pro and con about my DevX article.

more ...

Article on Using OpenMP with C++/CLI

My latest article on DevX shows how easy it is (in the best case) to use OpenMP with C++/CLI. OpenMP is a low-level library to help create concurrent operations. One of things I talk about in the article is that it is at the finest-grain (loops) and the coarsest-grain …

more ...

ParallelApply: Distribute Calculations Over Multicore / Processors

This code applies a BackgroundFunction to elements of an IEnumerable using the ThreadPool. If you don't know what that means, it's probably not of interest to you:

::: {style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New"} [   10]{style="COLOR: #2b91af"}     [delegate]{style="COLOR: blue"} [void]{style="COLOR: blue"} [BackgroundFunction …

more ...

XNA Game Studio Express

Microsoft has announced (well, not announced, but Gamasutra just spilled the beans) XNA Game Studio Express,  a free product which will allow independents and studios to write games for the XBox 360. It will actually cost \$99 to be able to deploy your games to the 360.

Oh, hey and …

more ...

Multicore Machines and Games

I've abused Jeff Atwood's comments section enough, but I want to continue ranting about multicore machines.

One of the themes in his comment section is that games don't speed up on multicore machines. This is largely true. Jeff points out, correctly, that most games are video-processor bound and not CPU-bound …

more ...