It is generally believed that MISDs don't exist, howevere one can
claim that pipelined vector processors are MISDs. Also called vector
processors, in which multiple instructions are issued to various
segments of the pipeline-processor.
Examples: CDC STAR100
TI-ASC
CRAY-1 (it's vector processor)!!!
--
*
* *
* *
What about a pipeline architecture:
Multiple Instruction stages operate upon a Single Data stream.
systolic arrays (e.g., Warp)
...Greg Byrd North Carolina Supercomputing Center
gb...@ncsc.org P.O. Box 12889
(919)248-1439 Research Triangle Park, NC 27709-2889
wrong concept.... MISD = Multiple Instruction Single Datum.... not data
stream.... ie, something like a systolic array of sorts where each element
executes a single operation on a piece of data that is passed down the
assembly line....... however, all such machines are really MIMD as they don't
pass a single datum down the assembly line, but a stream of data (usually in
the form of a vector)
loosely speaking, you might make a case for a Cray here (at times) where multiple
instructions can issue in successive clock periods but have to wait for the
operand (result from previous instruction) to complete before they can actually
execute... I don't like the comparison, but have heard it and can accept it
with a grain or two of salt.... otherwise, I, too, have not seen an example
of MISD... (perhaps just like there is base-9 base-7, etc arithmetic??? that
nobody uses...)
Bob Hyatt
Bill Michalson, w...@pluto.wpi.edu
>In article <1991Sep2.1...@hubcap.clemson.edu> ma...@hubcap.clemson.edu (Mark Smotherman) writes:
>>Is there an example of an MISD machine
>> (i.e., from Flynn notation: {Single|Multiple}Inst.stream{S|M}Data.stream),
>>or is it generally agreed that such a beast doesn't make sense?
>>--
>>Mark Smotherman, CS Dept., Clemson University, Clemson, SC 29634-1906
>> (803) 656-5878, ma...@cs.clemson.edu or ma...@hubcap.clemson.edu
>It is generally believed that MISDs don't exist,
How about the old card-programmed accounting machines? 80 "byte" "words",
with some 50-100 (depending on program) parallel "instructions" operating
simultaneously on each "word". You could make a blazer of a business
machine, ZOOM but you'd have to write your programs in RPG.
Imagine a vectorising RPG compiler- no, don't. :-P
Martin Golding | sync, sync, sync, sank ... sunk:
DoD #0236 | He who steals my code steals trash.
HOG #still pending | (Twas mine, tis his, and will be slave to thousands.)
A poor old decrepit Pick programmer. Sympathize at:
mcspdx!adpplz!martin or mar...@adpplz.uucp
>Examples: CDC STAR100
> TI-ASC
> CRAY-1 (it's vector processor)!!!
I recently saw (but didn't read) an article in which the author claimed that
the IBM System/88 was a MISD.
Now, I'm so clueless about IBM machines that I don't even know what a
system/88 is...
--
Jeff Carroll car...@ssc-vax.boeing.com
Unless I grossly misunderstand what I've read about Warp, it's MIMD.
Distributed memory MIMD.
I suppose that if you were to build a hardwired systolic array, you could
argue that it was MISD, but since Flynn's taxonomy usually comes up when
we talk about how to program machine X, I don't see the point.
--
Jeff Carroll car...@ssc-vax.boeing.com
The IBM system/88 is the Stratus fault tolerant system as remarketed by IBM.
Stratus achieves CPU fault tolerance by running quadruplicated CPUs. Each
"logical" CPU is implemented as two self-checking pairs of CPUs. If there
is disagreement between one pair, that pair drops out and the other pair
continues to operate.
I would not call this MISD: the same analysis which says the data is "S"
also requires that you think of the instruction as "S". all 4 CPUs are
executing exactly the same instruction on exactly the same data at any
given time, i.e. SISD.
The fact that Stratus makes multiprocessor systems is orthogonal to this
discussion. A particular system may have 6 "logical" processors, and be
capable of executing 6 independent instruction streams. However, there are
actually 6 groups of 4 processors physically present. Each such fault-tolerant
group is SISD by the above definitions.
-----
E. N. Kittlitz kitt...@world.std.com / kitt...@granite.ma30.bull.com
Contracting at Bull, but not alleging any representation of their philosophy.
My personal raison d'etre at the moment - semantically driven architectures
:-) Processing is split between three processors. There's a binding
processor that generates addresses, a transient processor that does
calculations etc and a control processor that traverses the program graph
and issues basic blocks of straight line code to the other two. In this
type of architecture it's possible for accessing a single datum to involve
all three processors. Quite definitely an MISD machine but as yet just a
paper architecture.
I have a paper on this type of architecture but, since the copy I have says
"Submitted to Supercomputer 91" and I've no idea if it's been accepted or
published I won't give any further details until I've contacted the author.
--
Al Crawford - aw...@dcs.ed.ac.uk
"Such a digital lifetime, it's been by numbers all the while"
Oh, on this example. Why don't you ask Flynn? He's still around.
I've seen other abuses of his taxonomy. Ask him. You might learn something,
then again, you might not. 8^)
--eugene miya, NASA Ames Research Center, eug...@orville.nas.nasa.gov
Resident Cynic, Rock of Ages Home for Retired Hackers
{uunet,mailrus,other gateways}!ames!eugene
I'd argue that two mutually checking processors is not usefully different from
one self checking processor. And that there's only one instruction stream,
even though there are two units executing it.
As for really MISD machines, I already proposed the 409 (?) card programmed
accounting machine; it did multiple simultaneous add and move operations,
and I think there was one that did multiplies.
Now I've had time to check my reference (Computer Structures: Principles
and Examples", Siewiorek, Bell, Newell), I also suggest dataflow machines,
where an individual datum is broadcast, with every processor unit that wants
the data executing simultaneously.
For a concrete example of the dataflow architecture, the 360/91 floating point
unit could do a simultaneous add, multiply, and store on a load or result
of a previous operation. The instruction decoder assigned tags to expected
future results, then pre-issued commands with the tags they should execute
on. (This mechanism is the source of what are politely termed "imprecise
interrupts".)
Scoreboarding machines (eg CDC 6600) also allow execution in parallel
as each pending operand is made available, but the transport mechanism
may not be sufficiently SD if the functional units have multiple paths
to the registers.
My references are old and graying (10 years is forever in this industry).
Is anybody doing serious work on dataflow systems, or have they gone the
way of massively interleaved memory and drums?
>Is there an example of an MISD machine
sounds like a shared memory multiprocessor, where all processors are
pounding on the same data structure. this is tricky, but there are some
algorithms that work this way.
for example, if you consider a large matrix to be a single datum, it's
possible for unsynchronized processors to converge on a factorization.
you still need a few atomic operations to inhibit some shared
accesses.
some of the combining networks that do test-&-add, etc. might also be
considered misd.
Nope. Is has to do with how many independent data streams
are *available* in the architecture. Just because all the
processors in a shared memory machine might read the same
location doesn't mean they're restricted to do so.
In a MISD machine, there would only one component that
generates data addresses.
(In the same vein as your example, you can certainly make
a MIMD machine act like it's SIMD, but that doesn't take
away its MIMD-ness.)
I can imagine, e.g., a real-time signal processing system, where multiple
processors apply different algorithms to the same incoming data stream.
They might use different algorithms designed to perform the same
computation, but with different adaptabilities - e.g. different threat
estimation algorithms, one which assumes a noisy battlefield, another
which assumes that sensor data is reliable.
Or you might use different algorithms for different processors for
different purposes: one a collision avoidance algorithm, that plots
the aircraft course so as to avoid collisions with other objects, the
other a targetting algorithm, that constantly calculates cannon
position to hit the other objects in the sky (so that you don't have
to wait for targetting calculations before firing).
--
Andy Glew, gl...@ichips.intel.com
Intel Corp., M/S JF1-19, 5200 NE Elam Young Pkwy,
Hillsboro, Oregon 97124-6497
This is a private posting; it does not indicate opinions or positions
of Intel Corp.
Intel Inside (tm)
Here's one: consider a neural-network model of the auditory cortex of
a one-eared person. There's at least conceptually only a single data
stream: the incoming sound (here we'd consider the cochlea part of the
processing -- a series of filter banks).
For that matter, and neural network that processes a single data stream
could be considered MISD in a sense (though if you consider the signals
on all the connections data you're back to MIMD).
--
--
Joe Buck
jb...@galileo.berkeley.edu {uunet,ucbvax}!galileo.berkeley.edu!jbuck
Arvind's group at MIT is doing the "Monsoon" machine, with help from
Motorola.
Bill Dally's group at MIT has Id running on their Message Based
Processor machine, and claim to be getting performance comparable to
Monsoon's. Note that that's not a dataflow machine - just a MIMD
machine that can timeshare with an unusually fine grain.
--
Don D.C.Lindsay Carnegie Mellon Robotics Institute
And we have Id running on RISC machines at about the same speeds (see last
ASPLOS). The bottom line is that dataflow *architectures* are fading out
but that dataflow *compilation techniques* are here to stay.
Thorsten von Eicken (t...@cs.berkeley.edu)
Path: mintaka!olivea!samsung!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!rutgers!rochester!pt.cs.cmu.edu!lindsay
From: lind...@cs.cmu.edu (Donald Lindsay)
Newsgroups: comp.arch
Date: 7 Sep 91 23:21:51 GMT
References: <9...@adpplz.UUCP>
Organization: School of Computer Science, Carnegie Mellon
Lines: 14
Nntp-Posting-Host: gandalf.cs.cmu.edu
In article <9...@adpplz.UUCP> mar...@adpplz.UUCP (Martin Golding) writes:
>Is anybody doing serious work on dataflow systems, or have they gone the
>way of massively interleaved memory and drums?
Arvind's group at MIT is doing the "Monsoon" machine, with help from
Motorola.
I am a graduate student in Arvind's research group. There is a lot of
active work building Monsoon and there is a lot of research going on to try
to understand how to build START, the next generation dataflow machine.
Bill Dally's group at MIT has Id running on their Message Based
Processor machine, and claim to be getting performance comparable to
Monsoon's. Note that that's not a dataflow machine - just a MIMD
machine that can timeshare with an unusually fine grain.
When I saw Ellen Spertus's talk on this work, I got the impression that
they were not running Id on the J-machine. I believe that Ms. Spertus hand
coded various small dataflow programs. She had quite a few clever ideas
about how to map dataflow computation onto the J-machine. I don't remember
the performance figures. Maybe she will elaborate...
-Bradley
Bradley, thanks for calling this to my attention. You are correct
that there is not a full Id compiler on the J-Machine and that we have
not proven that we can match Monsoon's performance, although there is
reason to believe we can on some sorts of programs.
Specifically, we have made Id code run on the J-Machine through two
methods:
1. Hand-compiling dataflow graphs according to templates
(i.e., no fancy optimization is going on).
2. Taking Robert Iannucci's compiler which originally produced
code for his hybrid architecture and adding a MDP back end.
Only a subset of Id was supported.
For factorial, method 1 produced code which ran a little faster than
the corresponding Monsoon code on existing hardware. Method 2
performed worse, because it did too much run-time simulation of
Iannucci's architecture. Our experiences with these systems is
written up in ICPP '91. If anybody wants a copy of the paper (or a
longer version), just let me know.
I am currently working on a MDP back end for the ID Threaded Abstract
Machine (TAM) compiler at Berkeley. See ASPLOS '91 and FPCA '91 for
more details on TAM. In about six months, I'll be able to say how
this system compares to Monsoon's performance.
Ellen Spertus