Subject: Quiescent contexts, threads, and collective communications

From: Ian Glendinning <[email-masked]>
Date: Tue, 20 Jul 93 12:34:15 BST

Hi,
   it seems to me that the recent discussion in mpi-context about thread
safety is also relevant to collective communications, because the routine
mpi_contexts_alloc(), which we've been mainly discussing, is a collective
operation.  When used in conjunction with threads, it would seem elegant
to allow a context to be passed as an argument to the routine (as part of a
communicator) rather than just a group.  Unfortunately this would add the
requirement that the context be quiescent at the time of the call, which
people do not seem to like.  However, as presently defined, the collective
communication routines *do* take communicators as arguments, and so surely
there is also a requirement for quiescence here, which no one seems to have
objected to.  Am I missing something here?
   Ian

---

From: Tony Skjellum <[email-masked]>
Date: Tue, 20 Jul 93 09:56:57 CDT

>From [email-masked] Tue Jul 20 06:33:42 1993
>Received: from Walt.CS.MsState.Edu by Aurora.CS.MsState.Edu (4.1/6.0s-FWP);
>	   id AA16171; Tue, 20 Jul 93 06:33:42 CDT
>Received: from CS.UTK.EDU by Walt.CS.MsState.Edu (4.1/6.0s-FWP);
>	   id AA19264; Tue, 20 Jul 93 06:33:41 CDT
>Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
>	id AA14636; Tue, 20 Jul 93 07:33:26 -0400
>X-Resent-To: [email-masked] ; Tue, 20 Jul 1993 07:33:25 EDT
>Errors-To: [email-masked]
>Received: from sun2.nsfnet-relay.ac.uk by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK)
>	id AA14618; Tue, 20 Jul 93 07:32:52 -0400
>Via: uk.ac.southampton.ecs; Tue, 20 Jul 1993 12:32:28 +0100
>Via: brewery.ecs.soton.ac.uk; Tue, 20 Jul 93 12:23:58 BST
>From: Ian Glendinning <[email-masked]>
>Received: from holt.ecs.soton.ac.uk by brewery.ecs.soton.ac.uk;
>          Tue, 20 Jul 93 12:34:13 BST
>Date: Tue, 20 Jul 93 12:34:15 BST
>Message-Id: <[email-masked]>
>To: [email-masked], [email-masked]
>Subject: Quiescent contexts, threads, and collective communications
>Status: R
>
>Hi,
I agree with Ian.  If we move back to having comm as the first argument
to mpi_make_comm() and mpi_contexts_alloc(), then these are just
collective calls, and all our worries about multi-threadedness appear
to apply equally well to collcomm chapter.

-Tony