(j3.2006) Public Comment J32034
Michael Ingrassia
michaeli
Tue Jul 8 20:33:27 EDT 2008
08-248
To: J3
From: Michael Ingrassia
Subject: Public Comment J32034
Date: 2008 July 08
----------------------------------------------------------------------
Commenter's Subject was "CRITICAL and BLOCK"
I won't be commenting on most of the CO-ARRAY features
because I don't quite yet fully understand them. But in
most of the different kinds of parallel computing I've done
in the past the need for critical sections arises.
Instead of a CRITICAL construct, I think that CRITICAL
should be a keyword like PURE or RECURSIVE (and such) that
applied to procedure declarations. Similarly, it should
be an optional keyword on the new BLOCK construct:
block-stmt is [ block-construct-name : ] [ CRITICAL ] BLOCK
The reason is that when I've needed critical sections the
shared data being manipulated is often something that should
be imported (USE) for that particular section alone and not
visible elsewhere. There are also often additional local
variables needed only temporarily for manipulating the
shared data. So it's often the case that critical sections
coincide with the need for declarations. Rather than add
the ability to declare within CRITICAL constructs, it makes
sense to combine the feature with existing constructs that
already can declare things.
As an aside, except for this possible merging with CRITICAL,
the only real value I see for the BLOCK construct is if some
form of control of host association is forthcoming.
----------------------------------------------------------------------
More information about the J3
mailing list