January 15th, 2005

Kiggy!

So on tuesday, I managed to abduct the orange kitten I've been feeding for the past month. (Another present from my parking garage's ceiling tiles.) Took her to the vet, which said she's female, doesn't seem to have intenstinal parasites or ear mites or anything. May have kitty leukemia, or may have gotten antibodies from her mother's milk, but either way George has been vaccinated.

I've named this one Dragon. She was in the bathroom variously hiding and being petted for the first 24 hours or so, and then I let her out so george could hiss at her. (George was hissing at me because I smelled like the kitten. And growling too. It would never actually occur to George to DO anything, but she can hiss and growl up a storm.) The kitten didn't scratch me when I grabbed her either, but then I had been feeding her for a month...

Dragon wandered around for a bit and then hid downstairs. I've seen her once (briefly) since then. Her food upstairs is getting eaten (a kind George is sick of and won't touch anymore), and her catbox is being used, so she's still around somewhere. But beats me where.

Talented kitten.

In other news, I sort of got User Mode Linux to work, as long as you're not too pick about what you mean by "work". (It no longer panics left and right, now that I'm using the blaisorblade tree rather than the default kernel.org one. It can now even run gcc, now that I took "." out of the default path, which makes gcc ignore the path and thus be unable to find "ld". (As usual, the FSF knows better than mere users. Tracking that problem down took me a month, I thought it was something esteric with UML's syscall emulation or some such.)) It still hangs running "make", but it's still progress.

Work is getting progessively less fun, but there's not a lot of suprise here.

First of all, I think SCSI is a bad idea, that ATA has been just as good since DMA was introduced with ATA/33, and that ATA drives are now faster, bigger, and just as reliable. (The SCSI folks clamor mightily about SCSI being more reliable, since it only takes thirty seconds to prove that IDE is faster, cheaper, and has a larger storage capacity. Reliability you can argue about for a long time if you haven't actually seen an instance of either drive die on you in the past year, although the fact that most modern SCSI drives come off the same assembly line as the IDE ones do, with 90% the same components and just a slightly different adapter and firmware. SCSI has higher margins because there are still a few SCSI bigots out there who are still making technology judgements based on 20 year old data, but the unit volumes suck because to everybody else SCSI means you pay more to get less.)

Now the SCSI command set is not the same as SCSI drives. These days IDE (actually ATA, but we still call 'em IDE) drives use a subset of the SCSI command set to tell the drives to do anything unusual, like self diagnostics or CD burning. But that's just numbers used to talk to the thing, it's like unix syscalls. The underlying technology is quite different these days, but the programs still speak the same language to ask the underlying layers to perform standard services.

Meanwhile, a new technology is coming out called Serial Attached ATA (SATA), which is a much faster way of hooking hard drives up to a computer. These days, gigabit ethernet can get huge amounts of data over a wire, and keeping the signals on multiple parallel wires in synchronization is harder the faster you go. After a certain speed, it's actually more efficient (and much easier/cheaper) to just say "screw it" and pump data through one wire really fast, rather than slowing down to keep multiple wires from falling out of step. And keep in mind, gigabit ethernet is pumping something like 110 megabytes/second across wires hundreds of meters long, and hard drives hardly ever need even two meters of connecting cable. (Beyond that you bridge with ethernet and call it a cluster or network attached storage or some such. Yes, spring for a second motherboard already. Look at Google. Google does it right.)

So the old ribbon cables with multiple wires are going away, and we're going to a technology a lot more like ethernet to talk to the drives inside the box. SATA is positioned as the replacement for IDE. It's going to be cheap and fast and the controller will be build into motherboards, you can already buy sata drives at fry's. And this completely and totally obsoletes SCSI.

Naturally, the SCSI bigots went "aaaaaaah! We can't let IDE win! Even if this technology has nothing to do with the original ST-504 from the early 1980's, it's still the heir to IDE, meaning it's NOT SCSI! AAAAAAAAAH!".

And so they invented Serial Attached Scsi. (SAS). What is SAS? It's electrically the same as SATA: you can plug a SATA drive into a SAS controller and it should work fine. But they made it talk a different protocol across the wire (it sends SCSI commands!), and they did all sorts of things like put two connectors on the back (in case your controller fails, you can talk to it through a different controller), and upped the length of the cables you can use to talk to it to something like 6 feet, and various other things.

I've heard a number of justifications for SAS, but basically they all boil down to "Obviously SATA isn't going to work reliably, the IDE people are in favor of it! It's going to be commodity hardware, generic and ubiquitious. You can't get reliability if people are making hundreds of millions of units, you have to get expensive custom stuff that most people don't use. Otherwise we can't charge huge amounts of money for it."

The saving grace of SAS is, well, you can plug SATA drives into it. The firmware or device drivers for SAS systems should also be able to talk to a SATA drive and use it just fine. (SATA drives don't need the more expensive cable or have the gratuitous second controller plug, but I'm much more in favor of raid and clustering as a better solution to that whole CLASS of problem, anyway.) So when SATA sweeps the field and has a much better price to performance ratio than SAS could ever hope to have, greater capacity, has proven itself reliable, and so on, people with SAS systems won't have an expensive doorstop.

So my current project is diagnostic software for SAS. Specifically, diagnostic software for SAS drives only, not for SATA ones plugged into a SAS system. It's really hard to work up any enthusiasm for it, but It's what they're paying me to do. Still, I'm glad it's the weekend...

Rob