<!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/custom.css">
    <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>Nemo Release 0.1 | Nemo</title>
<meta name="generator" content="Jekyll v3.9.3" />
<meta property="og:title" content="Nemo Release 0.1" />
<meta name="author" content="Won Wook SONG" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Nemo 0.1 is an initial release that brings several features and performance enhancements. The most visible features are the frontend support for Beam and Spark; IR DAG with execution properties, optimization passes and policies; support for loops; dynamic optimization; multiple-job submission; and various features of the execution runtime." />
<meta property="og:description" content="Nemo 0.1 is an initial release that brings several features and performance enhancements. The most visible features are the frontend support for Beam and Spark; IR DAG with execution properties, optimization passes and policies; support for loops; dynamic optimization; multiple-job submission; and various features of the execution runtime." />
<link rel="canonical" href="http://nemo.apache.org//blog/2019/03/02/release-note-0.1/" />
<meta property="og:url" content="http://nemo.apache.org//blog/2019/03/02/release-note-0.1/" />
<meta property="og:site_name" content="Nemo" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2019-03-02T00:00:00+09:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Nemo Release 0.1" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"Won Wook SONG"},"dateModified":"2019-03-02T00:00:00+09:00","datePublished":"2019-03-02T00:00:00+09:00","description":"Nemo 0.1 is an initial release that brings several features and performance enhancements. The most visible features are the frontend support for Beam and Spark; IR DAG with execution properties, optimization passes and policies; support for loops; dynamic optimization; multiple-job submission; and various features of the execution runtime.","headline":"Nemo Release 0.1","mainEntityOfPage":{"@type":"WebPage","@id":"http://nemo.apache.org//blog/2019/03/02/release-note-0.1/"},"url":"http://nemo.apache.org//blog/2019/03/02/release-note-0.1/"}</script>
<!-- End Jekyll SEO tag -->


    <link rel="canonical" href="http://nemo.apache.org//blog/2019/03/02/release-note-0.1/">
    <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 ><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  class="active" ><a href="/blog/2022/09/10/release-note-0.4/">Blog</a></li>
                <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">ASF<span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="http://www.apache.org/">Apache Software Foundation</a></li>
                    <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                    <li><a href="https://www.apache.org/licenses/">License</a></li>
                    <li><a href="https://www.apache.org/security/">Security</a></li>
                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                  </ul>
                </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-4">
            <div class="well">
                <h4>RECENT POSTS</h4>
                <ul class="list-unstyled post-list-container">
                    
                    <li><a href="/blog/2022/09/10/release-note-0.4/" >Nemo Release 0.4</a></li>
                    
                    <li><a href="/blog/2022/08/15/beam-runner/" >Beam Nemo Runner documents updated!</a></li>
                    
                    <li><a href="/blog/2022/06/07/release-note-0.3/" >Nemo Release 0.3</a></li>
                    
                    <li><a href="/blog/2020/03/09/release-note-0.2/" >Nemo Release 0.2</a></li>
                    
                    <li><a href="/blog/2019/03/02/release-note-0.1/"  class="active" >Nemo Release 0.1</a></li>
                    
                    <li><a href="/blog/2018/03/23/shuffle-on-nemo/" >Optimizing shuffle performance using Nemo</a></li>
                    
                    <li><a href="/blog/2018/03/23/pado-on-nemo/" >Harnessing transient resources using Nemo</a></li>
                    
                    <li><a href="/blog/2018/03/20/nemo-blog-published/" >Nemo blog published!</a></li>
                    
                    <li><a href="/allposts">All posts ...</a></li>
                </ul>
            </div>
        </div>

        <div class="col-md-8">
            <h1>Nemo Release 0.1</h1>
            <p>Mar 2, 2019 • Won Wook SONG</p>
            <div  id="markdown-content-container"><p>Nemo 0.1 is an initial release that brings several features and performance enhancements. The most visible features are the frontend support for Beam and Spark; IR DAG with execution properties, optimization passes and policies; support for loops;  dynamic optimization; multiple-job submission; and various features of the execution runtime.</p>

<p>You can view the JIRA-generated release note here: <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12321823&amp;version=12344546">link</a>.</p>

<h2 id="new-features--improvements">New features / Improvements</h2>

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

<ul>
  <li>Beam</li>
  <li>Official Support for Apache Beam (details available on <a href="https://beam.apache.org/documentation/runners/nemo/">this link</a>)</li>
  <li>Spark</li>
</ul>

