<?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 The effect of hyperthreads on IPC in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/The-effect-of-hyperthreads-on-IPC/m-p/1403367#M8089</link>
    <description>&lt;P&gt;I’ve been experimenting with a 4-socket Skylake based server with 24 cores per socket. I’ve run a number of workloads, each utilizing all of the cores, with both hyperthreads turned on and off. The workloads ranged from running queries on a on a highly parallel database to artificially constructed arithmetic operations. What I noticed in all cases was that when hyperthreads were turned on, workload throughputs improved by anywhere from 5 to 15%. This is was to be expected and is well-known. What surprised me, was that in all cases, the improvement in throughput was accompanied by a decrease in IPC (instruction per cycle). In others words with hyperthreads turned, although throughput improved, the system-wide IPC decreased by about 20% when compared to hyperthreads turned off.&lt;/P&gt;
&lt;P&gt;Given that a hyper thread kicks in when a pipeline is stalled, I would have expected hyperthreading would increase the IPC, not decrease it. What am I missing?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Tue, 26 Jul 2022 05:45:45 GMT</pubDate>
    <dc:creator>gostanian__richard</dc:creator>
    <dc:date>2022-07-26T05:45:45Z</dc:date>
    <item>
      <title>The effect of hyperthreads on IPC</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/The-effect-of-hyperthreads-on-IPC/m-p/1403367#M8089</link>
      <description>&lt;P&gt;I’ve been experimenting with a 4-socket Skylake based server with 24 cores per socket. I’ve run a number of workloads, each utilizing all of the cores, with both hyperthreads turned on and off. The workloads ranged from running queries on a on a highly parallel database to artificially constructed arithmetic operations. What I noticed in all cases was that when hyperthreads were turned on, workload throughputs improved by anywhere from 5 to 15%. This is was to be expected and is well-known. What surprised me, was that in all cases, the improvement in throughput was accompanied by a decrease in IPC (instruction per cycle). In others words with hyperthreads turned, although throughput improved, the system-wide IPC decreased by about 20% when compared to hyperthreads turned off.&lt;/P&gt;
&lt;P&gt;Given that a hyper thread kicks in when a pipeline is stalled, I would have expected hyperthreading would increase the IPC, not decrease it. What am I missing?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jul 2022 05:45:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/The-effect-of-hyperthreads-on-IPC/m-p/1403367#M8089</guid>
      <dc:creator>gostanian__richard</dc:creator>
      <dc:date>2022-07-26T05:45:45Z</dc:date>
    </item>
  </channel>
</rss>

