Those are really useful numbers--I think a lot of it can be chalked up to virtualization, but we should definitely explore more around IRQ pinning for queues. Any good starting points / reading, are you mostly using taskset?
http://chrisgoffinet.com/pin_network.sh
This will set queues 0-7 to specific smp affinity slots.