Hi! I’m Kevin Farnham, a career software developer on Windows and non-Windows platforms (overall about 2/3 the latter, but turning more toward Windows lately). My core experience is in the area of high volume data processing and data access. I’ve worked with multiprocessor systems, and developed multithreaded applications, for a very long time.
It appears that programming has has reached a turning point — where programming for multiple processors, which hitherto has been a somewhat “arcane” endeavor, is about to become mainstream. Pick up any computer catalog you receive in your snailmail box, and you’ll see all kinds of multicore systems offered to you. Businesses tend to go with what’s current when they purchase new systems, and businesses that sell to consumers need their software to perform superbly on the new computers regular people are buying.
What this means is that: all applications need to take advantage of multicore processing chips, such as those currently offered by Intel and AMD. This means that applications have to be structured as multithreaded programs. What was once an arcane discipline now becomes critically important.
I have just started blogging over at the Intel Software Network Blogs site. I’m researching their “Threading Building Blocks” template library, which brings multithreaded programming in C++ to a new level… kind of raising it above the assembly-language-like patterns of raw threads that I and my long-time multithreaded programming compatriots are accustomed to.
I intend to post here as well, since Windows developers will likely be more significantly impacted by the shift to multicore processors than anyone else, given that most client applications (even for Unix server applications) run on Windows. I worked on the server side of Windows, leading the development of a Windows 2000 server application that successfully served tens of thousands of clients running on a 32-processor Unisys Windows box in 2003. That was a pretty powerful Windows system at the time..
Anyway, I’m happy to be blogging here, and please feel free to ask any questions you might have about Windows development using today’s new multicore systems.