Sunday, August 26, 2007

Random Aside: Burning Man

I'm usually not a follower of ValleyWag, but sometimes you gotta appreciate the gems they post... Like this one:

"We've said it before, and we'll say it again: The only green Burner is a dead Burner. This year's Burning Man arts festival in the Nevada desert has an environmental theme. But an environmental analysis has shown that more than 90 percent of the carbon dioxide spewed by Burning Man participants comes merely in getting to and from Black Rock City, the festival's temporary site. So by all means, pack up your RVs, buy that planet-destroying bottled water, and run your stereos and air conditioning all week off of diesel generators as you celebrate the greening of Burning Man. Go ahead, claim that you're raising "awareness" -- at the same time that you're raising the planet's temperature. You're not fooling anyone -- least of all Mother Nature."

Virtual Machines vs. Bigger SMP

Okay, I admit it. SMP is cool. More processors in the machine makes coolness rise exponentially, not just additively.

So why don't we have a bunch of big SMP machine running the enterprise? Well, actually, we do. While 90% of the servers are at most 2-way x86 machines, they only represent about 50% of the server revenue as of Q4, 2006. The other 50% of the revenue comes from big SMP beasts that cost quite a bit more but represent far fewer machines. So big SMP is not only there, but it is quite alive and kicking.

Why is it though, that we have come to the point where the ratio of physical machines is 9:1 in favor of small servers?

Ahhh... here is where a little IT experience goes a long way. :-)

IT, like any organization, has all of the pros and cons of being run by humans. One of the cons is that humans, for the most part, prefer small succinct solutions to point problems. This makes the problem easier to comprehend and it makes the solution more malleable. A server dedicated to DNS for instance is easy to digest. I know exactly what expertise I need to run the server and the interaction between the environment and the application (DNS) is clear and well defined. There aren't other applications creating complexity. It is this same logic that has created the market for network appliances - one application with one hardware/OS combination with one owner that understands the whole system inside out. Thus, there is only one finger necessary when things go amok and that finger cannot be passed along to others.

Big integrated "God boxes" by comparison are a bit of an uphill climb. They require that the administrator truly grok all of the elements and their interactions. The adoption of a God box happens in one of three situations: (1) The interaction between the elements is so complex that it is clear to the administrator he will never comprehend it and thus an integrated solution with one vendor is preferred, (2) The interaction between the elements so well understood that the benefits of a highly integrated solution can be seen, or (3) There is a cost benefit that is so astounding that the administrator would be foolish to overlook it.

Integrated fax/printer/scanners are an example of this - the elements and their interactions are well understood and there is a significant cost benefit to using it. This makes an administrator overlook the risk of losing all three functions if one of them should go bad. Integrated networking systems are in a similar boat where there is a combination of cost benefit as well as simplification of an otherwise intensely complex system. By abstracting the complexity to within one system, there is now one vendor to point at.

In the world of systems administration, such integrations from vendors never really emerged. A support contract with Sun for instance guarantees that they'll replace/fix hardware and provide software bug fixes, but configuration hiccups are my own problem. If I choose to run many services on a server at once with a complex interaction, I'm responsible for their configuration and management.

In the early 90s, with no appliance vendors to speak of, the solution to derisking complex configurations in Unix servers was simple - buy a few small servers instead of one large one. Each small server could then provide a single function thus reducing complexity. If there is a problem with the software, there is no question regarding configurations interacting poorly with other applications. The rise of x86 based servers running Linux and Windows drove the transition home. Today, only those applications which mandate large SMP systems get them.

With servers doing fewer things and servers getting more powerful, the market for virtualization was created. We want to keep the compartmentalization of the application but gain the benefit of running multiple applications on a single CPU. As a result, the non-SMP to SMP ratio is likely to remain high and possibly get higher.

So amongst the SMP crowd, is there opportunity to eat into that market? Possibly... There are two approaches to further removing the need of large SMP systems: (1) SOA-ification of applications, and (2) Creating virtual SMP clusters with commodity x86 hardware.

