<!DOCTYPE html>
<html lang="en-US">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="/assets/css/main.css">
    <link rel="stylesheet" href="/assets/css/font-awesome.min.css">

    <link rel="shortcut icon" href="/favicon.ico?1">
    <!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Compiler Design | Nemo</title>
<meta name="generator" content="Jekyll v3.9.2" />
<meta property="og:title" content="Compiler Design" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Overview" />
<meta property="og:description" content="Overview" />
<link rel="canonical" href="http://nemo.apache.org//docs/compiler_design/" />
<meta property="og:url" content="http://nemo.apache.org//docs/compiler_design/" />
<meta property="og:site_name" content="Nemo" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2022-09-09T21:18:53+09:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Compiler Design" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","dateModified":"2022-09-09T21:18:53+09:00","datePublished":"2022-09-09T21:18:53+09:00","description":"Overview","headline":"Compiler Design","url":"http://nemo.apache.org//docs/compiler_design/"}</script>
<!-- End Jekyll SEO tag -->


    <link rel="canonical" href="http://nemo.apache.org//docs/compiler_design/">
    <link rel="alternate" type="application/rss+xml" title="Nemo" href="http://nemo.apache.org//feed.xml" />
</head>


<body>

    <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container navbar-container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
            <a class="navbar-brand" href="/">
                <span><img src="/assets/img/nemo-logo.png" alt="Logo"></span>
            </a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li  class="active" ><a href="/docs/home/">Docs</a></li>
                <li ><a href="/apidocs">APIs</a></li>
                <li ><a href="/pages/downloads">Downloads</a></li>
                <li ><a href="/pages/talks">Talks</a></li>
                <li ><a href="/pages/team">Team</a></li>
                <li ><a href="/pages/license">License</a></li>
                <li ><a href="/blog/2020/03/09/release-note-0.2/">Blog</a></li>
            </ul>
            <div class="navbar-right">
                <form class="navbar-form navbar-left">
                    <div class="form-group has-feedback">
                        <input id="search-box" type="search" class="form-control" placeholder="Search...">
                        <i class="fa fa-search form-control-feedback"></i>
                    </div>
                </form>
                <ul class="nav navbar-nav">
                    <li><a href="https://github.com/apache/incubator-nemo"><i class="fa fa-github" aria-hidden="true"></i></a></li>
                </ul>
            </div>
        </div>
    </div>
</nav>


    <div class="page-content">
        <div class="wrapper">

        <div class="container">
        <div class="row">
        <div class="col-md-12">
            <div class="container">
    <div class="row">
        <div class="col-md-4">
          <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-1" aria-expanded="false" aria-controls="collapse-1">
            Getting Started
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-1" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/home/">Overview</a>
          
            
            
            <a class="list-group-item " href="/docs/getting_started/">Getting Started</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-2" aria-expanded="false" aria-controls="collapse-2">
            Optimizations
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-2" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/ir/">Nemo Intermediate Representation (IR)</a>
          
            
            
            <a class="list-group-item " href="/docs/passes_and_policies/">Passes and Policies</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-3" aria-expanded="false" aria-controls="collapse-3">
            System Designs
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse" id="collapse-3" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item active" href="/docs/compiler_design/">Compiler Design</a>
          
            
            
            <a class="list-group-item " href="/docs/runtime_design/">Runtime Design</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-4" aria-expanded="false" aria-controls="collapse-4">
            Contribute
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-4" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/contribute/">Contribute</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-5" aria-expanded="false" aria-controls="collapse-5">
            Security
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-5" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/security/">Security Guide</a>
          
        </div>
      </div>
    </div>
  
</div>

        </div>

        <div class="col-md-8">
            <h1>Compiler Design</h1>
            <div id="markdown-content-container"><h3 id="overview">Overview</h3>

<p>Compiler takes an arbitrary dataflow program as input, and outputs an optimized physical execution plan to be understood by the execution runtime. The steps are as followings:</p>

