> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing.md).

# Distributed Computing

GridGain distributes computations across cluster nodes in a balanced and fault-tolerant manner, with support for the MapReduce pattern, cluster groups, load balancing, and job scheduling.

GridGain provides an API for distributing computations across cluster nodes in a balanced and fault-tolerant manner. This section covers the distributed computing API, cluster groups, the executor service, fault tolerance, job scheduling, load balancing, and the MapReduce API.

{% columns %}
{% column %}
{% content-ref url="/pages/OsL1tlj3ww3G2UfQKyC4" %}
[Distributed Computing API](/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing/distributed-computing.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
GridGain's distributed computing API distributes tasks across cluster nodes, with support for runnables, callables, closures, broadcasting, and asynchronous execution.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/JTfuPMFEdKAWOB0Wtmyu" %}
[Cluster Groups](/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing/cluster-groups.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
The ClusterGroup interface represents a logical group of nodes used to limit GridGain operations to a subset of the cluster.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/9C4ayFSUpu0enFFnmPxE" %}
[Executor Service](/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing/executor-service.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
GridGain provides a distributed ExecutorService implementation that submits load-balanced tasks to the cluster's server nodes for execution.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/dpQuVqZSK6nIcootaton" %}
[MapReduce API](/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing/map-reduce.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
GridGain's MapReduce API, provided by the ComputeTask interface, lets you split a task into jobs and aggregate their results.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/zwxh6CO1e44cweFjAfSo" %}
[Load Balancing](/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing/load-balancing.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
GridGain automatically load balances jobs across cluster nodes and supports round-robin, weighted random, and job-stealing load balancing.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/DMaH0ZfiE1OlewakaBzW" %}
[Fault Tolerance](/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing/fault-tolerance.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
GridGain supports automatic job failover, rerouting failed jobs to available nodes according to the configured failover SPI.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/2FDUGt2ORF4jvhQxGgI2" %}
[Job Scheduling](/docs/gridgain/gridgain-8/gridgain8-development/distributed-computing-and-services/distributed-computing/job-scheduling.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Control how jobs are scheduled for processing on each node by configuring the CollisionSpi with FIFO or priority ordering.
{% endcolumn %}
{% endcolumns %}
