[HACKERS] Async IO description

Zeugswetter Andreas <andreas.zeugswetter@telecom.at>

From: Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
To: "'hackers@postgreSQL.org'" <hackers@postgreSQL.org>
Date: 1998-04-22T16:10:14Z
Lists: pgsql-hackers
> When using aio for file or raw device access the following functions 
> have to be used (from sys/aio.h):
> 
int     aio_read(int, struct aiocb *);
int     aio_write(int, struct aiocb *);
int     aio_cancel(int, struct aiocb *);
	int     aio_suspend(int, struct aiocb *[]);

	The main advantage is not read ahead or the like (read ahead can be 
	accomplished with other means, e.g. separate reader and writer
processes).
	The main advantage is, that a process that calls these for IO will
not 
	be suspended by the OPsys, and can therefore do other work
	until the data is available. On fast disks the data will be
available
	before the process time slice (20 - 50 ms) is over !
	A process using normal read or write will have to wait until
	all other processes have consumed their time slice.

	I think the first step should be separate global IO processes,
	these could then in a second step use aio.

	Andreas