Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ll-xn!ames!sdcsvax!darrell From: darrell@sdcsvax.UCSD.EDU (Darrell Long) Newsgroups: comp.os.research Subject: Re: (Belated) Shared Libraries Message-ID: <3163@sdcsvax.UCSD.EDU> Date: Wed, 13-May-87 16:05:26 EDT Article-I.D.: sdcsvax.3163 Posted: Wed May 13 16:05:26 1987 Date-Received: Sat, 16-May-87 11:43:39 EDT Lines: 47 Approved: mod-os@sdcsvax.uucp Hi, I would have thought that the best approach would be to use something of the server idea. That is that each processor that needs to has a server providing any necessary shared libraries, and the calls to them could be replaced with a very simple RPC. Since these ``servers'' will occur on the same processor as the client the mechanisms necessary will be simplistic. To a large extent this is the same solution as having libraries sitting in each machine and having the machine then tell the process where the library is, but makes this problem the same as supporting servers. This should reduce the size/complexity of the kernel/support software. Similarily not all libraries need be present, but when necessary they could be loaded, and only those that are needed be loaded, much as with the 4.[23] BSD UNIX/SUN UNIX RPC server server. This would reply heavily on efficent IPC on a single processor in order to be efficiently implemented, but I guess could be perfectly feasible. The most difficult areas would be, I suspect, firstly performing library calls that need part of what is usually the processes private information - things such as file descriptors or global variables (errno). And secondly when migrating processes certain IPC ``links'' would have to be updated to point to the new machine and/or not changed at all (connections for input/output vs local shared libraries). Given an environment where you are deliberately trying to exploit parallelism I don't think that comparing libraries to processes is invalid. It also allows libraries that call heavily on certain resources to be appropraitely placed (i.e. vector libraries placed on a processor with vector processing hardware). Any thoughs? Kevin --- "I'm going to live forever, or die trying" -- Vila, ??, Blake's Seven murray@uk.ac.york.minster or ..!seismo!mcvax!ukc!minster!murray (I think) -- Darrell Long Department of Computer Science & Engineering, UC San Diego, La Jolla CA 92093 ARPA: Darrell@Beowulf.UCSD.EDU UUCP: darrell@sdcsvax.uucp Operating Systems submissions to: mod-os@sdcsvax.uucp