<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/oai-pmh.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-09-19T08:43:53Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/29658" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/29658</identifier>
        <datestamp>2023-07-10</datestamp>
        <setSpec>col_2142_10761</setSpec>
        <setSpec>col_2142_5131</setSpec>
        <setSpec>com_2142_10755</setSpec>
        <setSpec>com_2142_234</setSpec>
        <setSpec>com_2142_5130</setSpec>
      </header>
      <metadata>
        <thesis xmlns="http://www.ndltd.org/standards/metadata/etdms/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.ndltd.org/standards/metadata/etdms/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdms11.xsd http://purl.org/dc/elements/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdmsdc.xsd">
          <dc:contributor>Zilles, Craig</dc:contributor>
          <dc:contributor>Adve, Vikram S.</dc:contributor>
          <dc:contributor>Hwu, Wen-Mei W.</dc:contributor>
          <dc:contributor>Rajwar, Ravi</dc:contributor>
          <dc:contributor>Srinivas, Suresh</dc:contributor>
          <dc:contributor>Snir, Marc</dc:contributor>
          <dc:creator>Neelakantam, Naveen</dc:creator>
          <dc:date>2012-02-06T20:09:25Z</dc:date>
          <dc:date>2012-02-06T20:09:25Z</dc:date>
          <dc:date>2011-12</dc:date>
          <dc:date>2012-02-06T20:09:25Z</dc:date>
          <dc:date>2011-12</dc:date>
          <dc:description>This dissertation introduces the atomic region as a novel compiler abstraction which eases
the development of speculative compiler optimizations. As this dissertation will show, speculation enables a compiler writer to exploit dynamically occurring opportunities which would otherwise be difficult or even impossible to expose. Despite their potential, speculative optimizations typically involve complex implementation and significant compiler re-engineering.  In comparison, the atomic region abstraction is both simple to incorporate into a compiler infrastructure and also exposes speculative opportunity to existing and unmodified optimizations.
The utility of the atomic region abstraction largely derives from its use of hardware atomicity---the execution of a region of code either completely, and as if all operations in the region occurred at one instant, or not at all. Hardware atomicity is an architectural primitive which provides software with a simple and intuitive model of execution, namely the ability to either explicitly commit or rollback a region of code.
The atomic region abstraction leverages hardware atomicity to enable a compiler writer to easily reason about and implement speculative optimization. In the atomic region abstraction, the compiler encapsulates commonly executed regions of the program using the hardware atomicity primitive. This permits the compiler to generate a speculative version of the code where uncommonly executed code paths are completely removed such that they do not need to be considered in (and hence do not constrain) a region's optimization. Pruned paths are converted into assert operations that trigger an abort in the uncommon case that one of these paths is needed. On an abort, hardware reverts state back to the beginning of the region and transfers control to a non-speculative version of the code.
Two implementations of the atomic region abstraction are also presented, the  first of which demonstrates potential for a 10-15% average performance improvement in the context of a Java Virtual Machine, albeit running on simulated hardware. Incorporation of the atomic region abstraction is shown to be a simple and, thereby, a cost-effective means for exposing speculative optimization opportunities to the compiler.
The second implementation leverages a real system to demonstrate that at least some of these gains are achievable in practice. By incorporating the atomic region abstraction into the dynamic translator of the Transmeta Efficeon processor, practical concerns related to the identification of speculative opportunities and adaptation to misspeculations are explored.  
In the context of this real system, a straightforward implementation using simple control
mechanisms is shown to be sufficient to achieve a 3% average performance improvement.</dc:description>
          <dc:description>Item withdrawn by Katherine Eriksen (eriksen3@illinois.edu) on 2011-11-29T15:20:36Z
Item was in collections:
University of Illinois Theses &amp; Dissertations (ID: 1)
No. of bitstreams: 2
dissertation.tar.gz: 23492196 bytes, checksum: 1a58f69967305bca0745feebeeedfa58 (MD5)
Neelakantam_Naveen.pdf: 1655311 bytes, checksum: 8f90b4b6eabe783462c064abca3503a0 (MD5)</dc:description>
          <dc:description>Made available in DSpace on 2012-02-06T20:09:25Z (GMT). No. of bitstreams: 3
Neelakantam_Naveen.pdf: 1655311 bytes, checksum: 8f90b4b6eabe783462c064abca3503a0 (MD5)
license.txt: 4068 bytes, checksum: ed8b07d57e2dd24e34e96ff4507ddffa (MD5)
dissertation.tar.gz: 23492196 bytes, checksum: 1a58f69967305bca0745feebeeedfa58 (MD5)</dc:description>
          <dc:identifier>http://hdl.handle.net/2142/29658</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2011 by Naveen Neelakantam</dc:rights>
          <dc:subject>Hardware Atomicity</dc:subject>
          <dc:subject>Speculative Compiler Optimization</dc:subject>
          <dc:subject>Control Speculation</dc:subject>
          <dc:subject>Hardware/Software Co-design</dc:subject>
          <dc:subject>Dynamic Optimization</dc:subject>
          <dc:subject>Computer Architecture</dc:subject>
          <dc:title>Hardware atomicity for compiler-directed control speculation</dc:title>
          <dc:type>Dissertation / Thesis</dc:type>
          <dc:type>text</dc:type>
          <degree>
            <department>Computer Science</department>
            <departmentCode>1434</departmentCode>
            <discipline>Computer Science</discipline>
            <disciplineCode>0112</disciplineCode>
            <grantor>University of Illinois at Urbana-Champaign</grantor>
            <level>Dissertation</level>
            <name>Ph.D.</name>
            <program>PHD:Computer Science -UIUC</program>
            <programCode>10KS0112PHD</programCode>
          </degree>
        </thesis>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
