A many/multi-core blog

This blog is dedicated to the new many-core/multi-core programming techniques, especially the ones available in Visual Studio 2010.

Where did I go?

Some of you might wonder where did I disappeared. The answer is simple. Nowhere, but I have been busy preparing 2 workshops for Progressive Days .NET in Stockholm. And one of them will be on… “Parallel Programming”. I hope that this didn’t took any of you by surprise. :-)

See you soon,

Tibi

P.S. I am working on a webcast showing some of the Parallel programming features in VS2010.

Next stop? DevReach!

Have I told you about what could happen if you attend TechEd? If not, the answer is simple, a lot of nice things. For me at least, was the ticket to DevReach this year (http://www.devreach.com/). Don’t get fooled by the price, because except me :), all the speakers are MVPs, or Microsoft employees, and internationally renowned speakers, that you see at conferences like TechEd. If you think about it, you will see that the price of the conference, plus the price of the hotel, plus the price of the flight(at least if you are flying from Europe) is less that any two day developer conference you could attend.

See you in Sofia,

Tibi

Do more with more

I am a nerd. I have to admit. The sun is shining in Sweden(and that is not happening to often here) and instead of being out with my daughters, I am watching live Steve Ballmer’s Keynote at WPC09 (http://www.digitalwpc.com/Videos/KeynoteVideos)  and I have to make some comments related to that.

One thing he says is that the new word of the day is not “Do more with less”, but “With less do more”. Although this might be true for IT-Pro, for us developers is the other way around. We have more and we need to deliver more. And by more I mean faster, optimized code that uses the full computing power available.

Another thing he says is that most of the CEO are wondering what is the next step they need to take in developing their applications. The reason they ask that is because the platforms are emerging, and there will not be so much difference between internet and locally deployed applications in the near future.

What do those thing have in common? The need to switch to multi-core. Why? Because that is THE WAY to maximally use the computing power, and more than sure you will need this power no matter where you run your application, locally or on the cloud!

A new revolution is coming

I don't know how many of you have lived a real revolution. I did. 1989 I was in Romania when the revolution had started. And I still remember the feelings I had back then, even though I wasn't old enough to realize what was happening. Why am I telling you that? Because I do have the same felling now, like I had 20 years ago, meaning that a new revolution is coming. Only, this time people will not die, but some code(rs) might get "hurt" in the process of making this happen. If you haven't realize yet which revolution am I talking about, is the Multi-core revolution.

Why do I call it a revolution? As long as we had only one hardware thread, the life was very easy. But with the introduction of hyper-threading, and later on multi-core processors, the challenges we are facing as programmers are multiple. We are not guaranteed anymore the order of running our code, cached data might not be in cache anymore, as we are on another processor by the next time-slice, and so on. The challenges are multiple and different from what we are used to. So if this is not a revolution, I don’t know how to call it, then.

We are facing challenges in all the cycles of an application life. From conception to test of applications. Is not only the programmer facing this revolution, but the architect, the system designer, the tester, and even the IT manager. We all need to realize that the future is here, and we need to do something. And the big question is not anymore IF, but rather WHEN do we make the switch.

Just when we got used to think in objects, we have to readapt, again. We have now to start thinking in tasks. According to one of the definitions I found in dictionary, a task is "a piece of work that somebody is given to do, usually short in duration or with a deadline". Task oriented programming is the new black in the world of Software engineering, and as always the first ones will be the ones that have the biggest chance to get famous.

I will start this week a series of posts about different patterns for multi-core programming inspired from the following book: Patterns for Parallel Programming. So stay tuned.

I must confess, I am a lucky guy.

Couple of months ago, I decided to delve into the world of multi-core programming, aka concurrent programming, or parallel programming. The more I look into this subject, the more I want to know. So I decided to start a blog and share some of my thoughts, and experiences. And for that I needed a name, and what name would be better suited than multi-core. So i bought the multi-core.se domain as all other domains were busy. As some of you might know I came in the world of .NET from Pascal/C/C++/Java, but my focus now is managed code, aka .NET so multi-core.net would be even better. Last week, I tried to see who owns the multi-core.net domain, and guess what, I found out that the domain was pending delete since beginning of June. I tried to register it, but of course it didn’t work to do that, and after a while I forgot about it. Until Tuesday, when I don’t know how, I just remembered about it, checked it, the domain was free, and I could register it. So the new address of my blog will be blog.multi-core.net, and my mail address will be tibi at multi-core, both se and net.

/Tibi

What a week

Last week was an intense week. Wednesday to Friday, Herb Sutter was in town delivering a seminar about Efficient concurrency. Once again, I recommend warmly this seminar.

Another great seminar last week, was held by Juval Lövy, and was about advanced topics in WCF. Thursday we went out for a beer, and I have to admit that I was surprise to find out that he is a very down to earth guy for being a Software Legend. ;) The truth  is that I don’t know what I expected to see. And that is not all. He was kind enough to agree to talk at our User Group on Friday. Considering that he was in town for three days, and he was jet-lagged, but still found the strength to do that i think that it was a great gesture. Unfortunately, when it came to the fun part (the beers we enjoyed after) he was to tired to follow us. Anyway from all the people that participated at the meeting, we would like to send you a Big Thanks. We hope to see you soon again.

Then came the weekend, and it was very warm and sunny one, 25C, which usually is unusual for Sweden. Most of the summers are not getting more than 22C, so it was really nice to get to relax for a change. Of course that I couldn’t resist the urge, and I had to install Windows Server 2008 R2, Windows 7, and Visual Studio 2010. So now my laptop is running Wsv2k8R2, and in Hyper-V I runt Win7 with VS2010.

A sad news is that my sister was involved in a car accident Sunday night. The sad part in all that was the Swedish emergency system. The ambulance was very quick on site, and they were very professional, but we had to stay the whole night in the ER, mostly waiting, in order for them to dismiss her. She got 4 stitches and some bruises, but she is ok, and that matter most.

/Tibi

A great seminar

This week I am attending Herb’s Sutter seminar about Efficient Concurrency. I consider myself quite a seasoned programmer, and with some concurrency experience, but I have to admit that after only the first day, I already had a lot of gotcha and aha. :) If you have the chance to attend it, and your work is related or will imply some concurrent programming, I am highly recommending you to attend this seminar. If the seminar is not coming into a city near you, then read his blog. Is full with insightful information, and look out for his next book due 2010.

 

Best regards,

Tibi