Asynchronous I/O under UNIX

John Peterson peterson at crash.cts.com
Tue Dec 19 18:31:28 AEST 1989


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 at nosc.mil       |
+--------------------------------------+



More information about the Comp.unix.wizards mailing list