SmoothSpan Blog

For Executives, Entrepreneurs, and other Digerati who need to know about SaaS and Web 2.0.

Archive for September 6th, 2007

A Picture of the Multicore Crisis

Posted by Bob Warfield on September 6, 2007

I’ve written that most people Have Already Encountered the Multicore Crisis But Just Didn’t Realize It.  Now I thought I would post a chart that shows graphically how the crisis has been here for longer than people might suppose:

Clock Speed Timeline

The Multicore Crisis has to do with a shift in the behavior of Moore’s Law.  The law basically says that we can expect to double the number of transistors on a chip every 18-24 months.  For a long time, it meant that clock speeds, and hence the ability of the chip to run the same program faster, would also double along the same timeline.  This was a fabulous thing for software makers and hardware makers alike.  Software makers could write relatively bloated software (we’ve all complained at Microsoft for that!) and be secure in the knowledge that by the time they finished it and had it on the market for a short while, computers would be twice as fast anyway.  Hardware makers loved it because with machines getting so much faster so quickly people always had a good reason to buy new hardware.

Alas this trend has ground to a halt!  It’s easy to see from the chart above that relatively little progress has been made since the curve flattens out around 2002.  Here we are 5 years later in 2007.  The 3GHz chips of 2002 should be running at about 24 GHz, but in fact, Intel’s latest Core 2 Extreme is running at about 3 GHz.  Doh!  I hate when this happens!  In fact, Intel made an announcement in 2003 that they were moving away from trying to increase the clock speed and over to adding more cores.  Four cores are available today, and soon there will be 8, 16, 32, or more cores.

What does this mean?  First, Moore’s Law didn’t stop working.  We are still getting twice as many transistors.  The Core 2 now includes 2 complete CPU’s for the price of one!  However, unless you have software that’s capable of taking advantage of this, it will do you no good.  It turns out there is precious little software that benefits if we look at articles such Jeff Atwood’s comparison of 4 core vs 2 core performance.  Blah!  Intel says that software has to start obeying Moore’s Law.  What they mean is software will have to radically change how it is written to exploit all these new cores.  The software factories are going to have to retool, in other words.

With more and more computing moving into the cloud on the twin afterburners of SaaS and Web 2.0, we’re going to see more and more centralized computing built on utility infrastructure using commodity hardware.  That’s means we have to learn to use thousands of these little cores.  Google did it, but only with some pretty radical new tooling.

You’ll see more from me on the multicore topic (you can always click it in the tag cloud on the left), but I did this chart on a lark and thought it showed the problem pretty clearly so I wanted to get a post out.

Related Articles:

Multicore Language Timetable

Submit to Digg | Submit to | Submit to StumbleUpon

Posted in grid, multicore, software development | 31 Comments »

Has Google Turned Into Microsoft?

Posted by Bob Warfield on September 6, 2007

I know there is an audience out there that is increasingly concerned with just how much Google dominates the web from the perspective that you can never trust a monopoly, just take a look at Don Dodge or Paul Graham to hear about why Google is the “most dangerous and feared company”.  But this isn’t really what I meant by my question about whether Google has turned into Microsoft.  Rather, I note that their offerings have a lot of the foibles that Microsoft is famous for.

Recently, Google introduced a no-brainer (a “Duh!” feature, as my kids would say) feature by adding search to the Google blog reader.  I’ve used the reader for a long time, and it has always seemed silly to me that I didn’t even have a link to search inside the reader.  I mean, Google is a frickin’ search company and how hard is it to add search anyway?  And why didn’t they even think of this until now?  So finally, we now have a search type in and the results are fed right into the reader.  Eureka!  What a nice thing.  Except, they still didn’t quite get there.  Where’s the button so that if I really like one of the links, I can just add that blog to my list for reading?  And how do I restrict the search to only the most recent posts, something else I often like to do.  Drat!  We’re still not there.  And I ask again, how hard was that anyway? 

This is Internet development fer cryin’ out loud.  And it’s being done at Google fer cryin’ out loud again.  I see zillions of videos from brilliant people who visit Google to speak about all manner of brilliant topics.  I have scores of brilliant friends who went to Google to work on brilliant things with the other brilliant people.  They love the way Google encourages them to work on innovative projects they think of without too much pushing towards specific deliverables.  And yet, the pace of progress seems glacial.   All the while, the natural monopoly and network effects their franchise enjoys keep the growth of Google inexorable.  Shades of Microsoft.

