[comp.sys.transputer] Dynamic Reconfiguration ??

mkc@cis.ufl.edu (Madhan Chidambaram) (03/12/91)

Hi transputer users,

Can someone tell me the exact definition of a dynamically
reconfigurable machine.  I have 2 definitions:
 
 --  A machine, in which at any instant of time we could use a 
     configuration of processors which is a subset of the configuration              of the the whole set of available processors in the system. 
   (Or is this static reconfiguration as we do not really change the
   underlying configuration)?

 --  A machine in which the set of processors are reconfigured some
     time during the execution of some program. That is, in this case, 
     the underlying configuration of processors is changed in the 
     middle of some program execution. (Is this possible at all) ?

Which of the above definitons are correct ? 

I would like to know if the Parsytec's transputer board with 16
transpters supports dynamic reconfiguration as defined in my second
definition above.


Thanks in advance.

Madhan.

University of Florida,
Gainesville,
Florida.

homeis@cs3 (Dieter Homeister) (03/12/91)

Hello,

mkc@cis.ufl.edu (Madhan Chidambaram) wrote:

>Can someone tell me the exact definition of a dynamically
>reconfigurable machine.  I have 2 definitions:
> 
> --  A machine, in which at any instant of time we could use a 
>     configuration of processors which is a subset of the configuration
>     of the the whole set of available processors in the system. 
>   (Or is this static reconfiguration as we do not really change the
>   underlying configuration)?
>
> --  A machine in which the set of processors are reconfigured some
>     time during the execution of some program. That is, in this case, 
>     the underlying configuration of processors is changed in the 
>     middle of some program execution. (Is this possible at all) ?
>
>Which of the above definitons are correct ? 

A clear and unique definition is hard to find in computer science.
I can only tell you my personal opinion.
The first definition mixes two things: the dynamic reconfiguration and
the total connectivity. On small systems you can find a full connectivity.
In large systems there must be a compromise between the full connectivity
and the number of "long lines" across the system.

I better like the second definition.
I use the terms "statically reconfigurable" and "dynamically reconfigurable".
- "statically reconfigurable":
     The reconfiguration takes more time than about one millisecond.
     The changes in the topology are done before executing a program
     by a sparate configurator program or by a system command.
     From the program's (and the programmer's) view the interconnection
     network seems to be **static**. The next executed program may run on a
     totally changed topology. The reconfiguration is managed by a global
     system service, not by the application program.
     Especially for fine grained parallel programs it is not useful to
     reconfigure the network during the program execution if the
     reconfiguration time is not much shorter than the average task size,
     otherwise the efficiency will be very low.
- "dynamically reconfigurable":
     The reconfiguration is performed very fast and the user program itself
     controls the reconfiguration of the the interconnection network during
     execution. In this case a fine grained parallelism may be combined
     with a fast reconfiguration and a high efficiency is possible.

>I would like to know if the Parsytec's transputer board with 16
>transpters supports dynamic reconfiguration as defined in my second
>definition above.

I think this is possible. An application program can tell the configuration
manager to change the network. I don't now the time it takes, but I think
you should not use fine grained parallelism.
As far as I know the Parsytec systems (as well as the Meiko and the
Supernode Systems) allow a dynamic reconfiguration, but this is too slow
for many applications. See Denis A. Nicole, Esprit Project 1085 -
Reconfigurable Transputer Processor Architecture, in: proceedings
CONPAR 88, Cambridge 1989, pp81-89.

I use a very fast dynamic reconfiguration in my system. I have 27
transputers and 2 C004's. A reconfiguration is done every 36 microseconds.
During a program execution about a million reconfigurations are done.
In fact I do this to simulate a star network. (BTW if I could get a
transputer with some 100 links I would better use a *static* topology.)
In my system I cannot reach the total connectivity.
A big limit for the reconfiguration speed is the serial programming of
the C004. Meiko and Supernode use ASICs instead of the C004, so they could
be faster.

--------------
Dieter Homeister, Universitaet Stuttgart,
Institut fuer parallele und verteilte Hoechstleistungsrechner (IPVR)
D-W7000 Stuttgart 1, Azenbergstr. 12, Germany
Tel +49 711-121-1319, Fax +49 711-121-1424
e-mail homeister@informatik.uni-stuttgart.de

moses@NADC.NADC.NAVY.MIL (Bill Moses) (03/13/91)

In response to <27405@uflorida.cis.ufl.edu> from Madhan Chidambaram
 
> Can someone tell me the exact definition of a dynamically
> reconfigurable machine.  I have 2 definitions:
> 
>  --  A machine, in which at any instant of time we could use a 
>      configuration of processors which is a subset of the configuration
>      of the the whole set of available processors in the system. 
>    (Or is this static reconfiguration as we do not really change the
>    underlying configuration)?
>
>  --  A machine in which the set of processors are reconfigured some
>      time during the execution of some program. That is, in this case, 
>      the underlying configuration of processors is changed in the 
>      middle of some program execution. (Is this possible at all) ?
>
> Which of the above definitons are correct ? 

  Both are correct. The first is a logical reconfiguration, where
the physical paths over which messages travel do not change, but
the way the messages get from point to point may change; a message
path may be reconfigured so that a different 'subset' of processors
is made available without moving any wires (pc traces, etc.) The
second is a physical reconfiguration, where physical connections
between processors are changed (via a link switch, for example)
in order to alter the topology of the network.
  So to answer your question of what exactly is a dynamically
reconfigurable machine, in my opinion, it is one in which the
configuration may be changed in a way which does not require
the user to modify hardware. If this is logical or physical, it
is still dynamic reconfiguration.

Bill <Moses@NADC.NAVY.MIL>

phpgdrk@ph.surrey.ac.uk (D R K Rao) (03/14/91)

Madhan,
	      It seems to me that you are trying to differentiate between
software and hardware reconfiguration. AS far as I understand things
people generally refer to the hardware reconfiguration.
>From ehat I have seen some systems have crossbar switches which can be
controlled via software i.e. you are using to change the software to change the hardware
connections. Nice but perhaps you have a tradeoff in response time?

Any comments from anybody else?

Ramesh