Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site amdahl.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!nsc!amdahl!mat From: mat@amdahl.UUCP (Mike Taylor) Newsgroups: net.arch Subject: Re: Why Virtual Memory Message-ID: <2184@amdahl.UUCP> Date: Fri, 1-Nov-85 16:02:13 EST Article-I.D.: amdahl.2184 Posted: Fri Nov 1 16:02:13 1985 Date-Received: Sun, 3-Nov-85 05:48:37 EST References: <480@seismo.CSS.GOV>, <384@unc.unc.UUCP> <6086@utzoo.UUCP> <239@l5.uucp> Organization: Amdahl Corp, Sunnyvale CA Lines: 29 > Sharp used to run DOS/360 (heavily hacked) on their Amdahl, since their > APL time sharing system was written to timeshare efficiently on the 360 > which did not have address translation or paging (remember those days??). > They ported their APL to MVS a few years ago because a lot of customers wanted > to run it that way, and eventually converted their data centre to MVS too. > I think it cost them about 40% in overhead, but they could stop maintaining > DOS/360 I think it is worthwhile to this discussion to remember just how the DOS version of Sharp APL worked. In memory, there were a number of slots that could contain workspaces. Workspaces were swapped to and from disk into these slots. In order that a damaged workspace could not cause the interpreter to run amok and damage other workspaces, storage protect keys were used. Storage protect keys are a S/370 architectural feature which matches a nibble in the PSW to a nibble associated with each 2K block of storage. To "run" a workspace, the APL interpreter used the SSK instruction to set the workspaces storage to a "working" protect key, and then ran under that protect key. When the timeslot was done, it then reset the storage to a non-working key so that it was protected. Needless to say, Sharp discovered that this was hugely expensive on a cached, pipelined machine. SSK causes storage access serialization, as well as nasty cache consequences. They then changed to a technique which used all available protect keys to minimize the number of actual SSKs, but finally solved the problem by going to virtual memory. -- Mike Taylor ...!{ihnp4,hplabs,amd,sun}!amdahl!mat [ This may not reflect my opinion, let alone anyone else's. ]