<node id="693194">
  <nid>693194</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1791811790</created>
  <changed>1791811821</changed>
  <title><![CDATA[PhD Defense by Bodhisatwa Chatterjee]]></title>
  <body><![CDATA[<p><strong>Title</strong>: Predicting Dynamic Program Behavior with Compiler-Guided Machine Learning</p><p>&nbsp;</p><p><strong>Date</strong>: Friday, October 16th, 2026</p><p>&nbsp;</p><p><strong>Time</strong>: 1:00 - 3:00 PM ET</p><p><strong>Location</strong>: Klaus 2126</p><p><strong>Virtual Link</strong>: Teams&nbsp;(<a href="https://teams.microsoft.com/meet/293867738134584?p=GI8Tcf7EIQ4ih1fkL7" target="_blank" title="Meeting join">https://teams.microsoft.com/meet/293867738134584?p=GI8Tcf7EIQ4ih1fkL7</a></p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Meeting ID:&nbsp;293 867 738 134 584&nbsp;</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Passcode:&nbsp;CN9DD3Zy)</p><p><strong>Bodhisatwa Chatterjee</strong><br>Ph.D. Student</p><p>School of Computer Science</p><p>College of Computing</p><p>Georgia Institute of Technology</p><p>&nbsp;</p><p><strong>Committee:</strong></p><p>Dr. Santosh Pande (Advisor) – School of Computer Science, Georgia Institute of Technology</p><p>Dr. Qirun Zhang – School of Computer Science, Georgia Institute of Technology</p><p>Dr. Vijay Ganesh – School of Computer Science, Georgia Institute of Technology</p><p>Dr. Rajeev Gupta – Department of Computer Science &amp; Engineering, University of California, Riverside</p><p>Dr. Mark Stephenson – NVIDIA Research, NVIDIA</p><p>&nbsp;</p><p>&nbsp;</p><p>Abstract</p><p>&nbsp;</p><p>Accurate knowledge of program execution behavior is critical for both compiler optimizations and system-level resource management. However, modern workloads exhibit complex, input-dependent behavior with irregular control flow and dynamic phase changes, making static reasoning inadequate. While dynamic optimization techniques offer an alternative, their high analysis overhead often negates potential performance gains. In this work, we propose <em>lightweight predictive techniques that leverage runtime values, program analysis, machine learning models, and LLM reasoning to predict dynamic program behavior at multiple levels of granularity.&nbsp;</em>Although such predictions do not provide strict guarantees, we demonstrate empirically that they enable a range of “soft” optimizations that yield significant performance improvements.</p><p>&nbsp;</p><p>In our first work, we showcase <strong>Compiler-Guided Cache Apportioning System (Com-CAS)</strong>&nbsp;for effectively apportioning the shared Last-Level Cache (LLC), through the <em>use of runtime and compile-time cooperative framework</em>. <em>Com-CAS</em> improves weighted throughput by <strong>15% on average,</strong> outperforming the state-of-the-art schemes by <strong>20%</strong> on average. In our second work, we extend this approach to estimate trip count for irregular loops, and present<strong>&nbsp;Beacons Framework</strong>, an end-to-end system that estimates dynamic loop characteristics and leverages them for proactive workload scheduling. <em>Beacons</em> achieves approximately <strong>85--95% prediction accuracy</strong> and improves throughput by up to <strong>2.62x</strong> over existing schedulers.</p><p>In our third work, we introduce<strong>&nbsp;Phaedrus</strong>, a framework for profile-driven software optimization via predictive modeling of dynamic application behavior. Phaedrus combines <em>application profile generalization</em>&nbsp;and <em>application profile synthesis</em>, integrating generative deep learning models and LLMs with static compiler analysis to predict function calls and control-flow behavior. This enables profile-guided optimization without exhaustive profiling across application inputs and demonstrates performance gains over traditional offline profiling approaches. <em>Phaedrus</em> improves performance by <strong>6% on average</strong> and reduces binary size by <strong>13.68%.&nbsp;</strong></p><p>Finally, we present <strong>Cassandra</strong>, a compiler-LLM co-reasoning framework that selectively predicts fine-grained, input-specific program behavior within computationally important regions identified through coarse-grained analysis. Cassandra first uses LLM reasoning to identify hot function chains, then applies compiler analyses and loop categorization to predict loop trip counts, invocation frequencies, and other intra-function behavior required for profile synthesis. <em>Cassandra PGO</em> produces leaner code than Traditional PGO and achieves aggregate runtime improvements of <strong>1.32-1.44%</strong> over Traditional PGO.</p><p>&nbsp;</p>]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[Predicting Dynamic Program Behavior with Compiler-Guided Machine Learning]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[<p>Predicting Dynamic Program Behavior with Compiler-Guided Machine Learning</p>]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2026-10-16T13:00:12-04:00]]></value>
      <value2><![CDATA[2026-10-16T15:00:12-04:00]]></value2>
      <rrule><![CDATA[]]></rrule>
      <timezone><![CDATA[America/New_York]]></timezone>
    </item>
  </field_time>
  <field_fee>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_fee>
  <field_extras>
      </field_extras>
  <field_audience>
          <item>
        <value><![CDATA[Public]]></value>
      </item>
      </field_audience>
  <field_media>
      </field_media>
  <field_contact>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_contact>
  <field_location>
    <item>
      <value><![CDATA[Klaus 2126]]></value>
    </item>
  </field_location>
  <field_sidebar>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_sidebar>
  <field_phone>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_phone>
  <field_url>
    <item>
      <url><![CDATA[]]></url>
      <title><![CDATA[]]></title>
            <attributes><![CDATA[]]></attributes>
    </item>
  </field_url>
  <field_email>
    <item>
      <email><![CDATA[]]></email>
    </item>
  </field_email>
  <field_boilerplate>
    <item>
      <nid><![CDATA[]]></nid>
    </item>
  </field_boilerplate>
  <links_related>
      </links_related>
  <files>
      </files>
  <og_groups>
          <item>221981</item>
      </og_groups>
  <og_groups_both>
          <item><![CDATA[Graduate Studies]]></item>
      </og_groups_both>
  <field_categories>
          <item>
        <tid>1788</tid>
        <value><![CDATA[Other/Miscellaneous]]></value>
      </item>
      </field_categories>
  <field_keywords>
          <item>
        <tid>100811</tid>
        <value><![CDATA[Phd Defense]]></value>
      </item>
      </field_keywords>
  <field_userdata><![CDATA[]]></field_userdata>
</node>
