The following message is a courtesy copy of an article
that has been posted to bit.listserv.ibm-main,alt.folklore.computers as well.


gahe...@gmail.com (George Henke) writes:
> This was  to facilitate performance for VM/MVS shops because there was no
> comparable VM/VSE feature for MVS and VM to control the handshaking between
> the two
>
> The entire MVS virtual machine would get swapped out whenever an MVS address
> space, eg TSO user, batch, was swapped out.

it wasn't that the MVS virtual machine got swapped, when there was a
virtual machine page fault; it was that the virtual machine was
non-dispatchable (didn't execute) while the (virtual machine) page fault
was being serviced.

the issue with VM/VS1 handshaking (actually there had been a earlier
implementation at univ. with MVT handshaking) was when the virtual
machine had a page fault ... the virtual machine was made non-executable
while the page fault was being serviced.

Part of VS1 (and earlier MVT) handshaking ... was there was one-for-one
mapping between VS1 page and the virtual machine page (in VS1 case, VS1
had single virtual address space ... somewhat like SVS ... and in
handshaking, there was a one-for-one mapping between the VS1 virtual
address space definition and the virtual machine address space). In any
case, since all virtual pages "appeared" to be resident and VS1 would
never have its own page fault.

In any case, the virtual machine could have a page fault (at the VM
level) and be non-executable while the page fault was being handled.
The VM/VS1 handshaking would reflect a "psuedo" (virtual machine) page
fault to the VS1 operating system ... allowing VS1 to task switch to
some other task (in VS1). If there was nothing else to execute ... then
VS1 would enter wait-state ... until VM had serviced the page fault (aka
there was not "swapping" ... it was just whether the virtual machine was
dispatchable or not). This allowed the virtual guest to have a higher
degree of multitasking (virtual guest overlapping execution of other
tasks while VM serviced a page fault).

Part of the issue was that VM performed paging operations significantly
more efficiently than VS1 (I had done much shorter pathlength as well as
a better page replacement algorithm) ... and so VS1 could have higher
thruput in virtual machine environment (once handshaking allowed VS1 to
continue to execute while VM was servicing a page fault).

There were other issues with virtual memory paging operations. VM's page
replacement algorithm tends to approximate LRU (least recently used).
Most of the guest operating systems (when they are doing paging) also
tend to have page replacement algorithm that approximates LRU. There is
a pathelogical scenario if both the virtual guest is taking page faults
and VM is taking page faults ... that VM will select a virtual guest
page that currently isn't be used (LRU) to be replaced ... and the same
time that the virtual guest (possibly MVS) has decided that it wants to
use that corresponding page (since it also decides that the current
contents of the page isn't being used). The line I used is LRU
algorithms tend not to be recursively friendly (i.e. running an virtual
LRU algorithm in a virtual machine environment running an LRU algorithm
can result in exactly the wrong page being chosen). misc. past posts
about page replacement algorithms
http://www.garlic.com/~lynn/subtopic.html#wsclock

Another piece of trivia ... in the original transition from MVT to SVS
and their page replacement algorithm ... I got into argument that they
were doing some tweaks to their implementation that would do exactly the
wrong thing. That implementation continued well into the MVS release
cycle ... when it finally dawned on them that they would select
high-use, shared, R/O linkpak pages for replacement before lower-use,
private, R/W data pages.

Originally (VS1) handshaking was in the time-frame when Endicott had
also done the VM ECPS microcode assist for 138/148 ... and was trying to
convince the corporation that 138/148 (and later 43xx) would be shipped
as VM-only machines (somewhat like LPAR capability is shipped on all
machines today). Unfortunately, at the same time POK was trying to
convince corporate that vm370 should be killed off (in part because POK
wanted all the people in the vm370 development group to be moved to POK
to support MVS/XA development) ... so corporate never agreed to 138/148
being "vm-only". old post about methology used for creating ECSP
microcode assist: 
http://www.garlic.com/~lynn/94.html#21 370 ECPS VM microcode assist

the basis guideline was that we were told that the machines had 6kbytes
of microcode space available ... and to choose the pieces that would
give the biggest bang-for-the-buck.

"E" was the low-end/mid-range architecture ... analogous to "XA"
architecture that POK had done (primarily for MVS) ... old email ref

Date: 09/16/82  08:31:14
From: wheeler

re: e-architecture; E-architecture is the internal name for the 370
architecture extension that came out with the (original) 4300 series
machines. It is supported by VS1E & DOS/VSE. It's primary feature is it
moves the equivalent of the page & swap tables to below the microcode
interface. There are new instructions to validate, connect, invalidate,
& disconnect page frames. This architecture was developed primarily by
Germany during the middle 70s & basicly is an attempt to move
"troublesome" pieces (for DOS) of the system down into the hardware.

XA architecture is a completely different architecture extension. It was
developed in POK and primarily represents their (similar) goal to
migrate "troublesome" pieces of MVS down into the hardware ... giving
the hardware engineers opportunities to solve MVS system problems that
the MVS software programmers have found difficult to deal with.

Note that 4300s primarily run in 370 mode.

... snip ...

other old email discussiong 43xx
http://www.garlic.com/~lynn/lhwemail.html#43xx

-- 
42yrs virtualization experience (since Jan68), online at home since Mar1970

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to