Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rochester!rutgers!gatech!hubcap!brisco From: brisco@caip.rutgers.edu (Thomas Paul Brisco) Newsgroups: comp.hypercube Subject: Re: ncube memory Message-ID: <372@hubcap.UUCP> Date: Fri, 7-Aug-87 14:54:17 EDT Article-I.D.: hubcap.372 Posted: Fri Aug 7 14:54:17 1987 Date-Received: Sun, 9-Aug-87 03:45:39 EDT Sender: fpst@hubcap.UUCP Lines: 25 Approved: hypercube@hubcap.clemson.edu In article <370@hubcap.UUCP> Lonnie R. Welch (welch-l@osu-eddie.UUCP) writes: > I am trying to write a > program that requires the use of several large data structures. It seems > that the Host process can only have a data segment of size <= 64k. None of > the variables in my program are larger than 64k, but the sum of the memory > required by all the variables is > 64k. Has anyone else found this to be a > problem? How did you get around this limitation? You don't state whether you acutally need all of the variables at a given time or not, but one of my tricks is to manually "data swap" -- i.e. keep data that is not immediately needed on disk, and malloc()/free() space as necesary to achieve you means. One other, more crafty but harder, way is to split your program into 2 processes and do the operations seperately, but communicating (results) via pipes -- I've found this to be handy when there are 2 large computations are involved (where both must be on the host processor), but only the results are really necessary to proceed in the original process. Look in n_frun, and see whether you really need the computations locally, or whether they can be moved out of (what I call) the "controlling process". Tp. - ARPA: Brisco@rutgers - - UUCP: (ihnp4!ut-sally, allegra!packard) !caip!brisco -