<!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="canonical" href="https://ignite.apache.org/use-cases/hpc.html"/>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta name="description"
          content="Apache Ignite enables high-performance computing by providing APIs for data and
           compute-intensive calculations. Turn your commodity hardware or cloud environment into a distributed supercomputer."/>

    <title>High-Performance Computing</title>

    <!--#include virtual="/includes/styles.html" -->

    <!--#include virtual="/includes/sh.html" -->
</head>
<body>
<!--#include virtual="/includes/header.html" -->
<article>

    <header>
        <div class="container">
            <h1><strong>High-Performance Computing</strong> With Apache Ignite</h1>
        </div>
    </header>
    <div class="container">
        <p>
            High-performance computing (HPC) is the ability to process data and perform complex calculations at high
            speeds.
            Using Apache Ignite® as a high-performance compute cluster, you can turn a group of commodity machines or a
            cloud environment into a distributed supercomputer of interconnected Ignite nodes. Ignite enables speed and scale
            by processing records in memory and reducing network utilization with APIs for data and compute-intensive
            calculations. Those APIs implement the MapReduce paradigm and allow you to run arbitrary tasks across the
            cluster of nodes.
        </p>
        <img class="diagram-right img-fluid" src="/images/svg-diagrams/high_performance_compute.svg" alt="High-Performance Computing With Apache Ignite" />


        <h2>Co-located Processing</h2>
        <p>
            Ignite uses the notion of co-located processing to guide HPC workloads implementations in distributed
            in-memory environments. Co-located processing increases the performance of your complex calculations by
            running them straight on the Ignite cluster nodes. These calculations are done only on local data sets
            available on the nodes, thus avoiding data shuffling over the network and resulting in orders of magnitude
            increase in performance.
        </p>

        <p>
            To exploit the co-located processing in practice, first, you need to co-locate data by storing related
            records on the same cluster node. As an example of related or co-located data, consider your bank account
            and transactions posted to it. Once you set <code>accountID</code> as an affinity key for the
            <code>Transactions</code> table, you'll instruct Ignite to store all transactions for your
            <code>accountId</code> on the same node that keeps the record of your account in the
            <code>Accounts</code> table. Now let's say a payment processing system sends a compute task that
            verifies previous transactions of your account. Since the data is co-located, Ignite will execute this
            task directly on the node that stores your account record with all completed transactions and finish the
            verification locally on that machine instead of pulling all the transactions back to the application
            over the network. This method of executing a task on the node where the data resides provides
            exceptionally high performance.The effect is even more significant when the system needs to process
            millions of transactions per second, verifying billions of previously completed payments.
        </p>

        <h2>Compute APIs</h2>

        <p>
            Ignite provides compute APIs (also known as compute grid) for creating and scheduling custom
            tasks of arbitrary complexity. The APIs implement MapReduce paradigm and are presently available for Java,
            C#, and C++.
        </p>

        <div class="jumbotron jumbotron-fluid">
            <div class="container">
                <div class="title display-6">Learn More</div>
                <hr class="my-4">
                <div class="row">
                    <div class="col-sm-6">
                        <ul>
                            <li>
                                <a href="/features/collocatedprocessing.html">
                                    Co-located processing <i class="fa fa-angle-double-right"></i>
                                </a>
                            </li>
                            <li>
                                <a href="https://apacheignite.readme.io/docs/compute-grid" target="docs">
                                    Compute APIs <i class="fa fa-angle-double-right"></i>
                                </a>
                            </li>
                        </ul>
                    </div>
                    <div class="col-sm-6">
                        <ul>
                            <li>
                                <a href="/features/machinelearning.html">
                                    Machine and Deep Learning <i class="fa fa-angle-double-right"></i>
                                </a>
                            </li>
                            <li>
                                <a href="/arch/multi-tier-storage.html">
                                    Multi-Tier Storage <i class="fa fa-angle-double-right"></i>
                                </a>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>


    </div>
</article>
<!--#include virtual="/includes/footer.html" -->
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
