Terminology


Basic Components

Space

The GigaSpaces cache instance that holds data objects in memory.

Execute, Read, Write, Take and Notify

A set of methods used to read, write, take, and register for notification on objects that are stored in the Space. Execute allows sending Tasks to be executed within the Space. Read and Take criteria can be specified via a query or a template (an example object).

Processing Unit

A combination of clients and/or an embedded Space instance. This is the fundamental unit of deployment in GigaSpaces XAP. The Processing Unit itself is typically deployed onto the Service Grid. Once a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity.

Processing Unit Configured with an Embedded Space

A deployable package that instantiates an embedded Space instance, also called a data grid instance. A set of embedded Space instances that run within the Processing Units typically form a Data Grid.

Processing Unit Configured with One or More Services

A deployable package containing one or more services. In the GigaSpaces context, it usually acts as a client that interacts with other Processing Units by utilizing the messaging capabilities of the Space.

Processing Unit Configured with an Embedded Space and Embedded Services

A deployable, independent, scalable unit that is the building block of Space-Based Architecture. A client application (which can also be other Processing Units) write objects to the Space, and the Processing Unit that contains this Space consumes these objects or is notified about them and triggers related services.

Data Grid

In-Memory Data Grid (IMDG)

A set of Space instances, typically running within their respective processing unit instances. The space instances are connected to each other to form a space cluster. The relations between the spaces define the Data Grid Topology.

Data Grid Topologies

Partitioned Data Grid

Each Data Grid instance (partition) holds a different subset of the objects in the data grid. When the objects are written to this data grid, they are routed to the proper partition according to a predefined attribute in the object that acts as the routing index.

Routing

The mechanism that is in charge of routing the objects into and out of the corresponding partitions. The routing is based on a designated attribute inside the objects that are written to the Space, called the Routing Index.

Partitioned Data Grid with High Availability

A partitioned data grid, with one or more backup instances for each partition. Each data grid instance (partition) holds a different subset of the objects in the data grid, and replicates this subset to its backup instance/s.

Runtime Components

Processing Unit Container

A container that hosts a Processing Unit. The Processing Unit can run only inside a hosting Processing Unit Container.

Types of Processing Unit Containers

Integrated Processing Unit Container

A container that runs the Processing Unit inside an IDE (e.g. IntelliJ IDEA, Eclipse).

Service Grid Processing Unit Container (SLA-Driven Container)

A Processing Unit Container that runs within a Grid Service Container. It enables running the Processing Unit within a service grid, which provides self-healing and SLA capabilities to components deployed on it.

Service Grid

A set of Grid Service Containers (GSCs) managed by a Grid Service Manager. The containers host various deployments of Processing Units and data grids. Each container can be run on a separate physical machine.

Grid Service Container (GSC)

A service grid component that hosts Processing Unit instances. A machine can run one or more GSC processes. Each GSC communicates with a manager component GSM. The GSC receives requests to start/stop a Processing Unit instance, and sends information about the machine that runs it (operating system, processor architecture, current memory and CPU stats), the software installed on it, and the status of Processing Unit instances currently running on it.

Grid Service Manager (GSM)

The GSM is a service grid component that manages a set of Grid Service Containers (GSCs). A GSM has an API for deploying/undeploying Processing Units. When a GSM is instructed to deploy a Processing Unit, it finds an appropriate, available GSC and tells that GSC to run an instance of that Processing Unit. It then continuously monitors that Processing Unit instance to verify that it is alive, and that the SLA is not breached.