<ol>
  <li><strong>Compiler frontend</strong> first translates the logical layer of given dataflow program written in high-level languages, like Apache Beam, into an expressive, general-purpose <a href="../ir">Nemo Intermediate Representation (IR)</a>.</li>
  <li>Then using the <a href="../passes_and_policies">optimization pass</a> interface provided by the <strong>Compiler optimizer</strong>, the IR can be flexibly reshaped and annotated with a variety of execution properties that configures the underlying runtime behaviors.</li>
  <li>After being processed by <em>optimization passes</em>, the <strong>Compiler backend</strong> finally lays out the IR into a physical execution plan, composed of tasks and stages, to be carried out by the <a href="../runtime_design">Nemo Execution Runtime</a>.</li>
</ol>

<h3 id="frontend">Frontend</h3>

<p>The frontend of <em>Nemo Compiler</em> translates arbitrary high-level dataflow languages, like Apache Beam, into our expression of <a href="../ir">Nemo IR</a> with an elementary annotation of default <em>execution properties</em>.
<strong>Frontend</strong> for different languages are designed as visitors that traverse given applications written in high-level dataflow languages in a topological order.
While traversing the logic, it translates each dataflow operators and edges on the way, and appends the translated IR components to the <em>Nemo IR builder</em>.
After completing the traversal, the IR builder builds the logical part of the IR after checking its integrity.
Integrity check ensures a few factors, such as ensuring vertices without any incoming edges to read source data.</p>

<h3 id="optimizer">Optimizer</h3>

<p>After the IR is created with its logical structures set up, we need an <a href="../passes_and_policies">Nemo policy</a> to optimize the application for a specific goal.
To build Nemo policies safely and correctly, we provide a <em>policy builder</em> interface, which checks for the integrity while registering series of passes in a specific order.</p>

<p>For example, if an annotating pass requires information of specific <em>execution properties</em> to perform its work, we specify them as <em>prerequisite execution properties</em>, and check the order and the content of registered passes to ensure that the conditions have been met.
We avoid the cases where circular dependencies occur, through the default execution properties that we provide at the initiation of the Nemo IR.</p>

<p>Using the policy, the optimizer applies each <em>optimization passes</em> one-by-one in the provided order, and checks for the IR integrity after each optimization has been done, to ensure that the <a href="../ir">IR</a> is not broken.</p>

<h3 id="backend">Backend</h3>

<p>After the optimizations have been applied, <strong>Compiler backend</strong> finally traverses and lays out the IR into a physical execution plan, which is understood by <a href="../runtime_design">Execution Runtime</a>.
In the backend, vertices annotated with the same stage numbers are grouped into stages, to be concurrently run in a distributed fashion, and are expressed in a form of tasks.
The generated <em>physical execution plan</em> composed of tasks, task groups (stages), and the data dependency information between them is then submitted to <a href="../runtime_design">Execution Runtime</a> to be scheduled and executed.</p>
</div>
            <div style="clear:both;">
              <p class="text-center">
                <br />
                <a target="_blank" href="https://github.com/apache/incubator-nemo-website/_docs/designs/compiler_design.md" class="btn btn-default" role="button">
                  <i class="fa fa-pencil fa-lg"></i> Improve this page
                </a>
              </p>
            </div>
            <hr>
            





  
  

  
  

  
  

  
  

  
  
    <ul class="pager">
      
        
        
        <li class="previous">
          <a href="/docs/passes_and_policies/">
            <span aria-hidden="true">&larr;</span> Previous
          </a>
        </li>
      

      
        
        
        <li class="next">
          <a href="/docs/runtime_design/">
            Next <span aria-hidden="true">&rarr;</span>
          </a>
        </li>
      
      </ul>
    <div class="clear"></div>
    

        </div>

    </div>
</div>

        </div>
        </div>
        </div>
        </div>
    </div>

    <footer class="footer">
    <div class="container">

        <p class="text-center">
            Nemo 2022 |
            Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
        </p>
        <!-- <p class="text-muted">Place sticky footer content here.</p> -->
    </div>
</footer>

    <script>
  var baseurl = ''
</script>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="/assets/js/bootstrap.min.js "></script>
<script src="/assets/js/typeahead.bundle.min.js "></script>

<script src="/assets/js/main.js "></script>

</body>

</html>
