adam l beberg bebergmithralcom tue 3 sep 2002 kragen sitaker wrote course weve select since bsd 42 poll since system v work reasonably well asynchronous io hundred channels suck devpoll available solaris linux one approach solving linux way essentially thing realtime signals years freebsd kqueue details httpwwwcitiumicheduprojectslinuxscalability none helps disk io programs need overlap disk io computation either proprietary unixes linux use multiple threads processes handle disk io posix specifies mechanism nonblocking disk io proprietary unixes implement linux kernel hackers currently rewriting linuxs entire io subsystem essentially scratch work asynchronously easily build efficient synchronous io primitives asynchronous ones way around linux support mechanism probably doesnt need saying anyone whos read beberg saying things like memory management nonissue anyone idea hardware functions hes totally offbase people know take anything says seriously apparently dont ill rebut surprisingly rebuttal requires many words original stupid errors detail wrote could 20 years without feature unix finally catches windows io doesnt sic totally suck nontrivial apps way unix acquired nonblocking io form select 23 years ago solaris particular aio_ calls discussing many years applications need aio_ calls essentially highperformance rdbms servers even benefit faking fine multiple threads processes provides modicum extra performance ok signals flag completely ghetto least trying keep trying guys got idea clue readers judge lacks clue windows io model definately sic blow doors unix one select point sic suckiness anything would improvement unix looking sic io model adapting multiprocess multithreaded world gon na years yet posix api comes although dont copy spec handy think aio_ apis come posix spec ieee std 100311990 section 679 13 years old think documented thencurrent practice might even older unix multiprocess since 1969 unix implementations supported multithreading decade bottom line stuff something happens model turned right unix look something keep looking till find matter many times look really working great anymore linuxs aio_ routines notify process completion signal feature missing microsoft windows signal causes immediate execution signal handler process contrast microsoft windows mechanisms similar things completion ports deliver notification process polls dont think signals better way things case although havent written rdbmses got technical descriptions two operating systems exactly backwards programs use linux realtime signals asynchronous network io fact block signal question poll signal queue windowsish way using sigtimedwait sigwaitinfo kragen sitaker edsger wybe dijkstra died august 2002 terrible loss world never httpwwwxentcompipermailfork2002august013974html adam l duncan beberg httpwwwmithralcombeberg bebergmithralcom tue 3 sep 2002 192424 0700 pdt asynchronous io gasp