---
layout: default
---

<div class="header-container jumbotron">
    <div class="container" style="color:darkslategray">
    <h1 style="color:darkslategray">Nemo</h1>
        <p>A Data Processing System for Flexible Employment With Different Deployment Characteristics.</p>
        <p><a class="btn btn-primary btn-lg" href="{{ "/docs/home/" | prepend: site.baseurl }}" role="button">Learn more</a></p>
    </div>
</div>


<div class="container">

    <div class="row">
        <div class="col-md-6">
            <h2 class="header-light regular-pad">What is Nemo? <small>[ˈnemoʊ]</small></h2>
            <blockquote>
                <p>
                    Nemo is a data processing system for flexible employment with different execution scenarios for various deployment characteristics on clusters.
                    They include processing data on specific resource environments, like on transient resources, and running jobs with specific attributes, like skewed data.
                    Nemo decouples the logical notion of data processing applications from runtime behaviors and express them on separate layers using Nemo Intermediate Representation (IR).
                    Specifically, through a set of high-level graph pass interfaces, Nemo exposes runtime behaviors to be flexibly configured and modified at both compile-time and runtime, and the Nemo Runtime executes the Nemo IR with its modular and extensible design.
                </p>
              <!--<p>Jekyll is a simple, blog-aware, static site generator. It takes a template-->
              <!--directory containing raw text files in various formats, runs it through-->
              <!--a converter (like <a href="https://daringfireball.net/projects/markdown/">Markdown</a>)-->
              <!--and our <a href="https://github.com/Shopify/liquid/wiki">Liquid</a> renderer, and-->
              <!--spits out a complete, ready-to-publish static website suitable-->
              <!--for serving with your favorite web server. Jekyll also happens to be the engine-->
              <!--behind <a href="https://pages.github.com">GitHub Pages</a>, which means you can use Jekyll-->
              <!--to host your project’s page, blog, or website from GitHub’s servers <strong>for-->
              <!--free</strong>.</p>-->
            </blockquote>
        </div>
        <div class="col-md-6 text-center">
            <img src="assets/img/nemo-logo.png" alt="" class="img-responsive">
            <!--<img width="512" alt="Nemo reef 98" src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Nemo_reef_98.jpg/512px-Nemo_reef_98.jpg"/>-->
        </div>
    </div>

    <hr>

    <div class="row">
        <div class="col-sm-4">
            <h1 class="text-center"><i class="fa fa-pencil" aria-hidden="true"></i></h1>
            <h3 class="text-center">Flexible</h3>
            <p>
                Nemo offers flexible adaptation to your desired execution environment.
                Examples of such execution environments include using transient resources, disaggregation of different computing resources, and handling skewed data.
            </p>
        </div>
        <div class="col-sm-4">
            <h1 class="text-center"><i class="fa fa-cogs" aria-hidden="true"></i></h1>
            <h3 class="text-center">Modular and Extensible</h3>
            <p>
                Nemo is designed to be modular and extensible for even more variety of execution scenarios and deployment characteristics.
                Users with specific needs can plug in and out the required components and execute their jobs accordingly.
            </p>
        </div>
        <div class="col-sm-4">
            <h1 class="text-center"><i class="fa fa-arrows-alt" aria-hidden="true"></i></h1>
            <h3 class="text-center">Runs Everywhere</h3>
            <p>
                Nemo is able to run Apache Beam™ programs using our runtime, and Apache Spark™ programs in the near future.
                Moreover, by using Apache REEF™, Nemo enables data processing possible on different resource managers including Apache Hadoop™ YARN or Apache Mesos™.
            </p>
        </div>
    </div>


</div>