Let's start with item 2 first. Historically, creating virtual SMP machines has been a tough sell. The technology has been around since the early 80s in the form of MOSIX. Efforts around distributed shared memory in the early 90s furthered the process. Unfortunately, these efforts largely stayed with the academics. That is until Qlusters came around in the early 2000s. Part of the team that started OpenMOSIX created a company around their effort so that they could sell a commercially supported implementation of MOSIX. Early adopters were in the HPC crowd that needed the massive scalability x86 clusters but didn't want to have to adopt their applications to use clustering software like MPI or PVM. With MOSIX, they just wrote their program as if they had infinite processor and memory space - a much easier proposition, especially for people that weren't programmers by nature. (e.g., scientists, mathematicians, etc.) However, none of these projects ever really took off in the enterprise. This is most likely due to the fact that large ISVs never supported the configurations.

Another issue with virtual SMP clusters is that of host to host latency. If you have an application that needs to do a lot of random memory accesses, getting memory from another host becomes a very expensive part of the equation. Low latency fabrics like LLE and Infiniband help with this, but add significantly to the cost of the overall solution.

Item 1 by comparison is gaining serious momentum, especially with the ISVs. I've written about this before -- the use of SOA is partially the creation of Microsoft with their push on the .Net side as well as the overall industry making a move to XML for everything. The great thing about SOA is that is compartmentalizes things in a way that classic system administrators like - one server doing one thing really well.

Which wins in the end? Well SOA is without a doubt going to be a big part of the solution, but I'm not ready to write off virtual SMP yet. I think there are some startups doing some neat work here and there is the VMware card as well as they are well poised to extend their virtual SMP model across multiple physical hosts.

Let the games continue...

Friday, August 03, 2007

Social bookmarking in business

I've been using for a few weeks now and I have to say that I'm pleasantly surprised. Social bookmarking is a far more efficient way to pass around links to associates, friends, family, etc. than popping open another email since the links can be pulled off the web site or taken from an RSS feed. Especially nice is the fact that readers can pull feeds by tag. For example, if I tag a link as "Sangeet" (meaning that the link is for my niece), my sister simply goes to Now my sister has the link bookmarked and she can skip all of the other links that are unlikely to interest her.

Unless of course she is interested in a pragmatic QoS solution for wireless mesh networks.

Hint: she isn't.

But a business associate I'm working with is. He has to make a significant business decision and needed to understand some details around wireless mesh networks in order to make that decision.

This started me thinking about social bookmarkings' use within business. We pass links around every day to coworkers and associates. We pass around useful things like articles related to our business. Occasionally we even pass around slightly less serious stuff like how math nerds have solved checkers. But each time we pass something around, we add to the email noise pollution. Even worse, readers on their Blackberry and Treos are unlikely to follow through on links - even if the links are relevant and important. Bottom line: if the reader can't click on a link and immediately browse there on their desktop machine, they are unlikely to follow through. Plain and simple.

With the use of RSS feeds growing amongst the ranks of business users, the ability to plug my links into someone's RSS reader means they are seeing the links when its convenient to them - not when they're hopping cell stations on a fast moving train that dives into and out of tunnels on a moment's notice. It's easier to get back to. It's easier to be reminded of the next time they pull up their news reader/bookmarks. It's easier because the link is no longer competing with 200 other incoming emails that arrived the same day. It's easier because by subscribing to the feed, they're implicitly saying that they care about those links because they control who they have to subscribe to and who they don't. Something they can't do with email.

Of course, the proof is in the pudding. This is a change in how people work and I don't expect it to take off immediately. The fundamental step is accepting the use of RSS feeds - something that, ironically, the business side of technology companies have been slow to adopt. However, the notion of feeds are here to stay. Heck, some folks are even using it to deal with... *gasp* email overload.

I'll be trying it with some of my cohorts... stay tuned...

(if you subscribe to my blog's RSS feed that is...)