Re: One for Keith

Ron Resnick (
Sun, 21 Jun 1998 03:26:42 -0400

Joe Barrera wrote:
> Hi Ron,
> The list is being quiet, so I thought I would reply to you and fill everyone
> else's mailbox at the same time. I'm just sitting here learning visual
> basic, if you would believe, writing an app that rescues my mail from MSFT's
> proprietary *.pst format (used by Outlook and Exchange) and converts it into
> normal god-fearing RTF.

Oh, I'm quite sure god fears RTF, all right. Even
God stands in trepidation before mighty MS. Admit it - you
set yourself up for that one :).

> (Or HTML if you prefer.) In other words, I'm finally
> learning how to control Windows apps programmatically, so I can do the
> Windows equivalent of piping data through several programs, and wrap the
> whole thing up in a single program, or better yet a COM object I can reuse.
> I know, why do you care. Well, have you heard of Symbio?


>It's a project at
> NCSA for clustering (as in lots of boxes, as opposed to failover support) on
> NT, based on COM. In non-Microsoft speak, the emphasis is on distributing
> objects across the cluster instead of programs. So I'm thinking, here's a
> case where mobile objects could really have fun. I've done process migration
> for programs on clusters, and it always tends to suck, because
> programs/processes have their state messily strewn all over the place.

Correct. Last year, at IBM, I knew a really bright guy who
was working on a checkpoint/restart facility for scientific
programs. The idea being if you're two-weeks into a major matrix
inversion calculation, you don't really want to have the machine
go 'oops' and start over. So, save all the state
and context periodically, and optionally allow a computation
to migrate to another node. Nothing all that dramatic and new,
but he was doing this on AIX which I guess was a relatively new
environment to try out these ideas, most of them having been
done on VAXen and other beasts more popular till recently with
the number crunching set.
So, anyway, he gave a talk about what he was up to, and so I
mention to him afterwards, 'gee, have you looked at what
all the Java agent people are doing? Like IBM's own aglets?'
He'd never heard of aglets of course, and really couldn't see
the connection to anything I was saying. A lot of his
troubles had to do with maintaing consistency between distributed
running images of Unix execution stacks and associated heap data.
And on he struggled, and probably still does, thinking he alone
in the world is faced with these sorts of issues.

> But
> object migration (e.g., for load balancing) should be a whole lot easier.
> I've always sort of known this (Mach was basically object-oriented, and that
> helped a lot when I did Mach on the Intel Hypercube & Paragon and wanted to
> support migration), but I've suddenly realized that objects are here, and
> real, and there's a huge library of objects already out there even on a
> WinNT box with Office installed.

You've suddenly realized that objects are here, and real! Well, good
morning and smell the coffee Joe! Where have you been? Tsk tsk.
Oh well, just when you've realized that objects are here and real,
now you're faced with all the post-modern-objectists like Rohit
telling you about 'data salients', and me, telling you about
'convenient fictions'. Never mind dear, if you've realized that
objects are here and real, well then, never-mind-there child, they are!
We wouldn't want to upset you, now, would we.

> Any thoughts? What do you know about Symbio? Do you care about clusters?

As I said, ixnay on the ymbioSay, but yes, I care deeply about
clusters. I suppose the way I started my whole tricky descent
into this world of distributed bits comes from a damn
homegrown HA cluster project that was my first real job out
of school. I've never let those issues go. That's why I keep
yelling at everyone that salvation lies in Virtual Synchrony
and Ken Birman, ultimately :-). You can label the buzzword-du-jour
CORBA, COM, Java, XML, or whatever, but down underneath, if its
collaborating bits that need to maintain consistent group state
in the presence of component faults, we're all going to wind
up back at the same place, and the same solutions, limited
though they are.

Oh, yeah, so we were talking clusters. Well, I suppose there will
always be need for "big" clusters - the kind of stuff Rob mentioned
recently in that Avalon post (great stuff, that!).
But for the vast majority of computing tasks, I don't think
we need big server-class machines joined at the hip. I'm really
a believer in piles of little devices, the progeny of today's
PDAs etc., gangling together into dynamic compute groups as needed.
And, of course, rather than thinking of a 'cluster' of hardware
upon which special purpose software is run, I always prefer
to think of a hardware substrate, standard nodes+wires, upon
which a flock of distributed (mobile) objects can descend
and do its consistent, correct, causally ordered thing.
I.e, object groups. As in Electra, OGS, iBus, all those
kinds of things. That's the area of 'clustering' research
I suppose I'm most interested in. Not that it does
away with the Wolfpacks and HACMPs and the like. (I think IBM
calls their RS6000 clusters just 'SP's now, but HACMP seems
to be alive and well - eg is
starting to show the kind of features - geographic separation,
auto data resynchronization of a failed system, that I was
working on 4 or 5 years ago). Those kinds of things will continue
to live on for years to come, but I'm more interested in
the object group stuff because I think it is much more relevant to the
'ubiquitous computing' future nuts like me are so into :).

> guess I really should post/ask something dist-obj but it's late and I'm
> tired and I'm less embarrassed about posting random spew here than on
> dist-obj.

Whatever. Feel free to post your questions, and/or my response,
to dist-obj, if you want the opinions of the RSF (Really Smart Folks)
who inhabit those waters. As I've told you lots of times previously,
it's not a moderated forum, nor a particularly PC (politically
correct) one. Pretty much anything remotely related to the general
topic of 'computing in the large' is appropriate. Your stuff here
certainly fits the bill.

On the other hand, dist-obj has gotten way out of whack in the
last 48 or so. When dist-obj is babbling, and FoRK has fallen
silent, you just *know* somebody is messing with the fundaments
of the universe!

Generally, I've given up having technical discussions on FoRK.
I've really come to see things Tim's way. I hang around for the gossip
and the occassional bits, but I think Tim is right to complain about
too much techie stuff about XML and objects and stuff like that here.
It spoils the party. The exception this time is because you picked
a topic I really care about, and dist-obj just went bonkers.

> - Joe