Path: utzoo!mnetor!uunet!husc6!bbn!rochester!crowl
From: crowl@cs.rochester.edu (Lawrence Crowl)
Newsgroups: comp.arch
Subject: Is Shared Memory Necessary?
Message-ID: <9559@sol.ARPA>
Date: 10 May 88 14:32:36 GMT
References: <503@xios.XIOS.UUCP> <2676@pdn.UUCP> <674@cernvax.UUCP>
Reply-To: crowl@cs.rochester.edu (Lawrence Crowl)
Organization: U of Rochester, CS Dept, Rochester, NY
Lines: 27

In article <674@cernvax.UUCP> hjm@cernvax.UUCP (Hubert Matthews) writes:
>... Everyones favourite trick seems to be finding evermore complicated ways of
>getting large numbers of CPUs to talk to the memory all at once.  Just imagine
>an ever increasing number of waiters trying to get in and out of the same
>kitchen all at once through one door, and you can see the mess.  OK, let's
>increase the number of doors ... in hardware terms this means separating the
>memory into several pages which can be accessed simultaneously, thereby
>increasing the effective bandwidth of the memory.  Is this really admitting
>that shared memory is not necessary?  Surely the highest bandwidth is achieved
>when each processor has its own memory which it shares with noone else?  It
>also makes the hardware a lot smaller. ...  shared-memory is not necessary;
>it's a software issue that shouldn't be solved in hardware.

Yes, the highest bandwidth is achieved when when each processor has exclusive
memory.  However, processes on different processors must still communicate with
each other.  Non-shared memory communication typically costs two orders of
magnitude more than shared memory communication.  What's worse, even when
processes are on the same processor, software engineering issues often require
that they communicate via the same slow inter-processor mechanism.  So the
fastest time to solve a problem may well lie with shared memory even though its
bandwidth is lower.  Communication is a software issue.  Making it cheap
requires hardware.  My conclusion is that shared-memory is not necessary, but
that it is worth its cost.
-- 
  Lawrence Crowl		716-275-9499	University of Rochester
		      crowl@cs.rochester.edu	Computer Science Department
...!{allegra,decvax,rutgers}!rochester!crowl	Rochester, New York,  14627