ELVIS/ELI I/O acceleration code / Re: [Qemu-devel] KVM call agenda for 2013-04-09

2013-09-28 Thread Abel Gordon



Stefan Hajnoczi stefa...@gmail.com wrote on 09/04/2013 06:13:47 PM:

 From: Stefan Hajnoczi stefa...@gmail.com
 To: Juan Quintela quint...@redhat.com,
 Cc: qemu-devel qemu-devel qemu-de...@nongnu.org, KVM devel mailing
 list kvm@vger.kernel.org
 Date: 09/04/2013 06:13 PM
 Subject: Re: [Qemu-devel] KVM call agenda for 2013-04-09
 Sent by: qemu-devel-bounces+abelg=il.ibm@nongnu.org

 Meeting notes on Abel's presentation:

 Aim: improve vhost scalability

 Shared vhost thread
 ==
 Problem: Linux scheduler does not see state of virtqueues, cannot make
 good scheduling decisions
 Solution: Shared thread serves multiple VMs and therefore influences
 I/O scheduling instead of kernel thread per vhost device

 Exitless communication
 =
  * Polling on host to notice guest vring updates without guest pio
instruction
* Use CPU affinity to bind vcpus to separate cores and let polling
 run on dedicated cores
  * Existless Interrupt (ELI) or future hardware APIC virtualization
 feature to inject virtual interrupts
 without vmexit and EOI

 See paper for performance results (impressive numbers):
 http://domino.research.ibm.com/library/cyberdig.nsf/papers/
 479E3578ED05BFAC85257B4200427735/$File/h-0319.pdf

 Abel will publish rebased code on GitHub but does not have time to
 upstream them.

 The next step: QEMU/KVM community can digest the paper + patches and
 decide on ideas to upstream.

It has been a while since this KVM call but the code for ELVIS and
ELI is now available in github:
https://github.com/abelg/virtual_io_acceleration/commits/ibm-io-acceleration-3.9-github

Source-code contributors (in alphabetical order):
  Nadav Amit nadav.a...@gmail.com
  Muli Ben-Yehuda mu...@mulix.org
  Abel Gordon ab...@il.ibm.com
  Nadav Har'El n...@math.technion.ac.il
  Alex Landau landau.a...@gmail.com

Each commit made in September 16th represents a separate and documented
patch. Note this work is under development and more effort is required to
make
it upstream-ready. You are all welcome to join the upstreaming effort :)

A short documentation can be found in the wiki page:
https://github.com/abelg/virtual_io_acceleration/wiki/Virtual-I-O-acceleration-technologies-for-KVM

Please note this work will be presented and discussed in the upcoming KVM
forum
(October 21-23, Edinburgh, UK)


Regards,
Abel.

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Qemu-devel] KVM call agenda for 2013-04-09

2013-04-09 Thread Stefan Hajnoczi
Meeting notes on Abel's presentation:

Aim: improve vhost scalability

Shared vhost thread
==
Problem: Linux scheduler does not see state of virtqueues, cannot make
good scheduling decisions
Solution: Shared thread serves multiple VMs and therefore influences
I/O scheduling instead of kernel thread per vhost device

Exitless communication
=
 * Polling on host to notice guest vring updates without guest pio instruction
   * Use CPU affinity to bind vcpus to separate cores and let polling
run on dedicated cores
 * Existless Interrupt (ELI) or future hardware APIC virtualization
feature to inject virtual interrupts
without vmexit and EOI

See paper for performance results (impressive numbers):
http://domino.research.ibm.com/library/cyberdig.nsf/papers/479E3578ED05BFAC85257B4200427735/$File/h-0319.pdf

Abel will publish rebased code on GitHub but does not have time to
upstream them.

The next step: QEMU/KVM community can digest the paper + patches and
decide on ideas to upstream.
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html