Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site watdaisy.UUCP Path: utzoo!watmath!watnot!watdaisy!mclase From: mclase@watdaisy.UUCP (Michael Clase) Newsgroups: net.arch Subject: Re: VERY LARGE main memories Message-ID: <7870@watdaisy.UUCP> Date: Thu, 11-Sep-86 10:50:44 EDT Article-I.D.: watdaisy.7870 Posted: Thu Sep 11 10:50:44 1986 Date-Received: Fri, 12-Sep-86 05:07:36 EDT References: <1130@bu-cs.bu-cs.BU.EDU> <7144@lanl.ARPA> <7148@lanl.ARPA> <7094@utzoo.UUCP> <7331@lanl.ARPA> Reply-To: mclase@watdaisy.UUCP (Michael Clase) Organization: U of Waterloo, Ontario Lines: 29 Summary: In article <7331@lanl.ARPA> jlg@a.UUCP (Jim Giles) writes: >In article <7094@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >>... >>With some reason. What you're saying is that because the operating-system >>people are too lazy to devise paging algorithms that are useful for large >>scientific programs, the programmers should be required to do it themselves. >>Apart from the matter of constantly reinventing the wheel, there is also >>the problem that it's a lot of work to get it right -- program reference >>patterns are notorious for being hard to predict beforehand, which means >>experimenting and then twiddling the code to match the results. > >It's not just that the operating system or hardware designers are too lazy >to come up with a good scheme. The problem is that any scheme they DO come >up with must work for general cases. That is, it can't take advantage of >special knowledge of a specific algorithm. > Rather than having the user explicitly implement a suitable paging algorithm for his program, couldn't the operating system have a facility like the UNIX vadvise system call? According to the vadvise man page, the call vadvise(V_ANOM) warns the pager that LRU is not a suitable algorithm for this particular job. Perhaps this could be expanded to include calls like vadvise(V_CYCLIC) to indicate that the program wants to cyclically reference large arrays. Of course, the difficulty would be for the pager to work out which pages corresponded to these arrays, particularly in the case of two or more arrays which are traversed in parallel. Michael Clase mclase@watdaisy.uucp (for one more week)