blob: 4d75d9523f04536afd1808bbde9c0be86e18ee1c [file] [log] [blame]
---
layout: default
---
<div class="header-container jumbotron">
<div class="container">
<h1>Onyx <small>[ˈäniks]</small> </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 Onyx? <small>[ˈäniks]</small> </h2>
<blockquote>
<p>
Onyx 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.
Onyx decouples the logical notion of data processing applications from runtime behaviors and express them on separate layers using Onyx Intermediate Representation (IR).
Specifically, through a set of high-level graph pass interfaces, Onyx exposes runtime behaviors to be flexibly configured and modified at both compile-time and runtime, and the Onyx Runtime executes the Onyx 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/onyx.png" alt="" class="img-responsive">
</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>
Onyx 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>
Onyx 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>
Onyx is able to run Apache Beam™ programs using our runtime, and Apache Spark™ programs in the near future.
Moreover, by using Apache REEF™, Onyx enables data processing possible on different resource managers including Apache Hadoop™ YARN or Apache Mesos™.
</p>
</div>
</div>
</div>