Take a look at how much Microsoft spends on R&D.  I read somewhere it is equivalent to the sum total of VC in the Valley.  I know that’s not true, but sometimes I think the only thing to come out of all that investment is Clippy.  And we all hate Clippy, but Clippy won’t die!  And then there is the new user interface for Office 2007, which I found incredibly annoying.  It forces everyone to relearn where every command is.  Is it really worth it so they can demo a spiffy new modal UI?  Yes friends, that UI is a bunch of modes.  It suffers from all the problems that we used to decry in UI design about modes.  I remember that pulldown menus were tolerated because they were “spring loaded modes that went away after you were done”.  Famous UI designer Larry Tesler has a license plate that says, “No Modes”, and was fond of saying “Don’t Mode Me In”.  The new Office 2007 UI dispenses with all that was learned there in the interests of a pretty face.  The menus just change toolbars and the new toolbars hang around until you select a new mode.  So we have the problem that modes always bring: you’re always hunting for the command you needed and you’re never in the right mode for what you want to do right now.

Oh well.  End of rant, I must have been feeling curmudgeonly today.  I just hope Google hasn’t gone the way of so many big companies.

Speaking of Google, there’s some fascinating articles out that talk about how the Big 3 have been losing to the independents in the world of Shopping Search.  How often do the big players in any industry lose out to the independents?  Vive le Enterpreneurs! 

Now that’s news.

Related Articles:

Who’s Afraid of Google

Posted in user interface | 2 Comments »

How to Have a Happy CEO/CTO Marriage (Features vs Scalability)

Posted by Bob Warfield on September 6, 2007

Jason Calcanis has an excellent post on the trade offs between features and scalability, an area that can create no end of trouble in the relationship between CEO and CTO.  It’s also a story about over engineering, but Jason was polite enough not to blame the CTO for that (perhaps because the CEO is often just as guilty of under engineering!). 

Managing these trade offs is very hard to do.  Scalability can turn into kind of a maintenance programming chore, but there is no question that having to engineer scalability under fire is extremely painful.  See my article about how you’ve probably already had a Multicore Crisis for more.  Nobody wants to live through a crisis like those described.  If the crisis is bad enough it often results in either a big set back for the business, having to replace key executive like the CEO or CTO, or both.

There are a lot of approaches for dealing with the balance of new features versus scalability or other maintenance-related tasks.  I’ve always found that the best answer is finding ways to do more.  It sounds trite, but everyone wants to hear that they can have it all.  Often that means figuring out how to do more with less.  Where software is concerned, that means planning ahead.  Writing software is a bit like sailboat racing: it is costly to change directions, so you need to be on the right tack to begin with.  CEO’s have a lot of knobs and levers they can use to create change for their companies.  As we look at the alternatives, Marketing, Sales, and Product, we find that Product often has the slowest cycle time from conception to delivery.  We need to use the other two to provide some air cover for that change to happen in.

A huge time waster for software is last minute change.  Mechanisms for scalability need not be all that hard or expensive to implement if just a little time can be taken to plan ahead.  There are always obvious bottlenecks that result from having made the wrong assumptions too early.  Having to rearchitect those under fire is a recipe for disaster.  Don’t paint yourself into an architectural corner where scaling is concerned, says Dan Cresswell.  I’ve worked at three companies now that built products around Grid Architectures, and I’m here to tell you it wasn’t that much harder to do, it gave us a huge advantage, and we never could have done it if we hadn’t thought about it carefully up front.

Another issue is the wastefulness of most software development.  As I’ve mentioned in another post, 70% of the software you write is wasted.  Shocking, but true.  Consider ways to reduce that wastage.  My article mentions the use of more efficient languages and Open Source as two potentials.  You have to work hard to focus your team’s energies on things that create true proprietary advantage.  Everything else you deliver should be no better than average: it just doesn’t matter enough if you make it better.  Having a CTO that knows how not to over engineer the average stuff is a huge advantage.  Having a CEO and Product Management staff that knows not to even ask for much that doesn’t make a real difference is even better.  There is nothing worse than a diligent Product Manager who has surveyed customers and competition in exhaustive detail and delivers a Product Requirement for a feature that does every possible thing anybody could ever want but that won’t make a bit of difference in the end of the day to your company’s proprietary advantage.  If your marketing and salespeople can’t write press releases about it or include the features in sales demos, why build them unless they’re absolutely essential for your product to work at all?

Posted in business, software development, strategy | 1 Comment »

%d bloggers like this: