The end of Moore’s law and the way forward

It’s no secret that Moore’s law is breaking down.  It will be great if the geniuses at Intel and AMD figure out how to keep increasing transistor densities, but it looks like circuits will start melting soon if we get much more dense.  My 20 month old Sony Vaio uses 45 nm circuits… there’s only so much smaller we can get without some fundamental changes. 

Thanks to these physical limitations, you’ve probably noticed clock speeds on processors are not growing at the rate they used to.  But, what is growing is the number of cores on a processor.  In a processor with multiple cores, each core acts sort of like a processor of it’s own.  So chips aren’t getting that much faster… but they’re still getting more and more powerful, so we’re all good, right?  Not quite. 

The challenge with multiple cores is that it’s hard to write applications that really take advantage of them.  Doing so requires multiple threads… and managing threads can be tricky, debugging is hard, detecting race conditions is a challenge, etc. 

Fortunately, Microsoft is releasing a software platform that runs on top of Windows to help take the pain out of writing good multi-core apps.  It’s called .NET 4.0, and it’s available today in beta form with Visual Studio 2010 Beta 2, complete with a go-live license.  This means you can start developing supportable multi-core production apps today!

Here are some online resources to learn how to parallelize your apps to use multiple cores.  You can also learn what else is in .NET 4.0.  And, you can download the .NET 4.0 and Visual Studio 2010 Beta 2 here.

Especially cool, if you live around the Michigan, Ohio, Kentucky, or Tennessee, check out the “Steven Taub Parallel Computing Tour” that my colleague Jennifer Marsman is putting together.  Steven will be speaking about parallel computing at 8 events in 4 states over 5 days (October 26-30th)!  Wheh!

Here’s a little bit about Steven. 

Stephen Toub is a Senior Program Manager Lead on the Parallel Computing Platform team at Microsoft, where he spends his days focusing on the next generation of programming models and runtimes for concurrency, parallelism, and asynchrony. Stephen is also a Contributing Editor for MSDN® Magazine, for which he writes the .NET Matters column, and he’s an avid speaker at conferences like PDC, TechEd, and DevConnections. Prior to working on the Parallel Computing Platform, Stephen designed and built enterprise applications for companies such as GE, McGraw-Hill, BankOne, and JetBlue. He was a developer for Microsoft Outlook as well as for the Microsoft Office Solution Accelerators.

Click here for the full schedule, and to register for one Steven’s Parallel Computing events

Technorati Tags: parallel computing,.net 4.0