background preloader

Multi-core - Concurrent programming

Facebook Twitter

New Patent Around Race Condition Fixing. Today, Replay Solutions announced its success in obtaining a US patent around their software's ability to reproduce and fix race conditions.

New Patent Around Race Condition Fixing

Race conditions are a big problem for developers working on multi-threaded applications. Voke Inc. analyst firm founder Theresa Lanowitz says that the software gaming industry and embedded systems vendors have addressed race conditions, but now enterprise developers have a growing need to address them as well. Race conditions are a very common defect type in multi-threaded Java apps, and one of the toughest classes of software problems to reproduce and fix.

With the growth in demand for virtualization and cloud computing software, as well as the rise of multi-core processors, multi-threaded applications are critical to the future of computing. In the worst cases, a race condition bug can wreak havoc on a system like it did in 2003, when this kind of bug caused the largest power outage in North America. Deopli whitepaper.pdf. The Downfall of Imperative Programming. Imperative programming is in my bloodstream.

The Downfall of Imperative Programming

I've been a C++ programmer for most of my life. I wrote a book about C++. I helped Andrei and Walter design an imperative language D. If I dabbled in functional programming, it was mostly to make my imperative programs better. Over the years I also developed a real passion for concurrent programming. There is no doubt in my mind, and most experts agree, that concurrency and parallelism are the future of programming. I have recently attended the Multicore DevCon in San Jose, which was part of a big DesignWest Expo.

Remember the times when progress in software was driven by adding abstraction layers between programming languages and the details of processor architectures? I may surprise you that the state of the art in parallel programming is OpenMP and OpenCL. But maybe this is just a temporary state of affairs and there is ongoing work to ratchet the levels of abstraction back to where they'd been. Here's the key insight: Amdahl's Law in the Multicore Era. Parallel Programming Tutorial Series - Part 1 - Basics. Dual-Core Processors Powered 20% of Smartphones in 2011. "Multi-core Mania": A Rebuttal. The Simple-Talk newsletter is a monthly e-zine that the folks over at Red Gate Software (makers of some pretty cool toys, including their ANTS Profiler, and recent inheritors of the Reflector utility legacy) produce, usually to good effect.

"Multi-core Mania": A Rebuttal

But this month carried with it an interesting editorial piece, which I reproduce in its entirety here: When the market is slack, nothing succeeds better at tightening it up than promoting serial group-panic within the community. As an example of this, a wave of multi-core panic spread across the Internet about 18 months ago. IT organizations, it was said, urgently had to improve application performance by an order of magnitude in order to cope with rising demand. We wouldn't be able to meet that need because we were at the "end of the road" with regard to step changes in processor power and clock speed.

My hope is that this newsletter, sent on April 1st, was intended to be a joke. And frankly, I think it’s all crap. To begin ... Wow. To continue...