Re: How do you do this?
- From: stephenXXX@xxxxxxxxxxxx (Stephen Pelc)
- Date: Sun, 25 Jun 2006 20:38:37 GMT
On 23 Jun 2006 11:29:39 -0700, "Jeff Fox" <fox@xxxxxxxxxxxxxxxxxxx>
wrote:
My question is how would you deal with problem of
sending a program to a node that is not already on that
node and getting it to execute. As an example lets take a very
trivial Forth code example:
: DEMO ( n1 n2 -- n1 n2+n1 n2+n1 )
over + dup ;
Compile that code and produce a binary image
that is appropriate for the target Forth node that gets
it as a message. Then encapsulate it in some
way to make it suitable for transmission to
the other node, send it and have the other end
run it.
MPE did three projects about sending programs/fragments across
heterogeneous (different CPUs/implementations) networks - PROCIC,
SENDIT and PRACTICAL. The SENDIT project formed the basis of the
Europay Open Terminal Architecture (OTA) project. They all used
tokenised binary stack machine systems.
The initial assumption was that the code transfers would be small
(<1kb). In practice, this was a false assumption. In the OTA
project binaries of up to 32kb appeared, and the token set
design was optimised for code density.
In retrospect, binary transfer was a mistake. Use the Forth, Luke!
Just send source code, compile it, execute it, throw it away. You
get the best performance and lowest overhead. If comms bandwidth
is an issue, compress the source code. Our *measurements* indicate
that compressed source is no more than approximately 20..25% larger
than tokenised binary. If your local compiler is slow, improve it.
At least for a heterogeneous network, sending Forth source
appears to me to be the simplest solution.
Others have made similar comments about handling HTML and XML
interfaces.
If you want more detail, define your environment more closely:
CPU performance
comms bandwidth
comms structure
response time
installation requirements
For example, if you want to talk to a corporate network with
lots of security, TCP port 80 is likely to be the simplest to
make contact with, and have the lowest installation cost. The
trade off is likely to be software complexity.
It's a big topic, and there are plenty of conferences about it.
Stephen
--
Stephen Pelc, stephenXXX@xxxxxxxxxxxx
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeforth.com - free VFX Forth downloads
.
- Follow-Ups:
- Re: How do you do this?
- From: Jeff Fox
- Re: How do you do this?
- From: Elizabeth D Rather
- Re: How do you do this?
- From: Bernd Paysan
- Re: How do you do this?
- References:
- How do you do this?
- From: Jeff Fox
- How do you do this?
- Prev by Date: If you got to choose the syntax, what would you do?
- Next by Date: Re: SEAforth Instruction Set
- Previous by thread: Re: How do you do this?
- Next by thread: Re: How do you do this?
- Index(es):
Relevant Pages
|
Loading