Been bickering with some users, but then what else is new? It's a community full of people who don't understand software development and collaboration in general. Somebody once described FOSS as "egoware". I don't think that person had ever seen the Wikipedia.
I don't think I can recommend the Cornell Theory Center enough. I learned today that in addition to the training for Microsoft partners at their Manhattan and Ithaca campuses (I would recommend against Ithaca, but if you go, stay at the Statler or get a car. Really.), they offer onsite training, special "concentrated" training for people considering Windows clustering, and consultations for sites which are having issues. Much of this is done without fees.
It has become clear to me that the more I start to accept this technology, more people will label me a shill and disregard what I say. You may have gathered from my previous posts that I really came into this with a healthy dose of skepticism. So, I would suggest to all of those people that I'm still the "Unix Guy" I was six months ago, only now I have a fuller understanding of Windows, and what it is capable of. The stuff that I've seen here at Cornell has been very cool. They're a bunch of driven, competent people, who seem to have a real interest in bringing HPC to a broader market (they use the term "your mother in law", but what they really mean is "we want Bioinformaticists to be Bioinformaticists, not Computer Scientists). If Microsoft can get behind the product and find a way to market it to the audience that will most readily accept it, they really and truly could start seeing a paradigm shift in HPC.
Which brings me to my next point. Besides some of the stuff that they've given us being kind of rough (I feel that honesty is really the best practice here, and they do too. Saying that the training has been polished and end-user-ready would not be true. There's a lot of good content, but you have to be able to extrapolate from what you're seeing.). Cornell is using a combination of products from Verari (their Cluster Controller and their MPI suite) in their clustering implementation. Neither of these are "open" solutions. I find myself wondering whether we can convince members of the HPC community (and not necessarily the "Unix" community, HPC is broader than just Unix) that they can do this with closed, proprietary systems. While Intel does offer an MPI library which is Free (as in Beer, you've got 30 days), Verari does not. Also, while MPI is a mostly agreed upon standard (which even has Perl bindings!), I don't necessarily trust that Intel's implementation will work with Verari's. I mostly think that the HPC community wants to see an open, accepted standard, which they can compile their own source from. I just don't see that here, and I'm frankly not sure that the HPC community will buy it. Cornell seems to think that the benefits of Windows based clusters (which I don't need to go into here) will be enough to entice customers/users to evaluate it. That's heartening, but as I've said before, We Shall See.
I'm personally sold. It is worth mentioning that Verari has a Mac OS X port of their MPI libraries, and MPI is not so hard to code (in C even!!). The hard part is really figuring out how you want to structure your application. Coding for a cluster means you need to decouple your application as much as you can, and that is sometimes hard. The alternative is spending gigabucks on things like Myrinet for your cluster interconnects, and you're still paying a tres cher price for that luxury. Talking across the bus, even on anemic Intel procs, is going to be orders of magnitude faster than talking across even 10GE.
Even when I'm not "Working For Microsoft," I still have to deal with other peoples' impression of me. It occurred to me at dinner this evening, as I was drinking a Murphy's Stout (gack, there was no Guinness at the pub in Ithaca), "does this beer mean anything in the context of my being a Microsoft employee?" All of the people I've met have been very gracious and nobody's given me the kind of shit I or one of my colleagues would have given a Microsoft employee six months ago. However, when I and one of my coworkers couldn't get a particular thing working in one of the labs, it wasn't "Alex and Steve can't fix XYZ problem," it was always "The Microsoft Guys...". It's been hard adapting to the role of somebody who always has to be on their best behavior.
Sungo used to talk about how AOL would never put us in cubes, or would realize the folly of their ways if they did, as management would hear the shrieking "cocks, ass, fuck, shit", etc, coming out of the cubes and wafting through the hallway. Sungo is of course a little more ... boisterous than the rest of us, but I don't think it's too far off. Even when I'm not "representing the company," I find that people are measuring me against some yardstick that includes Microsoft. Looking across the dinner table at me, they're not thinking, "Alex from class today," they're thinking "that guy from Microsoft [what's his name?] who came to our class to spy on us today." It kind of makes me sad, but at the same time, I'm glad I've had the experience. It just might break me of my habit of (first uttering, then) yelling "fuck!" when something breaks.
That having been said, it's been very flattering, too. Most of the people I have talked to, when engaged semiprivately, have said that they have a relatively high opinion of Microsoft people, and most of the "rough housing" we get is just because we can take it. I suppose that's both flattering to me, and testimony to how skilled the company is in general. I'm frankly glad to be a part of a force regarded that way. We can take the insults because goddammit, we're good enough to.