Re: Concurrent Sequential



On Sun, 28 Oct 2007 10:59:02 -0400, Paul Tarvydas
<tarvydas@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

Traveler wrote:

The problem is that this approach to software construction would be
extremely slow because current CPUs are designed and optimized for the

Actually, we were doing something like this (if I understand your idea
correctly) on 8051's about a decade ago and it was competitive in speed
with C-like languages. For some applications, involving heavy interrupt
traffic (e.g. network protocols), our method was faster / more-responsive.

Project COSA:
http://www.rebelscience.org/Cosas/COSA.htm

I would be interested in your comparison with out method:

http://www.visualframeworksinc.com

For something similar, see also:

http://www.jpaulmorrison.com/fbp/

Paul, I agree with a lot of the motivation behind VF. I agree that
event-driven processing is the way to go. I agree that objects should
be parallel and should communicate asynchronously. Like you, I believe
in the soundness of the reactive model. I believe that this is the
true model of computing. It's the way it should have been from the
start but the mathematicians had something else in mind. As a result,
we are in software reliability and productivity crisis.

The only thing that we may disagree on is that I am a die-hard purist
when it comes to event-driven programming. I believe that everything
should be event-driven, down to the instruction level. This is the
only way you can build truly fine-grained parallel systems in an MIMD
execution environment. I could not find any description on your site
regarding the fundamental objects of VF.

Your system, like mine, is a reactive control flow system. You are
right that it is not a data flow system (which I think is flawed). I
think that the best analogy to use when describing such systems is the
neural analogy. I believe that everything in a reactive system should
be explained in terms of sensors and efffectors and stimuli and
responses. Terms like "control flow", "state machines", "data flow"
are confusing, in my opinion.

The most confusing term of all is "synchronous". I believe that while
communication between objects should be asynchronous, by contrast, the
objects themselves should be synchronous. What I mean is that all
objects should be synchronized to a global virtual clock and every
elementary operation should last exactly one cycle. This is absolutely
crucial to reliability, in my opinion.

Having said that, I think that the time has come for the pure
event-driven model to emerge from obscurity. I am convinced that it is
the correct model for parallel computing and it should be the model
used by multicore CPU designers. BTW, David Halal wrote to me about a
year ago and asked me to take a look at his work. I downloaded his
paper but I was not impressed. His stuff is way too complicated, in my
opinion. I believe in extreme simplicity and purity at the fundamental
level.

I am glad to know that there are people out there who have an
intuitive sense of what computing should be done. Now that the
industry is painfully transitioning from sequential to parallel
processing, you and I are being presented with an unprecedented
opportunity to change computing as we know it. Let's stay in touch.

Louis Savain

Why Software Is Bad and What We Can Do to Fix It:
http://www.rebelscience.org/Cosas/Reliability.htm
.



Relevant Pages

  • Re: Fastest Matlab server under $4000?
    ... Any tips on picking CPUs and RAM to get maximum performance out of Matlab? ... because this is a system designed for parallel computing as I have described it. ...
    (comp.soft-sys.matlab)
  • Re: [OT] Re: Whats the name for this?
    ... I need to point out that the older CPUs ... > step from the earlier dedicated computing devices. ... > in cases where the programmers themselves are more comfortable in a CISC ... > who programs with no knowledge of how a compiler works. ...
    (comp.programming)
  • Re: 8086 addressing (overlapping segments)
    ... designers - that IBM rejected the 6809 very early because they felt ... 8-bit computing was over and wanted at least a 16-bit design. ... article, since the 8088 was horribly ifetch limited, to the point where any kind of performance-critical code pretty much ran with the instruction queue empty at all times. ... I've lost mine to a wife that insists on cleaning out the attic every 5-10 years or so. ...
    (comp.arch)
  • Re: HPC vs. server workloads (was: Is a RISC chip more expensive?)
    ... to fulfil the aims of the 360: It is strong in scientific computing ... The key point there is that mainstream CPUs are pretty much ... computers that are built around CISC CPUs like x86? ... provides good performance for loosely coupled HPC workloads. ...
    (comp.arch)
  • Re: HPC vs. server workloads (was: Is a RISC chip more expensive?)
    ... to fulfil the aims of the 360: It is strong in scientific computing ... agnostic to what type of workload is expected, ... computers that are built around CISC CPUs like x86? ...
    (comp.arch)