[zeromq-dev] Windows Developer Preview = Windows 8?

Steven McCoy steven.mccoy at miru.hk
Mon Oct 10 20:10:00 CEST 2011


I just noticed a new suite of IP stack APIs in the new look MSDN, called
"Registered I/O":

RIOCloseCompletionQueue
>
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh448837(v=VS.85).aspx>
> RIOCreateCompletionQueue
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh448841(v=VS.85).aspx>
> RIOCreateRequestQueue
>
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh448843(v=VS.85).aspx>
> RIODequeueCompletion
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh448845(v=VS.85).aspx>
> RIODeregisterBuffer
>
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh448847(v=VS.85).aspx>
> RIONotify
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh437191(v=VS.85).aspx>
> RIOReceive
>
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh437193(v=VS.85).aspx>
> RIOReceiveEx
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh437196(v=VS.85).aspx>
> RIORegisterBuffer
>
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh437199(v=VS.85).aspx>
> RIOResizeCompletionQueue
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh437202(v=VS.85).aspx>
> RIOResizeRequestQueue
>
> <http://msdn.microsoft.com/en-us/library/windows/desktop/hh437204(v=VS.85).aspx>
> RIOSend
> RIOSendEx<http://msdn.microsoft.com/en-us/library/windows/desktop/hh437216(v=VS.85).aspx>


>From what I can interpret these are a new zero-copy set of APIs that push
VirtualAlloc locked pages to WinSock to prevent the buffer churn that
currently occurs.  Interestingly completions are in that list but IOCP does
need registered buffers unless the particular difference is user-kernel
space locked pages so this new API accelerates the IP stack by not requiring
the page locking.  I don't think there is a direct equivalent in Linux.

VirtualAlloc is a really slow API already.

Some more details here, noting the interesting "a new fast path loopback
allows high-speed apps to achieve a higher level of performance".  That
might be Windows 8 adding TCP Fusion from Solaris.

http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-593T

-- 
Steve-o
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20111010/fe58479b/attachment.htm>


More information about the zeromq-dev mailing list