Wednesday, December 05, 2007

Netstation "Renewal", and the Genesis of iSCSI

The Netstation web site has moved (click the link). Actually, the page partially moved a while back, but some links broke in the process; it should now be complete.

Netstation was a project at USC's Information Sciences Institute, focusing on the re-architecting of systems around a network instead of a bus. Greg Finn came up with the idea (independently arrived at by others at Cambridge and MIT) in 1991 or earlier, and the project was funded by ARPA 1994-7, if I recall correctly. We did a network-attached display, keyboard, and disk. Arguably, the work that came from Netstation, members of the National Storage Industry Consortium's working group on Network-Attached Storage (notably Garth Gibson, John Wilkes, and Richard Golding), and later work at Quantum Corp. in collaboration with 3com and Adaptec were the genesis of iSCSI.

The idea of network-attached peripherals goes back at least to the early 1980s, and mainframe architectures employ a switched I/O infrastructure that looks like a network if you squint. A number of these are documented in my OSR paper, available from the Netstation page. But I'll take some of the credit for insisting that the protocol be IP-based; see my 1998 ASPLOS paper, "VISA: Netstation's Virtual Internet SCSI Adapter". Simply googling for "iSCSI" doesn't turn up that paper, because it was written before the term "iSCSI" was coined.

When you first bring the idea of IP-attached peripherals up, hardware folks are negative because of the performance implications, but the really difficult problems are security, device discovery, and sharing. The most interesting change is that the boundary of the system disappears. These problems remain research challenges, a decade later, despite a few forays in that general direction, many of them by Garth Gibson and his students, co-workers and collaborators.

(On a side note, one paper that we wrote that was never published was "NXS: X on a Network-Attached Frame Buffer". We submitted it to the 10th X Conference, but it was rejected, and we never revised and resubmitted. I no longer have a copy of the paper; if anyone out there reading it was on the program committee for that conference and is a compulsive pack rat, I'd love to have one back. That was the single hairiest piece of coding I've ever done...)

I should write up a little more on the history and prehistory of iSCSI. The brief timeline on IBM's web page doesn't go into any of that prehistory...

3 comments:

  1. A somewhat narrow view.

    Between 1997-1999 I worked in a small UK company that produced a storage product based upon SCSI over UDP or IPX. The product was based on the doctoral thesis of the founder of the company from 1990 or 1991, where he'd had the basic concepts running.

    Although not at the Haifa meeting on iSCSI, I was present at all IETF IPS meetings, including interims, from the Pittsburgh BOF onwards. I know from talking to colleagues that there were tens of solutions similar to the one from my old company knocking around in the late 90's.

    I know the IBM Haifa team love to take a lot of credit for iSCSI and the early work of Adaptec on SCSI over Ethernet gets a lot of credit too.

    The reality is that a lot of people had similar ideas at around the same time all over the World. I would debate that any of the famous people claiming credit for iSCSI were actually the first to come up with the ideas. However, the real credit due to the likes of the Haifa team, the HP and Adaptec teams is that they recognised the time for when the idea could go mainstream and came together to create a common interoperable standard.

    Actually, it is interesting to look back at those early days with regard to what the IBM, HP etc vision of iSCSI was. It certainly wasn't as an ubiquitous storage interconnect. For them it was intended to be a high-end data centre protocol only - and their real goal was to use the protocol to design 10Gb/s offload engines for it.

    ReplyDelete
  2. Hi,

    Thanks for the comment.

    (Somehow I missed it, even though comments are supposed to be mailed to me. Sorry for the delay.)

    I'm not trying to take too much credit -- I know that there were a number of similar efforts. Some of them are documented in my OSR paper from 1996; I began my work in this area with a literature search and learned as much as I could about what others had already done. The earliest use of the SCSI command set over Ethernet that I know of was to control a large autochanger (tape library system). The earliest use of a block-based protocol for disk storage that I knew of at the time was the NAP HiPPI RAID array from LLNL, by Kim Minuzzo and Dave Wiltzius.

    The early to mid 90s were a time of rich ferment with discussions of what physical medium, what transport protocol, and what application abstraction (blocks? files? objects? something programmable?) should be applied to network-attached storage.

    One of the places where that happened was the NSIC working group, of which I was not a formal member but I kibitzed with. In that group, there were skeptics about IP, and I like to think that my arguments had some impact on them. Not that the idea never occurred to them, but I hope I helped convince them.

    And, as I noted, Paul von Stamwitz and Drew Wilson from Adaptec, and Peter Wang from 3com, were all originally in favor of doing "eSCSI" -- no IP. I think I had some influence on their thinking, too.

    And I chaired SNIA's protocol working group in the beginning, up until our group at Quantum got the ax. Through that work, I met Marc Farley and some of the Brocade and other Fibre Channel folks, and I don't think I won any converts there, but I think I helped open some eyes.

    Yes, there are lots of people in this history. And in particular, I want to emphasize again that I have the utmost respect for the hard work put into creating usable standards. I have a really healthy respect for the pain involved in that process.

    So, the work that you did in the UK -- care to elaborate? I'd love to hear more about it. Was this an outgrowth of the Cambridge Desk Area Network, or something else entirely?

    btw, I can't seem to find an email address for you, but would love to continue the conversation...

    ReplyDelete
  3. Hi,

    Sounds like your early tape changer was similar to the stuff I worked on in the UK. In that case it was a server acting as a jukebox for CDs. The CDs would be ripped to disk on the server and could be accessed using a small client transporting SCSI over UDP or IPX.

    I've spent a lot of time talking with Paul von Stamwitz, we kind of gravitated to each other's company due to nicotine addictions.

    You'll find I've (hopefully) modified my profile so that you can see the email address if you wish to discuss things in more detail offline.

    Cheers.

    ReplyDelete