[mod.os] definitions of distributed

darrell@sdcsvax.UUCP (02/12/87)

In article <2699@sdcsvax.UCSD.EDU> cogito@cs.vu.nl (Robbert van Renesse)
writes:
>When is	an application ``distributed?''
(justification omited)
>=======================================
>
>    Definition.  A distributed application is an application
>		 carried out by two or more processors.
>
>This leaves the	terms ``application'' and ``processor''	 to  be
>defined.

The problem with this definition is that it allows nearly every application
to be defined as distributed.  The pc I'm using to write this on, for example
has a keyboard processor, a graphics processor, a floating point co processor
and a cpu, so that I can argue that any application it runs is distributed.

>What is	a distributed system?
>=============================
(justification omited)
>
>    Definition.  A distributed system consists of two or more
>		 processors which have the ability to commun-
>		 icate with one another.

Since the advent of kermit, almost any two processors have the ability to
communicate with each other, provided a long enough cable. (;-)

These definitions, although acurate are overly broad.  Unfortunately, I don't
have an alternative definition which is any better ("If it walks like a
duck and it quacks like a duck, it must be a duck.")

Or maybe, the definitions are right and all applications are distributed; so
we are trying to discuss the wrong things.

An alternative way to view a distributed system is in terms of packaging;
I claim that my PC isn't a distributed system because all of the
processors were intentionally packaged into a system which won't work
without them.  Multiprocessor systems aren't distributed by this definition
because they were packaged as such; but multiple workstations running a
file server are a distributed system.

The problem with this definition comes from two grey areas.  First, if a
vendor were to offer a turnkey distributed system would it become no longer
a distributed system?  Second, some systems are designed to be packed in
many ways.  A single VAX 11/780 isn't really a distributed system, even
though it has at least two processors (the VAX CPU and the LSI-11,) and a
VAX 11/785, which is really two 11/780s and a shared memory is sold as a
multiprocessor; while a vax cluster is viewed as either a multiprocessor or
as a distributed system, depending on the way the software is configured.

Oh well, needs more thought.

Marty

darrell@sdcsvax.UUCP (02/19/87)

I think all these definitions of distributed systems are missing the point.
Everyone seems to be trying to define the term based on the technical
requirements.  I maintain that it is the functional requirements which are
paramount.  It seems to me that there are two significant of a distributed
system:

1) Users at separate locations can access the system.

2) Users can get some of the functionality of the system even if all remote
equipment is non-functional.

Requirement (2) means that there must be autonomous processors at separate
locations.  Implicit in (1) is that there must be some communication between
those processors, since otherwise the whole is not *a* system.

Requirements that processors not share memory are a technical detail,
irrelevant at this level.

Frank Adams                           ihnp4!philabs!pwa-b!mmintl!franka
Ashton-Tate          52 Oakland Ave North         E. Hartford, CT 06108

darrell@sdcsvax.UUCP (02/21/87)

I think the only fully realistic (although not the only useful) definition
of a distributed system is "something that runs on more than one processor
and is not sufficiently well-understood to be a routine programming project".
As soon as we understand how to do something reasonably well, people start
saying "well, that's not *really* a distributed system, it's just a <xxx>",
where fifteen years ago everyone would have agreed that <xxx> would constitute
a type of distributed system.

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,decvax,pyramid}!utzoo!henry



-- 
Darrell Long
Department of Computer Science & Engineering, UC San Diego, La Jolla CA 92093
ARPA: Darrell@Beowulf.UCSD.EDU  UUCP: darrell@sdcsvax.uucp
Operating Systems submissions to: mod-os@sdcsvax.uucp