Re: Concurrent Sequential
- From: Traveler <traveler@xxxxxxxxxxxxxxxx>
- Date: Mon, 29 Oct 2007 11:18:54 -0500
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
.
- Follow-Ups:
- Re: Concurrent Sequential
- From: Paul Tarvydas
- Re: Concurrent Sequential
- From: Chris Thomasson
- Re: Concurrent Sequential
- From: Traveler
- Re: Concurrent Sequential
- References:
- Concurrent Sequential
- From: Roger
- Re: Concurrent Sequential
- From: Traveler
- Re: Concurrent Sequential
- From: Paul Tarvydas
- Concurrent Sequential
- Prev by Date: Re: HPC vs. server workloads (was: Is a RISC chip more expensive?)
- Next by Date: Re: Concurrent Sequential
- Previous by thread: Re: Concurrent Sequential
- Next by thread: Re: Concurrent Sequential
- Index(es):
Relevant Pages
|