From: marks@agcsun.UUCP (Mark Shepherd)
Subject: Re: Teaching Concurrency
Date: 13 Jan 90 00:06:44 GMT [thread overview]
Message-ID: <604@agcsun.UUCP> (raw)
In-Reply-To: 499@qusundl.queensu.CA
In article <499@qusundl.queensu.CA>, dalamb@qucis.queensu.CA (David Lamb) writes:
> In article <602@agcsun.UUCP> marks@agcsun.UUCP (Mark Shepherd) writes:
> >In real life (whether industrial, business, scientific research, or whatever),
> >multi-tasking applications carry substantial penalties
> >in complexity and resource utilization, and should only be used when
> >appropriate. (Of course, NOT using tasking when it should be used has
> >equally dire consequences).
> >
> This may be true now, but will it continue to be true?
Yes. Like any other tool or technique, it will *always* be true that
tasking should only be used when appropriate. Here is my view of some of
the circumstances under which this is the case:
- when different functions are unrelated
- when different functions have dissimilar lifetimes or priorities
- when different functions may or must run on different processors
- when a agent is needed to serialize or manage access to a
resource or device
- when errors must be isolated to a single sub-component of a system
- when a simpler or more effective design results (this of course is the
acid test of appropriateness - all the "whens" are secondary)
The use of a separate task to, for example, add 2 numbers together, is
usually inappropriate because it adds unnecessary complexity. Whether
or not it causes a performance problem depends on what the performance
requirements are.
In the large and expensive system I alluded to in my previous posting, the
performance problems arose not because tasking was used, but because
it was *inappropriately* used.
My view of performance or "efficiency" is that these are not absolute
terms, but must always be viewed relative to the user's requirements.
A program that produces results when the user needs them has good
performance, even if it is "inefficient" (e.g. it uses PL/1 subroutines :-).
A program that will run in finite time only on a connection machine has
good performance only if I happen to own such a machine.
Mark S
next prev parent reply other threads:[~1990-01-13 0:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
1990-01-07 2:26 Teaching Concurrency Bill Wolfe
1990-01-09 16:41 ` Marc Benveniste,lsp
1990-01-10 20:49 ` Mark Shepherd
1990-01-10 22:47 ` Richard Pattis
1990-01-11 13:04 ` Robert Firth
1990-01-11 19:27 ` Vincent Manis
1990-01-13 7:34 ` Peter G Ludemann
1990-01-12 19:02 ` Peter da Silva
1990-01-15 13:30 ` Robert Firth
1990-01-17 15:40 ` Kurt Luoto
1990-01-11 16:09 ` Michael Meissner
1990-01-14 12:33 ` Re^2: " Kim Shearer
1990-01-11 18:50 ` Tom Griest
1990-01-11 20:38 ` Brian L. Stuart
1990-01-12 0:47 ` Robert Steigerwald x2468
1990-01-15 11:10 ` Stavros Macrakis
1990-01-11 14:52 ` David Lamb
1990-01-13 0:06 ` Mark Shepherd [this message]
1990-01-11 16:13 ` S. Crispin Cowan
1990-01-12 13:12 ` Mike Harrison
1990-01-11 19:20 ` Vincent Manis
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox