<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Intel PCM: FLT_SENT, NULL_IDLE Events? in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764284#M44</link>
    <description>Hi Roman,&lt;BR /&gt;&lt;BR /&gt;thanks for your answer. I think I understand most of it now! I've read the whitepaper and know about phits and flits. I think I also understand the difference between the core/uncore frequencies. Just to comfirm: FLT_SENT is increased with the &lt;B&gt;QPI link clock frequency&lt;/B&gt; - no matter, whether actual "data" is transmitted or not? Hence it can be used to compute the maximum QPI Link Speed?!&lt;BR /&gt;&lt;BR /&gt;The one thing I still don't understand - the NULL_IDLE event. I can accept that it runs at uncore clock frequency and is therefore normalized with the uncoreTSC. But when is the counter incremented? I am also still trying to figure out, how it can be used to estimate the QPI Link Utilization...&lt;BR /&gt;&lt;BR /&gt;I will appreciate any clarification. Thanks!&lt;BR /&gt;&lt;BR /&gt;- tim&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Thu, 12 Jan 2012 15:01:06 GMT</pubDate>
    <dc:creator>tim_kiefer</dc:creator>
    <dc:date>2012-01-12T15:01:06Z</dc:date>
    <item>
      <title>Intel PCM: FLT_SENT, NULL_IDLE Events?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764282#M42</link>
      <description>Hi,&lt;BR /&gt;I am currently running experiments on a 4 socket (Westmere EX) HP maschine. There, I am especially interested in QPI Link usage and utilization, which I try to measure with the Performance Counter Monitor. After having studied the source code I am puzzled about 2 events in particular (what they count and how they are used).&lt;BR /&gt;&lt;BR /&gt;I am trying to understand the events FLT_SENT (Flit Sent) and NULL_IDLE (Null Idle Flit Sent). The tool uses e.g. FLT_SENT events together with InvariantTSCs to compute the maximum QPI Link Speed (cpucounters.cpp - PCM::computeQPIspeed(int core_nr)). That makes me think, that one flit (8 Bytes?) can be sent per cycle (TSC) and that per cycle one FLT_SENT event occurs?!&lt;BR /&gt;&lt;BR /&gt;In another method in the tool (cpucounters.h  getOutgoingQPILinkUtilization), NULL_IDLE Fluts are counted and used together with UncoreTSCs to estimate the QPI Link Utilization. I am totally puzzled how that works I was also pretty confused when I counted FLT_SENT and NULL_IDLE and realized that there were more NULL_IDLE events than FLT_SENT events.&lt;BR /&gt;&lt;BR /&gt;Can anybody shed light on the question what FLT_SENT and NULL_IDLE events actually count. At the same time, I would be interested in the difference between InvariantTSC and UncoreTSC - both used to compute different measures (see above).&lt;BR /&gt;&lt;BR /&gt;Thanks a lot!&lt;BR /&gt;- tim&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 09 Jan 2012 13:28:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764282#M42</guid>
      <dc:creator>tim_kiefer</dc:creator>
      <dc:date>2012-01-09T13:28:29Z</dc:date>
    </item>
    <item>
      <title>Intel PCM: FLT_SENT, NULL_IDLE Events?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764283#M43</link>
      <description>&lt;P&gt;Hi Tim,&lt;BR /&gt;&lt;BR /&gt;one flit is 80 bits (64 bits is data payload of a flit = 8 bytes). Each QPI link cyclea"phit" issent (20 bits = 16 data bits + 4 other system bits).That means per QPI link cycle (or per QPI transfer) two payload data bytes can be sent.You need four QPI link cycles to transfer one flit. Note that QPI link clock frequency is not equal to core TSC frequency (InvariantTSC).In PCM:computeQPISpeed, the InvariantTSCis usedjust as a timer function to pause the program for a certain amount of time and count the number of sent flits during this period(FLT_SENT).Please also see more details on QPI in this &lt;A href="https://www-ssl.intel.com/content/dam/doc/white-paper/quick-path-interconnect-introduction-paper.pdf"&gt;whitepaper&lt;/A&gt;.On Westmere/Nehalem-EX the NULL_IDLE event internally runs/increments with uncore clock frequency, therefore it is normalized with the UncoreTSC.&lt;BR /&gt;&lt;BR /&gt;Regarding different TSC/frequencies:&lt;BR /&gt;InvariantTSC increments with the nominal &lt;STRONG&gt;core&lt;/STRONG&gt; frequency&lt;BR /&gt;UncoreTSC is different from InvariantTSC: it runs at the frequency of the processor &lt;STRONG&gt;uncore&lt;/STRONG&gt;&lt;BR /&gt;QPI link clockfrequency is different from InvariantTSC and UncoreTSC.In other terms it is theQPI GTransfers/second.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Roman&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jan 2012 09:55:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764283#M43</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2012-01-11T09:55:28Z</dc:date>
    </item>
    <item>
      <title>Intel PCM: FLT_SENT, NULL_IDLE Events?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764284#M44</link>
      <description>Hi Roman,&lt;BR /&gt;&lt;BR /&gt;thanks for your answer. I think I understand most of it now! I've read the whitepaper and know about phits and flits. I think I also understand the difference between the core/uncore frequencies. Just to comfirm: FLT_SENT is increased with the &lt;B&gt;QPI link clock frequency&lt;/B&gt; - no matter, whether actual "data" is transmitted or not? Hence it can be used to compute the maximum QPI Link Speed?!&lt;BR /&gt;&lt;BR /&gt;The one thing I still don't understand - the NULL_IDLE event. I can accept that it runs at uncore clock frequency and is therefore normalized with the uncoreTSC. But when is the counter incremented? I am also still trying to figure out, how it can be used to estimate the QPI Link Utilization...&lt;BR /&gt;&lt;BR /&gt;I will appreciate any clarification. Thanks!&lt;BR /&gt;&lt;BR /&gt;- tim&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 12 Jan 2012 15:01:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764284#M44</guid>
      <dc:creator>tim_kiefer</dc:creator>
      <dc:date>2012-01-12T15:01:06Z</dc:date>
    </item>
    <item>
      <title>Intel PCM: FLT_SENT, NULL_IDLE Events?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764285#M45</link>
      <description>Tim,&lt;BR /&gt;&lt;BR /&gt;you are correct with the first statement: FLT_SENT is running at "QPI link frequency/4" and does not halt no matter, whether actual "data" is transmitted or not.&lt;BR /&gt;&lt;BR /&gt;I will try to get you a more precise answer for your second question soon.&lt;BR /&gt;&lt;BR /&gt;--&lt;BR /&gt;Roman</description>
      <pubDate>Thu, 12 Jan 2012 16:32:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764285#M45</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2012-01-12T16:32:02Z</dc:date>
    </item>
    <item>
      <title>Intel PCM: FLT_SENT, NULL_IDLE Events?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764286#M46</link>
      <description>Hi Tim,&lt;BR /&gt;&lt;BR /&gt;after asking around I got this explanation for the NULL_IDLE event behavior:&lt;BR /&gt;&lt;BR /&gt;"Whenever QPI has no useful data to send, it sends out NULL packets. &lt;STRONG&gt;This event counts the number of clocks (in uncore clocks) when NULL packets are being sent.&lt;/STRONG&gt; For a system running at 2.4GHz uncore freq with QPI 100% idle, you will see this event counting 2.4 billion in a second. For example, if the QPI utilization (useful data being sent) is about 20%, that means 80% of the time, null flits are being sent. So, this event will count 1.92 Billion per second (2.4*.8)"&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Roman</description>
      <pubDate>Fri, 13 Jan 2012 09:31:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764286#M46</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2012-01-13T09:31:22Z</dc:date>
    </item>
    <item>
      <title>Intel PCM: FLT_SENT, NULL_IDLE Events?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764287#M47</link>
      <description>Hi Roman,&lt;BR /&gt;&lt;BR /&gt;that certainly clears things up! Thanks for your quick reply.&lt;BR /&gt;&lt;BR /&gt;- tim</description>
      <pubDate>Fri, 13 Jan 2012 11:39:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-FLT-SENT-NULL-IDLE-Events/m-p/764287#M47</guid>
      <dc:creator>tim_kiefer</dc:creator>
      <dc:date>2012-01-13T11:39:40Z</dc:date>
    </item>
  </channel>
</rss>

