<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi, <br>
    <br>
    My name is Rajiv Nishtala and I am a PhD student in UPC. <br>
    I am trying to investigate the performance (instructions per second
    (IPS)) impact of an application on QEMU-KVM and bare metal using the
    performance monitoring tools perfmon and perf. The performance
    counter used for measuring this is "instructions" and
    "instructions_retired" on perf and perfmon, respectively. The
    application is a <b>stress</b> microbenchmark that does not produce
    any cache misses (LLC).<br>
    <br>
    I account for the performance of the application on QEMU-KVM using
    the following procedure:<br>
    A) Record the IPS of the QEMU-KVM (using its PID) on perf and
    perfmon when idle.<br>
    B) Launch the stress benchmark and record IPS. <br>
    C) the difference between <b>B</b> and <b>A</b> should give the
    performance of the application since the KVM does not inherently
    provide a technique to collect this statistic. <br>
    <br>
    However the performance of the application on bare metal is recorded
    as is using the per-thread session available in perfmon and perf. <br>
    The sampling frequency to collect the statistics is 1 second.<br>
    <br>
    The result obtained on bare metal are in the order of magnitude of
    billions. On the other hand, results from KVM do not show any
    difference in performance when idle or when an application is
    running and is in the order of magnitude of 100's of thousands. <br>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <table border="0" cellspacing="0">
      <colgroup width="99"></colgroup> <colgroup width="46"></colgroup>
      <colgroup width="85"></colgroup> <colgroup width="124"></colgroup>
      <colgroup span="2" width="85"></colgroup> <colgroup width="152"></colgroup>
      <colgroup width="85"></colgroup> <tbody>
        <tr>
          <td align="left" height="17">IPS_KVM_IDLE</td>
          <td align="left">LLC_KVM_IDLE</td>
          <td align="left"><br>
          </td>
          <td align="left">IPS_KVM_STRESS</td>
          <td align="left">LLC_KVM_STRESS</td>
          <td align="left"><br>
          </td>
          <td align="left">IPS_bare metal_STRESS</td>
          <td align="left">LLC_bare metal_STRESS</td>
        </tr>
        <tr>
          <td sdval="47902" sdnum="1033;" align="right" height="17">47902</td>
          <td sdval="2495" sdnum="1033;" align="right">2495</td>
          <td align="left"><br>
          </td>
          <td sdval="25157" sdnum="1033;" align="right">25157</td>
          <td sdval="600" sdnum="1033;" align="right">600</td>
          <td align="left"><br>
          </td>
          <td sdval="8116556011" sdnum="1033;" align="right">8116556011</td>
          <td sdval="3805" sdnum="1033;" align="right">3805</td>
        </tr>
        <tr>
          <td sdval="23437" sdnum="1033;" align="right" height="17">23437</td>
          <td sdval="758" sdnum="1033;" align="right">758</td>
          <td align="left"><br>
          </td>
          <td sdval="48762" sdnum="1033;" align="right">48762</td>
          <td sdval="1032" sdnum="1033;" align="right">1032</td>
          <td align="left"><br>
          </td>
          <td sdval="8166564000" sdnum="1033;" align="right">8166564000</td>
          <td sdval="2140" sdnum="1033;" align="right">2140</td>
        </tr>
        <tr>
          <td sdval="834370" sdnum="1033;" align="right" height="17">834370</td>
          <td sdval="9954" sdnum="1033;" align="right">9954</td>
          <td align="left"><br>
          </td>
          <td sdval="543690" sdnum="1033;" align="right">543690</td>
          <td sdval="2379" sdnum="1033;" align="right">2379</td>
          <td align="left"><br>
          </td>
          <td sdval="8326333629" sdnum="1033;" align="right">8326333629</td>
          <td sdval="234" sdnum="1033;" align="right">234</td>
        </tr>
        <tr>
          <td sdval="25261" sdnum="1033;" align="right" height="17">25261</td>
          <td sdval="662" sdnum="1033;" align="right">662</td>
          <td align="left"><br>
          </td>
          <td sdval="49139" sdnum="1033;" align="right">49139</td>
          <td sdval="997" sdnum="1033;" align="right">997</td>
          <td align="left"><br>
          </td>
          <td sdval="8057453733" sdnum="1033;" align="right">8057453733</td>
          <td sdval="1399" sdnum="1033;" align="right">1399</td>
        </tr>
        <tr>
          <td sdval="47998" sdnum="1033;" align="right" height="17">47998</td>
          <td sdval="2767" sdnum="1033;" align="right">2767</td>
          <td align="left"><br>
          </td>
          <td sdval="23773" sdnum="1033;" align="right">23773</td>
          <td sdval="600" sdnum="1033;" align="right">600</td>
          <td align="left"><br>
          </td>
          <td sdval="8214761042" sdnum="1033;" align="right">8214761042</td>
          <td sdval="494" sdnum="1033;" align="right">494</td>
        </tr>
        <tr>
          <td sdval="542039" sdnum="1033;" align="right" height="17">542039</td>
          <td sdval="2299" sdnum="1033;" align="right">2299</td>
          <td align="left"><br>
          </td>
          <td sdval="843266" sdnum="1033;" align="right">843266</td>
          <td sdval="2231" sdnum="1033;" align="right">2231</td>
          <td align="left"><br>
          </td>
          <td sdval="8075529487" sdnum="1033;" align="right">8075529487</td>
          <td sdval="4593" sdnum="1033;" align="right">4593</td>
        </tr>
        <tr>
          <td sdval="47982" sdnum="1033;" align="right" height="17">47982</td>
          <td sdval="2781" sdnum="1033;" align="right">2781</td>
          <td align="left"><br>
          </td>
          <td sdval="25249" sdnum="1033;" align="right">25249</td>
          <td sdval="603" sdnum="1033;" align="right">603</td>
          <td align="left"><br>
          </td>
          <td sdval="8327678364" sdnum="1033;" align="right">8327678364</td>
          <td sdval="443" sdnum="1033;" align="right">443</td>
        </tr>
        <tr>
          <td sdval="23833" sdnum="1033;" align="right" height="17">23833</td>
          <td sdval="794" sdnum="1033;" align="right">794</td>
          <td align="left"><br>
          </td>
          <td sdval="49138" sdnum="1033;" align="right">49138</td>
          <td sdval="622" sdnum="1033;" align="right">622</td>
          <td align="left"><br>
          </td>
          <td sdval="8058893864" sdnum="1033;" align="right">8058893864</td>
          <td sdval="1870" sdnum="1033;" align="right">1870</td>
        </tr>
        <tr>
          <td sdval="832913" sdnum="1033;" align="right" height="17">832913</td>
          <td sdval="9978" sdnum="1033;" align="right">9978</td>
          <td align="left"><br>
          </td>
          <td sdval="544567" sdnum="1033;" align="right">544567</td>
          <td sdval="2204" sdnum="1033;" align="right">2204</td>
          <td align="left"><br>
          </td>
          <td sdval="8210889659" sdnum="1033;" align="right">8210889659</td>
          <td sdval="394" sdnum="1033;" align="right">394</td>
        </tr>
      </tbody>
    </table>
    <title></title>
    <meta name="generator" content="LibreOffice 4.2.8.2 (Linux)">
    <style type="text/css"><!-- 
                body,div,table,thead,tbody,tfoot,tr,th,td,p { font-family:"Liberation Sans"; font-size:x-small }
                 -->
        </style><br>
    I also tried using perf-kvm using the following command:<br>
    sudo perf kvm --guest --guestkallsyms=guest-kallsyms
    --guestmodules=guest-modules record -a -o perf.data  <br>
    <br>
    but failed with the following error:<br>
    <b>Couldn't record guest kernel [0]'s reference relocation symbol.<br>
    </b>and no events were recorded. <br>
    <br>
    <br>
    I describe details of QEMU and the host machine (bare metal) below.
    <br>
    <br>
    QEMU emulator version 2.0.0 in conjunction with KVM as the virtual
    environment and libvirt 1.2.2<br>
    <br>
    The guest machine is running kernel version 3.19.0-15-generic and
    the host machine is running version 3.14.5-031405-generic on a
    x86_64 machine<br>
    I setup the guest machine with Intel SandyBridge processor (model
    name:Intel Xeon E312xx) with the following flags:
    sockets=2,cores=2,threads=1 and 4mb cache. <br>
    More details: <br>
    cpu family    : 6<br>
    model        : 42<br>
    max freq        : 2394.560 MHz<br>
    flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
    mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp
    lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16
    pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx
    hypervisor lahf_lm vnmi ept xsaveopt<br>
    <br>
    <br>
    The host machine is an Intel Sandy Bridge processor (Intel(R)
    Core(TM) i7-2760QM CPU @ 2.40GHz) with 4 cores and 6mb cache. <br>
    cpu family    : 6<br>
    model        : 42<br>
    flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
    mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
    syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good
    nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
    monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1
    sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida
    arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept
    vpid<br>
    <br>
    <br>
    Thanks<br>
    Rajiv Nishtala<br>
    <br>
    <br>
    <br>
    <br>
    <br>
  
<br>
<br>
WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.
<br><br>
<a href="http://www.bsc.es/disclaimer.htm">http://www.bsc.es/disclaimer</a>
<br>
</body>
</html>