[e2e] parasitic computing
Jon Crowcroft
J.Crowcroft at cs.ucl.ac.uk
Wed Sep 5 07:56:53 PDT 2001
so after the horrible hack using the checksum, it occurred to me that
a simpler and more elegant way to use computers all around the net
while happenign to communicate usefully is as follows
all ttls> 32 are taken as opcodes
the source and destination transport port numbers are 2 16 bit operands
then when you want to say
add a,b
on machine w.x.y.z
you send a packet with ttl 33 to that address with ports a and b
arbitrary length arithmetic libabries can be provided
for the receiver to know the correct offset of the opcode, an initial
no-op packet could be sent with the noop add 0,0 - the residual ttl at the
receiver would tel you how to offset into the machine code - pdp-11s
and other 16 bit machines would work fairly efficiently, which is
nice...
relaible distributed computing would obviously use TCP:
Teraflop Computer Programming
whereas for laissez fair (SETI at home) like stuff, we'd use UDP:
Unreliable Distributed Processing
SIMD could be done with multicast.....load balancing CPUs by
anycast...
MIMD is harder...until you realize that the distribution tree for
multicast would lead to different residial ttls at different machines
(i.e. different opcodes) - this might take a while to catch on as
porgrammign it would be harder than a conenction machine....esp.
dealing with packet loss based exceptions....
interrupts could use router alerts ...
oh, and the DSByte could be used to "nice" your program(s)...
j.
grid
More information about the end2end-interest
mailing list