Re: How do you do this?



rdragomir wrote:
Mr. Jeff Fox has a clear advantage here. The CPUs in the SEAforth chip
transmit and receive data (code here) instruction by instruction (or
even more: words of 4 instructions at one time).

Well sure. Some of that goes back twenty years, and some of it is
an evolution from the last generation that used a network processor
that could send a message and have a network coprocessor
store an addressed incoming message into memory and then
interrupt the CPU to execute it.

And we have done this stuff with serial and parallel and network
interfaces. And everyone else has made forward progress in the
last twenty years too if only that they have a computer that
has faster interconnects and faster CPU than the last one
they had.

And other people will have other advantages, after all you can't
compare things that are exactly alike or they alway will be equal.

Other people have talked about their multi-core 3GHz PC with
hyper speed communication links between processors. They
have the clear advantage here if we are going to make
processor and communication link speed comparisons.

And other people have talked about their mainframes and
Transputers and networks of Linux workstations. So I don't know
how fast or efficient their approach will be since they will
have other advantages.

We can compare the performance of John's tiny embedded
computers running their C code with no OS and sending
the message, waking up executing it to someone's high
end multi-gigahertz mult-core PC. We can compare how
they do a hello world like we have in the past and
we can compare how you do hello world to how I do
hello world.

They instantly wake up
when data is ready, and go to sleep when there is no data. Very simple.

True.

There is no need to make strings, encapsulate them, transmit, receive

You do have to encapsulate, load, transmit. Of course you have to do
that.

an ack, etc. And because the opcodes are forth, there is no
optimisation issue (or I think it doesn't worth it). And here is a
matter of nanoseconds.

It is true that the Forth code is going to compile to one word.
And that one word, in this case, will have to loaded and
directed at the other computer and transmitted to get the
other computer to read it and execute it.

1. over + dup ; \ example forth code like ." hello world."
2. send on 1, execute on 2

It is a generic problem expressing the nature of parallel
programming. We are all living in a world dominated
by parallel programming today and moving into more
of it in the future. This frightens some people who
haven't noticed that their PC has many processors inside
of it and that they the new ones will have more. This
frightens people who haven't realized that Internet is
an example of multiprocessing that they rely on every day.

So I gave a very generic problem expressing the core
example to understand multi-processing. We all do
this stuff every day.

Some do it with browsers and TCP/IP and javascript
running on pages loaded with HTTP etc.

Some do it with multi-core chips from Intel and AMD.
Some do it with transputers.

And I asked other people how they would do it on
their computer. I didn't give any restrictions on what
computer they use, I asked.

I wish I have had a system with more than one processor with this type
of sending code to be executed. 20 microseconds and I could be proud of
it.

I was proud of the fact that it would take 1 microsecond on the old
F21 chips because they were after all cheap low power chips.

But every time I have two micros linked with some type of serial
connection, I quikly invented some sort of simple and very limited
protocol to send some data and commands. Very rudimentary. A couple of
miliseconds at best.

Sure in the old days serial was very slow, 9600 baud! Even 115k is
dialup speed! We used to use parallel cables instead of serial
cables to speed things up, yeah, async serial can be a huge
bottleneck.

I expect people with gigabit ethernet or 6GB/sec links between
the multi-core AMD processors would have the same communication
bootleneck. Hey, those thousand dollar processors do have some
performance advantages over <1$ processors.

So sure, we have sub $1 processors that are going to be faster
than John's sub $1 processors. And they could be slower than
other people high end computers or not depending on how
people would implement their solution. They might say I
am using this simple code on this 6GB/S link and it looks
like this, or they might say, I am using a network protocol
that will deliver the message in two days and it takes this
much code instead.

That's why I asked.

.



Relevant Pages

  • i was pushing to intend you some of my vulnerable routines
    ... compare. ... rounds them too. ... contrasts until ... It can reach the equal ego and leave it amongst its network. ...
    (sci.crypt)
  • Re: Standalone VB.Net app?
    ... The way I got around these security exceptions was to use the .net ... Then our network admin created a logon script to ... with local Admin privileges and elevated domain privs executes the app now, ... to execute because it is not trusted. ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Blue Screen
    ... Enquire, plan and execute ... all entries you findand see if they refer to one of your Network ...
    (microsoft.public.windowsxp.general)
  • Re: Could not start application from Network,...
    ... restrict what your app can do since it is run from the network. ... seems to be recitfied by calling caspol and telling it to give assemblies ... does not execute and silently fails when i try to run it as a standard ... When i try to run it with non-priv standard user the application ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: decnet startup failing
    ... Users log on through network using Reflections ... and (lcp set node, lcp create service, and lcp set node /stae=on) ... If I execute the lat$startup in systartup_vms.com on both nodes will ...
    (comp.os.vms)