Computation overview

Stay organized with collections Save and categorize content based on your preferences.

Earth Engine is built on top of Google's tools and services for performing computations at a massive scale. To make it easy to run large geospatial analyses, the Earth Engine platform and API hide much of the complexity of the underlying parallel-processing infrastructure.

EECUs

Overview

An Earth Engine Compute Unit (EECU) is a mechanism for representing an amount of instantaneous processing power. Earth Engine tracks the total computational footprint of tasks as a function of their EECU usage through time (EECU-seconds, EECU-hours, etc.). Because Google has many different types of processor cores, architectures, etc., EECUs are a useful abstraction for talking about computational power.

Motivation

EE users often want to make estimates about the amount of processing power required for their workflows, and EECUs provide a consistent metric for making comparisons.

Comparison with CPU metrics

The number, type and architecture of machines working on a particular result can change over time. Because different physical cores can have different performance characteristics, we abstract all processing using EECUs.

Stability and predictability

Sending the same (or similar) requests to Earth Engine can sometimes result in very different amounts of computation. Common drivers of differences include:

  • caching, such as reusing the results of previous computations (including partial or intermediate results)
  • different underlying data, such as varying numbers of satellite images, geometries of different complexity, etc.
  • algorithm changes on the EE platform, including performance optimizations, bugfixes, etc.
  • changes to client libraries, particularly if you depend on other users' EE code or packages

Metrics for failed requests

Earth Engine doesn't provide performance metrics for failed requests/tasks, since these numbers would be inaccurate or misleading. As an example, if a job fails because a worker task became unresponsive, that worker's processing consumption wouldn't be able to factor into the total.