<h3 id="core">Core</h3>

<ul>
  <li>Intermediate representation (IR)</li>
  <li>Execution properties</li>
  <li>Passes</li>
  <li>Policies</li>
  <li>Loop support</li>
  <li>Dynamic optimization</li>
  <li>Multi-job submission</li>
</ul>

<h3 id="execution-runtime">Execution Runtime</h3>

<ul>
  <li>Data stores</li>
  <li>Metadata management</li>
  <li>Inter-executor data transfer (memory/disk/gluserFS for batch, pipe for streaming)</li>
  <li>Data encoding &amp; decoding</li>
  <li>Partitioners</li>
  <li>Block manager</li>
  <li>Data location based scheduling</li>
  <li>Scheduler (based on different execution properties including locality, site, anti affinity, …)</li>
  <li>RDD caching</li>
</ul>

<h3 id="other-components">Other Components</h3>
<ul>
  <li>Web UI</li>
</ul>

<h3 id="known-issues">Known Issues</h3>
<ul>
  <li><a href="https://issues.apache.org/jira/browse/NEMO-302?jql=project%20%3D%20NEMO%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20key%20DESC">A number of bugs &amp; unresolved JIRA issues</a></li>
</ul>

<h3 id="miscellaneous-fixes">Miscellaneous Fixes</h3>
<ul>
  <li>Website</li>
  <li>CI integration</li>
  <li>Documentations</li>
</ul>

<h2 id="maven-artifacts">Maven Artifacts</h2>
<p>Nemo is available in Maven Central, making it easier to link into your programs without having to build as a JAR. Use the following Maven identifiers to add it to a project:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;!-- https://mvnrepository.com/artifact/org.apache.nemo/nemo-project --&gt;
&lt;dependency&gt;
   &lt;groupId&gt;org.apache.nemo&lt;/groupId&gt;
   &lt;artifactId&gt;nemo-project&lt;/artifactId&gt;
   &lt;version&gt;0.1&lt;/version&gt;
   &lt;type&gt;pom&lt;/type&gt;
&lt;/dependency&gt;
</code></pre></div></div>

<h3 id="list-of-contributors">List of Contributors</h3>

<p>Nemo 0.1 was the work of many contributors:</p>

<ul>
  <li>Arun Lakshman R</li>
  <li>Byung-Gon Chun</li>
  <li>Davor Bonaci</li>
  <li>Eunji Jeong</li>
  <li>Geon Woo Kim</li>
  <li>Gyewon Lee</li>
  <li>Jae Hyeon Park</li>
  <li>JangHo Seo</li>
  <li>Jangho Seo</li>
  <li>Jean-Baptiste Onofré</li>
  <li>Jeongyoon Eo</li>
  <li>John Yang</li>
  <li>Joo Yeon Kim</li>
  <li>Kenn Knowles</li>
  <li>Markus Weimer</li>
  <li>Minhyeok Kweun</li>
  <li>Sanha Lee</li>
  <li>Seonghyun Park</li>
  <li>Soojeong Kim</li>
  <li>Taegeon Um</li>
  <li>Won Wook SONG</li>
  <li>Wooyeon Lee</li>
  <li>Yunseong Lee</li>
</ul>

</div>
            <hr>
            <ul class="pager">
                
                <li class="previous">
                    <a href="/blog/2018/03/23/shuffle-on-nemo/">
                        <span aria-hidden="true">&larr;</span> Older
                    </a>
                </li>
                 
                <li class="next">
                    <a href="/blog/2020/03/09/release-note-0.2/">
                      Newer <span aria-hidden="true">&rarr;</span>
                    </a>
                </li>
                
            </ul>
        </div>

    </div>
</div>

        </div>
    </div>

    <footer class="footer">
    <div class="container">
        <div class="row">
            <div class="col-sm-11">
                <p class="text-center">
                    Nemo 2023 |
                    Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                </p>
                <br>
                <p class="text-muted text-center">
                    Disclaimer: Apache Nemo (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
                    <br>
                    <br>
                    Copyright © 2022 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation 
                </p>
                <!-- <p class="text-muted">Place sticky footer content here.</p> -->
            </div>
            <div class="col-sm-1">
                <a href="https://www.apache.org/events/current-event.html">
                    <img src="https://www.apache.org/events/current-event-125x125.png">            
                </a>
            </div>
        </div>
    </div>
</footer>

    <script>
  var baseurl = ''
</script>
<script src="/assets/js/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>
