Re: [asio-users] RDMA backend for asio
Brought to you by:
chris_kohlhoff
From: Gruenke, M. <mgruenke@Tycoint.com> - 2011-03-26 22:28:24
|
On Sat 3/26/2011 5:28 AM, Arash Partow wrote: > > What are the latest ASIO benchmarks? > I have a separate thread that loops on rdma channel events posting work to an > instance of io_service - clearly not the best way of doing it. Those events are going to signal a descriptor in the epoll set. The kernel sees this and triggers a context switch. The question is how often epoll_wait() is going to get called, particularly in the case that multiple threads are servicing the io_service. My question is why you'd want to route these events through the kernel, when the whole point of rdma seems to be to avoid that. > As for benchmarks, I'm not sure what you mean - are you talking > about comparing rdma functionality to udp or tcp equivalents using asio? No, because you don't care about that, right? You're already using rdma. The question is how fast it can process events and how well does this scale with more event processing threads. Since that's the piece you're using, I assume you want to know whether it will be a bottleneck and how much overhead it's going to add. > I currently use it within a very simple low-latency messaging system (0copy is the aim). If you're concerned about the latency added by copying the data 1 time, then you certainly don't want to involve the kernel in processing your messages. > asio is perfectly suited for this role, I doubt it, because I doubt people typically want to multiplex rdma messages with other I/O events their program or library handles. If you're not going to do that, why would you pay the price for that capability? I'd look at something like Intel's Thread Building Blocks. I'd be interested in what you find with Asio, but I fear you may discover that it's too heavy-weight. Matt |