*start*
01840 00024 US 
Date: 5 Nov. 1980 8:13 am PST (Wednesday)
From: Ladner.PA
Subject: Re: Pilot/Star Working Set
In-reply-to: Harslem.ES's message of 4 Nov. 1980 3:05 pm PST (Tuesday)
To: Harslem.ES
cc: Ladner, @[Iris]<Performance>PerformanceInterest.dl

Pilot has data in the MDS but (I believe) it's all accounted for in separate line
items.  When I checked with the SpaceCheck tool in Amargosa, I found that I
had accounted for every single MDS page in use by Pilot.  I believe I have also
for Mokelumne.  Thus, the unspecified MDS use is all attributed to the client.

Likewise, I have tried to account for non-MDS data spaces used by Pilot.  But
this is tougher for a variety of reasons.  There are line items for this use of VM
in the tables.  I would be surprised (but not astonished) if Pilot was using 40 of
the 120 pages unaccounted for.  I am fairly confident that I have identified all of
the pinned data spaces.  However, it has come to my attention that I omitted the
map-logging-buffers item, which I believe is either 1 or 2 pages, and the
transaction-related data spaces, thought to be unpinned and small.  (More on
these later.)

Some of the blocks of memory usage are planned to disappear from the memory
equation when the software is moved to the Dandelion.  For instance, one
objective is to put the germ (24 pages) in the display bank.  (I don't report this
type of thing when it has not yet been accomplished.)  Thus, the 237 (or 277) is
sort of a upper bound.

Also, keep in mind that a lot of the 53 pages of swappable Pilot code is there
because of (apparently frequent) calls made by the client.  It is not hard to
envision a small client program producing a very large Pilot working set.  Some
relief for Pilot might be derived from a restructuring of Star code.  Thus, perhaps
another high priority task.

*start*
01169 00024 US 
Date: 5 Nov. 1980 11:46 am PST (Wednesday)
From: Lauer.PA
Subject: Re: Pilot/Star Working Set
In-reply-to: Harslem.ES's message of 4 Nov. 1980 3:05 pm PST (Tuesday)
To: Harslem.ES
cc: Ladner, @[Iris]<Performance>PerformanceInterest.dl

Eric,

Like Bob,  I do not think that Pilot uses as much as one third of the 120-pages of
extra-MDS data area, but we are looking into it to see what we can find.

At any rate, I'll make you an offer:

	We'll reduce Pilot's space (237 pages plus x% of 120 pages) to 140 pages
	if you'll reduce Star's space (454 pages less x% of 120) to 308 pages.

We do have a concern, however, that Star is calling some Pilot functions more
frequently than necessary or desirable and causing a lot of extra Pilot stuff to be
swapped in.  You will have to recognize that the execution of specific Star
operations will have a corresponding cost in Pilot.   For example, when you are
actively transferring a document between workstation and server, a lot of idle
communication code in the workstation's Pilot will wake up and be swapped in. 
This clearly reduces the 308 pages available to Star during this operation.

/Hugh

*start*
02531 00024 US 
Date: 5 Nov. 1980 6:03 pm PST (Wednesday)
From: Ladner.PA
Subject: Pilot/Star Working Set - Revised
To: @[Iris]<Performance>PerformanceInterest.dl
cc: Ladner

I have looked into the three areas of data space usage by Pilot that have been
suggested in the past day.  The bottom line is that 5 more pages of the data space
have been accounted for.  The detail is:

Transactions:
There is a 4 page space used for transaction logging plus another space, used to
save client data.  Both are swappable, but the latter, whose size is a function of
client data, is created at the start of a transaction and deleted at the end. 
Consequently, it doesn't show in my log.  Curiously, while we were trying to
break at the space create to see how large it was, we found out that no data is
actually being protected.  In other words, it appears that Begin and Commit are
being called, but no other "calls" on the transaction machinery.  This would
explain why the log space is swapped out, which it is, and why the transaction
code is swapped in.  Thus, as far as can be determined, transactions are not
using any data space in this test.

Map Logging:
The map logging program was fixed so that although a 40 page space is created,
there are never more than two pages swapped in at any one time, and there is
usually only one or less.  In this test, the number was one.  In the memo, I have
adjusted the "Pilot Data" line item of Tables 1 and 2 to reflect this.

System Heap, MDS:
The MDS variant of the system heap takes up 2 pages of MDS addressing space
at initialization time, but can grow (monotonically).  In this test its size is at 5
pages, but they are all swapped out.  So, no change in real memory use, but the
MDS usage table was adjusted appropriately.  Note that this heap is used by both
Pilot and clients.

System Heap, VM:
The long pointer variant of the system heap was found to contain 40 pages, but
only 4 were swapped in.  A new line item, "System Heap" was added to the real
memory usage table.  Note that this heap is used by both Pilot and clients.  The
implementors believe that Pilot is making little or no use of either this or the
MDS heap.  However, with the current tools there is no way to make sure that
this is the case.

The line item "Data ..." in Table 1 has been adjusted appropriately for the above
5 pages, as has the text of the document.  

A revised version of the memo is stored with same name, namely
	[Iris]<Performance>Memory>Pilot5.0Star15.4.press
with the date of Nov. 6.

*start*
01226 00024 US 
Date: 4 Nov. 1980 3:05 pm PST (Tuesday)
From: Harslem.ES
Subject: Re: Pilot/Star Working Set
In-reply-to: Ladner.PA's message of 4 Nov. 1980 12:26 pm PST (Tuesday)
To: Ladner.PA
cc: @[Iris]<Performance>PerformanceInterest.dl

Bob - Correct me if I'm wrong:

Your memo indicates that "packaged" Pilot (excluding SFS) uses 237 pages of
memory for code + global frames during the icon move test.

Pilot also is responsible for some fraction of the 120 pages of extra-MDS data that
had to be in memory.  (But none of the MDS?  ie, Pilot has no data in MDS?)

So if I assume that Pilot uses 1/3 of the extra-MDS data and Star + SFS the other
2/3, then Pilot requires 277 pages of memory during the icon move test.

Thus, in the real world of the Dandelion, Pilot would use 277/448 pages of
available memory or 60+%.

If this is really the case and the icon move test does not really use some bizarre
parts of Pilot such that this is atypical, then I think we need to schedule some
high-priority tasks to work on this.  The currently speced Star workstation
doesn't have a chance of running reasonably in 448 pages - 277 pages -
whatever the SFS needs (=100 pages??).

Have I missed a turn somewhere?

Eric