Newsgroups: comp.parallel
From: mjr@netcom.com (Mark Rosenbaum)
Subject: Re: SMP vs. MPP
Keywords: MPP, SMP, PVP
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
Date: Mon, 16 Jan 1995 12:52:23 GMT
Message-ID: <mjrD2GEr3.7Lt@netcom.com>

In article <3envq3$nr@hamlet.umd.edu>,
Peter Brewer  <brewer@hamlet.umd.edu> wrote:
>In article <mjrD1n3BL.KuL@netcom.com>, Mark Rosenbaum <mjr@netcom.com> wrote:
>>
>>Symmetric Multi-Processors (SMP) implies that any processor can
>>be either user or supervisor. Shared memory is just the most
>>common way of having the different processors communicate. While 
>>This is an obvious solution I don't think it is the only one.
>>
>>Lets assume that shared memory is what you really want. Buses
>>are only the most common way of implementing it. It is not 
>>required. Non bus based memory could scale much better. In fact
>>there are already some switch based system comming out (IBM & Masscomp)
>>I think.
>>
>
>A wire network is a form of a bus so what he said is true. Bascially memory
>is connected via a bus whether it is a typical I/O bus or a memory 'bus'.
>An ethernet cable is a bus. Switches allow one to switch between various
>'busses'. Some are fast and others are slow.  

Switches are fundementally different from buses. Buses are broadcast
switches are point to point. Buses serialize on use switches, depending
on the type (blocking or non-blocking) either do not at all or only 
with certain routes.

>>
>
>An MPP does not necessarily have to have its memory distributed. A system
>could be designed which uses its memory as its 'switching network'. Such
>a system would have an awful lot of potentially long wires, ( busses 
>again ), and could experience timing problems ala' the Denelcorp HEP.
>However, it is possible to build such a system making the above statement
>not true in almost all cases. I am sure there are other architectures
>and examples.

True concurent write shared memory has consistancy problems.

>
>>Most of this discussion so far has ignored some very important points.
>>
>>Macros can turn a message passing system into a global memory system,
>>and the other way.
>
>Define what you mean by 'macros'?

in C
#define macro(a,b) ...

>>
>>The real battle is with latency and bandwidth not how to describe 
>>the symantics.
>>
>
>You mean memory bandwidth and network latency... e.g. busses again.

I mean network bandwidth and latency. A not busses only.

>>I cannot think of any usefull algorithms that don't try to partition
>>the data amoung processors if for no other reason than to avoid
>>memory conflict.
>>
>
>Even large vector machines with a few fast processors must use gather/scatter
>and other hardware to avoid memory bank conflicts. Even a single processor
>machine would be wise to use these techniques when dealing with large data
>sets which consume most of the system's memory. But algorthms do not have
>to use these techniques to be useful with small data sets. 

Small data sets would increase the chance of concurrent writes screwing up
the program.

>>Finally the $64K question. Does anyone have an algorithm that 
>>
>a) actually uses writable shared memory for anything other than locks.
>
>Gee, well there are recent versions of Unix spoolers which FIFOs. That is
>a form of shared memory is it not? How about message queues although the
>are slower than FIFOs in general... ( lately they've been improved ). You
>should probably spend some time reading Steven's books on Unix programming.
>So, I guess there's UUCP, printd, etc., etc., etc. 

I may not have explaned this clearly. In shared memory the systems are
defined along two axes read/write concurrent/exclusive. Most algorithms
are Concurrent Read Exclusive Write (CREW). I was asking for CRCW.

>You sure you aren't one of Clinton's recent 'consultants"?
>
>-- Peter Brewer              Lite Gatto

Peter,

Lets not get personal.

Mark Rosenbaum				Director of Engineering
mjr@netcom.com				Otey-Rosenbaum & Frazier
(703) 536-9464				Consultants in High Performance 
Washington D. C. 			and Scalable Computing 
metro area				and Applications


