Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!snorkelwacker!usc!sdsu!crash!peterson From: peterson@crash.cts.com (John Peterson) Newsgroups: comp.unix.wizards Subject: Asynchronous I/O under UNIX Message-ID: <932@crash.cts.com> Date: 19 Dec 89 07:31:28 GMT Reply-To: peterson@crash.cts.com (John C. Peterson) Organization: Crash Time Sharing, El Cajon, CA Lines: 27 References: Keywords: I am developing a code to LU factor large symmetric matrices on an FPS 522 ( running BSD 4.3 ) which are too large to fit in RAM memory. The mechanics of "out of core" algorithms are pretty straight forward, but to be efficient, the I/O should be done asynchronously. There seems to be no real painless way to do this under UNIX. My collegues and I have worked out a rough sketch of a way of doing asynchronous I/O. One would fork off a copy of your process, the child would 'nap' until an I/O request came from the parent. Upon receipt of an I/O request, the child goes off and issues a synchronous I/O request like one ordinarily does, and then set a flag of some sort when the I/O has completed. The data to be moved would be stored in memory accessible to the parent and child processes, probably using System V shared memory. Does anyone have a better scheme for doing this? Has any general implementation of this been posted to any of the other newsgroups? e-mail responses would be best way to reply. Thanks in advance, John P. -- +--------------------------------------+ | John C. Peterson | | UUCP: { nosc ucsd }!crash!peterson | | ARPA: crash!peterson@nosc.mil | +--------------------------------------+