<node id="670791">
  <nid>670791</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1698760601</created>
  <changed>1698760601</changed>
  <title><![CDATA[PhD Proposal by Lechen Yu]]></title>
  <body><![CDATA[<p><span><span><span><strong><span>Title</span></strong><span>: Dynamic Analysis of Data Inconsistencies and Data Races in OpenMP Programs</span></span></span></span></p>

<p><span><span><span>&nbsp;</span></span></span></p>

<p><span><span><span><strong><span>Date</span></strong><span>: Monday, Nov 6, 2023</span></span></span></span></p>

<p><span><span><span><strong><span>Time</span></strong><span>: 2:00 pm - 4:00 pm ET</span></span></span></span></p>

<p><span><span><span><strong><span>Location</span></strong><span>: Klaus 3402 and Virtual (<a href="https://gatech.zoom.us/j/3092779704?pwd=SDVZaTlkTFpsZDRoYUU3Y0pzdmNvdz09">https://gatech.zoom.us/j/3092779704?pwd=SDVZaTlkTFpsZDRoYUU3Y0pzdmNvdz09</a>)</span></span></span></span></p>

<p><span><span><span><span><a href="https://gatech.zoom.us/j/3092779704?pwd=SDVZaTlkTFpsZDRoYUU3Y0pzdmNvdz09" target="_blank"><span><span>Join our Cloud HD Video Meeting</span></span></a></span></span></span></span></p>

<p><span><span><span><span><span>Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference room solution used around the world in board, conference, huddle, and training rooms, as well as executive offices and classrooms. Founded in 2011, Zoom helps businesses and organizations bring their teams together in a frictionless environment to get more done. Zoom is a publicly traded company headquartered in San Jose, CA.</span></span></span></span></span></p>

<p><span><span><span><span><span>gatech.zoom.us</span></span></span></span></span></p>

<p><span><span><em><span><span><span></span></span></span></em></span></span></p>

<p><span><span><span><strong><span>Lechen Yu</span></strong></span></span></span></p>

<p><span><span><span><span>Ph.D. Student</span></span></span></span></p>

<p><span><span><span><span>School of Computer Science</span></span></span></span></p>

<p><span><span><span><span>Georgia Institute of Technology</span></span></span></span></p>

<p><span><span><span>&nbsp;</span></span></span></p>

<p><span><span><span><strong><span>Committee</span></strong><span>:</span></span></span></span></p>

<p><span><span><span><span>Dr. Vivek Sarkar (Advisor) – School of Computer Science, Georgia Institute of Technology</span></span></span></span></p>

<p><span><span><span><span>Dr. Santosh Pande – School of Computer Science, Georgia Institute of Technology</span></span></span></span></p>

<p><span><span><span><span>Dr. Qirun Zhang – School of Computer Science, Georgia Institute of Technology</span></span></span></span></p>

<p><span><span><span><span>Dr. Hyesoon Kim&nbsp;<span>– School of Computer Science, Georgia Institute of Technology</span></span></span></span></span></p>

<p><span><span><span>&nbsp;</span></span></span></p>

<p><span><span><span><strong><span>Abstract</span></strong><span>:</span></span></span></span></p>

<p><span><span><span>&nbsp;</span></span></span></p>

<p><span><span><span><span>OpenMP is a popular intra-node parallel programming model that supports several </span></span></span></span></p>

<p><span><span><span><span>problem decomposition approaches, including task parallelism, data parallelism, and heterogeneous&nbsp;</span></span></span></span></p>

<p><span><span><span><span>parallelism. When OpenMP introduces new parallel paradigms or features, it must</span></span></span></span></p>

<p><span><span><span><span>ensure that these additions align with the existing constructs to maintain consistency and</span></span></span></span></p>

<p><span><span><span><span>avoid unspecified behaviors. New features can result in revisions to the behavior of existing</span></span></span></span></p>

<p><span><span><span><span>constructs, which may in turn require programmers to re-evaluate their understanding of</span></span></span></span></p>

<p><span><span><span><span>existing constructs and adapt their code accordingly. Consequently, writing correct OpenMP</span></span></span></span></p>

<p><span><span><span><span>programs can be challenging even for experienced programmers.</span></span></span></span></p>

<p>&nbsp;</p>

<p><span><span><span><span>To alleviate the intricacy of writing correct OpenMP programs, this proposal outlines</span></span></span></span></p>

<p><span><span><span><span>several dynamic analysis techniques that help programmers identify programming errors in</span></span></span></span></p>

<p><span><span><span><span>OpenMP programs. First, we describe various studies on device offloading, a recent OpenMP</span></span></span></span></p>

<p><span><span><span><span>feature still in its developmental phase. Our studies reveal discrepancies between the LLVM</span></span></span></span></p>

<p><span><span><span><span>implementation and the intended runtime behavior of device offloading. Additionally,</span></span></span></span></p>

<p><span><span><span><span>erroneous usage of device offloading constructs can lead to an assortment of memory</span></span></span></span></p>

<p><span><span><span><span>anomalies. Since these memory anomalies can generate disparities between host variables</span></span></span></span></p>

<p><span><span><span><span>and their corresponding counterparts on accelerator devices, we classify such bugs as data</span></span></span></span></p>

<p><span><span><span><span>inconsistencies. By establishing permissible memory accesses on the host and accelerator,</span></span></span></span></p>

<p><span><span><span><span>this proposal introduces a dynamic approach to detect data inconsistencies automatically.</span></span></span></span></p>

<p><span><span><span><span>The dynamic approach leverages a per-variable state transition model, which can be used to</span></span></span></span></p>

<p><span><span><span><span>establish the validity of the memory location before executing any memory accesses. Beyond</span></span></span></span></p>

<p><span><span><span><span>data inconsistencies, this proposal also delves into novel dynamic approaches for identifying</span></span></span></span></p>

<p><span><span><span><span>data races in OpenMP programs. By extending the SPD3 race detection algorithm, originally</span></span></span></span></p>

<p><span><span><span><span>designed for async-finish task parallelism, our dynamic race detection approach can handle a</span></span></span></span></p>

<p><span><span><span><span>large subset of parallel constructs in OpenMP, thereby checking more precise happens-before</span></span></span></span></p>

<p><span><span><span><span>relations among tasks relative to existing per-thread vector-clock-based approaches.</span></span></span></span></p>

<p>&nbsp;</p>
]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[Dynamic Analysis of Data Inconsistencies and Data Races in OpenMP Programs]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[<p><span><span><span>Dynamic Analysis of Data Inconsistencies and Data Races in OpenMP Programs</span></span></span></p>
]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2023-11-06T14:00:00-05:00]]></value>
      <value2><![CDATA[2023-11-06T16:00:00-05: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 3402 and Virtual ]]></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>102851</tid>
        <value><![CDATA[Phd proposal]]></value>
      </item>
      </field_keywords>
  <userdata><![CDATA[]]></userdata>
</node>
