---
layout: default
---

<div class="header-container jumbotron">
    <div class="container">
    <h1>Coral</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 Coral?</h2>
            <blockquote>
                <p>
                    Coral 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.
                    Coral decouples the logical notion of data processing applications from runtime behaviors and express them on separate layers using Coral Intermediate Representation (IR).
                    Specifically, through a set of high-level graph pass interfaces, Coral exposes runtime behaviors to be flexibly configured and modified at both compile-time and runtime, and the Coral Runtime executes the Coral 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="img/coral.png" alt="" class="img-responsive">
            <!--<img width="512" alt="Coral reef 98" src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Coral_reef_98.jpg/512px-Coral_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>
                Coral 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>
                Coral 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>
                Coral is able to run Apache Beam™ programs using our runtime, and Apache Spark™ programs in the near future.
                Moreover, by using Apache REEF™, Coral enables data processing possible on different resource managers including Apache Hadoop™ YARN or Apache Mesos™.
            </p>
        </div>
    </div>


</div>
