On Tue, 09 Mar 2004 00:46:51 GMT, "Felger Carbon" <(E-Mail Removed)>
wrote:
>"Robert Myers" <(E-Mail Removed)> wrote in message
>news:(E-Mail Removed)...
>>
>> I don't think that remote memory reads and writes for
>> RedStorm are necessarily limited to MPI
>
>My understanding is that MPI is the *only* way for the Red Storm CPUs
>to communicate with other CPUs or anything else. One of us must be
>wrong here, Robert. Cray's PDF repeatedly - and only - refers to Red
>Storm as being an "MPI" machine.
>
The distinction may be entirely academic, as the latest implementation
of MPI, MPICH2, aims at exploiting RDMA
http://www-unix.mcs.anl.gov/mpi/mpich2/
http://www.gup.uni-linz.ac.at/pvmmpi/talks/gropp.pdf
MPI is software. The actual message-passing of MPI has to be
implemented somehow at the physical link level. On a shared-memory
architecture, messages can be passed through shared memory, without
using any I/O at all. I would guess that the original implementations
of MPI for clusters went through the entire TCP/IP stack or its
equivalent, with all the associated overhead. My interpretation of
Red Storm being characterized as an MPI machine (without knowing what
exactly you're referring to) is that nodes communicate by transmitting
and receiving packets of information (and not through shared memory).
It may well be that MPI will be the only communication mode for which
software is ever developed for Red Storm, but whatever link layer is
used by MPI could just as well be used by some other communication
protocol implemented in software.
>> Whether the DoE (which always has the
>> biggest checkbook) picks up on streaming architectures or not,
>> somebody else will.
>
>Really? Who? And when? I confess that my impression is that a
>streaming architecture is a chip-level implementation of an algorithm.
>Change the algorithm, design a new chip. How long did it take to
>develop the Opteron? Itanium? Intel's NetBurst CPU? Do I have this
>wrong?
>
There is such a thing as a programmable stream processor:
http://merrimac.stanford.edu/
http://www.sc-conference.org/sc2003/...dfs/pap246.pdf
The work is currently being funded by DARPA (or it was last time I
looked).
Trying to make a distinction between a true stream processor and a
garden-variety modern microproessor gets harder all the time as
garden-variety microprocessors implement many of the ideas of stream
parallelism with or without explicit hardware support and with or
without explicit compiler support (streaming apparently just falls out
of OoO scheduling and register bypass).
As to how long it takes to develop a CPU, most of the complication and
cost in developing a modern microprocessor comes from the generality
and complexity of on-die scheduling. Most of that complexity would be
missing from a programmable stream processor.
Most of us have working examples of a stream processor right in our
own computers in the form of a GPU.
RM