comp.lang.ada
 help / color / mirror / Atom feed
From: sccowan@watmsg.waterloo.edu (S. Crispin Cowan)
Subject: Re: Teaching Concurrency
Date: 11 Jan 90 16:13:34 GMT	[thread overview]
Message-ID: <33100@watmath.waterloo.edu> (raw)
In-Reply-To: 602@agcsun.UUCP

In article <602@agcsun.UUCP> marks@agcsun.UUCP (Mark Shepherd) writes:
>I have seen large (and expensive!) systems crippled by inappropriate use
>of tasking, and I hope the the computer science graduates of the future
>will understand not only HOW to use multi-tasking, but WHEN.

When to use tasking critically depends on the cost of the tasking
operations.  Under UNIX, a context switch costs something on the order
of 1 or 2 ms, and forking somewhat more.  Under VMS, task creation is
much more expensive, but task switching is much cheaper, so a larger
number of tasks in a more static process structure is more
appropriate.

In the OS/Architecture project that I work in (Sylvan), light-weight
tasking is the objective, so that tasks CAN be used in place of
subroutines (at least big ones that have potential for concurrency).
Sending a message to a server and getting a response back has a cost
overhead of 100 to 200 microseconds.

The bottom line is that any unit of abstraction (subroutines, tasks,
objects, etc.) should be used to a level of granularity/modularity
that is appropriate, depending on the cost of the abstraction, in both
time and space.  Subroutines to add two integers are not appropriate,
similarly UNIX tasks to perform similarly small operations are not
appropriate.  Of course, if performance is not an issue, then the
appropriate level of modularity is that which makes the program the
easiest to read/write/maintain.

>Mark Shepherd
>agcsun!marks@boulder.colorado.edu

----------------------------------------------------------------------
(S.) Crispin Cowan, CS grad student, University of Waterloo
Office:		DC3548	x3934		Home phone: 570-2517
Post Awful:	60 Overlea Drive, Kitchener, N2M 1T1
UUCP:		watmath!watmsg!sccowan
Domain:		sccowan@watmsg.waterloo.edu

"The most important question when any new computer architecture is
introduced is `So what?'"
	-someone on comp.arch
	(if it was you, let me know & I'll credit it)

  parent reply	other threads:[~1990-01-11 16:13 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
1990-01-11 16:13   ` S. Crispin Cowan [this message]
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