[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::ada

Title:DEC Ada
Notice:Ada is no longer a trademark of the US Government
Moderator:KMOOSE::CMCCUTCHEON
Created:Mon Jan 27 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3874
Total number of notes:16668

3837.0. "Selective PDO by user?" by COMICS::EDWARDSN (Dulce et decorum est pro PDP program) Tue Jan 28 1997 09:41

Hi all,

Have a customer who has a situation which I don't think would be 
that uncommon, inasmuch as he has one library set maintained 
using Ada-PDO and the rest of the users who do not wish to use
the PDO option, since the licence is only for the one user and if
you start going down the route of compiling with and without the 
PDO, chopping and changing, it can be a real pain.

Is there, therefore, a way of turning off the PDO option for 
the other users. 

I thought that maybe what they could load the licence for the
overnight build and unload it at the end, this would mean that
during the day the rest of the users would not see the PDO option.
However, if for any reason the overnight build user needed to gain
access and rebuild during the day, whilst other users were on the
system, this would require something of a juggle.

I understand that you could define a symbol to make 

ADA :== ADA/NOSMART

real easy.
But what then for ACS RECOMPILE and ACS COMPILE. It starts to get ugly.
The ideal would be to change the default systemwide for the majority
of users to use NOSMART on everything and explicitly invoke the /SMART
for the other instances.

Is there a way of doing this? 
Is it worth putting that in as a feature for a wish list?

If you have enough licence points to have everyone being able to 
do the compilation /SMART then there's no problem, but that's 
quite expensive. I guess the argument there the argument gets down 
into the realms of, if they wanted life easier they should pay for 
the privilege.

Just a thought.

Any answers please.

Neil.

T.RTitleUserPersonal
Name
DateLines
3837.1Why do you want to turn PDO off??KMOOSE::CMCCUTCHEONCharlie McCutcheonTue Jan 28 1997 12:4932
I'm not sure I understand the situation, or why you want to turn
smart recompilation off.

Has your customer bought a limited PDO license (concurrent), only
allowing limited processes to use it at one time?

If it is an unlimited license, I see no reason why all users wouldn't
want the benefits of using PDO (smart recompilation, etc).

You will benefit most from smart recompilation, if you do your build
with it, then allow users to do recompiles with it on.  If you are
doing a complete build from scratch every night with smart recompilation
then turning it off, you're not getting much benefit from it.  You've
merely stored up all the data needed for doing smart/minimal recompilation,
then you ignore it for any recompilations after that which is exactly
when you want the feature.  Note also, that any merge of compilations
from users not having PDO turned on will prevent smart recompilation
being used for those units.

Back to your question, I believe there is a personal use type of license
which will give PDO only to one user's account name.  If this is still
available, then you could use PDO features from this account only, other
accounts can then simply not get the benefits.

Perhaps you could rig a way for all users to do compiles via the "enabled"
account with PDO.   (Not something I'd like as a programmer however!)

You could also set the ADA symbol as you propose.  ACS will use that
definition in spawned down processes.  For batched compiles, you'd need
to hand edit the command files produced, edit your login.com, etc..

Charlie
3837.2Does this make any more sense?COMICS::EDWARDSNDulce et decorum est pro PDP programWed Jan 29 1997 07:5517
O.k. the situation is this.
He has 100 units of ADA-PDO-USER license and 3500 units of ADA licence.
Once someone starts compiling using the PDO, no-one else can get in.
I don't really understand these license things, but I would have thought that
if you specified the /NOSMART on the Ada it should bypass the PDO license
stuff and go to the ADA underlying it. Does this make any sense?

They have an incorrect license anyhow since they ordered a 5 user licence
and only have 100 units on a 100 unit machine which = 1, so that's one
issue sorted.

So, in a nutshell, I assert that the PDO should not block ordinary Ada
compilations.

Is it true, or must it be false.

Neil.
3837.3KMOOSE::CMCCUTCHEONCharlie McCutcheonWed Jan 29 1997 16:409
I'm checking our party line.  My vague memory is that we say to buy
the same number of PDO licenses and base licenses.

A quick look at the code makes me think that uneven numbers won't work
the way you want.  The compiler is checking for the licenses at the
very beginning of image startup, before the /[no]smart qualifier is
processed.

Charlie
3837.4So it's not possible.COMICS::EDWARDSNDulce et decorum est pro PDP programThu Jan 30 1997 14:0514
That's a little strange.
But if that's the way it works, that's the way it works.
I have no doubt that the customer will want to raise a 
change to this behaviour and I can see their point.

I can envisage development environments (on a tight budget)
where the overnight build has to be performed using PDO so 
that it finishes overnight, and other compilation is done 
using a separate library structure which does not have PDO.
I've done something similar on a project (where budget wasn't
quite so tight and we were able to use PDO for everything) 
so the idea is not that alien.

Neil.
3837.5Try personal use PDO for the build account.COMICS::EDWARDSNDulce et decorum est pro PDP programThu Jan 30 1997 14:0816
Orignal author:

KMOOSE::CMCCUTCHEON "Charlie McCutcheon"

RE: I think this is the PDO question from the previous note.

I think it might be possible, if they have a personal use
license for one account name, and only do the PDO builds
from that one account.

But, if the only use is to do full builds from scratch, I doubt
you'll see much benefit from PDO.  The real benefit is from
the recompilations which PDO can eliminate.

Charlie

3837.6KMOOSE::CMCCUTCHEONCharlie McCutcheonFri Jan 31 1997 18:094
(Thanks for moving the note, I was working from home, and didn't want
to enable moderator...  I'll delete the new note).

Charlie
3837.7But I can see the customer point of view.COMICS::EDWARDSNDulce et decorum est pro PDP programMon Feb 03 1997 07:0239
Charlie,

Imagine this:

Customer has several mainstream development libraries, builds into which 
are performed mainly overnight, but can be performed during the day. These
will be compiled using PDO since it makes sense to get the best for a large
project library such as this. 

However, when the average user is performing compiles on a module test harness
they do not need that kind of optimization. There are only likely to be a few
elements in a unit test library and unit test is one of the BIG areas of any
development project, at least as big as coding if not bigger. This, therefore
does not require PDO since there aren't enough modules to make a lot of 
difference. Hence the customer requires that only the Ada licence is necessary
for the 20 or 30 people module testing. The library maintainers require the PDO,
but the licences for this are being snatched by the ordinary /NOSMART test 
harness users, in spite of the fact that they are NOT using the PDO and have no
requirement to do so.

Admittedly, once they get into the integration and higher level testing this 
will all be a little academic, since the number of modules which will be 
in test libraries will increase, the higher the test level, the more modules,
hence there will be a need for more PDO licences.

However, module level testing generally has to keep going for the duration of
the project, since once a bug is spotted and re-work has to be performed, the
whole test phase will have to begin again and all of the module level and 
integration tests run again, hence there will still be a need for /NOSMART
until the end of the project (more or less).

Does this make any sense?
If I didn't explain it very well then that's about standard for me.

So, what do you reckon? I've more or less convinced myself that there is 
reasoning behind the argument and I've flown that mission before - actually,
built that mission simulator before is closer,

Neil.
3837.8Not sure we understand each other...KMOOSE::CMCCUTCHEONCharlie McCutcheonMon Feb 03 1997 17:2128
>Customer has several mainstream development libraries, builds into which 
>are performed mainly overnight, but can be performed during the day. These
>will be compiled using PDO since it makes sense to get the best for a large
>project library such as this. 
>
>However, when the average user is performing compiles on a module test harness
>they do not need that kind of optimization. There are only likely to be a few
>elements in a unit test library and unit test is one of the BIG areas of any

Again, PDO is useful for doing recompiles after compiling with PDO on.
An example is that if you change a package specification, adding subprograms,
or comments, etc, PDO will notice whether various bodies actually use those
changes, and if not, not recompile them.

If your build is always compiling all sources from scratch into a virgin Ada
library, then PDO isn't very useful.  Someone has to do some recompilations
somewhere to use the data stored up from the PDO compile.

If users merge compiled units which aren't compiled with PDO on into libraries
where it is turned on, those units don't have any benefit from the PDO option.

If the user's build is doing partial recompiles rather than full compiles from
scratch, then I missed that in your text, and my observations are incorrect.

I can see a possible argument about whether /nosmart should check for PDO.
For released compilers however, we're stuck that it does check the license.

Charlie
3837.9Let me try again.COMICS::EDWARDSNDulce et decorum est pro PDP programTue Feb 04 1997 09:1349
Charlie,

The customer is doing the following.

The main build:
which is using PDO and CMS/MMS.
This means that tested modules will be fetched out of the CMS library by
the MMS script as part of the overnight build and compiled using PDO.
NOT as a complete rebuild, although due to some software inconsistencies
in MMS it is sometimes necessary. 
They wish to and need to use PDO, partly because of it's library splitting
capabilities.


Test builds:
Small subsets of code, enough to complete the unit closure on the test
harness and unit under subtest, are built by hand using the ordinary Ada
compiler, or if more complicated, using an MMS descrip file and ordinary
Ada. These do not require PDO since they are not going to be compiled
more than a couple of times and the amount of saving is going to be small.
They don't want PDO on these libraries, ever. They don't even want to 
check the PDO licence since they are happy using the ordinary Ada compiler,
that's all they require. Nothing more. 

Hence, 
Testers will be working mostly during the day, probably > 35 of them
all hacking away, invoking the Ada compiler, hence they need a whole bunch
3500 units of ordinary Ada licences, since they will use Ada/NOSMART 
(which would be easier if there was a way of setting a default for the 
switch at a system level).

Builders will run mainly overnight, with occasional builds during the day
for those times when mistakes and accidents prevent the overnight build from
happening, these require PDO licences. But there will be < 6 of them. Hence
only 5 PDO licences.

However, because the Ada PDO option is being checked, it precludes any more
than 5 people from compiling at the same time, even though there are enough
Ada points to be able to invoke it 35 times concurrently. Even though they
have compiled with /NOSMART.

Now matter how you look at it, the fact that they have 35 DEC Ada 
licences should allow them 35 users of DEC Ada. Not 5.

They are considering, strongly, removing PDO altogether.

I do hope this gives a more clear insight of what is going on.

Neil.
3837.10Try personal use PDO licenseKMOOSE::CMCCUTCHEONCharlie McCutcheonWed Feb 05 1997 14:5014
That makes more sence.  You're saying that they're doing partial
rebuilds each time.

Again, a suggestino would be a different kind of license.  Look at 
personal use from one specific account, and do the builds from there.
I think that should work for what you want.

At this time, Ada has the "feature" that number concurrent licenses should
equal number of base licenses.  I'll consider changing that for future
versions.  (I suspect this case simply wasn't thought of...)

Charlie


3837.11He's back again.COMICS::EDWARDSNDulce et decorum est pro PDP programThu May 08 1997 11:4110
This particular customer has come back again and is banging on 
about this being a problem.
In terms of consideration as a new feature... how possible 
is it? How much effort would be required. I have a feeling that
by the time it would appear as a feature this particular project
could well be over anyhow.

I said I'd ask, so I have.

Neil.
3837.12Its possible but needs juggling vs other workKMOOSE::CMCCUTCHEONCharlie McCutcheonThu May 08 1997 13:4816
>In terms of consideration as a new feature... how possible 
>is it? How much effort would be required. I have a feeling that

I think its possible, the question is how important is it versus other
work and reported problems.

My main worry would be testing, trying to come up with realitic user
situations so that we don't end up in another situation like we're in.

As for when your user would see the feature, this depends on what target
we're talking.  A quick scan through the base notes makes it look like
VMS, but I'm not sure which.  V3.4 for OpenVMS VAX was just shipped,
so we can't do anything there.  V3.4 for OpenVMS Alpha is being worked
on now.

Charlie
3837.13It's VAX.COMICS::EDWARDSNDulce et decorum est pro PDP programMon May 12 1997 14:144
Oh dear. It would appear to be VAX. That more or less 
knocks it on the head, doesn't it really.

Neil.
3837.14V3.4 for VAX is submitted to SSB officially nowKMOOSE::CMCCUTCHEONCharlie McCutcheonMon May 12 1997 17:375
>Oh dear. It would appear to be VAX. That more or less 
>knocks it on the head, doesn't it really.

I would need lots of justificaton to put this feature/fix on the VAX
anytime soon...