[comp.parallel] "Asynchronous" way of thinking

androula@ecn.purdue.edu (Ioannis Androulakis) (05/23/91)

My main interest is the implementation of iterative algorithms
in an asynchronous computing environment. There is no doubt
that asynchronicity has many advantages as well as disadvantages.
But, from my point of view, there exists a much more interesting
question that needs to, at least, be explored.
Is it possible to make use of the concept of asynchronicity
and develop a NEW WAY OF THINKING,
a new way of approaching the problems,
that will lead us to completely
new algorithms that will make full use of the power of the
asynchronous mode of operation and that would not be simple
asynchronous implementations of the existing sequential 
algorithms?
I feel like the independent operation of many processors
allows several different views of the problem,
from independent angles.
Would it be possible to actually make use of this new
information that does not exist in sequential algorithms?
Any comments on that will be greatly appreciated.
Thank you,
ioannis

androula@ecn.purdue.edu






-- 
=========================== MODERATOR ==============================
Steve Stevenson                            {steve,fpst}@hubcap.clemson.edu
Department of Computer Science,            comp.parallel
Clemson University, Clemson, SC 29634-1906 (803)656-5880.mabell

reynolds@park.bu.edu (John Reynolds) (05/23/91)

One way my thinking has changed is that I now consider the use of
discriminant functions instead of search trees for classification and
decision making.  Discriminant functions can tesselate input space in
ways that are independent of the sequential ordering of information
and they therefore allow greater generalization.  Discriminant
functions that are simple functions of input variables can be
implemented in parallel extremely efficiently.

will@uunet.UU.NET (William Pickles) (05/24/91)

androula@ecn.purdue.edu (Ioannis Androulakis) writes:

>Is it possible to make use of the concept of asynchronicity
>and develop a NEW WAY OF THINKING,

When I first started writing programs in FCP and Strand - I had to remember
the local invocation of Murphy's Law -- Any given event will happen
at the least appropriate moment. Any set of events will occur in the
sequence you least expect.

>a new way of approaching the problems,
>that will lead us to completely
>new algorithms that will make full use of the power of the
>asynchronous mode of operation and that would not be simple
>asynchronous implementations of the existing sequential 
>algorithms?

I found that the freely parallel semantics of these languages especially 
Strand ( the eager head matching of FCP leading to a defensive approach
to programming) a very liberating process once I accommodated the above
Law.

>I feel like the independent operation of many processors
>allows several different views of the problem,
>from independent angles.
>Would it be possible to actually make use of this new
>information that does not exist in sequential algorithms?

 I was working mainly in program analysis tools and discovered the ability to
 write tools which co-operated in the filling in of slots as the program
 text being analysed worked its way down the pipeline.

William Pickles


-- 
=========================== MODERATOR ==============================
Steve Stevenson                            {steve,fpst}@hubcap.clemson.edu
Department of Computer Science,            comp.parallel
Clemson University, Clemson, SC 29634-1906 (803)656-5880.mabell

aboulang@BBN.COM (Albert Boulanger) (05/26/91)

In article <1991May23.120018.17449@hubcap.clemson.edu> androula@ecn.purdue.edu (Ioannis Androulakis) writes:


   My main interest is the implementation of iterative algorithms
   in an asynchronous computing environment. There is no doubt
   that asynchronicity has many advantages as well as disadvantages.
   But, from my point of view, there exists a much more interesting
   question that needs to, at least, be explored.
   Is it possible to make use of the concept of asynchronicity
   and develop a NEW WAY OF THINKING,
   a new way of approaching the problems,
   that will lead us to completely
   new algorithms that will make full use of the power of the
   asynchronous mode of operation and that would not be simple
   asynchronous implementations of the existing sequential 
   algorithms?


I agree. My interest in asynchronous algorithms was sparked by how
much like quantum mechanical systems they are. Conjugate variables in
QM maps to variables being iterated across processors. In fact I did
a orbiting electron simulation with classical dynamics so that the
momentum variables were being updated on one processor and the
position variables on another, asynchronous to each other. This was a
way of making use of the observer/observed interaction effect
well-known to multiprocessing folk and link it to the something real in
the system being simulated.  Asynchronous systems are open systems and
the results of computation are partially influenced by the external
coupling environment. This leads to a kind of high-dimensional noise
(you can read this as nondeterminism if you like) available for
"free". This is all very similar to "non-local" hidden variable
theories in QM. Asynchronous behavior of neural nets is a ripe are of
investigation. 

Anyway, a good reference to asynchronous iterative algorithms is the book:

"Parallel & Distributed Computation: Numerical Methods"
Dimitri Bertsekas, & John Tsitsiklis


Seeking space-time pictures of an asynchronous universe,
Albert Boulanger
aboulanger@bbn.com