[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] MPI benchmark performance gap between native linux anddomU
> If you're on an SMP with the dom0 and domU's on different > CPUs (and have CPU to burn) then you might get a performance > improvement by artificially capping some of the natural > batching to just a couple of packets. You could try modifying > netback's net_rx_action to send the notification through to > netfront more eagerly. This will help get the latency down, > at the cost of burning more CPU. To be clearer, modify net_rx_action netback as follows to kick the frontend after every packet. I expect this might help for some of the larger message sizes. Kicking every packet may be overdoing it, so you might want to adjust to every Nth, using the rx_notify array to store the number of packets queued per netfront driver. Overall, the MPI SendRecv benchmark is an absoloute worst case scenario for s/w virtualization. Any 'optimisations' we add will be at the expense of reduced CPU efficiency, possibly resulting in reduced bandwidth for many users. The best soloution to this is to use a 'smart NIC' or HCA (such as the Arsenic GigE we developed) that can deliver packets directly to VMs. I expect we'll see a number of such NICs on the market before too long, and they'll be great for Xen. Ian evtchn = netif->evtchn; id = netif->rx->ring[MASK_NETIF_RX_IDX(netif->rx_resp_prod)].req.id; if ( make_rx_response(netif, id, status, mdata, size) && (rx_notify[evtchn] == 0) ) { - rx_notify[evtchn] = 1; - notify_list[notify_nr++] = evtchn; + notify_via_evtchn(evtchn); } netif_put(netif); dev_kfree_skb(skb); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |