<node id="640607">
  <nid>640607</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1603737494</created>
  <changed>1603737494</changed>
  <title><![CDATA[PhD Defense by Seonmyeong Bak]]></title>
  <body><![CDATA[<p><strong>Title:</strong>&nbsp;Runtime Approaches to Improve the Efficiency of Hybrid and Irregular Applications</p>

<p>&nbsp;</p>

<p>Seonmyeong Bak</p>

<p>Ph.D. Candidate</p>

<p>School of Computer Science</p>

<p>Georgia Institute of Technology</p>

<p>&nbsp;</p>

<p><strong>Date:</strong> Tuesday, November 3rd, 2020<br />
<strong>Time:</strong> 2:00 pm to 4:00 pm (EST)<br />
<strong>Location:</strong> *<strong>No Physical Location</strong>*</p>

<p><strong>BlueJeans:</strong>&nbsp; <a href="https://bluejeans.com/sbak3">https://bluejeans.com/sbak3</a></p>

<p>&nbsp;</p>

<p><strong>Committee:</strong><br />
Dr. Vivek Sarkar (advisor), School of Computer Science, Georgia Institute of Technology</p>

<p>Dr. &Uuml;mit V. &Ccedil;ataly&uuml;rek, School of Computational Science and Engineering, Georgia Institute of Technology<br />
Dr. Ada Gavrilovska, School of Computer Science, Georgia Institute of Technology<br />
Dr. Tushar Krishna, School of Electrical and Computer Engineering, Georgia Institute of Technology<br />
Dr. Alexey Tumanov, School of Computer Science, Georgia Institute of Technology</p>

<p><strong>Abstract:</strong><br />
On-node parallelism has increased significantly in high-performance computing systems. This huge amount of parallelism can be used to speed up regular parallel applications easily because straightforward approaches usually suffice to map their computation patterns and data layouts on to available on-node parallelism. However, irregular parallel applications require considerable effort to run on the modern processors with massive amounts of intra-node parallelism. Parallel programming models and runtime approaches have been proposed to help programmers to write<br />
those applications quickly, but it&rsquo;s still not easy to write efficient irregular parallel applications. Two key challenges in mapping irregular applications onto on-node parallelism are load balance and computation-communication overlap. In this thesis defense, we address these challenges through new runtime approaches and new APIs that enable users to provide minimal information for application-aware scheduling.<br />
<br />
First, we introduce new algorithms to improve the scheduling of irregular task graphs containing a mix of communication and computation tasks with data-parallelism and blocking operations. We combine gang-scheduling with work-stealing for data parallel tasks with frequent inter/intra-node communication in the task graphs so as to reduce interference and expensive context switching operations. We also propose<br />
improved victim selection policies for work-stealing to improve the load balance and overlap of ready tasks that have child tasks.<br />
<br />
Next, we propose an efficient integrated runtime system to handle load balancing of irregular applications written in hybrid parallel programming models. We introduce a unified runtime system that integrates distributed and shared-memory programming, as exemplified by the combination of Charm++ and OpenMP. In this approach, all processing resources (cores) can be used flexibly across both the distributed and shared-memory levels, thereby enabling more efficient load balancing at the intra-node level and reduced waiting times for global synchronization at the inter-node<br />
level.<br />
<br />
Finally, we propose a set of APIs that enable users to specify functions used to decompose a target loop into subspaces and to create chunks within each subspace for application-specific load balancing. Our runtime leverages the information provided in the APIs to create user-defined chunks and store balanced groups of chunks in a shared data structure indexed by static loop constructs. In this way, the stored information from one invocation of a loop can be reused in following invocations for an improved initial load balance.</p>
]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[Runtime Approaches to Improve the Efficiency of Hybrid and Irregular Applications]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2020-11-03T14:30:00-05:00]]></value>
      <value2><![CDATA[2020-11-03T16:30: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[Faculty/Staff]]></value>
      </item>
          <item>
        <value><![CDATA[Public]]></value>
      </item>
          <item>
        <value><![CDATA[Graduate students]]></value>
      </item>
          <item>
        <value><![CDATA[Undergraduate students]]></value>
      </item>
      </field_audience>
  <field_media>
      </field_media>
  <field_contact>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_contact>
  <field_location>
    <item>
      <value><![CDATA[]]></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[https://bluejeans.com/sbak3]]></url>
      <title><![CDATA[Bluejeans]]></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>
