Disk IO Traditional UNIX-style disk IO is synchronous ie, read()/write() wait until the IO has completed before returning, regardless of whether you've set non-blocking (But yes, under Windows..) So, alternate mechanisms are needed Threads - spawn threads to service a request queue to handle IO External processes - much the same, but using IPC/SYSVSHM At high throughputs, you will want to have an intelligent on-disk file/disk format/layout .. reading/writing large blocks is all good .. trying to work with the OS disk device caching is also all good